@intlayer/design-system 5.0.1 → 5.0.3

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 (190) hide show
  1. package/dist/.vite/manifest.json +10 -10
  2. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +10 -10
  3. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +1 -1
  4. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts.map +1 -1
  5. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +10 -10
  6. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +1 -1
  7. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts +150 -10
  8. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts.map +1 -1
  9. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.cjs.map +1 -1
  10. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.d.ts +120 -8
  11. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.content.d.ts.map +1 -1
  12. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.d.ts.map +1 -1
  13. package/dist/components/Auth/ChangePasswordForm/useChangePasswordSchema.mjs.map +1 -1
  14. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +3 -3
  15. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
  16. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts.map +1 -1
  17. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +3 -3
  18. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
  19. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +75 -5
  20. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts.map +1 -1
  21. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +6 -6
  22. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +1 -1
  23. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts.map +1 -1
  24. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +6 -6
  25. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +1 -1
  26. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.d.ts +105 -7
  27. package/dist/components/Auth/ResetPasswordForm/resetPasswordContent.content.d.ts.map +1 -1
  28. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.cjs.map +1 -1
  29. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.d.ts +45 -3
  30. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.content.d.ts.map +1 -1
  31. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.d.ts.map +1 -1
  32. package/dist/components/Auth/ResetPasswordForm/useResetPasswordSchema.mjs.map +1 -1
  33. package/dist/components/Auth/SignInForm/SignInForm.cjs +7 -7
  34. package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
  35. package/dist/components/Auth/SignInForm/SignInForm.d.ts.map +1 -1
  36. package/dist/components/Auth/SignInForm/SignInForm.mjs +7 -7
  37. package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
  38. package/dist/components/Auth/SignInForm/signIn.content.d.ts +195 -13
  39. package/dist/components/Auth/SignInForm/signIn.content.d.ts.map +1 -1
  40. package/dist/components/Auth/SignInForm/useSignInSchema.cjs.map +1 -1
  41. package/dist/components/Auth/SignInForm/useSignInSchema.content.d.ts +60 -4
  42. package/dist/components/Auth/SignInForm/useSignInSchema.content.d.ts.map +1 -1
  43. package/dist/components/Auth/SignInForm/useSignInSchema.d.ts.map +1 -1
  44. package/dist/components/Auth/SignInForm/useSignInSchema.mjs.map +1 -1
  45. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +8 -8
  46. package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +1 -1
  47. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts.map +1 -1
  48. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +8 -8
  49. package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +1 -1
  50. package/dist/components/Auth/SignUpForm/signUpForm.content.d.ts +165 -11
  51. package/dist/components/Auth/SignUpForm/signUpForm.content.d.ts.map +1 -1
  52. package/dist/components/Auth/SignUpForm/useSignUpSchema.cjs.map +1 -1
  53. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.d.ts +105 -7
  54. package/dist/components/Auth/SignUpForm/useSignUpSchema.content.d.ts.map +1 -1
  55. package/dist/components/Auth/SignUpForm/useSignUpSchema.d.ts.map +1 -1
  56. package/dist/components/Auth/SignUpForm/useSignUpSchema.mjs.map +1 -1
  57. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs +1 -1
  58. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs.map +1 -1
  59. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.d.ts.map +1 -1
  60. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs +1 -1
  61. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs.map +1 -1
  62. package/dist/components/Auth/VerifyEmailForm/index.content.d.ts +60 -4
  63. package/dist/components/Auth/VerifyEmailForm/index.content.d.ts.map +1 -1
  64. package/dist/components/Breadcrumb/breadcrumb.content.d.ts +15 -1
  65. package/dist/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  66. package/dist/components/Breadcrumb/index.cjs.map +1 -1
  67. package/dist/components/Breadcrumb/index.d.ts.map +1 -1
  68. package/dist/components/Breadcrumb/index.mjs.map +1 -1
  69. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +4 -4
  70. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  71. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
  72. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +4 -4
  73. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  74. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts +114 -8
  75. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +1 -1
  76. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  77. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
  78. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  79. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts +30 -2
  80. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts.map +1 -1
  81. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +6 -6
  82. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  83. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  84. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +6 -6
  85. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  86. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +195 -13
  87. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  88. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.cjs.map +1 -1
  89. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +60 -4
  90. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  91. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.d.ts.map +1 -1
  92. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
  93. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +22 -17
  94. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  95. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  96. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +22 -17
  97. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  98. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +387 -26
  99. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  100. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs.map +1 -1
  101. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +180 -12
  102. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  103. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts.map +1 -1
  104. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  105. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  106. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  107. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  108. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +3 -3
  109. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
  110. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.d.ts.map +1 -1
  111. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +3 -3
  112. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
  113. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +2 -2
  114. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
  115. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts.map +1 -1
  116. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +2 -2
  117. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
  118. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +2 -2
  119. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  120. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  121. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +2 -2
  122. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  123. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +165 -11
  124. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  125. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +10 -4
  126. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs.map +1 -1
  127. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  128. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +10 -4
  129. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  130. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +6 -6
  131. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  132. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  133. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +6 -6
  134. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  135. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +150 -10
  136. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  137. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs +2 -2
  138. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs.map +1 -1
  139. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.d.ts.map +1 -1
  140. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +2 -2
  141. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  142. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.cjs.map +1 -1
  143. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.d.ts.map +1 -1
  144. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  145. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +45 -3
  146. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  147. package/dist/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +60 -4
  148. package/dist/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts.map +1 -1
  149. package/dist/components/DictionaryFieldEditor/editorView.content.d.ts +105 -7
  150. package/dist/components/DictionaryFieldEditor/editorView.content.d.ts.map +1 -1
  151. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.cjs +59 -14
  152. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.cjs.map +1 -1
  153. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +135 -6
  154. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  155. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs +59 -14
  156. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  157. package/dist/components/IDE/CopyButton.cjs +1 -1
  158. package/dist/components/IDE/CopyButton.cjs.map +1 -1
  159. package/dist/components/IDE/CopyButton.content.d.ts +15 -1
  160. package/dist/components/IDE/CopyButton.content.d.ts.map +1 -1
  161. package/dist/components/IDE/CopyButton.d.ts.map +1 -1
  162. package/dist/components/IDE/CopyButton.mjs +1 -1
  163. package/dist/components/IDE/CopyButton.mjs.map +1 -1
  164. package/dist/components/Loader/index.content.d.ts +12 -1
  165. package/dist/components/Loader/index.content.d.ts.map +1 -1
  166. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +5 -5
  167. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs.map +1 -1
  168. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
  169. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +5 -5
  170. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  171. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs.map +1 -1
  172. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.d.ts +6 -6
  173. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.d.ts.map +1 -1
  174. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  175. package/dist/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +105 -7
  176. package/dist/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  177. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs +3 -3
  178. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.map +1 -1
  179. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  180. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +3 -3
  181. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  182. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +75 -5
  183. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  184. package/dist/{index-Di_3dNqI.js → index-BVYRWLUL.js} +3 -2
  185. package/dist/index-BVYRWLUL.js.map +1 -0
  186. package/dist/{index-ZARcTrR0.cjs → index-DTQyeqio.cjs} +3 -2
  187. package/dist/index-DTQyeqio.cjs.map +1 -0
  188. package/package.json +19 -19
  189. package/dist/index-Di_3dNqI.js.map +0 -1
  190. package/dist/index-ZARcTrR0.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { z } from 'zod';\nimport { useDictionaryDetailsSchemaContent } from './useDictionaryDetailsSchema.content';\n\nexport const useDictionaryDetailsSchema = (projectId: string) => {\n const {\n titleRequiredError,\n titleInvalidTypeError,\n titleMinLengthError,\n keyRequiredError,\n keyInvalidTypeError,\n keySpaceError,\n keyMinLengthError,\n descriptionRequiredError,\n descriptionInvalidTypeError,\n requiredErrorProjectId,\n invalidTypeErrorProjectId,\n invalidTypeErrorTags,\n } = useDictionary(useDictionaryDetailsSchemaContent);\n\n return z.object({\n title: z\n .string({\n required_error: titleRequiredError,\n invalid_type_error: titleInvalidTypeError,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n message: titleMinLengthError,\n })\n .optional(),\n key: z\n .string({\n required_error: keyRequiredError,\n invalid_type_error: keyInvalidTypeError,\n })\n .min(4, { message: keyMinLengthError })\n /**\n * Valid :\n * my-key\n * my_key\n *\n * Invalid :\n * my key\n * my.key\n */\n .regex(/^[a-zA-Z0-9-_]+$/, { message: keySpaceError })\n .default(''),\n description: z\n .string({\n required_error: descriptionRequiredError,\n invalid_type_error: descriptionInvalidTypeError,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n required_error: requiredErrorProjectId,\n invalid_type_error: invalidTypeErrorProjectId,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n invalid_type_error: invalidTypeErrorTags,\n })\n )\n .default([]),\n publishedVersion: z.string().default('-1'),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"names":["useDictionary","useDictionaryDetailsSchemaContent","z"],"mappings":";;;;;AAKa,MAAA,6BAA6B,CAAC,cAAsB;AACzD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACEA,cAAAA,cAAcC,sFAAAA,iCAAiC;AAEnD,SAAOC,IAAAA,EAAE,OAAO;AAAA,IACd,OAAOA,MACJ,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IAAA,CACrB,EAEA,OAAO,CAAC,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EACA,SAAS;AAAA,IACZ,KAAKA,MACF,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,IAAI,GAAG,EAAE,SAAS,kBAAkB,CAAC,EAUrC,MAAM,oBAAoB,EAAE,SAAS,cAAe,CAAA,EACpD,QAAQ,EAAE;AAAA,IACb,aAAaA,MACV,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,SAAS;AAAA,IACZ,YAAYA,IACT,EAAA;AAAA,MACCA,IAAAA,EAAE,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAC,SAAS,CAAC;AAAA,IACtB,MAAMA,IACH,EAAA;AAAA,MACCA,IAAAA,EAAE,OAAO;AAAA,QACP,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAA,CAAE;AAAA,IACb,kBAAkBA,IAAA,EAAE,OAAO,EAAE,QAAQ,IAAI;AAAA,EAAA,CAC1C;AACH;;"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.cjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["import { useDictionary } from 'react-intlayer';\nimport { z } from 'zod';\nimport { useDictionaryDetailsSchemaContent } from './useDictionaryDetailsSchema.content';\n\nexport const useDictionaryDetailsSchema = (projectId: string) => {\n const {\n titleRequiredError,\n titleInvalidTypeError,\n titleMinLengthError,\n keyRequiredError,\n keyInvalidTypeError,\n keySpaceError,\n keyMinLengthError,\n descriptionRequiredError,\n descriptionInvalidTypeError,\n requiredErrorProjectId,\n invalidTypeErrorProjectId,\n invalidTypeErrorTags,\n } = useDictionary(useDictionaryDetailsSchemaContent);\n\n return z.object({\n title: z\n .string({\n required_error: titleRequiredError,\n invalid_type_error: titleInvalidTypeError,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n message: titleMinLengthError,\n })\n .optional(),\n key: z\n .string({\n required_error: keyRequiredError,\n invalid_type_error: keyInvalidTypeError,\n })\n .min(4, { message: keyMinLengthError })\n /**\n * Valid :\n * my-key\n * my_key\n *\n * Invalid :\n * my key\n * my.key\n */\n .regex(/^[a-zA-Z0-9-_]+$/, { message: keySpaceError })\n .default(''),\n description: z\n .string({\n required_error: descriptionRequiredError,\n invalid_type_error: descriptionInvalidTypeError,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n required_error: requiredErrorProjectId,\n invalid_type_error: invalidTypeErrorProjectId,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n invalid_type_error: invalidTypeErrorTags,\n })\n )\n .default([]),\n publishedVersion: z.string().default('-1'),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"names":["useDictionary","useDictionaryDetailsSchemaContent","z"],"mappings":";;;;;AAIa,MAAA,6BAA6B,CAAC,cAAsB;AACzD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACEA,cAAAA,cAAcC,sFAAAA,iCAAiC;AAEnD,SAAOC,IAAAA,EAAE,OAAO;AAAA,IACd,OAAOA,MACJ,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IAAA,CACrB,EAEA,OAAO,CAAC,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EACA,SAAS;AAAA,IACZ,KAAKA,MACF,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,IAAI,GAAG,EAAE,SAAS,kBAAkB,CAAC,EAUrC,MAAM,oBAAoB,EAAE,SAAS,cAAe,CAAA,EACpD,QAAQ,EAAE;AAAA,IACb,aAAaA,MACV,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,SAAS;AAAA,IACZ,YAAYA,IACT,EAAA;AAAA,MACCA,IAAAA,EAAE,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAC,SAAS,CAAC;AAAA,IACtB,MAAMA,IACH,EAAA;AAAA,MACCA,IAAAA,EAAE,OAAO;AAAA,QACP,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAA,CAAE;AAAA,IACb,kBAAkBA,IAAA,EAAE,OAAO,EAAE,QAAQ,IAAI;AAAA,EAAA,CAC1C;AACH;;"}
@@ -1,18 +1,186 @@
1
1
  export declare const useDictionaryDetailsSchemaContent: {
2
2
  key: string;
3
3
  content: {
4
- titleRequiredError: import('@intlayer/core').TranslationContent<string>;
5
- titleInvalidTypeError: import('@intlayer/core').TranslationContent<string>;
6
- titleMinLengthError: import('@intlayer/core').TranslationContent<string>;
7
- keyRequiredError: import('@intlayer/core').TranslationContent<string>;
8
- keyInvalidTypeError: import('@intlayer/core').TranslationContent<string>;
9
- keySpaceError: import('@intlayer/core').TranslationContent<string>;
10
- keyMinLengthError: import('@intlayer/core').TranslationContent<string>;
11
- descriptionRequiredError: import('@intlayer/core').TranslationContent<string>;
12
- descriptionInvalidTypeError: import('@intlayer/core').TranslationContent<string>;
13
- requiredErrorProjectId: import('@intlayer/core').TranslationContent<string>;
14
- invalidTypeErrorProjectId: import('@intlayer/core').TranslationContent<string>;
15
- invalidTypeErrorTags: import('@intlayer/core').TranslationContent<string>;
4
+ titleRequiredError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
5
+ en: string;
6
+ 'en-GB': string;
7
+ fr: string;
8
+ es: string;
9
+ de: string;
10
+ ja: string;
11
+ ko: string;
12
+ zh: string;
13
+ it: string;
14
+ pt: string;
15
+ hi: string;
16
+ ar: string;
17
+ ru: string;
18
+ }>;
19
+ titleInvalidTypeError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
20
+ en: string;
21
+ 'en-GB': string;
22
+ fr: string;
23
+ es: string;
24
+ de: string;
25
+ ja: string;
26
+ ko: string;
27
+ zh: string;
28
+ it: string;
29
+ pt: string;
30
+ hi: string;
31
+ ar: string;
32
+ ru: string;
33
+ }>;
34
+ titleMinLengthError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
35
+ en: string;
36
+ 'en-GB': string;
37
+ fr: string;
38
+ es: string;
39
+ de: string;
40
+ ja: string;
41
+ ko: string;
42
+ zh: string;
43
+ it: string;
44
+ pt: string;
45
+ hi: string;
46
+ ar: string;
47
+ ru: string;
48
+ }>;
49
+ keyRequiredError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
50
+ en: string;
51
+ 'en-GB': string;
52
+ fr: string;
53
+ es: string;
54
+ de: string;
55
+ ja: string;
56
+ ko: string;
57
+ zh: string;
58
+ it: string;
59
+ pt: string;
60
+ hi: string;
61
+ ar: string;
62
+ ru: string;
63
+ }>;
64
+ keyInvalidTypeError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
65
+ en: string;
66
+ 'en-GB': string;
67
+ fr: string;
68
+ es: string;
69
+ de: string;
70
+ ja: string;
71
+ ko: string;
72
+ zh: string;
73
+ it: string;
74
+ pt: string;
75
+ hi: string;
76
+ ar: string;
77
+ ru: string;
78
+ }>;
79
+ keySpaceError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
80
+ en: string;
81
+ 'en-GB': string;
82
+ fr: string;
83
+ es: string;
84
+ de: string;
85
+ ja: string;
86
+ ko: string;
87
+ zh: string;
88
+ it: string;
89
+ pt: string;
90
+ hi: string;
91
+ ar: string;
92
+ ru: string;
93
+ }>;
94
+ keyMinLengthError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
95
+ en: string;
96
+ 'en-GB': string;
97
+ fr: string;
98
+ es: string;
99
+ de: string;
100
+ ja: string;
101
+ ko: string;
102
+ zh: string;
103
+ it: string;
104
+ pt: string;
105
+ hi: string;
106
+ ar: string;
107
+ ru: string;
108
+ }>;
109
+ descriptionRequiredError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
110
+ en: string;
111
+ 'en-GB': string;
112
+ fr: string;
113
+ es: string;
114
+ de: string;
115
+ ja: string;
116
+ ko: string;
117
+ zh: string;
118
+ it: string;
119
+ pt: string;
120
+ hi: string;
121
+ ar: string;
122
+ ru: string;
123
+ }>;
124
+ descriptionInvalidTypeError: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
125
+ en: string;
126
+ 'en-GB': string;
127
+ fr: string;
128
+ es: string;
129
+ de: string;
130
+ ja: string;
131
+ ko: string;
132
+ zh: string;
133
+ it: string;
134
+ pt: string;
135
+ hi: string;
136
+ ar: string;
137
+ ru: string;
138
+ }>;
139
+ requiredErrorProjectId: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
140
+ en: string;
141
+ 'en-GB': string;
142
+ fr: string;
143
+ es: string;
144
+ de: string;
145
+ ja: string;
146
+ ko: string;
147
+ zh: string;
148
+ it: string;
149
+ pt: string;
150
+ hi: string;
151
+ ar: string;
152
+ ru: string;
153
+ }>;
154
+ invalidTypeErrorProjectId: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
155
+ en: string;
156
+ 'en-GB': string;
157
+ fr: string;
158
+ es: string;
159
+ de: string;
160
+ ja: string;
161
+ ko: string;
162
+ zh: string;
163
+ it: string;
164
+ pt: string;
165
+ hi: string;
166
+ ar: string;
167
+ ru: string;
168
+ }>;
169
+ invalidTypeErrorTags: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
170
+ en: string;
171
+ 'en-GB': string;
172
+ fr: string;
173
+ es: string;
174
+ de: string;
175
+ ja: string;
176
+ ko: string;
177
+ zh: string;
178
+ it: string;
179
+ pt: string;
180
+ hi: string;
181
+ ar: string;
182
+ ru: string;
183
+ }>;
16
184
  };
