@intlayer/design-system 5.5.11 → 5.7.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 (447) hide show
  1. package/README.md +1 -1
  2. package/dist/.vite/manifest.json +126 -570
  3. package/dist/components/Command/index.d.ts +5 -5
  4. package/dist/components/Container/index.cjs +2 -1
  5. package/dist/components/Container/index.cjs.map +1 -1
  6. package/dist/components/Container/index.d.ts +2 -3
  7. package/dist/components/Container/index.d.ts.map +1 -1
  8. package/dist/components/Container/index.mjs +3 -2
  9. package/dist/components/Container/index.mjs.map +1 -1
  10. package/dist/components/ContentEditor/ContentEditorTextArea.cjs +2 -27
  11. package/dist/components/ContentEditor/ContentEditorTextArea.cjs.map +1 -1
  12. package/dist/components/ContentEditor/ContentEditorTextArea.d.ts +1 -1
  13. package/dist/components/ContentEditor/ContentEditorTextArea.d.ts.map +1 -1
  14. package/dist/components/ContentEditor/ContentEditorTextArea.mjs +1 -26
  15. package/dist/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  16. package/dist/components/{IDE/CopyButton.cjs → CopyButton/index.cjs} +6 -5
  17. package/dist/components/CopyButton/index.cjs.map +1 -0
  18. package/dist/components/{IDE/CopyButton.d.ts → CopyButton/index.d.ts} +3 -2
  19. package/dist/components/CopyButton/index.d.ts.map +1 -0
  20. package/dist/components/{IDE/CopyButton.mjs → CopyButton/index.mjs} +6 -5
  21. package/dist/components/CopyButton/index.mjs.map +1 -0
  22. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +2 -0
  23. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs.map +1 -1
  24. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +2 -0
  25. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  26. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +9 -28
  27. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  28. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +8 -27
  29. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  30. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.cjs +1 -1
  31. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs +1 -1
  32. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +10 -26
  33. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  34. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +9 -25
  35. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  36. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs +1 -1
  37. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +1 -1
  38. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +2 -2
  39. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -2
  40. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +7 -20
  41. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  42. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +6 -19
  43. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  44. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +2 -2
  45. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +2 -2
  46. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.cjs +2 -2
  47. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +2 -2
  48. package/dist/components/EditableField/EditableFieldTextArea.cjs +2 -2
  49. package/dist/components/EditableField/EditableFieldTextArea.mjs +2 -2
  50. package/dist/components/Form/elements/FormElementWrapper.cjs +1 -1
  51. package/dist/components/Form/elements/FormElementWrapper.mjs +1 -1
  52. package/dist/components/IDE/Code.cjs +3 -3
  53. package/dist/components/IDE/Code.cjs.map +1 -1
  54. package/dist/components/IDE/Code.d.ts +1 -1
  55. package/dist/components/IDE/Code.d.ts.map +1 -1
  56. package/dist/components/IDE/Code.mjs +3 -3
  57. package/dist/components/IDE/Code.mjs.map +1 -1
  58. package/dist/components/IDE/CodeContext.cjs +2 -2
  59. package/dist/components/IDE/CodeContext.mjs +2 -2
  60. package/dist/components/IDE/CopyCode.cjs +28 -0
  61. package/dist/components/IDE/CopyCode.cjs.map +1 -0
  62. package/dist/components/IDE/CopyCode.d.ts +7 -0
  63. package/dist/components/IDE/CopyCode.d.ts.map +1 -0
  64. package/dist/components/IDE/CopyCode.mjs +28 -0
  65. package/dist/components/IDE/CopyCode.mjs.map +1 -0
  66. package/dist/components/IDE/MonacoCode.cjs +2 -2
  67. package/dist/components/IDE/MonacoCode.cjs.map +1 -1
  68. package/dist/components/IDE/MonacoCode.mjs +1 -1
  69. package/dist/components/IDE/MonacoCode.mjs.map +1 -1
  70. package/dist/components/IDE/code.content.cjs +39 -0
  71. package/dist/components/IDE/code.content.cjs.map +1 -0
  72. package/dist/components/{Auth/ResetPasswordForm/useResetPasswordSchema.content.d.ts → IDE/code.content.d.ts} +23 -56
  73. package/dist/components/IDE/code.content.d.ts.map +1 -0
  74. package/dist/components/IDE/code.content.mjs +40 -0
  75. package/dist/components/IDE/code.content.mjs.map +1 -0
  76. package/dist/components/IDE/copyCode.content.cjs +39 -0
  77. package/dist/components/IDE/copyCode.content.cjs.map +1 -0
  78. package/dist/components/IDE/copyCode.content.d.ts +73 -0
  79. package/dist/components/IDE/copyCode.content.d.ts.map +1 -0
  80. package/dist/components/IDE/copyCode.content.mjs +40 -0
  81. package/dist/components/IDE/copyCode.content.mjs.map +1 -0
  82. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +2 -2
  83. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  84. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs +2 -2
  85. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +2 -2
  86. package/dist/components/Modal/Modal.cjs +3 -3
  87. package/dist/components/Modal/Modal.mjs +3 -3
  88. package/dist/components/Navbar/MobileNavbar.cjs +2 -2
  89. package/dist/components/Navbar/MobileNavbar.mjs +2 -2
  90. package/dist/components/Navbar/index.cjs +3 -3
  91. package/dist/components/Navbar/index.mjs +3 -3
  92. package/dist/components/Pattern/GridPattern.cjs +45 -48
  93. package/dist/components/Pattern/GridPattern.cjs.map +1 -1
  94. package/dist/components/Pattern/GridPattern.d.ts.map +1 -1
  95. package/dist/components/Pattern/GridPattern.mjs +45 -48
  96. package/dist/components/Pattern/GridPattern.mjs.map +1 -1
  97. package/dist/components/Popover/index.cjs +59 -15
  98. package/dist/components/Popover/index.cjs.map +1 -1
  99. package/dist/components/Popover/index.d.ts +32 -6
  100. package/dist/components/Popover/index.d.ts.map +1 -1
  101. package/dist/components/Popover/index.mjs +60 -16
  102. package/dist/components/Popover/index.mjs.map +1 -1
  103. package/dist/components/SocialNetworks/index.cjs +1 -1
  104. package/dist/components/SocialNetworks/index.cjs.map +1 -1
  105. package/dist/components/SocialNetworks/index.mjs +1 -1
  106. package/dist/components/SocialNetworks/index.mjs.map +1 -1
  107. package/dist/components/SwitchSelector/index.cjs +2 -2
  108. package/dist/components/SwitchSelector/index.mjs +2 -2
  109. package/dist/components/TabSelector/TabSelector.cjs +2 -2
  110. package/dist/components/TabSelector/TabSelector.mjs +2 -2
  111. package/dist/components/TextArea/AutocompleteTextArea.cjs +90 -13
  112. package/dist/components/TextArea/AutocompleteTextArea.cjs.map +1 -1
  113. package/dist/components/TextArea/AutocompleteTextArea.d.ts.map +1 -1
  114. package/dist/components/TextArea/AutocompleteTextArea.mjs +92 -15
  115. package/dist/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  116. package/dist/components/index.cjs +3 -38
  117. package/dist/components/index.cjs.map +1 -1
  118. package/dist/components/index.d.ts +1 -2
  119. package/dist/components/index.d.ts.map +1 -1
  120. package/dist/components/index.mjs +4 -39
  121. package/dist/components/index.mjs.map +1 -1
  122. package/dist/hooks/index.cjs +8 -1
  123. package/dist/hooks/index.cjs.map +1 -1
  124. package/dist/hooks/index.d.ts +2 -0
  125. package/dist/hooks/index.d.ts.map +1 -1
  126. package/dist/hooks/index.mjs +9 -2
  127. package/dist/hooks/index.mjs.map +1 -1
  128. package/dist/hooks/intlayerAPIHooks.cjs +29 -31
  129. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  130. package/dist/hooks/intlayerAPIHooks.d.ts +678 -10
  131. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  132. package/dist/hooks/intlayerAPIHooks.mjs +29 -31
  133. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  134. package/dist/hooks/useAsync/useAsync.cjs +0 -1
  135. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  136. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  137. package/dist/hooks/useAsync/useAsync.mjs +0 -1
  138. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  139. package/dist/hooks/useAuth/index.cjs +9 -0
  140. package/dist/{components/Auth/AuthenticationBarrier → hooks/useAuth}/index.cjs.map +1 -1
  141. package/dist/hooks/useAuth/index.d.ts +4 -0
  142. package/dist/hooks/useAuth/index.d.ts.map +1 -0
  143. package/dist/hooks/useAuth/index.mjs +9 -0
  144. package/dist/{components/Auth/ExternalsLoginButtons → hooks/useAuth}/index.mjs.map +1 -1
  145. package/dist/hooks/useAuth/useAuth.cjs +25 -0
  146. package/dist/hooks/useAuth/useAuth.cjs.map +1 -0
  147. package/dist/{components/Auth/useAuth/index.d.ts → hooks/useAuth/useAuth.d.ts} +3 -13
  148. package/dist/hooks/useAuth/useAuth.d.ts.map +1 -0
  149. package/dist/{components/Auth/useAuth/index.mjs → hooks/useAuth/useAuth.mjs} +2 -8
  150. package/dist/hooks/useAuth/useAuth.mjs.map +1 -0
  151. package/dist/{components/Auth → hooks}/useAuth/useOAuth2.cjs +3 -3
  152. package/dist/hooks/useAuth/useOAuth2.cjs.map +1 -0
  153. package/dist/{components/Auth → hooks}/useAuth/useOAuth2.d.ts +1 -1
  154. package/dist/hooks/useAuth/useOAuth2.d.ts.map +1 -0
  155. package/dist/{components/Auth → hooks}/useAuth/useOAuth2.mjs +4 -4
  156. package/dist/hooks/useAuth/useOAuth2.mjs.map +1 -0
  157. package/dist/{components/Auth → hooks}/useAuth/useSession.cjs +6 -25
  158. package/dist/hooks/useAuth/useSession.cjs.map +1 -0
  159. package/dist/{components/Auth → hooks}/useAuth/useSession.d.ts +3 -3
  160. package/dist/hooks/useAuth/useSession.d.ts.map +1 -0
  161. package/dist/hooks/useAuth/useSession.mjs +47 -0
  162. package/dist/hooks/useAuth/useSession.mjs.map +1 -0
  163. package/dist/hooks/useIntlayerAPI.cjs +5 -4
  164. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  165. package/dist/hooks/useIntlayerAPI.mjs +5 -4
  166. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  167. package/dist/{components/Auth → hooks}/useUser/index.cjs +7 -5
  168. package/dist/hooks/useUser/index.cjs.map +1 -0
  169. package/dist/hooks/useUser/index.d.ts +8 -0
  170. package/dist/hooks/useUser/index.d.ts.map +1 -0
  171. package/dist/{components/Auth → hooks}/useUser/index.mjs +6 -4
  172. package/dist/hooks/useUser/index.mjs.map +1 -0
  173. package/dist/{schemas-itjzX6bG.js → schemas-BIuxHDyZ.js} +3 -7
  174. package/dist/{schemas-itjzX6bG.js.map → schemas-BIuxHDyZ.js.map} +1 -1
  175. package/dist/{schemas-DlCjM5d_.cjs → schemas-Q6C7ZNs3.cjs} +3 -7
  176. package/dist/{schemas-DlCjM5d_.cjs.map → schemas-Q6C7ZNs3.cjs.map} +1 -1
  177. package/dist/tailwind.css +1 -1
  178. package/package.json +18 -18
  179. package/dist/components/Auth/AuthModal/index.cjs +0 -106
  180. package/dist/components/Auth/AuthModal/index.cjs.map +0 -1
  181. package/dist/components/Auth/AuthModal/index.d.ts +0 -20
  182. package/dist/components/Auth/AuthModal/index.d.ts.map +0 -1
  183. package/dist/components/Auth/AuthModal/index.mjs +0 -106
  184. package/dist/components/Auth/AuthModal/index.mjs.map +0 -1
  185. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs +0 -36
  186. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs.map +0 -1
  187. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.d.ts +0 -5
  188. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.d.ts.map +0 -1
  189. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs +0 -36
  190. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs.map +0 -1
  191. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.cjs +0 -22
  192. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.cjs.map +0 -1
  193. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts +0 -8
  194. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts.map +0 -1
  195. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.mjs +0 -22
  196. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.mjs.map +0 -1
  197. package/dist/components/Auth/AuthenticationBarrier/accessValidation.cjs +0 -15
  198. package/dist/components/Auth/AuthenticationBarrier/accessValidation.cjs.map +0 -1
  199. package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts +0 -4
  200. package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts.map +0 -1
  201. package/dist/components/Auth/AuthenticationBarrier/accessValidation.mjs +0 -15
  202. package/dist/components/Auth/AuthenticationBarrier/accessValidation.mjs.map +0 -1
  203. package/dist/components/Auth/AuthenticationBarrier/index.cjs +0 -7
  204. package/dist/components/Auth/AuthenticationBarrier/index.d.ts +0 -23
  205. package/dist/components/Auth/AuthenticationBarrier/index.d.ts.map +0 -1
  206. package/dist/components/Auth/AuthenticationBarrier/index.mjs +0 -7
  207. package/dist/components/Auth/AuthenticationBarrier/index.mjs.map +0 -1
  208. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +0 -95
  209. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +0 -1
  210. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts +0 -9
  211. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts.map +0 -1
  212. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +0 -95
  213. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +0 -1
  214. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.cjs +0 -138
  215. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.cjs.map +0 -1
  216. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts +0 -278
  217. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts.map +0 -1
  218. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.mjs +0 -138
  219. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.mjs.map +0 -1
  220. package/dist/components/Auth/ChangePasswordForm/index.cjs +0 -7
  221. package/dist/components/Auth/ChangePasswordForm/index.cjs.map +0 -1
  222. package/dist/components/Auth/ChangePasswordForm/index.d.ts +0 -3
  223. package/dist/components/Auth/ChangePasswordForm/index.d.ts.map +0 -1
  224. package/dist/components/Auth/ChangePasswordForm/index.mjs +0 -7
  225. package/dist/components/Auth/ChangePasswordForm/index.mjs.map +0 -1
  226. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.cjs +0 -34
  227. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.cjs.map +0 -1
  228. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.cjs +0 -131
  229. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.cjs.map +0 -1
  230. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.d.ts +0 -271
  231. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.d.ts.map +0 -1
  232. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.mjs +0 -131
  233. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.mjs.map +0 -1
  234. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.d.ts +0 -8
  235. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.d.ts.map +0 -1
  236. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.mjs +0 -34
  237. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.mjs.map +0 -1
  238. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.cjs +0 -81
  239. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.cjs.map +0 -1
  240. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.d.ts +0 -9
  241. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.d.ts.map +0 -1
  242. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.mjs +0 -81
  243. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.mjs.map +0 -1
  244. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs +0 -106
  245. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs.map +0 -1
  246. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.d.ts +0 -210
  247. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.d.ts.map +0 -1
  248. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.mjs +0 -106
  249. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.mjs.map +0 -1
  250. package/dist/components/Auth/DefineNewPasswordForm/index.cjs +0 -7
  251. package/dist/components/Auth/DefineNewPasswordForm/index.cjs.map +0 -1
  252. package/dist/components/Auth/DefineNewPasswordForm/index.d.ts +0 -3
  253. package/dist/components/Auth/DefineNewPasswordForm/index.d.ts.map +0 -1
  254. package/dist/components/Auth/DefineNewPasswordForm/index.mjs +0 -7
  255. package/dist/components/Auth/DefineNewPasswordForm/index.mjs.map +0 -1
  256. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.cjs +0 -29
  257. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.cjs.map +0 -1
  258. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs +0 -101
  259. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs.map +0 -1
  260. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.d.ts +0 -205
  261. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.d.ts.map +0 -1
  262. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.mjs +0 -101
  263. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.mjs.map +0 -1
  264. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.d.ts +0 -7
  265. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.d.ts.map +0 -1
  266. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.mjs +0 -29
  267. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.mjs.map +0 -1
  268. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +0 -81
  269. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +0 -1
  270. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts +0 -9
  271. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts.map +0 -1
  272. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +0 -81
  273. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +0 -1
  274. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.cjs +0 -15
  275. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.cjs.map +0 -1
  276. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.d.ts +0 -3
  277. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.d.ts.map +0 -1
  278. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.mjs +0 -15
  279. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.mjs.map +0 -1
  280. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.cjs +0 -23
  281. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.cjs.map +0 -1
  282. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.d.ts +0 -3
  283. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.d.ts.map +0 -1
  284. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.mjs +0 -23
  285. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.mjs.map +0 -1
  286. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs +0 -90
  287. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs.map +0 -1
  288. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +0 -176
  289. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts.map +0 -1
  290. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs +0 -90
  291. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs.map +0 -1
  292. package/dist/components/Auth/ExternalsLoginButtons/index.cjs +0 -7
  293. package/dist/components/Auth/ExternalsLoginButtons/index.cjs.map +0 -1
  294. package/dist/components/Auth/ExternalsLoginButtons/index.d.ts +0 -2
  295. package/dist/components/Auth/ExternalsLoginButtons/index.d.ts.map +0 -1
  296. package/dist/components/Auth/ExternalsLoginButtons/index.mjs +0 -7
  297. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +0 -113
  298. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +0 -1
  299. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts +0 -11
  300. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts.map +0 -1
  301. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +0 -113
  302. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +0 -1
  303. package/dist/components/Auth/ResetPasswordForm/index.cjs +0 -7
  304. package/dist/components/Auth/ResetPasswordForm/index.cjs.map +0 -1
  305. package/dist/components/Auth/ResetPasswordForm/index.d.ts +0 -3
  306. package/dist/components/Auth/ResetPasswordForm/index.d.ts.map +0 -1
  307. package/dist/components/Auth/ResetPasswordForm/index.mjs +0 -7
  308. package/dist/components/Auth/ResetPasswordForm/index.mjs.map +0 -1
  309. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.cjs +0 -123
  310. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.cjs.map +0 -1
  311. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.d.ts +0 -245
  312. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.d.ts.map +0 -1
  313. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.mjs +0 -123
  314. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.mjs.map +0 -1
  315. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.cjs +0 -15
  316. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.cjs.map +0 -1
  317. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.cjs +0 -56
  318. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.cjs.map +0 -1
  319. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.d.ts.map +0 -1
  320. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.mjs +0 -56
  321. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.mjs.map +0 -1
  322. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.d.ts +0 -6
  323. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.d.ts.map +0 -1
  324. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.mjs +0 -15
  325. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.mjs.map +0 -1
  326. package/dist/components/Auth/SignInForm/SignInForm.cjs +0 -105
  327. package/dist/components/Auth/SignInForm/SignInForm.cjs.map +0 -1
  328. package/dist/components/Auth/SignInForm/SignInForm.d.ts +0 -11
  329. package/dist/components/Auth/SignInForm/SignInForm.d.ts.map +0 -1
  330. package/dist/components/Auth/SignInForm/SignInForm.mjs +0 -105
  331. package/dist/components/Auth/SignInForm/SignInForm.mjs.map +0 -1
  332. package/dist/components/Auth/SignInForm/index.cjs +0 -7
  333. package/dist/components/Auth/SignInForm/index.cjs.map +0 -1
  334. package/dist/components/Auth/SignInForm/index.d.ts +0 -3
  335. package/dist/components/Auth/SignInForm/index.d.ts.map +0 -1
  336. package/dist/components/Auth/SignInForm/index.mjs +0 -7
  337. package/dist/components/Auth/SignInForm/index.mjs.map +0 -1
  338. package/dist/components/Auth/SignInForm/signIn.content.cjs +0 -217
  339. package/dist/components/Auth/SignInForm/signIn.content.cjs.map +0 -1
  340. package/dist/components/Auth/SignInForm/signIn.content.d.ts +0 -447
  341. package/dist/components/Auth/SignInForm/signIn.content.d.ts.map +0 -1
  342. package/dist/components/Auth/SignInForm/signIn.content.mjs +0 -217
  343. package/dist/components/Auth/SignInForm/signIn.content.mjs.map +0 -1
  344. package/dist/components/Auth/SignInForm/useSignInSchema.cjs +0 -23
  345. package/dist/components/Auth/SignInForm/useSignInSchema.cjs.map +0 -1
  346. package/dist/components/Auth/SignInForm/useSignInSchema.content.cjs +0 -71
  347. package/dist/components/Auth/SignInForm/useSignInSchema.content.cjs.map +0 -1
  348. package/dist/components/Auth/SignInForm/useSignInSchema.content.d.ts +0 -139
  349. package/dist/components/Auth/SignInForm/useSignInSchema.content.d.ts.map +0 -1
  350. package/dist/components/Auth/SignInForm/useSignInSchema.content.mjs +0 -71
  351. package/dist/components/Auth/SignInForm/useSignInSchema.content.mjs.map +0 -1
  352. package/dist/components/Auth/SignInForm/useSignInSchema.d.ts +0 -7
  353. package/dist/components/Auth/SignInForm/useSignInSchema.d.ts.map +0 -1
  354. package/dist/components/Auth/SignInForm/useSignInSchema.mjs +0 -23
  355. package/dist/components/Auth/SignInForm/useSignInSchema.mjs.map +0 -1
  356. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +0 -98
  357. package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +0 -1
  358. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts +0 -10
  359. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts.map +0 -1
  360. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +0 -98
  361. package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +0 -1
  362. package/dist/components/Auth/SignUpForm/index.cjs +0 -7
  363. package/dist/components/Auth/SignUpForm/index.cjs.map +0 -1
  364. package/dist/components/Auth/SignUpForm/index.d.ts +0 -3
  365. package/dist/components/Auth/SignUpForm/index.d.ts.map +0 -1
  366. package/dist/components/Auth/SignUpForm/index.mjs +0 -7
  367. package/dist/components/Auth/SignUpForm/index.mjs.map +0 -1
  368. package/dist/components/Auth/SignUpForm/signUpForm.content.cjs +0 -184
  369. package/dist/components/Auth/SignUpForm/signUpForm.content.cjs.map +0 -1
  370. package/dist/components/Auth/SignUpForm/signUpForm.content.d.ts +0 -380
  371. package/dist/components/Auth/SignUpForm/signUpForm.content.d.ts.map +0 -1
  372. package/dist/components/Auth/SignUpForm/signUpForm.content.mjs +0 -185
  373. package/dist/components/Auth/SignUpForm/signUpForm.content.mjs.map +0 -1
  374. package/dist/components/Auth/SignUpForm/useSignUpSchema.cjs +0 -33
  375. package/dist/components/Auth/SignUpForm/useSignUpSchema.cjs.map +0 -1
  376. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.cjs +0 -116
  377. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.cjs.map +0 -1
  378. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.d.ts +0 -238
  379. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.d.ts.map +0 -1
  380. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.mjs +0 -116
  381. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.mjs.map +0 -1
  382. package/dist/components/Auth/SignUpForm/useSignUpSchema.d.ts +0 -8
  383. package/dist/components/Auth/SignUpForm/useSignUpSchema.d.ts.map +0 -1
  384. package/dist/components/Auth/SignUpForm/useSignUpSchema.mjs +0 -33
  385. package/dist/components/Auth/SignUpForm/useSignUpSchema.mjs.map +0 -1
  386. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs +0 -79
  387. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs.map +0 -1
  388. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.d.ts +0 -10
  389. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.d.ts.map +0 -1
  390. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs +0 -79
  391. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs.map +0 -1
  392. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.cjs +0 -8
  393. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.cjs.map +0 -1
  394. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.d.ts +0 -4
  395. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.d.ts.map +0 -1
  396. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.mjs +0 -8
  397. package/dist/components/Auth/VerifyEmailForm/VerifyEmailSchema.mjs.map +0 -1
  398. package/dist/components/Auth/VerifyEmailForm/index.cjs +0 -5
  399. package/dist/components/Auth/VerifyEmailForm/index.cjs.map +0 -1
  400. package/dist/components/Auth/VerifyEmailForm/index.content.cjs +0 -73
  401. package/dist/components/Auth/VerifyEmailForm/index.content.cjs.map +0 -1
  402. package/dist/components/Auth/VerifyEmailForm/index.content.d.ts +0 -143
  403. package/dist/components/Auth/VerifyEmailForm/index.content.d.ts.map +0 -1
  404. package/dist/components/Auth/VerifyEmailForm/index.content.mjs +0 -74
  405. package/dist/components/Auth/VerifyEmailForm/index.content.mjs.map +0 -1
  406. package/dist/components/Auth/VerifyEmailForm/index.d.ts +0 -2
  407. package/dist/components/Auth/VerifyEmailForm/index.d.ts.map +0 -1
  408. package/dist/components/Auth/VerifyEmailForm/index.mjs +0 -5
  409. package/dist/components/Auth/VerifyEmailForm/index.mjs.map +0 -1
  410. package/dist/components/Auth/index.cjs +0 -39
  411. package/dist/components/Auth/index.cjs.map +0 -1
  412. package/dist/components/Auth/index.d.ts +0 -12
  413. package/dist/components/Auth/index.d.ts.map +0 -1
  414. package/dist/components/Auth/index.mjs +0 -39
  415. package/dist/components/Auth/index.mjs.map +0 -1
  416. package/dist/components/Auth/useAuth/index.cjs +0 -31
  417. package/dist/components/Auth/useAuth/index.cjs.map +0 -1
  418. package/dist/components/Auth/useAuth/index.d.ts.map +0 -1
  419. package/dist/components/Auth/useAuth/index.mjs.map +0 -1
  420. package/dist/components/Auth/useAuth/useCSRF.cjs +0 -27
  421. package/dist/components/Auth/useAuth/useCSRF.cjs.map +0 -1
  422. package/dist/components/Auth/useAuth/useCSRF.d.ts +0 -6
  423. package/dist/components/Auth/useAuth/useCSRF.d.ts.map +0 -1
  424. package/dist/components/Auth/useAuth/useCSRF.mjs +0 -27
  425. package/dist/components/Auth/useAuth/useCSRF.mjs.map +0 -1
  426. package/dist/components/Auth/useAuth/useOAuth2.cjs.map +0 -1
  427. package/dist/components/Auth/useAuth/useOAuth2.d.ts.map +0 -1
  428. package/dist/components/Auth/useAuth/useOAuth2.mjs.map +0 -1
  429. package/dist/components/Auth/useAuth/useSession.cjs.map +0 -1
  430. package/dist/components/Auth/useAuth/useSession.d.ts.map +0 -1
  431. package/dist/components/Auth/useAuth/useSession.mjs +0 -66
  432. package/dist/components/Auth/useAuth/useSession.mjs.map +0 -1
  433. package/dist/components/Auth/useUser/index.cjs.map +0 -1
  434. package/dist/components/Auth/useUser/index.d.ts +0 -8
  435. package/dist/components/Auth/useUser/index.d.ts.map +0 -1
  436. package/dist/components/Auth/useUser/index.mjs.map +0 -1
  437. package/dist/components/IDE/CopyButton.cjs.map +0 -1
  438. package/dist/components/IDE/CopyButton.d.ts.map +0 -1
  439. package/dist/components/IDE/CopyButton.mjs.map +0 -1
  440. package/dist/components/ProfileDropDown/index.cjs +0 -25
  441. package/dist/components/ProfileDropDown/index.cjs.map +0 -1
  442. package/dist/components/ProfileDropDown/index.d.ts +0 -6
  443. package/dist/components/ProfileDropDown/index.d.ts.map +0 -1
  444. package/dist/components/ProfileDropDown/index.mjs +0 -25
  445. package/dist/components/ProfileDropDown/index.mjs.map +0 -1
  446. package/dist/hooks/useIntlayerAPI.d.ts +0 -103
  447. package/dist/hooks/useIntlayerAPI.d.ts.map +0 -1
@@ -7,6 +7,8 @@ import { Fragment as Fragment$1, useState } from "react";
7
7
  import { useDictionary, useLocale } from "react-intlayer";
8
8
  import { useAuditContentDeclarationField } from "../../../hooks/intlayerAPIHooks.mjs";
9
9
  import "../../../hooks/useAsync/useAsyncStateStore.mjs";
10
+ import "@intlayer/api";
11
+ import "@intlayer/config/built";
10
12
  import "deepmerge";
11
13
  import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
14
  import { renameKey } from "../../../utils/object.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.mjs","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport type { Locales } from '@intlayer/config';\nimport {\n type Dictionary,\n type MarkdownContent,\n type NestedContent,\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n getNodeType,\n type ConditionContent,\n getEmptyNode,\n InsertionContent,\n FileContent,\n} from '@intlayer/core';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport { Plus, Trash, WandSparkles } from 'lucide-react';\nimport { Fragment, ReactNode, useState, type FC } from 'react';\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport { Container } from '../../Container';\nimport {\n type ContentEditorInputProps as ContentEditorInputPropsBase,\n ContentEditorInput as ContentEditorInputBase,\n} from '../../ContentEditor/ContentEditorInput';\nimport {\n type ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n ContentEditorTextArea as ContentEditorTextAreaBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { Label } from '../../Label';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '../../MarkDownRender';\nimport {\n type SwitchSelectorChoices,\n type SwitchSelectorProps,\n SwitchSelector,\n} from '../../SwitchSelector';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { navigationViewContent } from '../NavigationView/navigationViewNode.content';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype ContentEditorTextAreaProps = Omit<\n ContentEditorTextAreaPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { editedContent, addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { auditContentDeclarationField, isLoading: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"text\"\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField({\n fileContent: JSON.stringify({\n ...dictionary,\n ...(editedContent?.[dictionary.key] ?? {}),\n }),\n keyPath,\n locales: configuration.internationalization.locales ?? [],\n openAiApiKey: configuration.editor.openAiApiKey,\n model: configuration.editor.openAiApiModel,\n temperature: configuration.editor.openAiApiTemperature,\n }).then((response) => {\n if (!response?.data) return;\n\n try {\n const editedContent = response.data.fileContent as string;\n\n addEditedContent(dictionary.key, editedContent, keyPath);\n } catch (error) {\n console.error(error);\n }\n });\n }}\n />\n }\n {...props}\n />\n );\n};\n\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) => addEditedContent(dictionary.key, value, keyPath)}\n color=\"text\"\n size=\"sm\"\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n renderSection?: (content: string) => ReactNode;\n onContentChange?: (newValue: string) => void;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}: TextEditorProps) => {\n const { locale, defaultLocale } = useLocale();\n const { selectedLocales, availableLocales } = useLocaleSwitcherContent();\n\n const sectionContent = (section as TranslationContent<string>)[\n NodeType.Translation\n ] as Record<Locales, string>;\n\n const sectionContentKeys = Object.keys(sectionContent) as Locales[];\n\n const isFiltered = availableLocales.length > selectedLocales.length;\n\n const localesList = isFiltered\n ? selectedLocales\n : // If the translation include content in other locales, we display all of them\n [...new Set([...availableLocales, ...sectionContentKeys])];\n\n const content = (section as TranslationContent<string>)[NodeType.Translation];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {localesList.map((translationKey) => (\n <Fragment key={translationKey}>\n <tr className=\"mt-2 w-full p-2 text-xs\">\n {getLocaleName(translationKey, locale)}\n </tr>\n <tr>\n <TextEditorContainer\n section={\n content[translationKey] ??\n getEmptyNode(content[defaultLocale])\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration, removeEnumeration } = useDictionary(\n navigationViewContent\n );\n\n const content = (section as EnumerationContent<string>)[NodeType.Enumeration];\n const firstKey = Object.keys(content)[0] as keyof typeof content;\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => {\n const childrenKeyPath = [\n ...keyPath,\n { type: NodeType.Enumeration },\n ] as KeyPath[];\n return (\n <Fragment key={enumKey}>\n <tr className=\"mt-2 w-full\">\n <div className=\"flex flex-1\">\n <Button\n label={removeEnumeration.label.value}\n variant=\"hoverable\"\n color=\"text\"\n Icon={Trash}\n className=\"ml-auto\"\n onClick={() =>\n addEditedContent(\n dictionary.key,\n undefined,\n childrenKeyPath\n )\n }\n >\n {removeEnumeration.text}\n </Button>\n </div>\n </tr>\n <tr className=\"w-full p-2\">\n <EnumKeyInput\n value={enumKey}\n onChange={(value) => {\n const preValueContent = (\n section as EnumerationContent<string>\n )[NodeType.Enumeration];\n const newValueContent = renameKey(\n preValueContent,\n enumKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as EnumerationContent<string>),\n [NodeType.Enumeration]: newValueContent,\n };\n\n addEditedContent(dictionary.key, newValue, keyPath);\n }}\n />\n </tr>\n <tr className=\"block w-full\">\n <TextEditor\n section={\n content[enumKey as keyof typeof content] ??\n getEmptyNode(content[firstKey])\n }\n keyPath={childrenKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n\n <Button\n label={addNewEnumeration.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() =>\n addEditedContent(\n dictionary.key,\n getEmptyNode(content[firstKey]) ?? '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }]\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </div>\n );\n};\n\nconst ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as ConditionContent<string>)[NodeType.Condition];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['true', 'false', 'fallback'].map((condKey) => (\n <Fragment key={condKey}>\n <tr key={condKey} className=\"mt-2 block w-full p-2 text-xs\">\n {String(condKey)}\n </tr>\n <tr key={condKey} className=\"block w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content['true'])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Condition,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement, removeElement } = useDictionary(navigationViewContent);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => (\n <Fragment key={JSON.stringify(subSection)}>\n <tr className=\"mt-2 flex w-full justify-between gap-2 p-2\">\n <span className=\"text-xs\">{String(index)}</span>\n <Button\n label={removeElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n className=\"ml-auto\"\n textAlign=\"left\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(dictionary.key, undefined, newKeyPath);\n }}\n Icon={Trash}\n >\n {removeElement.text}\n </Button>\n </tr>\n\n <tr className=\"block w-full\">\n <TextEditorContainer\n section={\n subSection ??\n getEmptyNode((section as unknown as ContentNode[])[0])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n <Button\n label={addNewElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(\n dictionary.key,\n getEmptyNode((section as unknown as ContentNode[])[0]) ?? '',\n newKeyPath,\n false\n );\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n};\n\nconst ObjectTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => (\n <>\n <table className=\"w-full\">\n <tbody className=\"flex flex-col gap-2\">\n {Object.keys(section as unknown as Record<string, ContentNode>).map(\n (key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeType.Object, key },\n ];\n const typedSection = section as unknown as Record<\n string,\n ContentNode\n >;\n const firstKey = Object.keys(\n typedSection\n )[0] as keyof typeof section;\n const subSection =\n typedSection[key as keyof typeof section] ??\n getEmptyNode(typedSection[firstKey]);\n\n return (\n <Fragment key={key}>\n <tr\n key={JSON.stringify(subSection)}\n className=\"mt-2 p-2 text-xs\"\n >\n {String(key)}\n </tr>\n <tr key={JSON.stringify(subSection)} className=\"block w-full\">\n <TextEditor\n section={subSection}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n );\n }\n )}\n </tbody>\n </table>\n </>\n);\n\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n onContentChange,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Markdown }];\n\n const content = (section as MarkdownContent<ContentNode>)[\n NodeType.Markdown\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === MarkdownViewMode.Preview\n ? (content) => (\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n )\n : undefined\n }\n onContentChange={onContentChange}\n />\n </div>\n );\n};\n\nconst InsertionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Insertion }];\n\n const content = (section as InsertionContent<ContentNode>)[\n NodeType.Insertion\n ];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst FileTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.File }];\n\n const fileUrl = (section as FileContent)[NodeType.File];\n const { content } = section as FileContent;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <span className=\"text-neutral text-sm\">{fileUrl} </span>\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n renderSection,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as NestedContent)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"w-full p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getNodeType(section);\n\n if (nodeType === NodeType.ReactNode) {\n return (\n <>\n <span>[React Node]</span>\n <span className=\"text-neutral text-xs\">{tsxNotEditable}</span>\n </>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return (\n <FileTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <ObjectTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n {typeof renderSection === 'function' ? (\n renderSection(section as string)\n ) : (\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n )}\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section, null, 2)}\n {JSON.stringify(keyPath, null, 2)}\n NodeType : {nodeType}\n </div>\n );\n};\n\nexport const TextEditorContainer: FC<TextEditorProps> = (props) => (\n <Container\n border\n background=\"none\"\n className=\"top-6 flex h-full flex-1 flex-col gap-6 overflow-hidden p-2 md:sticky\"\n roundedSize=\"xl\"\n >\n <TextEditor {...props} />\n </Container>\n);\n"],"names":["ContentEditorTextAreaBase","editedContent","ContentEditorInputBase","Fragment","toggleContent","content"],"mappings":"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"}