17
185
  };
18
186
  //# sourceMappingURL=useDictionaryDetailsSchema.content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.content.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;CAoMxB,CAAC"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.content.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B,cAAe,MAAM;;;;;;;;;;;;;;;;;;;;;EAmE3D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAC9C,CAAC"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B,cAAe,MAAM;;;;;;;;;;;;;;;;;;;;;EAmE3D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.mjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { z } from 'zod';\nimport { useDictionaryDetailsSchemaContent } from './useDictionaryDetailsSchema.content';\n\nexport const useDictionaryDetailsSchema = (projectId: string) => {\n const {\n titleRequiredError,\n titleInvalidTypeError,\n titleMinLengthError,\n keyRequiredError,\n keyInvalidTypeError,\n keySpaceError,\n keyMinLengthError,\n descriptionRequiredError,\n descriptionInvalidTypeError,\n requiredErrorProjectId,\n invalidTypeErrorProjectId,\n invalidTypeErrorTags,\n } = useDictionary(useDictionaryDetailsSchemaContent);\n\n return z.object({\n title: z\n .string({\n required_error: titleRequiredError,\n invalid_type_error: titleInvalidTypeError,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n message: titleMinLengthError,\n })\n .optional(),\n key: z\n .string({\n required_error: keyRequiredError,\n invalid_type_error: keyInvalidTypeError,\n })\n .min(4, { message: keyMinLengthError })\n /**\n * Valid :\n * my-key\n * my_key\n *\n * Invalid :\n * my key\n * my.key\n */\n .regex(/^[a-zA-Z0-9-_]+$/, { message: keySpaceError })\n .default(''),\n description: z\n .string({\n required_error: descriptionRequiredError,\n invalid_type_error: descriptionInvalidTypeError,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n required_error: requiredErrorProjectId,\n invalid_type_error: invalidTypeErrorProjectId,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n invalid_type_error: invalidTypeErrorTags,\n })\n )\n .default([]),\n publishedVersion: z.string().default('-1'),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"names":[],"mappings":";;;AAKa,MAAA,6BAA6B,CAAC,cAAsB;AACzD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,cAAc,iCAAiC;AAEnD,SAAO,EAAE,OAAO;AAAA,IACd,OAAO,EACJ,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IAAA,CACrB,EAEA,OAAO,CAAC,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EACA,SAAS;AAAA,IACZ,KAAK,EACF,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,IAAI,GAAG,EAAE,SAAS,kBAAkB,CAAC,EAUrC,MAAM,oBAAoB,EAAE,SAAS,cAAe,CAAA,EACpD,QAAQ,EAAE;AAAA,IACb,aAAa,EACV,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,SAAS;AAAA,IACZ,YAAY,EACT;AAAA,MACC,EAAE,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAC,SAAS,CAAC;AAAA,IACtB,MAAM,EACH;AAAA,MACC,EAAE,OAAO;AAAA,QACP,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAA,CAAE;AAAA,IACb,kBAAkB,EAAE,OAAO,EAAE,QAAQ,IAAI;AAAA,EAAA,CAC1C;AACH;"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.mjs","sources":["../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["import { useDictionary } from 'react-intlayer';\nimport { z } from 'zod';\nimport { useDictionaryDetailsSchemaContent } from './useDictionaryDetailsSchema.content';\n\nexport const useDictionaryDetailsSchema = (projectId: string) => {\n const {\n titleRequiredError,\n titleInvalidTypeError,\n titleMinLengthError,\n keyRequiredError,\n keyInvalidTypeError,\n keySpaceError,\n keyMinLengthError,\n descriptionRequiredError,\n descriptionInvalidTypeError,\n requiredErrorProjectId,\n invalidTypeErrorProjectId,\n invalidTypeErrorTags,\n } = useDictionary(useDictionaryDetailsSchemaContent);\n\n return z.object({\n title: z\n .string({\n required_error: titleRequiredError,\n invalid_type_error: titleInvalidTypeError,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n message: titleMinLengthError,\n })\n .optional(),\n key: z\n .string({\n required_error: keyRequiredError,\n invalid_type_error: keyInvalidTypeError,\n })\n .min(4, { message: keyMinLengthError })\n /**\n * Valid :\n * my-key\n * my_key\n *\n * Invalid :\n * my key\n * my.key\n */\n .regex(/^[a-zA-Z0-9-_]+$/, { message: keySpaceError })\n .default(''),\n description: z\n .string({\n required_error: descriptionRequiredError,\n invalid_type_error: descriptionInvalidTypeError,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n required_error: requiredErrorProjectId,\n invalid_type_error: invalidTypeErrorProjectId,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n invalid_type_error: invalidTypeErrorTags,\n })\n )\n .default([]),\n publishedVersion: z.string().default('-1'),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"names":[],"mappings":";;;AAIa,MAAA,6BAA6B,CAAC,cAAsB;AACzD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,cAAc,iCAAiC;AAEnD,SAAO,EAAE,OAAO;AAAA,IACd,OAAO,EACJ,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IAAA,CACrB,EAEA,OAAO,CAAC,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EACA,SAAS;AAAA,IACZ,KAAK,EACF,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,IAAI,GAAG,EAAE,SAAS,kBAAkB,CAAC,EAUrC,MAAM,oBAAoB,EAAE,SAAS,cAAe,CAAA,EACpD,QAAQ,EAAE;AAAA,IACb,aAAa,EACV,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACrB,CAAA,EACA,SAAS;AAAA,IACZ,YAAY,EACT;AAAA,MACC,EAAE,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAC,SAAS,CAAC;AAAA,IACtB,MAAM,EACH;AAAA,MACC,EAAE,OAAO;AAAA,QACP,oBAAoB;AAAA,MACrB,CAAA;AAAA,IAAA,EAEF,QAAQ,CAAA,CAAE;AAAA,IACb,kBAAkB,EAAE,OAAO,EAAE,QAAQ,IAAI;AAAA,EAAA,CAC1C;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryFieldEditor.cjs","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config';\nimport { Dictionary } from '@intlayer/core';\nimport { ArrowLeft } from 'lucide-react';\nimport { useState, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { H2 } from '../Headers';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { SwitchSelector } from '../SwitchSelector';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { dictionaryFieldEditorContent } from './dictionaryFieldEditor.content';\nimport { JSONEditor } from './JSONEditor';\nimport { NodeEditor } from './NodeEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n isDarkMode?: boolean;\n availableLocales: Locales[];\n mode: 'local' | 'remote';\n};\n\nenum EditorViewType {\n NodeEditor,\n JSONEditor,\n}\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n availableLocales,\n mode,\n}) => {\n const [editorView, setEditorView] = useState<EditorViewType>(\n EditorViewType.NodeEditor\n );\n const { returnToDictionaryList, titleContent, titleInformation } =\n useDictionary(dictionaryFieldEditorContent);\n\n return (\n <LocaleSwitcherContentProvider availableLocales={availableLocales}>\n <div className=\"flex size-full flex-1 flex-col gap-10\">\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => onClickDictionaryList?.()}\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n id=\"return-to-dictionary-list\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label}\n />\n <label\n className=\"cursor-pointer text-xs hover:underline\"\n htmlFor=\"return-to-dictionary-list\"\n >\n {returnToDictionaryList.text}\n </label>\n </div>\n\n {mode === 'remote' && (\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleInformation}</H2>\n\n <DictionaryDetailsForm dictionary={dictionary} mode={mode} />\n </Container>\n )}\n\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleContent}</H2>\n <SwitchSelector\n defaultValue={editorView}\n onChange={(value) => setEditorView(value)}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n choices={[\n {\n content: 'Node editor',\n value: EditorViewType.NodeEditor,\n },\n {\n content: 'JSON editor',\n value: EditorViewType.JSONEditor,\n },\n ]}\n />\n {editorView === EditorViewType.NodeEditor && (\n <NodeEditor dictionary={dictionary} locales={availableLocales} />\n )}\n {editorView === EditorViewType.JSONEditor && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n <SaveForm dictionary={dictionary} mode={mode} />\n </Container>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"names":["useState","useDictionary","dictionaryFieldEditorContent","LocaleSwitcherContentProvider","jsxs","jsx","Button","ArrowLeft","Container","H2","DictionaryDetailsForm","SwitchSelector","NodeEditor","JSONEditor","SaveForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,CAAC,YAAY,aAAa,IAAIA,WAAA;AAAA,IAClC;AAAA;AAAA,EACF;AACA,QAAM,EAAE,wBAAwB,cAAc,iBAAiB,IAC7DC,cAAAA,cAAcC,+DAAAA,4BAA4B;AAE5C,0DACGC,sEAAAA,+BAA8B,EAAA,kBAC7B,UAACC,kDAAA,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,IAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAAC,2BAAA,kBAAA;AAAA,QAACC,yBAAA;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,wBAAwB;AAAA,UACvC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UACN,IAAG;AAAA,UACH,MAAMC,YAAA;AAAA,UACN,OAAO,uBAAuB;AAAA,QAAA;AAAA,MAChC;AAAA,MACAF,2BAAA,kBAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAQ;AAAA,UAEP,UAAuB,uBAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B,GACF;AAAA,IAEC,SAAS,YACRD,2BAAA,kBAAA;AAAA,MAACI,2BAAA;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAH,2BAAAA,kBAAAA,IAACI,+BAAI,UAAiB,iBAAA,CAAA;AAAA,UAEtBJ,2BAAAA,kBAAAA,IAACK,yEAAsB,uBAAA,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7D;AAAA,IAGFN,2BAAA,kBAAA;AAAA,MAACI,2BAAA;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAH,2BAAAA,kBAAAA,IAACI,+BAAI,UAAa,aAAA,CAAA;AAAA,UAClBJ,2BAAA,kBAAA;AAAA,YAACM,gCAAA;AAAA,YAAA;AAAA,cACC,cAAc;AAAA,cACd,UAAU,CAAC,UAAU,cAAc,KAAK;AAAA,cACxC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,gBACP;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBACT;AAAA,gBACA;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBAAA;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,UACC,eAAe,KACdN,iDAACO,4CAAAA,YAAW,EAAA,YAAwB,SAAS,kBAAkB;AAAA,UAEhE,eAAe,KACbP,2BAAA,kBAAA,IAAAQ,4CAAA,YAAA,EAAW,YAAwB,YAAwB;AAAA,UAE9DR,2BAAAA,kBAAAA,IAACS,mDAAS,UAAA,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAChD,EAAA,CACF,EACF,CAAA;AAEJ;;"}