1
+ {"version":3,"file":"TextEditor.mjs","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport type { Locales } from '@intlayer/config';\nimport {\n type Dictionary,\n type MarkdownContent,\n type NestedContent,\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n getNodeType,\n type ConditionContent,\n getEmptyNode,\n InsertionContent,\n FileContent,\n} from '@intlayer/core';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport { Plus, Trash, WandSparkles } from 'lucide-react';\nimport { Fragment, ReactNode, useState, type FC } from 'react';\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport { Container } from '../../Container';\nimport {\n type ContentEditorInputProps as ContentEditorInputPropsBase,\n ContentEditorInput as ContentEditorInputBase,\n} from '../../ContentEditor/ContentEditorInput';\nimport {\n type ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n ContentEditorTextArea as ContentEditorTextAreaBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { Label } from '../../Label';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '../../MarkDownRender';\nimport {\n type SwitchSelectorChoices,\n type SwitchSelectorProps,\n SwitchSelector,\n} from '../../SwitchSelector';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { navigationViewContent } from '../NavigationView/navigationViewNode.content';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype ContentEditorTextAreaProps = Omit<\n ContentEditorTextAreaPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { editedContent, addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { auditContentDeclarationField, isLoading: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"text\"\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField({\n fileContent: JSON.stringify({\n ...dictionary,\n ...(editedContent?.[dictionary.key] ?? {}),\n }),\n keyPath,\n locales: configuration.internationalization.locales ?? [],\n openAiApiKey: configuration.editor.openAiApiKey,\n model: configuration.editor.openAiApiModel,\n temperature: configuration.editor.openAiApiTemperature,\n }).then((response) => {\n if (!response?.data) return;\n\n try {\n const editedContent = response.data.fileContent as string;\n\n addEditedContent(dictionary.key, editedContent, keyPath);\n } catch (error) {\n console.error(error);\n }\n });\n }}\n />\n }\n {...props}\n />\n );\n};\n\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) => addEditedContent(dictionary.key, value, keyPath)}\n color=\"text\"\n size=\"sm\"\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n renderSection?: (content: string) => ReactNode;\n onContentChange?: (newValue: string) => void;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}: TextEditorProps) => {\n const { locale, defaultLocale } = useLocale();\n const { selectedLocales, availableLocales } = useLocaleSwitcherContent();\n\n const sectionContent = (section as TranslationContent<string>)[\n NodeType.Translation\n ] as Record<Locales, string>;\n\n const sectionContentKeys = Object.keys(sectionContent) as Locales[];\n\n const isFiltered = availableLocales.length > selectedLocales.length;\n\n const localesList = isFiltered\n ? selectedLocales\n : // If the translation include content in other locales, we display all of them\n [...new Set([...availableLocales, ...sectionContentKeys])];\n\n const content = (section as TranslationContent<string>)[NodeType.Translation];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {localesList.map((translationKey) => (\n <Fragment key={translationKey}>\n <tr className=\"mt-2 w-full p-2 text-xs\">\n {getLocaleName(translationKey, locale)}\n </tr>\n <tr>\n <TextEditorContainer\n section={\n content[translationKey] ??\n getEmptyNode(content[defaultLocale])\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration, removeEnumeration } = useDictionary(\n navigationViewContent\n );\n\n const content = (section as EnumerationContent<string>)[NodeType.Enumeration];\n const firstKey = Object.keys(content)[0] as keyof typeof content;\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => {\n const childrenKeyPath = [\n ...keyPath,\n { type: NodeType.Enumeration },\n ] as KeyPath[];\n return (\n <Fragment key={enumKey}>\n <tr className=\"mt-2 w-full\">\n <div className=\"flex flex-1\">\n <Button\n label={removeEnumeration.label.value}\n variant=\"hoverable\"\n color=\"text\"\n Icon={Trash}\n className=\"ml-auto\"\n onClick={() =>\n addEditedContent(\n dictionary.key,\n undefined,\n childrenKeyPath\n )\n }\n >\n {removeEnumeration.text}\n </Button>\n </div>\n </tr>\n <tr className=\"w-full p-2\">\n <EnumKeyInput\n value={enumKey}\n onChange={(value) => {\n const preValueContent = (\n section as EnumerationContent<string>\n )[NodeType.Enumeration];\n const newValueContent = renameKey(\n preValueContent,\n enumKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as EnumerationContent<string>),\n [NodeType.Enumeration]: newValueContent,\n };\n\n addEditedContent(dictionary.key, newValue, keyPath);\n }}\n />\n </tr>\n <tr className=\"block w-full\">\n <TextEditor\n section={\n content[enumKey as keyof typeof content] ??\n getEmptyNode(content[firstKey])\n }\n keyPath={childrenKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n\n <Button\n label={addNewEnumeration.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() =>\n addEditedContent(\n dictionary.key,\n getEmptyNode(content[firstKey]) ?? '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }]\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </div>\n );\n};\n\nconst ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as ConditionContent<string>)[NodeType.Condition];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['true', 'false', 'fallback'].map((condKey) => (\n <Fragment key={condKey}>\n <tr key={condKey} className=\"mt-2 block w-full p-2 text-xs\">\n {String(condKey)}\n </tr>\n <tr key={condKey} className=\"block w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content['true'])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Condition,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement, removeElement } = useDictionary(navigationViewContent);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => (\n <Fragment key={JSON.stringify(subSection)}>\n <tr className=\"mt-2 flex w-full justify-between gap-2 p-2\">\n <span className=\"text-xs\">{String(index)}</span>\n <Button\n label={removeElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n className=\"ml-auto\"\n textAlign=\"left\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(dictionary.key, undefined, newKeyPath);\n }}\n Icon={Trash}\n >\n {removeElement.text}\n </Button>\n </tr>\n\n <tr className=\"block w-full\">\n <TextEditorContainer\n section={\n subSection ??\n getEmptyNode((section as unknown as ContentNode[])[0])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n <Button\n label={addNewElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(\n dictionary.key,\n getEmptyNode((section as unknown as ContentNode[])[0]) ?? '',\n newKeyPath,\n false\n );\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n};\n\nconst ObjectTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => (\n <>\n <table className=\"w-full\">\n <tbody className=\"flex flex-col gap-2\">\n {Object.keys(section as unknown as Record<string, ContentNode>).map(\n (key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeType.Object, key },\n ];\n const typedSection = section as unknown as Record<\n string,\n ContentNode\n >;\n const firstKey = Object.keys(\n typedSection\n )[0] as keyof typeof section;\n const subSection =\n typedSection[key as keyof typeof section] ??\n getEmptyNode(typedSection[firstKey]);\n\n return (\n <Fragment key={key}>\n <tr\n key={JSON.stringify(subSection)}\n className=\"mt-2 p-2 text-xs\"\n >\n {String(key)}\n </tr>\n <tr key={JSON.stringify(subSection)} className=\"block w-full\">\n <TextEditor\n section={subSection}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </tr>\n </Fragment>\n );\n }\n )}\n </tbody>\n </table>\n </>\n);\n\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n onContentChange,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Markdown }];\n\n const content = (section as MarkdownContent<ContentNode>)[\n NodeType.Markdown\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === MarkdownViewMode.Preview\n ? (content) => (\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n )\n : undefined\n }\n onContentChange={onContentChange}\n />\n </div>\n );\n};\n\nconst InsertionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Insertion }];\n\n const content = (section as InsertionContent<ContentNode>)[\n NodeType.Insertion\n ];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst FileTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.File }];\n\n const fileUrl = (section as FileContent)[NodeType.File];\n const { content } = section as FileContent;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <span className=\"text-neutral text-sm\">{fileUrl} </span>\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n renderSection,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as NestedContent)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"w-full p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getNodeType(section);\n\n if (nodeType === NodeType.ReactNode) {\n return (\n <>\n <span>[React Node]</span>\n <span className=\"text-neutral text-xs\">{tsxNotEditable}</span>\n </>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return (\n <FileTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <ObjectTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n {typeof renderSection === 'function' ? (\n renderSection(section as string)\n ) : (\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n )}\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section, null, 2)}\n {JSON.stringify(keyPath, null, 2)}\n NodeType : {nodeType}\n </div>\n );\n};\n\nexport const TextEditorContainer: FC<TextEditorProps> = (props) => (\n <Container\n border\n background=\"none\"\n className=\"top-6 flex h-full flex-1 flex-col gap-6 overflow-hidden p-2 md:sticky\"\n roundedSize=\"xl\"\n >\n <TextEditor {...props} />\n </Container>\n);\n"],"names":["ContentEditorTextAreaBase","editedContent","ContentEditorInputBase","Fragment","toggleContent","content"],"mappings":"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"}
@@ -4,34 +4,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const reactIntlayer = require("react-intlayer");
6
6
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
7
+ const hooks_useAuth_useAuth = require("../../../hooks/useAuth/useAuth.cjs");
8
+ require("@intlayer/api");
9
+ require("@intlayer/config/built");
10
+ require("@intlayer/editor-react");
7
11
  require("react");
8
- require("../../Button/Button.cjs");
9
12
  require("../../../hooks/useAsync/useAsyncStateStore.cjs");
10
- require("@intlayer/editor-react");
11
- require("deepmerge");
12
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
13
- const components_Auth_useAuth_index = require("../../Auth/useAuth/index.cjs");
14
- require("../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs");
15
- require("@intlayer/api");
16
13
  const components_Form_FormBase = require("../../Form/FormBase.cjs");
17
14
  require("../../Form/FormField.cjs");
18
15
  const components_Form_layout_FormItemLayout = require("../../../Form-DJrUK3mm.cjs");
19
- require("../../Auth/SignInForm/signIn.content.cjs");
20
- require("../../Auth/SignInForm/useSignInSchema.content.cjs");
21
- require("../../Auth/SignUpForm/signUpForm.content.cjs");
22
- require("../../Auth/SignUpForm/useSignUpSchema.content.cjs");
23
- require("../../Auth/ChangePasswordForm/changePasswordForm.content.cjs");
24
- require("../../Auth/ChangePasswordForm/useChangePasswordSchema.content.cjs");
25
- require("../../Auth/ResetPasswordForm/resetPasswordContent.content.cjs");
26
- require("../../Auth/ResetPasswordForm/useResetPasswordSchema.content.cjs");
27
- require("../../Modal/Modal.cjs");
28
- require("clsx");
29
- require("tailwind-merge");
30
- require("@intlayer/config/built");
31
- require("lucide-react");
32
- require("../../Auth/VerifyEmailForm/index.content.cjs");
33
- require("../../Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs");
34
- require("../../Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs");
35
16
  const components_Select_Multiselect = require("../../Select/Multiselect.cjs");
36
17
  require("../../Select/Select.cjs");
37
18
  const components_DictionaryFieldEditor_DictionaryCreationForm_dictionaryCreationForm_content = require("./dictionaryCreationForm.content.cjs");
@@ -39,11 +20,11 @@ const components_DictionaryFieldEditor_DictionaryCreationForm_useDictionaryFormS
39
20
  const DictionaryCreationForm = ({
40
21
  onDictionaryCreated
41
22
  }) => {
42
- const { session } = components_Auth_useAuth_index.useAuth();
23
+ const { session } = hooks_useAuth_useAuth.useAuth();
43
24
  const { project } = session ?? {};
44
25
  const { addDictionary } = hooks_intlayerAPIHooks.useAddDictionary();
45
26
  const { data: projects } = hooks_intlayerAPIHooks.useGetProjects();
46
- const DictionarySchema = components_DictionaryFieldEditor_DictionaryCreationForm_useDictionaryFormSchema.useDictionarySchema(String(project?._id));
27
+ const DictionarySchema = components_DictionaryFieldEditor_DictionaryCreationForm_useDictionaryFormSchema.useDictionarySchema(String(project?.id));
47
28
  const { form, isSubmitting } = components_Form_FormBase.useForm(DictionarySchema);
48
29
  const { keyInput, createDictionaryButton, projectInput } = reactIntlayer.useDictionary(
49
30
  components_DictionaryFieldEditor_DictionaryCreationForm_dictionaryCreationForm_content.dictionaryFormContent
@@ -74,17 +55,17 @@ const DictionaryCreationForm = ({
74
55
  /* @__PURE__ */ jsxRuntime.jsx(
75
56
  components_Select_Multiselect.MultiSelect.Trigger,
76
57
  {
77
- getBadgeValue: (value) => projects?.data?.find((project2) => String(project2._id) === value)?.name ?? value,
58
+ getBadgeValue: (value) => projects?.data?.find((project2) => String(project2.id) === value)?.name ?? value,
78
59
  children: /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.Input, { placeholder: projectInput.placeholder.value })
79
60
  }
80
61
  ),
81
62
  /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.List, { children: projects?.data?.map((project2) => /* @__PURE__ */ jsxRuntime.jsx(
82
63
  components_Select_Multiselect.MultiSelect.Item,
83
64
  {
84
- value: String(project2._id),
65
+ value: String(project2.id),
85
66
  children: project2.name
86
67
  },
87
- String(project2._id)
68
+ String(project2.id)
88
69
  )) }) })
89
70
  ] }),