1
+ {"version":3,"file":"DictionaryFieldEditor.cjs","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config';\nimport { Dictionary } from '@intlayer/core';\nimport { ArrowLeft } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { H2 } from '../Headers';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { SwitchSelector } from '../SwitchSelector';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { dictionaryFieldEditorContent } from './dictionaryFieldEditor.content';\nimport { JSONEditor } from './JSONEditor';\nimport { NodeEditor } from './NodeEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n isDarkMode?: boolean;\n availableLocales: Locales[];\n mode: 'local' | 'remote';\n};\n\nenum EditorViewType {\n NodeEditor,\n JSONEditor,\n}\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n availableLocales,\n mode,\n}) => {\n const [editorView, setEditorView] = useState<EditorViewType>(\n EditorViewType.NodeEditor\n );\n const { returnToDictionaryList, titleContent, titleInformation } =\n useDictionary(dictionaryFieldEditorContent);\n\n return (\n <LocaleSwitcherContentProvider availableLocales={availableLocales}>\n <div className=\"flex size-full flex-1 flex-col gap-10\">\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => onClickDictionaryList?.()}\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n id=\"return-to-dictionary-list\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label}\n />\n <label\n className=\"cursor-pointer text-xs hover:underline\"\n htmlFor=\"return-to-dictionary-list\"\n >\n {returnToDictionaryList.text}\n </label>\n </div>\n\n {mode === 'remote' && (\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleInformation}</H2>\n\n <DictionaryDetailsForm dictionary={dictionary} mode={mode} />\n </Container>\n )}\n\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleContent}</H2>\n <SwitchSelector\n defaultValue={editorView}\n onChange={(value) => setEditorView(value)}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n choices={[\n {\n content: 'Node editor',\n value: EditorViewType.NodeEditor,\n },\n {\n content: 'JSON editor',\n value: EditorViewType.JSONEditor,\n },\n ]}\n />\n {editorView === EditorViewType.NodeEditor && (\n <NodeEditor dictionary={dictionary} locales={availableLocales} />\n )}\n {editorView === EditorViewType.JSONEditor && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n <SaveForm dictionary={dictionary} mode={mode} />\n </Container>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"names":["useState","useDictionary","dictionaryFieldEditorContent","LocaleSwitcherContentProvider","jsxs","jsx","Button","ArrowLeft","Container","H2","DictionaryDetailsForm","SwitchSelector","NodeEditor","JSONEditor","SaveForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,CAAC,YAAY,aAAa,IAAIA,WAAA;AAAA,IAClC;AAAA;AAAA,EACF;AACA,QAAM,EAAE,wBAAwB,cAAc,iBAAiB,IAC7DC,cAAAA,cAAcC,+DAAAA,4BAA4B;AAE5C,0DACGC,sEAAAA,+BAA8B,EAAA,kBAC7B,UAACC,kDAAA,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,IAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAAC,2BAAA,kBAAA;AAAA,QAACC,yBAAA;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,wBAAwB;AAAA,UACvC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UACN,IAAG;AAAA,UACH,MAAMC,YAAA;AAAA,UACN,OAAO,uBAAuB;AAAA,QAAA;AAAA,MAChC;AAAA,MACAF,2BAAA,kBAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAQ;AAAA,UAEP,UAAuB,uBAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B,GACF;AAAA,IAEC,SAAS,YACRD,2BAAA,kBAAA;AAAA,MAACI,2BAAA;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAH,2BAAAA,kBAAAA,IAACI,+BAAI,UAAiB,iBAAA,CAAA;AAAA,UAEtBJ,2BAAAA,kBAAAA,IAACK,yEAAsB,uBAAA,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7D;AAAA,IAGFN,2BAAA,kBAAA;AAAA,MAACI,2BAAA;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAH,2BAAAA,kBAAAA,IAACI,+BAAI,UAAa,aAAA,CAAA;AAAA,UAClBJ,2BAAA,kBAAA;AAAA,YAACM,gCAAA;AAAA,YAAA;AAAA,cACC,cAAc;AAAA,cACd,UAAU,CAAC,UAAU,cAAc,KAAK;AAAA,cACxC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,gBACP;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBACT;AAAA,gBACA;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBAAA;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,UACC,eAAe,KACdN,iDAACO,4CAAAA,YAAW,EAAA,YAAwB,SAAS,kBAAkB;AAAA,UAEhE,eAAe,KACbP,2BAAA,kBAAA,IAAAQ,4CAAA,YAAA,EAAW,YAAwB,YAAwB;AAAA,UAE9DR,2BAAAA,kBAAAA,IAACS,mDAAS,UAAA,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAChD,EAAA,CACF,EACF,CAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryFieldEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAc1C,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B,CAAC;AAOF,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA8EhE,CAAC"}
1
+ {"version":3,"file":"DictionaryFieldEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAa1C,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B,CAAC;AAOF,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA8EhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryFieldEditor.mjs","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config';\nimport { Dictionary } from '@intlayer/core';\nimport { ArrowLeft } from 'lucide-react';\nimport { useState, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { H2 } from '../Headers';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { SwitchSelector } from '../SwitchSelector';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { dictionaryFieldEditorContent } from './dictionaryFieldEditor.content';\nimport { JSONEditor } from './JSONEditor';\nimport { NodeEditor } from './NodeEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n isDarkMode?: boolean;\n availableLocales: Locales[];\n mode: 'local' | 'remote';\n};\n\nenum EditorViewType {\n NodeEditor,\n JSONEditor,\n}\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n availableLocales,\n mode,\n}) => {\n const [editorView, setEditorView] = useState<EditorViewType>(\n EditorViewType.NodeEditor\n );\n const { returnToDictionaryList, titleContent, titleInformation } =\n useDictionary(dictionaryFieldEditorContent);\n\n return (\n <LocaleSwitcherContentProvider availableLocales={availableLocales}>\n <div className=\"flex size-full flex-1 flex-col gap-10\">\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => onClickDictionaryList?.()}\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n id=\"return-to-dictionary-list\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label}\n />\n <label\n className=\"cursor-pointer text-xs hover:underline\"\n htmlFor=\"return-to-dictionary-list\"\n >\n {returnToDictionaryList.text}\n </label>\n </div>\n\n {mode === 'remote' && (\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleInformation}</H2>\n\n <DictionaryDetailsForm dictionary={dictionary} mode={mode} />\n </Container>\n )}\n\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleContent}</H2>\n <SwitchSelector\n defaultValue={editorView}\n onChange={(value) => setEditorView(value)}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n choices={[\n {\n content: 'Node editor',\n value: EditorViewType.NodeEditor,\n },\n {\n content: 'JSON editor',\n value: EditorViewType.JSONEditor,\n },\n ]}\n />\n {editorView === EditorViewType.NodeEditor && (\n <NodeEditor dictionary={dictionary} locales={availableLocales} />\n )}\n {editorView === EditorViewType.JSONEditor && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n <SaveForm dictionary={dictionary} mode={mode} />\n </Container>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,CAAC,YAAY,aAAa,IAAI;AAAA,IAClC;AAAA;AAAA,EACF;AACA,QAAM,EAAE,wBAAwB,cAAc,iBAAiB,IAC7D,cAAc,4BAA4B;AAE5C,+CACG,+BAA8B,EAAA,kBAC7B,UAACA,uCAAA,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,IAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAAC,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,wBAAwB;AAAA,UACvC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UACN,IAAG;AAAA,UACH,MAAM;AAAA,UACN,OAAO,uBAAuB;AAAA,QAAA;AAAA,MAChC;AAAA,MACAA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAQ;AAAA,UAEP,UAAuB,uBAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B,GACF;AAAA,IAEC,SAAS,YACRD,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAC,kCAAAA,IAAC,MAAI,UAAiB,iBAAA,CAAA;AAAA,UAEtBA,kCAAAA,IAAC,uBAAsB,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7D;AAAA,IAGFD,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAC,kCAAAA,IAAC,MAAI,UAAa,aAAA,CAAA;AAAA,UAClBA,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,cAAc;AAAA,cACd,UAAU,CAAC,UAAU,cAAc,KAAK;AAAA,cACxC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,gBACP;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBACT;AAAA,gBACA;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBAAA;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,UACC,eAAe,KACdA,sCAAC,YAAW,EAAA,YAAwB,SAAS,kBAAkB;AAAA,UAEhE,eAAe,KACbA,kCAAA,IAAA,YAAA,EAAW,YAAwB,YAAwB;AAAA,UAE9DA,kCAAAA,IAAC,UAAS,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAChD,EAAA,CACF,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"DictionaryFieldEditor.mjs","sources":["../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config';\nimport { Dictionary } from '@intlayer/core';\nimport { ArrowLeft } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { H2 } from '../Headers';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { SwitchSelector } from '../SwitchSelector';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { dictionaryFieldEditorContent } from './dictionaryFieldEditor.content';\nimport { JSONEditor } from './JSONEditor';\nimport { NodeEditor } from './NodeEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n isDarkMode?: boolean;\n availableLocales: Locales[];\n mode: 'local' | 'remote';\n};\n\nenum EditorViewType {\n NodeEditor,\n JSONEditor,\n}\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n availableLocales,\n mode,\n}) => {\n const [editorView, setEditorView] = useState<EditorViewType>(\n EditorViewType.NodeEditor\n );\n const { returnToDictionaryList, titleContent, titleInformation } =\n useDictionary(dictionaryFieldEditorContent);\n\n return (\n <LocaleSwitcherContentProvider availableLocales={availableLocales}>\n <div className=\"flex size-full flex-1 flex-col gap-10\">\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => onClickDictionaryList?.()}\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n id=\"return-to-dictionary-list\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label}\n />\n <label\n className=\"cursor-pointer text-xs hover:underline\"\n htmlFor=\"return-to-dictionary-list\"\n >\n {returnToDictionaryList.text}\n </label>\n </div>\n\n {mode === 'remote' && (\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleInformation}</H2>\n\n <DictionaryDetailsForm dictionary={dictionary} mode={mode} />\n </Container>\n )}\n\n <Container\n className=\"flex size-full justify-center gap-10 p-6\"\n roundedSize=\"xl\"\n >\n <H2>{titleContent}</H2>\n <SwitchSelector\n defaultValue={editorView}\n onChange={(value) => setEditorView(value)}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n choices={[\n {\n content: 'Node editor',\n value: EditorViewType.NodeEditor,\n },\n {\n content: 'JSON editor',\n value: EditorViewType.JSONEditor,\n },\n ]}\n />\n {editorView === EditorViewType.NodeEditor && (\n <NodeEditor dictionary={dictionary} locales={availableLocales} />\n )}\n {editorView === EditorViewType.JSONEditor && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n <SaveForm dictionary={dictionary} mode={mode} />\n </Container>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,CAAC,YAAY,aAAa,IAAI;AAAA,IAClC;AAAA;AAAA,EACF;AACA,QAAM,EAAE,wBAAwB,cAAc,iBAAiB,IAC7D,cAAc,4BAA4B;AAE5C,+CACG,+BAA8B,EAAA,kBAC7B,UAACA,uCAAA,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,IAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAAC,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,wBAAwB;AAAA,UACvC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UACN,IAAG;AAAA,UACH,MAAM;AAAA,UACN,OAAO,uBAAuB;AAAA,QAAA;AAAA,MAChC;AAAA,MACAA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAQ;AAAA,UAEP,UAAuB,uBAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B,GACF;AAAA,IAEC,SAAS,YACRD,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAC,kCAAAA,IAAC,MAAI,UAAiB,iBAAA,CAAA;AAAA,UAEtBA,kCAAAA,IAAC,uBAAsB,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7D;AAAA,IAGFD,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAAC,kCAAAA,IAAC,MAAI,UAAa,aAAA,CAAA;AAAA,UAClBA,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,cAAc;AAAA,cACd,UAAU,CAAC,UAAU,cAAc,KAAK;AAAA,cACxC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,gBACP;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBACT;AAAA,gBACA;AAAA,kBACE,SAAS;AAAA,kBACT,OAAO;AAAA;AAAA,gBAAA;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,UACC,eAAe,KACdA,sCAAC,YAAW,EAAA,YAAwB,SAAS,kBAAkB;AAAA,UAEhE,eAAe,KACbA,kCAAA,IAAA,YAAA,EAAW,YAAwB,YAAwB;AAAA,UAE9DA,kCAAAA,IAAC,UAAS,EAAA,YAAwB,KAAY,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAChD,EAAA,CACF,EACF,CAAA;AAEJ;"}
@@ -78,7 +78,7 @@ const EditorView = ({
78
78
  {
79
79
  name: "key",
80
80
  "aria-label": "Key",
81
- placeholder: titleInput.placeholder,
81
+ placeholder: titleInput.placeholder.value,
82
82
  defaultValue: utils_camelCase.camelCaseToSentence(initialKeyName),
83
83
  onSave: (value) => handleRenameNodeKey(value),
84
84
  className: "h-8",
@@ -109,7 +109,7 @@ const EditorView = ({
109
109
  isEdited && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
110
110
  components_Button_Button.Button,
111
111
  {
112
- label: restoreButton.label,
112
+ label: restoreButton.label.value,
113
113
  variant: "outline",
114
114
  color: "text-inverse",
115
115
  Icon: lucideReact.RotateCcw,
@@ -120,7 +120,7 @@ const EditorView = ({
120
120
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
121
121
  components_Button_Button.Button,
122
122
  {
123
- label: deleteButton.label,
123
+ label: deleteButton.label.value,
124
124
  variant: "outline",
125
125
  color: "error",
126
126
  Icon: lucideReact.X,
@@ -1 +1 @@
1
- {"version":3,"file":"EditorView.cjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"sourcesContent":["'use client';\n\nimport { type Locales } from '@intlayer/config';\nimport {\n type KeyPath,\n type Dictionary,\n getContentNodeByKeyPath,\n} from '@intlayer/core';\nimport { useFocusDictionary, useEditedContent } from '@intlayer/editor-react';\nimport { RotateCcw, X } from 'lucide-react';\nimport { useMemo, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport {\n camelCaseToSentence,\n sentenceToCamelCase,\n} from '../../../utils/camelCase';\nimport { Button } from '../../Button';\nimport { EditableFieldInput } from '../../EditableField';\nimport { Label } from '../../Label';\nimport { editorViewContent } from '../editorView.content';\nimport { getIsEditableSection } from '../getIsEditableSection';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\nimport { TextEditor } from './TextEditor';\n\ntype EditorViewProps = {\n dictionaryKey: string;\n dictionary: Dictionary;\n locales: Locales[];\n};\n\nexport const EditorView: FC<EditorViewProps> = ({\n dictionaryKey,\n dictionary,\n locales,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } = useFocusDictionary();\n const keyPath = focusedContent?.keyPath ?? [];\n const initialKeyName = keyPath[keyPath.length - 1]?.key ?? '';\n const { titleInput, deleteButton, nodeTypeSelector, restoreButton } =\n useDictionary(editorViewContent);\n const {\n editedContent,\n renameEditedContent,\n addEditedContent,\n removeEditedContent,\n } = useEditedContent();\n\n const editedSection = editedContent?.[dictionaryKey]?.content\n ? getContentNodeByKeyPath(editedContent?.[dictionaryKey].content, keyPath)\n : undefined;\n\n const dictionarySection = getContentNodeByKeyPath(\n dictionary.content,\n keyPath\n );\n\n const section = editedSection ?? dictionarySection;\n\n const isEdited = useMemo(\n () =>\n editedSection &&\n JSON.stringify(editedSection) !== JSON.stringify(dictionarySection),\n [editedSection, dictionarySection]\n );\n\n const isEditableSection = getIsEditableSection(section);\n\n const handleRenameNodeKey = (keyName: string) => {\n const camelCaseSentence = sentenceToCamelCase(keyName);\n renameEditedContent(dictionaryKey, camelCaseSentence, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: camelCaseSentence } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <>\n {isEditableSection && (\n <TextEditor\n key={keyPath.join('.')}\n keyPath={keyPath}\n section={section}\n dictionary={dictionary}\n locales={locales}\n />\n )}\n\n {keyPath.length > 0 ? (\n <form\n className=\"bg-text text-text-dark dark:bg-text-dark dark:text-text flex w-full flex-col items-start justify-between gap-6 px-4 py-2\"\n key={JSON.stringify(focusedContent?.keyPath)}\n >\n <div className=\"flex w-full flex-wrap items-start justify-between gap-6\">\n {typeof initialKeyName === 'string' && (\n <div className=\"flex flex-col gap-3\">\n <Label>{titleInput.label}</Label>\n <div className=\"flex flex-wrap items-center gap-4\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n key={initialKeyName}\n placeholder={titleInput.placeholder}\n defaultValue={camelCaseToSentence(initialKeyName)}\n onSave={(value) => handleRenameNodeKey(value)}\n className=\"h-8\"\n variant=\"invisible\"\n />\n <span className=\"text-neutral dark:text-neutral-dark text-sm\">\n ({initialKeyName})\n </span>\n </div>\n </div>\n )}\n\n <div>\n <Label>{nodeTypeSelector.label}</Label>\n\n <NodeTypeSelector\n keyPath={keyPath}\n dictionaryKey={dictionaryKey}\n section={section}\n />\n </div>\n </div>\n {keyPath.length > 0 && (\n <div className=\"ml-auto flex gap-2\">\n {isEdited && (\n <Button\n label={restoreButton.label}\n variant=\"outline\"\n color=\"text-inverse\"\n Icon={RotateCcw}\n onClick={() => removeEditedContent(dictionaryKey, keyPath)}\n >\n {restoreButton.text}\n </Button>\n )}\n <Button\n label={deleteButton.label}\n variant=\"outline\"\n color=\"error\"\n Icon={X}\n onClick={() => {\n addEditedContent(dictionaryKey, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n >\n {deleteButton.text}\n </Button>\n </div>\n )}\n </form>\n ) : (\n <span className=\"h-8\"></span>\n )}\n </>\n );\n};\n"],"names":["useFocusDictionary","useDictionary","editorViewContent","useEditedContent","getContentNodeByKeyPath","useMemo","getIsEditableSection","sentenceToCamelCase","jsxs","Fragment","jsx","TextEditor","Label","EditableFieldInput","camelCaseToSentence","NodeTypeSelector","Button","RotateCcw","X"],"mappings":"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"}
1
+ {"version":3,"file":"EditorView.cjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"sourcesContent":["'use client';\n\nimport { type Locales } from '@intlayer/config';\nimport {\n type KeyPath,\n type Dictionary,\n getContentNodeByKeyPath,\n} from '@intlayer/core';\nimport { useFocusDictionary, useEditedContent } from '@intlayer/editor-react';\nimport { RotateCcw, X } from 'lucide-react';\nimport { useMemo, type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n camelCaseToSentence,\n sentenceToCamelCase,\n} from '../../../utils/camelCase';\nimport { Button } from '../../Button';\nimport { EditableFieldInput } from '../../EditableField';\nimport { Label } from '../../Label';\nimport { editorViewContent } from '../editorView.content';\nimport { getIsEditableSection } from '../getIsEditableSection';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\nimport { TextEditor } from './TextEditor';\n\ntype EditorViewProps = {\n dictionaryKey: string;\n dictionary: Dictionary;\n locales: Locales[];\n};\n\nexport const EditorView: FC<EditorViewProps> = ({\n dictionaryKey,\n dictionary,\n locales,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } = useFocusDictionary();\n const keyPath = focusedContent?.keyPath ?? [];\n const initialKeyName = keyPath[keyPath.length - 1]?.key ?? '';\n const { titleInput, deleteButton, nodeTypeSelector, restoreButton } =\n useDictionary(editorViewContent);\n\n const {\n editedContent,\n renameEditedContent,\n addEditedContent,\n removeEditedContent,\n } = useEditedContent();\n\n const editedSection = editedContent?.[dictionaryKey]?.content\n ? getContentNodeByKeyPath(editedContent?.[dictionaryKey].content, keyPath)\n : undefined;\n\n const dictionarySection = getContentNodeByKeyPath(\n dictionary.content,\n keyPath\n );\n\n const section = editedSection ?? dictionarySection;\n\n const isEdited = useMemo(\n () =>\n editedSection &&\n JSON.stringify(editedSection) !== JSON.stringify(dictionarySection),\n [editedSection, dictionarySection]\n );\n\n const isEditableSection = getIsEditableSection(section);\n\n const handleRenameNodeKey = (keyName: string) => {\n const camelCaseSentence = sentenceToCamelCase(keyName);\n renameEditedContent(dictionaryKey, camelCaseSentence, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: camelCaseSentence } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <>\n {isEditableSection && (\n <TextEditor\n key={keyPath.join('.')}\n keyPath={keyPath}\n section={section}\n dictionary={dictionary}\n locales={locales}\n />\n )}\n\n {keyPath.length > 0 ? (\n <form\n className=\"bg-text text-text-dark dark:bg-text-dark dark:text-text flex w-full flex-col items-start justify-between gap-6 px-4 py-2\"\n key={JSON.stringify(focusedContent?.keyPath)}\n >\n <div className=\"flex w-full flex-wrap items-start justify-between gap-6\">\n {typeof initialKeyName === 'string' && (\n <div className=\"flex flex-col gap-3\">\n <Label>{titleInput.label}</Label>\n <div className=\"flex flex-wrap items-center gap-4\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n key={initialKeyName}\n placeholder={titleInput.placeholder.value}\n defaultValue={camelCaseToSentence(initialKeyName)}\n onSave={(value) => handleRenameNodeKey(value)}\n className=\"h-8\"\n variant=\"invisible\"\n />\n <span className=\"text-neutral dark:text-neutral-dark text-sm\">\n ({initialKeyName})\n </span>\n </div>\n </div>\n )}\n\n <div>\n <Label>{nodeTypeSelector.label}</Label>\n\n <NodeTypeSelector\n keyPath={keyPath}\n dictionaryKey={dictionaryKey}\n section={section}\n />\n </div>\n </div>\n {keyPath.length > 0 && (\n <div className=\"ml-auto flex gap-2\">\n {isEdited && (\n <Button\n label={restoreButton.label.value}\n variant=\"outline\"\n color=\"text-inverse\"\n Icon={RotateCcw}\n onClick={() => removeEditedContent(dictionaryKey, keyPath)}\n >\n {restoreButton.text}\n </Button>\n )}\n <Button\n label={deleteButton.label.value}\n variant=\"outline\"\n color=\"error\"\n Icon={X}\n onClick={() => {\n addEditedContent(dictionaryKey, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n >\n {deleteButton.text}\n </Button>\n </div>\n )}\n </form>\n ) : (\n <span className=\"h-8\"></span>\n )}\n </>\n );\n};\n"],"names":["useFocusDictionary","useDictionary","editorViewContent","useEditedContent","getContentNodeByKeyPath","useMemo","getIsEditableSection","sentenceToCamelCase","jsxs","Fragment","jsx","TextEditor","Label","EditableFieldInput","camelCaseToSentence","NodeTypeSelector","Button","RotateCcw","X"],"mappings":";;;;;;;;;;;;;;;;;;AA8BO,MAAM,aAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,gBAAgB,yBAAyB,IAAIA,+BAAmB;AAClE,QAAA,UAAU,gBAAgB,WAAW,CAAC;AAC5C,QAAM,iBAAiB,QAAQ,QAAQ,SAAS,CAAC,GAAG,OAAO;AAC3D,QAAM,EAAE,YAAY,cAAc,kBAAkB,cAAc,IAChEC,4BAAcC,qEAAiB;AAE3B,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACEC,6BAAiB;AAEf,QAAA,gBAAgB,gBAAgB,aAAa,GAAG,UAClDC,KAAAA,wBAAwB,gBAAgB,aAAa,EAAE,SAAS,OAAO,IACvE;AAEJ,QAAM,oBAAoBA,KAAA;AAAA,IACxB,WAAW;AAAA,IACX;AAAA,EACF;AAEA,QAAM,UAAU,iBAAiB;AAEjC,QAAM,WAAWC,WAAA;AAAA,IACf,MACE,iBACA,KAAK,UAAU,aAAa,MAAM,KAAK,UAAU,iBAAiB;AAAA,IACpE,CAAC,eAAe,iBAAiB;AAAA,EACnC;AAEM,QAAA,oBAAoBC,2EAAqB,OAAO;AAEhD,QAAA,sBAAsB,CAAC,YAAoB;AACzC,UAAA,oBAAoBC,oCAAoB,OAAO;AACjC,wBAAA,eAAe,mBAAmB,OAAO;AAC7D,UAAM,cAAyB,QAAQ,MAAM,GAAG,EAAE;AAClD,UAAM,cAAuB,QAAQ,QAAQ,SAAS,CAAC;AACvD,UAAM,aAAwB;AAAA,MAC5B,GAAG;AAAA,MACH,EAAE,GAAG,aAAa,KAAK,kBAAkB;AAAA,IAC3C;AACA,6BAAyB,UAAU;AAAA,EACrC;AAEA,SAEKC,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,IACC,qBAAAC,2BAAA,kBAAA;AAAA,MAACC,uDAAA;AAAA,MAAA;AAAA,QAEC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAJK,QAAQ,KAAK,GAAG;AAAA,IAKvB;AAAA,IAGD,QAAQ,SAAS,IAChBH,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QAGV,UAAA;AAAA,UAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,2DACZ,UAAA;AAAA,YAAA,OAAO,mBAAmB,YACxBA,2BAAA,kBAAA,KAAA,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,cAACE,2BAAAA,kBAAAA,IAAAE,uBAAAA,OAAA,EAAO,qBAAW,MAAM,CAAA;AAAA,cACzBJ,2BAAAA,kBAAAA,KAAC,OAAI,EAAA,WAAU,qCACb,UAAA;AAAA,gBAAAE,2BAAA,kBAAA;AAAA,kBAACG,4CAAA;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,cAAW;AAAA,oBAEX,aAAa,WAAW,YAAY;AAAA,oBACpC,cAAcC,oCAAoB,cAAc;AAAA,oBAChD,QAAQ,CAAC,UAAU,oBAAoB,KAAK;AAAA,oBAC5C,WAAU;AAAA,oBACV,SAAQ;AAAA,kBAAA;AAAA,kBALH;AAAA,gBAMP;AAAA,gBACAN,2BAAAA,kBAAAA,KAAC,QAAK,EAAA,WAAU,+CAA8C,UAAA;AAAA,kBAAA;AAAA,kBAC1D;AAAA,kBAAe;AAAA,gBAAA,EACnB,CAAA;AAAA,cAAA,EACF,CAAA;AAAA,YAAA,GACF;AAAA,8DAGD,OACC,EAAA,UAAA;AAAA,cAACE,2BAAAA,kBAAAA,IAAAE,uBAAAA,OAAA,EAAO,2BAAiB,MAAM,CAAA;AAAA,cAE/BF,2BAAA,kBAAA;AAAA,gBAACK,kDAAA;AAAA,gBAAA;AAAA,kBACC;AAAA,kBACA;AAAA,kBACA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF,EACF,CAAA;AAAA,UAAA,GACF;AAAA,UACC,QAAQ,SAAS,KACfP,2BAAA,kBAAA,KAAA,OAAA,EAAI,WAAU,sBACZ,UAAA;AAAA,YACC,YAAAE,2BAAA,kBAAA;AAAA,cAACM,yBAAA;AAAA,cAAA;AAAA,gBACC,OAAO,cAAc,MAAM;AAAA,gBAC3B,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,MAAMC,YAAA;AAAA,gBACN,SAAS,MAAM,oBAAoB,eAAe,OAAO;AAAA,gBAExD,UAAc,cAAA;AAAA,cAAA;AAAA,YACjB;AAAA,YAEFP,2BAAA,kBAAA;AAAA,cAACM,yBAAA;AAAA,cAAA;AAAA,gBACC,OAAO,aAAa,MAAM;AAAA,gBAC1B,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,MAAME,YAAA;AAAA,gBACN,SAAS,MAAM;AACI,mCAAA,eAAe,QAAW,OAAO;AAElD,wBAAM,gBAA2B,QAAQ,MAAM,GAAG,EAAE;AACpD,2CAAyB,aAAa;AAAA,gBACxC;AAAA,gBAEC,UAAa,aAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAChB,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MA7DG,KAAK,UAAU,gBAAgB,OAAO;AAAA,IAiE7C,IAAAR,iDAAC,QAAK,EAAA,WAAU,MAAM,CAAA;AAAA,EAAA,GAE1B;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAezC,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAqI1C,CAAC"}
1
+ {"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAczC,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAsI1C,CAAC"}
@@ -76,7 +76,7 @@ const EditorView = ({
76
76
  {
77
77
  name: "key",
78
78
  "aria-label": "Key",
79
- placeholder: titleInput.placeholder,
79
+ placeholder: titleInput.placeholder.value,
80
80
  defaultValue: camelCaseToSentence(initialKeyName),
81
81
  onSave: (value) => handleRenameNodeKey(value),
82
82
  className: "h-8",
@@ -107,7 +107,7 @@ const EditorView = ({
107
107
  isEdited && /* @__PURE__ */ jsxRuntimeExports.jsx(
108
108
  Button,
109
109
  {
110
- label: restoreButton.label,
110
+ label: restoreButton.label.value,
111
111
  variant: "outline",
112
112
  color: "text-inverse",
113
113
  Icon: RotateCcw,
@@ -118,7 +118,7 @@ const EditorView = ({
118
118
  /* @__PURE__ */ jsxRuntimeExports.jsx(
119
119
  Button,
120
120
  {
121
- label: deleteButton.label,
121
+ label: deleteButton.label.value,
122
122
  variant: "outline",
123
123
  color: "error",
124
124
  Icon: X,
@@ -1 +1 @@
1
- {"version":3,"file":"EditorView.mjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"sourcesContent":["'use client';\n\nimport { type Locales } from '@intlayer/config';\nimport {\n type KeyPath,\n type Dictionary,\n getContentNodeByKeyPath,\n} from '@intlayer/core';\nimport { useFocusDictionary, useEditedContent } from '@intlayer/editor-react';\nimport { RotateCcw, X } from 'lucide-react';\nimport { useMemo, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport {\n camelCaseToSentence,\n sentenceToCamelCase,\n} from '../../../utils/camelCase';\nimport { Button } from '../../Button';\nimport { EditableFieldInput } from '../../EditableField';\nimport { Label } from '../../Label';\nimport { editorViewContent } from '../editorView.content';\nimport { getIsEditableSection } from '../getIsEditableSection';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\nimport { TextEditor } from './TextEditor';\n\ntype EditorViewProps = {\n dictionaryKey: string;\n dictionary: Dictionary;\n locales: Locales[];\n};\n\nexport const EditorView: FC<EditorViewProps> = ({\n dictionaryKey,\n dictionary,\n locales,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } = useFocusDictionary();\n const keyPath = focusedContent?.keyPath ?? [];\n const initialKeyName = keyPath[keyPath.length - 1]?.key ?? '';\n const { titleInput, deleteButton, nodeTypeSelector, restoreButton } =\n useDictionary(editorViewContent);\n const {\n editedContent,\n renameEditedContent,\n addEditedContent,\n removeEditedContent,\n } = useEditedContent();\n\n const editedSection = editedContent?.[dictionaryKey]?.content\n ? getContentNodeByKeyPath(editedContent?.[dictionaryKey].content, keyPath)\n : undefined;\n\n const dictionarySection = getContentNodeByKeyPath(\n dictionary.content,\n keyPath\n );\n\n const section = editedSection ?? dictionarySection;\n\n const isEdited = useMemo(\n () =>\n editedSection &&\n JSON.stringify(editedSection) !== JSON.stringify(dictionarySection),\n [editedSection, dictionarySection]\n );\n\n const isEditableSection = getIsEditableSection(section);\n\n const handleRenameNodeKey = (keyName: string) => {\n const camelCaseSentence = sentenceToCamelCase(keyName);\n renameEditedContent(dictionaryKey, camelCaseSentence, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: camelCaseSentence } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <>\n {isEditableSection && (\n <TextEditor\n key={keyPath.join('.')}\n keyPath={keyPath}\n section={section}\n dictionary={dictionary}\n locales={locales}\n />\n )}\n\n {keyPath.length > 0 ? (\n <form\n className=\"bg-text text-text-dark dark:bg-text-dark dark:text-text flex w-full flex-col items-start justify-between gap-6 px-4 py-2\"\n key={JSON.stringify(focusedContent?.keyPath)}\n >\n <div className=\"flex w-full flex-wrap items-start justify-between gap-6\">\n {typeof initialKeyName === 'string' && (\n <div className=\"flex flex-col gap-3\">\n <Label>{titleInput.label}</Label>\n <div className=\"flex flex-wrap items-center gap-4\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n key={initialKeyName}\n placeholder={titleInput.placeholder}\n defaultValue={camelCaseToSentence(initialKeyName)}\n onSave={(value) => handleRenameNodeKey(value)}\n className=\"h-8\"\n variant=\"invisible\"\n />\n <span className=\"text-neutral dark:text-neutral-dark text-sm\">\n ({initialKeyName})\n </span>\n </div>\n </div>\n )}\n\n <div>\n <Label>{nodeTypeSelector.label}</Label>\n\n <NodeTypeSelector\n keyPath={keyPath}\n dictionaryKey={dictionaryKey}\n section={section}\n />\n </div>\n </div>\n {keyPath.length > 0 && (\n <div className=\"ml-auto flex gap-2\">\n {isEdited && (\n <Button\n label={restoreButton.label}\n variant=\"outline\"\n color=\"text-inverse\"\n Icon={RotateCcw}\n onClick={() => removeEditedContent(dictionaryKey, keyPath)}\n >\n {restoreButton.text}\n </Button>\n )}\n <Button\n label={deleteButton.label}\n variant=\"outline\"\n color=\"error\"\n Icon={X}\n onClick={() => {\n addEditedContent(dictionaryKey, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n >\n {deleteButton.text}\n </Button>\n </div>\n )}\n </form>\n ) : (\n <span className=\"h-8\"></span>\n )}\n </>\n );\n};\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"EditorView.mjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/EditorView.tsx"],"sourcesContent":["'use client';\n\nimport { type Locales } from '@intlayer/config';\nimport {\n type KeyPath,\n type Dictionary,\n getContentNodeByKeyPath,\n} from '@intlayer/core';\nimport { useFocusDictionary, useEditedContent } from '@intlayer/editor-react';\nimport { RotateCcw, X } from 'lucide-react';\nimport { useMemo, type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport {\n camelCaseToSentence,\n sentenceToCamelCase,\n} from '../../../utils/camelCase';\nimport { Button } from '../../Button';\nimport { EditableFieldInput } from '../../EditableField';\nimport { Label } from '../../Label';\nimport { editorViewContent } from '../editorView.content';\nimport { getIsEditableSection } from '../getIsEditableSection';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\nimport { TextEditor } from './TextEditor';\n\ntype EditorViewProps = {\n dictionaryKey: string;\n dictionary: Dictionary;\n locales: Locales[];\n};\n\nexport const EditorView: FC<EditorViewProps> = ({\n dictionaryKey,\n dictionary,\n locales,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } = useFocusDictionary();\n const keyPath = focusedContent?.keyPath ?? [];\n const initialKeyName = keyPath[keyPath.length - 1]?.key ?? '';\n const { titleInput, deleteButton, nodeTypeSelector, restoreButton } =\n useDictionary(editorViewContent);\n\n const {\n editedContent,\n renameEditedContent,\n addEditedContent,\n removeEditedContent,\n } = useEditedContent();\n\n const editedSection = editedContent?.[dictionaryKey]?.content\n ? getContentNodeByKeyPath(editedContent?.[dictionaryKey].content, keyPath)\n : undefined;\n\n const dictionarySection = getContentNodeByKeyPath(\n dictionary.content,\n keyPath\n );\n\n const section = editedSection ?? dictionarySection;\n\n const isEdited = useMemo(\n () =>\n editedSection &&\n JSON.stringify(editedSection) !== JSON.stringify(dictionarySection),\n [editedSection, dictionarySection]\n );\n\n const isEditableSection = getIsEditableSection(section);\n\n const handleRenameNodeKey = (keyName: string) => {\n const camelCaseSentence = sentenceToCamelCase(keyName);\n renameEditedContent(dictionaryKey, camelCaseSentence, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: camelCaseSentence } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <>\n {isEditableSection && (\n <TextEditor\n key={keyPath.join('.')}\n keyPath={keyPath}\n section={section}\n dictionary={dictionary}\n locales={locales}\n />\n )}\n\n {keyPath.length > 0 ? (\n <form\n className=\"bg-text text-text-dark dark:bg-text-dark dark:text-text flex w-full flex-col items-start justify-between gap-6 px-4 py-2\"\n key={JSON.stringify(focusedContent?.keyPath)}\n >\n <div className=\"flex w-full flex-wrap items-start justify-between gap-6\">\n {typeof initialKeyName === 'string' && (\n <div className=\"flex flex-col gap-3\">\n <Label>{titleInput.label}</Label>\n <div className=\"flex flex-wrap items-center gap-4\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n key={initialKeyName}\n placeholder={titleInput.placeholder.value}\n defaultValue={camelCaseToSentence(initialKeyName)}\n onSave={(value) => handleRenameNodeKey(value)}\n className=\"h-8\"\n variant=\"invisible\"\n />\n <span className=\"text-neutral dark:text-neutral-dark text-sm\">\n ({initialKeyName})\n </span>\n </div>\n </div>\n )}\n\n <div>\n <Label>{nodeTypeSelector.label}</Label>\n\n <NodeTypeSelector\n keyPath={keyPath}\n dictionaryKey={dictionaryKey}\n section={section}\n />\n </div>\n </div>\n {keyPath.length > 0 && (\n <div className=\"ml-auto flex gap-2\">\n {isEdited && (\n <Button\n label={restoreButton.label.value}\n variant=\"outline\"\n color=\"text-inverse\"\n Icon={RotateCcw}\n onClick={() => removeEditedContent(dictionaryKey, keyPath)}\n >\n {restoreButton.text}\n </Button>\n )}\n <Button\n label={deleteButton.label.value}\n variant=\"outline\"\n color=\"error\"\n Icon={X}\n onClick={() => {\n addEditedContent(dictionaryKey, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n >\n {deleteButton.text}\n </Button>\n </div>\n )}\n </form>\n ) : (\n <span className=\"h-8\"></span>\n )}\n </>\n );\n};\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}
@@ -214,7 +214,7 @@ const EnumerationTextEditor = ({
214
214
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("tfoot", { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
215
215
  components_Button_Button.Button,
216
216
  {
217
- label: addNewEnumeration.label,
217
+ label: addNewEnumeration.label.value,
218
218
  variant: "hoverable",
219
219
  color: "neutral",
220
220
  textAlign: "left",
@@ -270,7 +270,7 @@ const ArrayTextEditor = ({
270
270
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("tfoot", { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
271
271
  components_Button_Button.Button,
272
272
  {
273
- label: addNewElement.label,
273
+ label: addNewElement.label.value,
274
274
  variant: "hoverable",
275
275
  color: "neutral",
276
276
  textAlign: "left",
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.cjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/TextEditor.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n'use client';\n\nimport { Locales } from '@intlayer/config';\nimport {\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n Dictionary,\n getSectionType,\n} from '@intlayer/core';\nimport { useEditedContent } from '@intlayer/editor-react';\nimport { Plus, WandSparkles, X } from 'lucide-react';\nimport {\n createElement,\n type ReactElement,\n type ReactNode,\n type FC,\n} from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport {\n ContentEditorTextArea as ContentEditorTextAreaBase,\n ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { getIsEditableSection } from '../getIsEditableSection';\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 locales: Locales[];\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n locales,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\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(dictionary),\n keyPath,\n locales,\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\nconst createReactElement = (element: ReactElement) => {\n if (typeof element === 'string') {\n // If it's a string, simply return it (used for text content)\n return element;\n }\n\n const convertChildrenAsArray = (element: ReactElement): ReactElement => {\n if (element?.props && typeof element.props.children === 'object') {\n const childrenResult: ReactNode[] = [];\n const { children } = element.props;\n\n // Create the children elements recursively, if any\n Object.keys(children).forEach((key) =>\n childrenResult.push(createReactElement(children[key]))\n );\n\n return {\n ...element,\n props: { ...element.props, children: childrenResult },\n };\n }\n\n return {\n ...element,\n props: { ...element.props, children: element.props.children },\n };\n };\n\n const fixedElement = convertChildrenAsArray(element);\n\n const { type, props } = fixedElement;\n\n // Create and return the React element\n return createElement(type ?? 'div', props, ...props.children);\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n locales: Locales[];\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}: TextEditorProps) => {\n const { locale } = 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 return (\n <table className=\"w-full gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {localesList.map((translationKey) => (\n <tr\n key={translationKey}\n className=\"border-text dark:border-text-dark w-full\"\n lang={translationKey}\n >\n <td className=\"flex w-full flex-col p-2\">\n {selectedLocales.length > 1 && (\n <span className=\"w-full p-2 text-xs\">\n {getLocaleName(translationKey, locale)}\n </span>\n )}\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {\n (section as TranslationContent<string>)[NodeType.Translation][\n translationKey\n ] as string\n }\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration } = useDictionary(navigationViewContent);\n\n return (\n <table className=\"w-full table-fixed gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => (\n <tr\n key={enumKey}\n className=\"border-text dark:border-text-dark w-full\"\n >\n <td className=\"border-text dark:border-text-dark w-44 border-r-[1.5px] p-2\">\n <div className=\"flex gap-1\">\n <Button\n label=\"Remove\"\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n Icon={X}\n className=\"w-16\"\n onClick={() =>\n addEditedContent(dictionary.key, undefined, [\n ...keyPath,\n {\n type: NodeType.Enumeration,\n key: enumKey,\n },\n ])\n }\n />\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 </div>\n </td>\n <td className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n { type: NodeType.Enumeration, key: enumKey },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {\n (section as EnumerationContent<string>)[NodeType.Enumeration][\n enumKey as any\n ] as string\n }\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n\n <tfoot>\n <Button\n label={addNewEnumeration.label}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n onClick={() =>\n addEditedContent(\n dictionary.key,\n '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }],\n false\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </tfoot>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement } = useDictionary(navigationViewContent);\n\n return (\n <table className=\"w-full gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {(section as ContentNode[]).map((subSection, index) => (\n <tr\n key={JSON.stringify(subSection)}\n className=\"border-text dark:border-text-dark w-full\"\n >\n <td className=\"p-2\">{index}</td>\n <td className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {subSection as string}\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n <tfoot>\n <Button\n label={addNewElement.label}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as ContentNode[]).length,\n },\n ];\n addEditedContent(dictionary.key, '', newKeyPath, false);\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </tfoot>\n </table>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getSectionType(section);\n const isEditableSection = getIsEditableSection(section);\n\n if (!isEditableSection) return <></>;\n\n if (typeof section === 'object') {\n if (nodeType === NodeType.ReactNode) {\n return (\n <>\n {createReactElement(section as unknown as ReactElement)}\n <span className=\"text-neutral dark:text-neutral-dark text-xs\">\n {tsxNotEditable}\n </span>\n </>\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"border-text dark:border-text-dark w-full border-t-[1.5px] p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n locales={locales}\n >\n {section as string}\n </ContentEditorTextArea>\n </div>\n );\n }\n\n return <>Error loading section</>;\n};\n"],"names":["useEditedContent","useAuditContentDeclarationField","jsx","ContentEditorTextAreaBase","Button","WandSparkles","element","createElement","useLocale","useLocaleSwitcherContent","NodeType","jsxs","getLocaleName","useDictionary","navigationViewContent","X","EnumKeyInput","renameKey","Plus","getSectionType","getIsEditableSection","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TextEditor.cjs","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/TextEditor.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n'use client';\n\nimport { Locales } from '@intlayer/config';\nimport {\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n Dictionary,\n getSectionType,\n} from '@intlayer/core';\nimport { useEditedContent } from '@intlayer/editor-react';\nimport { Plus, WandSparkles, X } from 'lucide-react';\nimport {\n createElement,\n type ReactElement,\n type ReactNode,\n type FC,\n} from 'react';\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport {\n ContentEditorTextArea as ContentEditorTextAreaBase,\n ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { getIsEditableSection } from '../getIsEditableSection';\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 locales: Locales[];\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n locales,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\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(dictionary),\n keyPath,\n locales,\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\nconst createReactElement = (element: ReactElement) => {\n if (typeof element === 'string') {\n // If it's a string, simply return it (used for text content)\n return element;\n }\n\n const convertChildrenAsArray = (element: ReactElement): ReactElement => {\n if (element?.props && typeof element.props.children === 'object') {\n const childrenResult: ReactNode[] = [];\n const { children } = element.props;\n\n // Create the children elements recursively, if any\n Object.keys(children).forEach((key) =>\n childrenResult.push(createReactElement(children[key]))\n );\n\n return {\n ...element,\n props: { ...element.props, children: childrenResult },\n };\n }\n\n return {\n ...element,\n props: { ...element.props, children: element.props.children },\n };\n };\n\n const fixedElement = convertChildrenAsArray(element);\n\n const { type, props } = fixedElement;\n\n // Create and return the React element\n return createElement(type ?? 'div', props, ...props.children);\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n locales: Locales[];\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}: TextEditorProps) => {\n const { locale } = 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 return (\n <table className=\"w-full gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {localesList.map((translationKey) => (\n <tr\n key={translationKey}\n className=\"border-text dark:border-text-dark w-full\"\n lang={translationKey}\n >\n <td className=\"flex w-full flex-col p-2\">\n {selectedLocales.length > 1 && (\n <span className=\"w-full p-2 text-xs\">\n {getLocaleName(translationKey, locale)}\n </span>\n )}\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {\n (section as TranslationContent<string>)[NodeType.Translation][\n translationKey\n ] as string\n }\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration } = useDictionary(navigationViewContent);\n\n return (\n <table className=\"w-full table-fixed gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => (\n <tr\n key={enumKey}\n className=\"border-text dark:border-text-dark w-full\"\n >\n <td className=\"border-text dark:border-text-dark w-44 border-r-[1.5px] p-2\">\n <div className=\"flex gap-1\">\n <Button\n label=\"Remove\"\n variant=\"hoverable\"\n size=\"icon-md\"\n color=\"text\"\n Icon={X}\n className=\"w-16\"\n onClick={() =>\n addEditedContent(dictionary.key, undefined, [\n ...keyPath,\n {\n type: NodeType.Enumeration,\n key: enumKey,\n },\n ])\n }\n />\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 </div>\n </td>\n <td className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n { type: NodeType.Enumeration, key: enumKey },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {\n (section as EnumerationContent<string>)[NodeType.Enumeration][\n enumKey as any\n ] as string\n }\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n\n <tfoot>\n <Button\n label={addNewEnumeration.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n onClick={() =>\n addEditedContent(\n dictionary.key,\n '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }],\n false\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </tfoot>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement } = useDictionary(navigationViewContent);\n\n return (\n <table className=\"w-full gap-2\">\n <tbody className=\"divide-y-[1.5px]\">\n {(section as unknown as ContentNode[]).map((subSection, index) => (\n <tr\n key={JSON.stringify(subSection)}\n className=\"border-text dark:border-text-dark w-full\"\n >\n <td className=\"p-2\">{index}</td>\n <td className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n locales={locales}\n >\n {subSection as string}\n </ContentEditorTextArea>\n </td>\n </tr>\n ))}\n </tbody>\n <tfoot>\n <Button\n label={addNewElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\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, '', newKeyPath, false);\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </tfoot>\n </table>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n locales,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getSectionType(section);\n const isEditableSection = getIsEditableSection(section);\n\n if (!isEditableSection) return <></>;\n\n if (typeof section === 'object') {\n if (nodeType === NodeType.ReactNode) {\n return (\n <>\n {createReactElement(section as unknown as ReactElement)}\n <span className=\"text-neutral dark:text-neutral-dark text-xs\">\n {tsxNotEditable}\n </span>\n </>\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n locales={locales}\n />\n );\n }\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"border-text dark:border-text-dark w-full border-t-[1.5px] p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n locales={locales}\n >\n {section as string}\n </ContentEditorTextArea>\n </div>\n );\n }\n\n return <>Error loading section</>;\n};\n"],"names":["useEditedContent","useAuditContentDeclarationField","jsx","ContentEditorTextAreaBase","Button","WandSparkles","element","createElement","useLocale","useLocaleSwitcherContent","NodeType","jsxs","getLocaleName","useDictionary","navigationViewContent","X","EnumKeyInput","renameKey","Plus","getSectionType","getIsEditableSection","Fragment"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/TextEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAIL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAef,eAAO,MAAM,SAAS,EAAE,MAAM,EAAmC,CAAC;AAgGlE,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAuOF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA2E1C,CAAC"}
1
+ {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/EditorView/TextEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAIL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAcf,eAAO,MAAM,SAAS,EAAE,MAAM,EAAmC,CAAC;AAgGlE,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAuOF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA2E1C,CAAC"}