90
71
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryCreationForm.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAddDictionary,\n useGetProjects,\n} from '../../../hooks/intlayerAPIHooks';\nimport { useAuth } from '../../Auth';\nimport { Form, useForm } from '../../Form';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryFormContent } from './dictionaryCreationForm.content';\nimport {\n useDictionarySchema,\n type DictionaryFormData,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { addDictionary } = useAddDictionary();\n const { data: projects } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?._id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } = useDictionary(\n dictionaryFormContent\n );\n\n const onSubmitSuccess = async (data: DictionaryFormData) => {\n await addDictionary({ dictionary: data }).then(() =>\n onDictionaryCreated?.()\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"w-full max-w-[400px] m-auto\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project._id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project._id)}\n value={String(project._id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"ml-auto mt-12\"\n type=\"submit\"\n color=\"text\"\n isLoading={isSubmitting}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"names":["useAuth","useAddDictionary","useGetProjects","useDictionarySchema","useForm","useDictionary","dictionaryFormContent","jsxs","Form","jsx","MultiSelect","project"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,yBAA0D,CAAC;AAAA,EACtE;AACF,MAAM;AACE,QAAA,EAAE,QAAQ,IAAIA,sCAAQ;AAC5B,QAAM,EAAE,YAAY,WAAW,CAAC;AAC1B,QAAA,EAAE,cAAc,IAAIC,wCAAiB;AAC3C,QAAM,EAAE,MAAM,SAAS,IAAIC,sCAAe;AAC1C,QAAM,mBAAmBC,gFAAA,oBAAoB,OAAO,SAAS,GAAG,CAAC;AACjE,QAAM,EAAE,MAAM,iBAAiBC,yBAAAA,QAAQ,gBAAgB;AACvD,QAAM,EAAE,UAAU,wBAAwB,aAAiB,IAAAC,cAAA;AAAA,IACzDC,uFAAAA;AAAAA,EACF;AAEM,QAAA,kBAAkB,OAAO,SAA6B;AAC1D,UAAM,cAAc,EAAE,YAAY,KAAA,CAAM,EAAE;AAAA,MAAK,MAC7C,sBAAsB;AAAA,IACxB;AAAA,EACF;AAGE,SAAAC,2BAAA;AAAA,IAACC,sCAAA;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR;AAAA,MACA,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAACD,sCAAAA,KAAK;AAAA,UAAL;AAAA,YACC,MAAK;AAAA,YACL,OAAO,SAAS,MAAM;AAAA,YACtB,aAAa,SAAS,YAAY;AAAA,YAClC,YAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAEAD,2BAAAA,KAACC,2CAAK,aAAL,EAAiB,MAAK,cAAa,OAAO,aAAa,MAAM,OAC5D,UAAA;AAAA,UAAAC,2BAAA;AAAA,YAACC,8BAAAA,YAAY;AAAA,YAAZ;AAAA,cACC,eAAe,CAAC,UACd,UAAU,MAAM,KAAK,CAACC,aAAY,OAAOA,SAAQ,GAAG,MAAM,KAAK,GAC3D,QAAQ;AAAA,cAGd,yCAACD,8BAAAA,YAAY,OAAZ,EAAkB,aAAa,aAAa,YAAY,MAAO,CAAA;AAAA,YAAA;AAAA,UAClE;AAAA,UACCD,2BAAAA,IAAAC,8BAAAA,YAAY,SAAZ,EACC,UAACD,2BAAA,IAAAC,8BAAA,YAAY,MAAZ,EACE,UAAU,UAAA,MAAM,IAAI,CAACC,aACpBF,2BAAA;AAAA,YAACC,8BAAAA,YAAY;AAAA,YAAZ;AAAA,cAEC,OAAO,OAAOC,SAAQ,GAAG;AAAA,cAExB,UAAAA,SAAQ;AAAA,YAAA;AAAA,YAHJ,OAAOA,SAAQ,GAAG;AAAA,UAK1B,CAAA,EACH,CAAA,EACF,CAAA;AAAA,QAAA,GACF;AAAA,QAEAF,2BAAA;AAAA,UAACD,sCAAAA,KAAK;AAAA,UAAL;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO,uBAAuB,UAAU;AAAA,YACxC,aAAW;AAAA,YAEV,UAAuB,uBAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
1
+ {"version":3,"file":"DictionaryCreationForm.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAddDictionary,\n useGetProjects,\n} from '../../../hooks/intlayerAPIHooks';\nimport { useAuth } from '../../../hooks/useAuth';\nimport { Form, useForm } from '../../Form';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryFormContent } from './dictionaryCreationForm.content';\nimport {\n useDictionarySchema,\n type DictionaryFormData,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { addDictionary } = useAddDictionary();\n const { data: projects } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?.id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } = useDictionary(\n dictionaryFormContent\n );\n\n const onSubmitSuccess = async (data: DictionaryFormData) => {\n await addDictionary({ dictionary: data }).then(() =>\n onDictionaryCreated?.()\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"w-full max-w-[400px] m-auto\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project.id)}\n value={String(project.id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"ml-auto mt-12\"\n type=\"submit\"\n color=\"text\"\n isLoading={isSubmitting}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"names":["useAuth","useAddDictionary","useGetProjects","useDictionarySchema","useForm","useDictionary","dictionaryFormContent","jsxs","Form","jsx","MultiSelect","project"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBO,MAAM,yBAA0D,CAAC;AAAA,EACtE;AACF,MAAM;AACE,QAAA,EAAE,QAAQ,IAAIA,8BAAQ;AAC5B,QAAM,EAAE,YAAY,WAAW,CAAC;AAC1B,QAAA,EAAE,cAAc,IAAIC,wCAAiB;AAC3C,QAAM,EAAE,MAAM,SAAS,IAAIC,sCAAe;AAC1C,QAAM,mBAAmBC,gFAAA,oBAAoB,OAAO,SAAS,EAAE,CAAC;AAChE,QAAM,EAAE,MAAM,iBAAiBC,yBAAAA,QAAQ,gBAAgB;AACvD,QAAM,EAAE,UAAU,wBAAwB,aAAiB,IAAAC,cAAA;AAAA,IACzDC,uFAAAA;AAAAA,EACF;AAEM,QAAA,kBAAkB,OAAO,SAA6B;AAC1D,UAAM,cAAc,EAAE,YAAY,KAAA,CAAM,EAAE;AAAA,MAAK,MAC7C,sBAAsB;AAAA,IACxB;AAAA,EACF;AAGE,SAAAC,2BAAA;AAAA,IAACC,sCAAA;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR;AAAA,MACA,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAACD,sCAAAA,KAAK;AAAA,UAAL;AAAA,YACC,MAAK;AAAA,YACL,OAAO,SAAS,MAAM;AAAA,YACtB,aAAa,SAAS,YAAY;AAAA,YAClC,YAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAEAD,2BAAAA,KAACC,2CAAK,aAAL,EAAiB,MAAK,cAAa,OAAO,aAAa,MAAM,OAC5D,UAAA;AAAA,UAAAC,2BAAA;AAAA,YAACC,8BAAAA,YAAY;AAAA,YAAZ;AAAA,cACC,eAAe,CAAC,UACd,UAAU,MAAM,KAAK,CAACC,aAAY,OAAOA,SAAQ,EAAE,MAAM,KAAK,GAC1D,QAAQ;AAAA,cAGd,yCAACD,8BAAAA,YAAY,OAAZ,EAAkB,aAAa,aAAa,YAAY,MAAO,CAAA;AAAA,YAAA;AAAA,UAClE;AAAA,UACCD,2BAAAA,IAAAC,8BAAAA,YAAY,SAAZ,EACC,UAACD,2BAAA,IAAAC,8BAAA,YAAY,MAAZ,EACE,UAAU,UAAA,MAAM,IAAI,CAACC,aACpBF,2BAAA;AAAA,YAACC,8BAAAA,YAAY;AAAA,YAAZ;AAAA,cAEC,OAAO,OAAOC,SAAQ,EAAE;AAAA,cAEvB,UAAAA,SAAQ;AAAA,YAAA;AAAA,YAHJ,OAAOA,SAAQ,EAAE;AAAA,UAKzB,CAAA,EACH,CAAA,EACF,CAAA;AAAA,QAAA,GACF;AAAA,QAEAF,2BAAA;AAAA,UAACD,sCAAAA,KAAK;AAAA,UAAL;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO,uBAAuB,UAAU;AAAA,YACxC,aAAW;AAAA,YAEV,UAAuB,uBAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
@@ -2,34 +2,15 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { useDictionary } from "react-intlayer";
4
4
  import { useAddDictionary, useGetProjects } from "../../../hooks/intlayerAPIHooks.mjs";
5
+ import { useAuth } from "../../../hooks/useAuth/useAuth.mjs";
6
+ import "@intlayer/api";
7
+ import "@intlayer/config/built";
8
+ import "@intlayer/editor-react";
5
9
  import "react";
6
- import "../../Button/Button.mjs";
7
10
  import "../../../hooks/useAsync/useAsyncStateStore.mjs";
8
- import "@intlayer/editor-react";
9
- import "deepmerge";
10
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
11
- import { useAuth } from "../../Auth/useAuth/index.mjs";
12
- import "../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs";
13
- import "@intlayer/api";
14
11
  import { useForm } from "../../Form/FormBase.mjs";
15
12
  import "../../Form/FormField.mjs";
16
13
  import { F as Form } from "../../../Form-CriPBaZk.js";
17
- import "../../Auth/SignInForm/signIn.content.mjs";
18
- import "../../Auth/SignInForm/useSignInSchema.content.mjs";
19
- import "../../Auth/SignUpForm/signUpForm.content.mjs";
20
- import "../../Auth/SignUpForm/useSignUpSchema.content.mjs";
21
- import "../../Auth/ChangePasswordForm/changePasswordForm.content.mjs";
22
- import "../../Auth/ChangePasswordForm/useChangePasswordSchema.content.mjs";
23
- import "../../Auth/ResetPasswordForm/resetPasswordContent.content.mjs";
24
- import "../../Auth/ResetPasswordForm/useResetPasswordSchema.content.mjs";
25
- import "../../Modal/Modal.mjs";
26
- import "clsx";
27
- import "tailwind-merge";
28
- import "@intlayer/config/built";
29
- import "lucide-react";
30
- import "../../Auth/VerifyEmailForm/index.content.mjs";
31
- import "../../Auth/DefineNewPasswordForm/defineNewPasswordForm.content.mjs";
32
- import "../../Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.mjs";
33
14
  import { MultiSelect } from "../../Select/Multiselect.mjs";
34
15
  import "../../Select/Select.mjs";
35
16
  import { dictionaryFormContent } from "./dictionaryCreationForm.content.mjs";
@@ -41,7 +22,7 @@ const DictionaryCreationForm = ({
41
22
  const { project } = session ?? {};
42
23
  const { addDictionary } = useAddDictionary();
43
24
  const { data: projects } = useGetProjects();
44
- const DictionarySchema = useDictionarySchema(String(project?._id));
25
+ const DictionarySchema = useDictionarySchema(String(project?.id));
45
26
  const { form, isSubmitting } = useForm(DictionarySchema);
46
27
  const { keyInput, createDictionaryButton, projectInput } = useDictionary(
47
28
  dictionaryFormContent
@@ -72,17 +53,17 @@ const DictionaryCreationForm = ({
72
53
  /* @__PURE__ */ jsx(
73
54
  MultiSelect.Trigger,
74
55
  {
75
- getBadgeValue: (value) => projects?.data?.find((project2) => String(project2._id) === value)?.name ?? value,
56
+ getBadgeValue: (value) => projects?.data?.find((project2) => String(project2.id) === value)?.name ?? value,
76
57
  children: /* @__PURE__ */ jsx(MultiSelect.Input, { placeholder: projectInput.placeholder.value })
77
58
  }
78
59
  ),
79
60
  /* @__PURE__ */ jsx(MultiSelect.Content, { children: /* @__PURE__ */ jsx(MultiSelect.List, { children: projects?.data?.map((project2) => /* @__PURE__ */ jsx(
80
61
  MultiSelect.Item,
81
62
  {
82
- value: String(project2._id),
63
+ value: String(project2.id),
83
64
  children: project2.name
84
65
  },
85
- String(project2._id)
66
+ String(project2.id)
86
67
  )) }) })
87
68
  ] }),
88
69
  /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryCreationForm.mjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAddDictionary,\n useGetProjects,\n} from '../../../hooks/intlayerAPIHooks';\nimport { useAuth } from '../../Auth';\nimport { Form, useForm } from '../../Form';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryFormContent } from './dictionaryCreationForm.content';\nimport {\n useDictionarySchema,\n type DictionaryFormData,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { addDictionary } = useAddDictionary();\n const { data: projects } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?._id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } = useDictionary(\n dictionaryFormContent\n );\n\n const onSubmitSuccess = async (data: DictionaryFormData) => {\n await addDictionary({ dictionary: data }).then(() =>\n onDictionaryCreated?.()\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"w-full max-w-[400px] m-auto\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project._id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project._id)}\n value={String(project._id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"ml-auto mt-12\"\n type=\"submit\"\n color=\"text\"\n isLoading={isSubmitting}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"names":["project"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,yBAA0D,CAAC;AAAA,EACtE;AACF,MAAM;AACE,QAAA,EAAE,QAAQ,IAAI,QAAQ;AAC5B,QAAM,EAAE,YAAY,WAAW,CAAC;AAC1B,QAAA,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,EAAE,MAAM,SAAS,IAAI,eAAe;AAC1C,QAAM,mBAAmB,oBAAoB,OAAO,SAAS,GAAG,CAAC;AACjE,QAAM,EAAE,MAAM,iBAAiB,QAAQ,gBAAgB;AACvD,QAAM,EAAE,UAAU,wBAAwB,aAAiB,IAAA;AAAA,IACzD;AAAA,EACF;AAEM,QAAA,kBAAkB,OAAO,SAA6B;AAC1D,UAAM,cAAc,EAAE,YAAY,KAAA,CAAM,EAAE;AAAA,MAAK,MAC7C,sBAAsB;AAAA,IACxB;AAAA,EACF;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR;AAAA,MACA,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,MAAK;AAAA,YACL,OAAO,SAAS,MAAM;AAAA,YACtB,aAAa,SAAS,YAAY;AAAA,YAClC,YAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAEA,qBAAC,KAAK,aAAL,EAAiB,MAAK,cAAa,OAAO,aAAa,MAAM,OAC5D,UAAA;AAAA,UAAA;AAAA,YAAC,YAAY;AAAA,YAAZ;AAAA,cACC,eAAe,CAAC,UACd,UAAU,MAAM,KAAK,CAACA,aAAY,OAAOA,SAAQ,GAAG,MAAM,KAAK,GAC3D,QAAQ;AAAA,cAGd,8BAAC,YAAY,OAAZ,EAAkB,aAAa,aAAa,YAAY,MAAO,CAAA;AAAA,YAAA;AAAA,UAClE;AAAA,UACC,oBAAA,YAAY,SAAZ,EACC,UAAC,oBAAA,YAAY,MAAZ,EACE,UAAU,UAAA,MAAM,IAAI,CAACA,aACpB;AAAA,YAAC,YAAY;AAAA,YAAZ;AAAA,cAEC,OAAO,OAAOA,SAAQ,GAAG;AAAA,cAExB,UAAAA,SAAQ;AAAA,YAAA;AAAA,YAHJ,OAAOA,SAAQ,GAAG;AAAA,UAK1B,CAAA,EACH,CAAA,EACF,CAAA;AAAA,QAAA,GACF;AAAA,QAEA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO,uBAAuB,UAAU;AAAA,YACxC,aAAW;AAAA,YAEV,UAAuB,uBAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"DictionaryCreationForm.mjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAddDictionary,\n useGetProjects,\n} from '../../../hooks/intlayerAPIHooks';\nimport { useAuth } from '../../../hooks/useAuth';\nimport { Form, useForm } from '../../Form';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryFormContent } from './dictionaryCreationForm.content';\nimport {\n useDictionarySchema,\n type DictionaryFormData,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { addDictionary } = useAddDictionary();\n const { data: projects } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?.id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } = useDictionary(\n dictionaryFormContent\n );\n\n const onSubmitSuccess = async (data: DictionaryFormData) => {\n await addDictionary({ dictionary: data }).then(() =>\n onDictionaryCreated?.()\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"w-full max-w-[400px] m-auto\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project.id)}\n value={String(project.id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"ml-auto mt-12\"\n type=\"submit\"\n color=\"text\"\n isLoading={isSubmitting}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"names":["project"],"mappings":";;;;;;;;;;;;;;;;;AAqBO,MAAM,yBAA0D,CAAC;AAAA,EACtE;AACF,MAAM;AACE,QAAA,EAAE,QAAQ,IAAI,QAAQ;AAC5B,QAAM,EAAE,YAAY,WAAW,CAAC;AAC1B,QAAA,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,EAAE,MAAM,SAAS,IAAI,eAAe;AAC1C,QAAM,mBAAmB,oBAAoB,OAAO,SAAS,EAAE,CAAC;AAChE,QAAM,EAAE,MAAM,iBAAiB,QAAQ,gBAAgB;AACvD,QAAM,EAAE,UAAU,wBAAwB,aAAiB,IAAA;AAAA,IACzD;AAAA,EACF;AAEM,QAAA,kBAAkB,OAAO,SAA6B;AAC1D,UAAM,cAAc,EAAE,YAAY,KAAA,CAAM,EAAE;AAAA,MAAK,MAC7C,sBAAsB;AAAA,IACxB;AAAA,EACF;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR;AAAA,MACA,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,MAAK;AAAA,YACL,OAAO,SAAS,MAAM;AAAA,YACtB,aAAa,SAAS,YAAY;AAAA,YAClC,YAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAEA,qBAAC,KAAK,aAAL,EAAiB,MAAK,cAAa,OAAO,aAAa,MAAM,OAC5D,UAAA;AAAA,UAAA;AAAA,YAAC,YAAY;AAAA,YAAZ;AAAA,cACC,eAAe,CAAC,UACd,UAAU,MAAM,KAAK,CAACA,aAAY,OAAOA,SAAQ,EAAE,MAAM,KAAK,GAC1D,QAAQ;AAAA,cAGd,8BAAC,YAAY,OAAZ,EAAkB,aAAa,aAAa,YAAY,MAAO,CAAA;AAAA,YAAA;AAAA,UAClE;AAAA,UACC,oBAAA,YAAY,SAAZ,EACC,UAAC,oBAAA,YAAY,MAAZ,EACE,UAAU,UAAA,MAAM,IAAI,CAACA,aACpB;AAAA,YAAC,YAAY;AAAA,YAAZ;AAAA,cAEC,OAAO,OAAOA,SAAQ,EAAE;AAAA,cAEvB,UAAAA,SAAQ;AAAA,YAAA;AAAA,YAHJ,OAAOA,SAAQ,EAAE;AAAA,UAKzB,CAAA,EACH,CAAA,EACF,CAAA;AAAA,QAAA,GACF;AAAA,QAEA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO,uBAAuB,UAAU;AAAA,YACxC,aAAW;AAAA,YAEV,UAAuB,uBAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const reactIntlayer = require("react-intlayer");
4
4
  const components_DictionaryFieldEditor_DictionaryCreationForm_useDictionaryFormSchema_content = require("./useDictionaryFormSchema.content.cjs");
5
- const schemas = require("../../../schemas-DlCjM5d_.cjs");
5
+ const schemas = require("../../../schemas-Q6C7ZNs3.cjs");
6
6
  const useDictionarySchema = (projectId) => {
7
7
  const {
8
8
  requiredErrorName,
@@ -1,6 +1,6 @@
1
1
  import { useDictionary } from "react-intlayer";
2
2
  import { dictionaryFormSchemaContent } from "./useDictionaryFormSchema.content.mjs";
3
- import { o as object, a as array, s as string } from "../../../schemas-itjzX6bG.js";
3
+ import { o as object, a as array, s as string } from "../../../schemas-BIuxHDyZ.js";
4
4
  const useDictionarySchema = (projectId) => {
5
5
  const {
6
6
  requiredErrorName,
@@ -8,32 +8,16 @@ const ReactExports = require("react");
8
8
  const reactIntlayer = require("react-intlayer");
9
9
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
10
10
  require("../../../hooks/useAsync/useAsyncStateStore.cjs");
11
+ const hooks_useAuth_useAuth = require("../../../hooks/useAuth/useAuth.cjs");
12
+ require("@intlayer/api");
13
+ require("@intlayer/config/built");
11
14
  require("deepmerge");
12
15
  require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
13
- require("../../Button/Button.cjs");
14
- const components_Auth_useAuth_index = require("../../Auth/useAuth/index.cjs");
15
- require("../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs");
16
- require("@intlayer/api");
16
+ const components_Container_index = require("../../Container/index.cjs");
17
17
  const components_Form_FormBase = require("../../Form/FormBase.cjs");
18
18
  require("../../Form/FormField.cjs");
19
19
  const components_Form_layout_FormItemLayout = require("../../../Form-DJrUK3mm.cjs");
20
- require("../../Auth/SignInForm/signIn.content.cjs");
21
- require("../../Auth/SignInForm/useSignInSchema.content.cjs");
22
- require("../../Auth/SignUpForm/signUpForm.content.cjs");
23
- require("../../Auth/SignUpForm/useSignUpSchema.content.cjs");
24
- require("../../Auth/ChangePasswordForm/changePasswordForm.content.cjs");
25
- require("../../Auth/ChangePasswordForm/useChangePasswordSchema.content.cjs");
26
- require("../../Auth/ResetPasswordForm/resetPasswordContent.content.cjs");
27
- require("../../Auth/ResetPasswordForm/useResetPasswordSchema.content.cjs");
28
- require("../../Modal/Modal.cjs");
29
20
  const components_Loader_index = require("../../Loader/index.cjs");
30
- require("@intlayer/config/built");
31
- require("clsx");
32
- require("tailwind-merge");
33
- require("../../Auth/VerifyEmailForm/index.content.cjs");
34
- require("../../Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs");
35
- require("../../Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs");
36
- const components_Container_index = require("../../Container/index.cjs");
37
21
  const components_Select_Multiselect = require("../../Select/Multiselect.cjs");
38
22
  require("../../Select/Select.cjs");
39
23
  const components_DictionaryFieldEditor_DictionaryDetails_dictionaryDetails_content = require("./dictionaryDetails.content.cjs");
@@ -41,12 +25,12 @@ const components_DictionaryFieldEditor_DictionaryDetails_useDictionaryDetailsSch
41
25
  const DictionaryDetailsForm = ({
42
26
  dictionary
43
27
  }) => {
44
- const { session } = components_Auth_useAuth_index.useAuth();
28
+ const { session } = hooks_useAuth_useAuth.useAuth();
45
29
  const { project } = session ?? {};
46
30
  const { data: projects, isLoading: isLoadingProjects } = hooks_intlayerAPIHooks.useGetProjects();
47
31
  const { data: tags } = hooks_intlayerAPIHooks.useGetTags();
48
32
  const DictionaryDetailsSchema = components_DictionaryFieldEditor_DictionaryDetails_useDictionaryDetailsSchema.useDictionaryDetailsSchema(
49
- String(project?._id)
33
+ String(project?.id)
50
34
  );
51
35
  const { form, isSubmitting } = components_Form_FormBase.useForm(DictionaryDetailsSchema, {
52
36
  defaultValues: dictionary
@@ -190,17 +174,17 @@ const DictionaryDetailsForm = ({
190
174
  /* @__PURE__ */ jsxRuntime.jsx(
191
175
  components_Select_Multiselect.MultiSelect.Trigger,
192
176
  {
193
- getBadgeValue: (value) => projects?.data?.find((project2) => String(project2._id) === value)?.name ?? value,
177
+ getBadgeValue: (value) => projects?.data?.find((project2) => String(project2.id) === value)?.name ?? value,
194
178
  children: /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.Input, { placeholder: projectInput.placeholder.value })
195
179
  }
196
180
  ),
197
181
  /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(components_Loader_index.Loader, { isLoading: isLoadingProjects, children: /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.List, { children: projects?.data?.map((project2) => /* @__PURE__ */ jsxRuntime.jsx(
198
182
  components_Select_Multiselect.MultiSelect.Item,
199
183
  {
200
- value: String(project2._id),
184
+ value: String(project2.id),
201
185
  children: project2.name
202
186
  },
203
- String(project2._id)
187
+ String(project2.id)
204
188
  )) }) }) })
205
189
  ]
206
190
  }
@@ -223,7 +207,7 @@ const DictionaryDetailsForm = ({
223
207
  /* @__PURE__ */ jsxRuntime.jsx(
224
208
  components_Select_Multiselect.MultiSelect.Trigger,
225
209
  {
226
- getBadgeValue: (value) => projects?.data?.find((project2) => String(project2._id) === value)?.name ?? value,
210
+ getBadgeValue: (value) => projects?.data?.find((project2) => String(project2.id) === value)?.name ?? value,
227
211
  children: /* @__PURE__ */ jsxRuntime.jsx(components_Select_Multiselect.MultiSelect.Input, { placeholder: tagsSelect.placeholder.value })
228
212
  }
229
213
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryDetailsForm.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx"],"sourcesContent":["'use client';\n\nimport type { Dictionary } from '@intlayer/core';\nimport { useEditedContent } from '@intlayer/editor-react';\nimport { WandSparkles } from 'lucide-react';\nimport { type FC, useEffect } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAuditContentDeclarationMetadata,\n useGetProjects,\n useGetTags,\n} from '../../../hooks';\nimport { useAuth } from '../../Auth';\nimport { Container } from '../../Container';\nimport { Form, useForm } from '../../Form';\nimport { Loader } from '../../Loader';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryDetailsContent } from './dictionaryDetails.content';\nimport { useDictionaryDetailsSchema } from './useDictionaryDetailsSchema';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n};\n\nexport const DictionaryDetailsForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { data: projects, isLoading: isLoadingProjects } = useGetProjects();\n const { data: tags } = useGetTags();\n\n const DictionaryDetailsSchema = useDictionaryDetailsSchema(\n String(project?._id)\n );\n const { form, isSubmitting } = useForm(DictionaryDetailsSchema, {\n defaultValues: dictionary,\n });\n const { editedContent, setEditedDictionary } = useEditedContent();\n const {\n titleInput,\n keyInput,\n descriptionInput,\n\n projectInput,\n tagsSelect,\n auditButton,\n } = useDictionary(dictionaryDetailsContent);\n const { auditContentDeclaration, isLoading: isAuditing } =\n useAuditContentDeclarationMetadata();\n const updatedDictionary = editedContent?.[dictionary.key];\n\n useEffect(() => {\n form.reset(dictionary);\n }, [dictionary, form?.reset]);\n\n useEffect(() => {\n if (typeof updatedDictionary === 'undefined') {\n form.reset(dictionary);\n }\n }, [updatedDictionary]);\n\n const handleOnAuditFile = async () => {\n const dictionaryToAudit = {\n ...dictionary,\n ...updatedDictionary,\n };\n\n await auditContentDeclaration({\n fileContent: JSON.stringify(dictionaryToAudit),\n }).then((response) => {\n if (!response?.data) return;\n\n try {\n const auditedDictionary = JSON.parse(response.data.fileContent) as\n | Partial<Dictionary>\n | undefined;\n\n setEditedDictionary((prev) => ({\n ...prev,\n ...dictionaryToAudit,\n ...auditedDictionary,\n }));\n form.reset({\n ...dictionaryToAudit,\n ...auditedDictionary,\n });\n } catch (error) {\n console.error(error);\n }\n });\n };\n\n return (\n <Container\n background=\"none\"\n border\n roundedSize=\"2xl\"\n className=\"w-full px-5 pb-3 pt-5\"\n >\n <Form\n className=\"flex w-full flex-col gap-8\"\n {...form}\n schema={DictionaryDetailsSchema}\n onChange={(data) =>\n setEditedDictionary((prev) => ({\n ...prev,\n ...data,\n }))\n }\n >\n <div className=\"flex w-full flex-1 gap-8 max-md:flex-col\">\n <Form.EditableFieldInput\n name=\"key\"\n label={keyInput.label}\n placeholder={keyInput.label.value}\n description={keyInput.description}\n disabled={isSubmitting}\n isRequired\n onSave={(value) => {\n form.setValue('key', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n key: value,\n }));\n }}\n />\n <Form.EditableFieldInput\n name=\"title\"\n label={titleInput.label}\n placeholder={titleInput.placeholder.value}\n description={titleInput.description}\n disabled={isSubmitting}\n onSave={(value) => {\n form.setValue('title', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n title: value,\n }));\n }}\n />\n </div>\n <Form.EditableFieldTextArea\n name=\"description\"\n label={descriptionInput.label}\n placeholder={descriptionInput.placeholder.value}\n description={descriptionInput.description}\n disabled={isSubmitting}\n onSave={(value) => {\n form.setValue('description', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n description: value,\n }));\n }}\n />\n <div className=\"flex size-full flex-1 gap-8 max-md:flex-col\">\n <Form.MultiSelect\n name=\"projectIds\"\n label={projectInput.label.value}\n description={projectInput.description.value}\n onValueChange={(value) => {\n const valueArray = [value].flat();\n form.setValue('projectIds', valueArray);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n projectIds: valueArray,\n }));\n }}\n >\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project._id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <Loader isLoading={isLoadingProjects}>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project._id)}\n value={String(project._id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </Loader>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.MultiSelect\n name=\"tags\"\n label={tagsSelect.label.value}\n description={tagsSelect.description.value}\n onValueChange={(value) => {\n form.setValue('tags', [value].flat());\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n tags: [value].flat(),\n }));\n }}\n >\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project._id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={tagsSelect.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <Loader isLoading={isLoadingProjects}>\n <MultiSelect.List>\n {tags?.data?.map((tag) => (\n <MultiSelect.Item\n key={String(tag.key)}\n value={String(tag.key)}\n >\n {tag.name ?? tag.key}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </Loader>\n </MultiSelect.Content>\n </Form.MultiSelect>\n </div>\n\n <div className=\"flex flex-wrap items-center justify-end gap-2 max-md:flex-col\">\n <Form.Button\n type=\"button\"\n label={auditButton.label.value}\n Icon={WandSparkles}\n variant=\"outline\"\n color=\"text\"\n className=\"max-md:w-full\"\n onClick={handleOnAuditFile}\n disabled={isSubmitting || isAuditing}\n isLoading={isAuditing}\n >\n {auditButton.text}\n </Form.Button>\n </div>\n </Form>\n </Container>\n );\n};\n"],"names":["useAuth","useGetProjects","useGetTags","useDictionaryDetailsSchema","useForm","useEditedContent","useDictionary","dictionaryDetailsContent","useAuditContentDeclarationMetadata","useEffect","jsx","Container","jsxs","Form","MultiSelect","project","Loader","WandSparkles"],"mappings":"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"}
1
+ {"version":3,"file":"DictionaryDetailsForm.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx"],"sourcesContent":["'use client';\n\nimport type { Dictionary } from '@intlayer/core';\nimport { useEditedContent } from '@intlayer/editor-react';\nimport { WandSparkles } from 'lucide-react';\nimport { type FC, useEffect } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n useAuditContentDeclarationMetadata,\n useGetProjects,\n useGetTags,\n} from '../../../hooks';\nimport { useAuth } from '../../../hooks/useAuth';\nimport { Container } from '../../Container';\nimport { Form, useForm } from '../../Form';\nimport { Loader } from '../../Loader';\nimport { MultiSelect } from '../../Select';\nimport { dictionaryDetailsContent } from './dictionaryDetails.content';\nimport { useDictionaryDetailsSchema } from './useDictionaryDetailsSchema';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n};\n\nexport const DictionaryDetailsForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n}) => {\n const { session } = useAuth();\n const { project } = session ?? {};\n const { data: projects, isLoading: isLoadingProjects } = useGetProjects();\n const { data: tags } = useGetTags();\n\n const DictionaryDetailsSchema = useDictionaryDetailsSchema(\n String(project?.id)\n );\n const { form, isSubmitting } = useForm(DictionaryDetailsSchema, {\n defaultValues: dictionary,\n });\n const { editedContent, setEditedDictionary } = useEditedContent();\n const {\n titleInput,\n keyInput,\n descriptionInput,\n\n projectInput,\n tagsSelect,\n auditButton,\n } = useDictionary(dictionaryDetailsContent);\n const { auditContentDeclaration, isLoading: isAuditing } =\n useAuditContentDeclarationMetadata();\n const updatedDictionary = editedContent?.[dictionary.key];\n\n useEffect(() => {\n form.reset(dictionary);\n }, [dictionary, form?.reset]);\n\n useEffect(() => {\n if (typeof updatedDictionary === 'undefined') {\n form.reset(dictionary);\n }\n }, [updatedDictionary]);\n\n const handleOnAuditFile = async () => {\n const dictionaryToAudit = {\n ...dictionary,\n ...updatedDictionary,\n };\n\n await auditContentDeclaration({\n fileContent: JSON.stringify(dictionaryToAudit),\n }).then((response) => {\n if (!response?.data) return;\n\n try {\n const auditedDictionary = JSON.parse(response.data.fileContent) as\n | Partial<Dictionary>\n | undefined;\n\n setEditedDictionary((prev) => ({\n ...prev,\n ...dictionaryToAudit,\n ...auditedDictionary,\n }));\n form.reset({\n ...dictionaryToAudit,\n ...auditedDictionary,\n });\n } catch (error) {\n console.error(error);\n }\n });\n };\n\n return (\n <Container\n background=\"none\"\n border\n roundedSize=\"2xl\"\n className=\"w-full px-5 pb-3 pt-5\"\n >\n <Form\n className=\"flex w-full flex-col gap-8\"\n {...form}\n schema={DictionaryDetailsSchema}\n onChange={(data) =>\n setEditedDictionary((prev) => ({\n ...prev,\n ...data,\n }))\n }\n >\n <div className=\"flex w-full flex-1 gap-8 max-md:flex-col\">\n <Form.EditableFieldInput\n name=\"key\"\n label={keyInput.label}\n placeholder={keyInput.label.value}\n description={keyInput.description}\n disabled={isSubmitting}\n isRequired\n onSave={(value) => {\n form.setValue('key', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n key: value,\n }));\n }}\n />\n <Form.EditableFieldInput\n name=\"title\"\n label={titleInput.label}\n placeholder={titleInput.placeholder.value}\n description={titleInput.description}\n disabled={isSubmitting}\n onSave={(value) => {\n form.setValue('title', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n title: value,\n }));\n }}\n />\n </div>\n <Form.EditableFieldTextArea\n name=\"description\"\n label={descriptionInput.label}\n placeholder={descriptionInput.placeholder.value}\n description={descriptionInput.description}\n disabled={isSubmitting}\n onSave={(value) => {\n form.setValue('description', value);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n description: value,\n }));\n }}\n />\n <div className=\"flex size-full flex-1 gap-8 max-md:flex-col\">\n <Form.MultiSelect\n name=\"projectIds\"\n label={projectInput.label.value}\n description={projectInput.description.value}\n onValueChange={(value) => {\n const valueArray = [value].flat();\n form.setValue('projectIds', valueArray);\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n projectIds: valueArray,\n }));\n }}\n >\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <Loader isLoading={isLoadingProjects}>\n <MultiSelect.List>\n {projects?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project.id)}\n value={String(project.id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </Loader>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.MultiSelect\n name=\"tags\"\n label={tagsSelect.label.value}\n description={tagsSelect.description.value}\n onValueChange={(value) => {\n form.setValue('tags', [value].flat());\n setEditedDictionary((prev) => ({\n ...dictionary,\n ...(prev ?? {}),\n tags: [value].flat(),\n }));\n }}\n >\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projects?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={tagsSelect.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <Loader isLoading={isLoadingProjects}>\n <MultiSelect.List>\n {tags?.data?.map((tag) => (\n <MultiSelect.Item\n key={String(tag.key)}\n value={String(tag.key)}\n >\n {tag.name ?? tag.key}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </Loader>\n </MultiSelect.Content>\n </Form.MultiSelect>\n </div>\n\n <div className=\"flex flex-wrap items-center justify-end gap-2 max-md:flex-col\">\n <Form.Button\n type=\"button\"\n label={auditButton.label.value}\n Icon={WandSparkles}\n variant=\"outline\"\n color=\"text\"\n className=\"max-md:w-full\"\n onClick={handleOnAuditFile}\n disabled={isSubmitting || isAuditing}\n isLoading={isAuditing}\n >\n {auditButton.text}\n </Form.Button>\n </div>\n </Form>\n </Container>\n );\n};\n"],"names":["useAuth","useGetProjects","useGetTags","useDictionaryDetailsSchema","useForm","useEditedContent","useDictionary","dictionaryDetailsContent","useAuditContentDeclarationMetadata","useEffect","jsx","Container","jsxs","Form","MultiSelect","project","Loader","WandSparkles"],"mappings":"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"}