@intlayer/design-system 5.1.3 → 5.1.5

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 (197) hide show
  1. package/dist/.vite/manifest.json +37 -102
  2. package/dist/Form-BZUDRfoN.js.map +1 -1
  3. package/dist/Form-yi0CMK-a.cjs.map +1 -1
  4. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +1 -1
  5. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +1 -1
  6. package/dist/components/Command/index.d.ts +1 -1
  7. package/dist/components/Container/index.cjs +6 -7
  8. package/dist/components/Container/index.cjs.map +1 -1
  9. package/dist/components/Container/index.mjs +6 -7
  10. package/dist/components/Container/index.mjs.map +1 -1
  11. package/dist/components/DictionaryEditor/DictionaryEditor.cjs +3 -3
  12. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
  13. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts +1 -1
  14. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  15. package/dist/components/DictionaryEditor/DictionaryEditor.mjs +3 -3
  16. package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  17. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +33 -20
  18. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  19. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
  20. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +34 -21
  21. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  22. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs +20 -9
  23. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs.map +1 -1
  24. package/dist/components/DictionaryFieldEditor/ContentEditor.d.ts.map +1 -1
  25. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs +21 -10
  26. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  27. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +241 -209
  28. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs.map +1 -1
  29. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +1 -0
  30. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  31. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +245 -213
  32. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  33. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  34. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts +1 -1
  35. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
  36. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  37. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +1 -1
  38. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  39. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +92 -120
  40. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  41. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +1 -1
  42. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  43. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +94 -122
  44. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  45. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs +0 -143
  46. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
  47. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +0 -143
  48. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  49. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +0 -143
  50. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  51. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs +1 -2
  52. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs.map +1 -1
  53. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts +0 -3
  54. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts.map +1 -1
  55. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +1 -2
  56. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  57. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +51 -70
  58. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  59. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -1
  60. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  61. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +51 -70
  62. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  63. package/dist/components/DictionaryFieldEditor/EnumKeyInput.cjs +1 -1
  64. package/dist/components/DictionaryFieldEditor/EnumKeyInput.cjs.map +1 -1
  65. package/dist/components/DictionaryFieldEditor/EnumKeyInput.mjs +1 -1
  66. package/dist/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  67. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +18 -12
  68. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  69. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  70. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +19 -13
  71. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  72. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.cjs +64 -0
  73. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.cjs.map +1 -1
  74. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +64 -0
  75. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  76. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs +64 -0
  77. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  78. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +52 -103
  79. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  80. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +3 -3
  81. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  82. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +56 -107
  83. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  84. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +0 -32
  85. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  86. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +0 -32
  87. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  88. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +0 -32
  89. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  90. package/dist/components/DictionaryFieldEditor/StructureEditor.cjs +4 -4
  91. package/dist/components/DictionaryFieldEditor/StructureEditor.cjs.map +1 -1
  92. package/dist/components/DictionaryFieldEditor/StructureEditor.d.ts.map +1 -1
  93. package/dist/components/DictionaryFieldEditor/StructureEditor.mjs +4 -4
  94. package/dist/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  95. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +3 -2
  96. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs.map +1 -1
  97. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  98. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +3 -2
  99. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  100. package/dist/components/DictionaryFieldEditor/index.cjs +0 -2
  101. package/dist/components/DictionaryFieldEditor/index.cjs.map +1 -1
  102. package/dist/components/DictionaryFieldEditor/index.d.ts +0 -1
  103. package/dist/components/DictionaryFieldEditor/index.d.ts.map +1 -1
  104. package/dist/components/DictionaryFieldEditor/index.mjs +0 -2
  105. package/dist/components/DictionaryFieldEditor/index.mjs.map +1 -1
  106. package/dist/components/Form/FormBase.cjs +0 -1
  107. package/dist/components/Form/FormBase.cjs.map +1 -1
  108. package/dist/components/Form/FormBase.d.ts +1 -4
  109. package/dist/components/Form/FormBase.d.ts.map +1 -1
  110. package/dist/components/Form/FormBase.mjs +0 -1
  111. package/dist/components/Form/FormBase.mjs.map +1 -1
  112. package/dist/components/Form/elements/EditableFieldInputElement.d.ts +1 -1
  113. package/dist/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
  114. package/dist/components/Form/elements/EditableFieldTextAreaElement.d.ts +1 -1
  115. package/dist/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
  116. package/dist/components/Input/Checkbox.cjs +0 -1
  117. package/dist/components/Input/Checkbox.cjs.map +1 -1
  118. package/dist/components/Input/Checkbox.mjs +0 -1
  119. package/dist/components/Input/Checkbox.mjs.map +1 -1
  120. package/dist/components/Input/Input.cjs +1 -1
  121. package/dist/components/Input/Input.cjs.map +1 -1
  122. package/dist/components/Input/Input.mjs +1 -1
  123. package/dist/components/Input/Input.mjs.map +1 -1
  124. package/dist/components/KeyboardScreenAdapter/index.cjs +25 -0
  125. package/dist/components/KeyboardScreenAdapter/index.cjs.map +1 -0
  126. package/dist/components/KeyboardScreenAdapter/index.d.ts +3 -0
  127. package/dist/components/KeyboardScreenAdapter/index.d.ts.map +1 -0
  128. package/dist/components/KeyboardScreenAdapter/index.mjs +25 -0
  129. package/dist/components/KeyboardScreenAdapter/index.mjs.map +1 -0
  130. package/dist/components/MaxHeightSmoother/index.cjs +3 -1
  131. package/dist/components/MaxHeightSmoother/index.cjs.map +1 -1
  132. package/dist/components/MaxHeightSmoother/index.d.ts.map +1 -1
  133. package/dist/components/MaxHeightSmoother/index.mjs +3 -1
  134. package/dist/components/MaxHeightSmoother/index.mjs.map +1 -1
  135. package/dist/components/Modal/Modal.cjs +15 -13
  136. package/dist/components/Modal/Modal.cjs.map +1 -1
  137. package/dist/components/Modal/Modal.d.ts.map +1 -1
  138. package/dist/components/Modal/Modal.mjs +15 -13
  139. package/dist/components/Modal/Modal.mjs.map +1 -1
  140. package/dist/components/RightDrawer/RightDrawer.cjs +1 -1
  141. package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
  142. package/dist/components/RightDrawer/RightDrawer.mjs +1 -1
  143. package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
  144. package/dist/components/Select/Multiselect.cjs +0 -1
  145. package/dist/components/Select/Multiselect.cjs.map +1 -1
  146. package/dist/components/Select/Multiselect.d.ts.map +1 -1
  147. package/dist/components/Select/Multiselect.mjs +1 -2
  148. package/dist/components/Select/Multiselect.mjs.map +1 -1
  149. package/dist/components/Select/Select.cjs +0 -1
  150. package/dist/components/Select/Select.cjs.map +1 -1
  151. package/dist/components/Select/Select.d.ts.map +1 -1
  152. package/dist/components/Select/Select.mjs +0 -1
  153. package/dist/components/Select/Select.mjs.map +1 -1
  154. package/dist/components/index.cjs +2 -2
  155. package/dist/components/index.d.ts +1 -0
  156. package/dist/components/index.d.ts.map +1 -1
  157. package/dist/components/index.mjs +2 -2
  158. package/dist/hooks/index.cjs +2 -0
  159. package/dist/hooks/index.cjs.map +1 -1
  160. package/dist/hooks/index.d.ts +1 -0
  161. package/dist/hooks/index.d.ts.map +1 -1
  162. package/dist/hooks/index.mjs +2 -0
  163. package/dist/hooks/index.mjs.map +1 -1
  164. package/dist/hooks/intlayerAPIHooks.cjs +1 -1
  165. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  166. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  167. package/dist/hooks/intlayerAPIHooks.mjs +1 -1
  168. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  169. package/dist/hooks/useAsync/useAsyncStateStore.cjs +8 -14
  170. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  171. package/dist/hooks/useAsync/useAsyncStateStore.d.ts.map +1 -1
  172. package/dist/hooks/useAsync/useAsyncStateStore.mjs +8 -14
  173. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  174. package/dist/hooks/useKeyboardDetector.cjs +27 -0
  175. package/dist/hooks/useKeyboardDetector.cjs.map +1 -0
  176. package/dist/hooks/useKeyboardDetector.d.ts +5 -0
  177. package/dist/hooks/useKeyboardDetector.d.ts.map +1 -0
  178. package/dist/hooks/useKeyboardDetector.mjs +27 -0
  179. package/dist/hooks/useKeyboardDetector.mjs.map +1 -0
  180. package/dist/{index-BTDHuTxL.js → index-B1w5h_6-.js} +7 -7
  181. package/dist/index-B1w5h_6-.js.map +1 -0
  182. package/dist/index-BCuMWKyy.js.map +1 -1
  183. package/dist/index-BYzBot7l.cjs.map +1 -1
  184. package/dist/{index-Db5Dym4h.cjs → index-U1U6ySIn.cjs} +7 -7
  185. package/dist/index-U1U6ySIn.cjs.map +1 -0
  186. package/dist/tailwind.css +1 -1
  187. package/dist/zod-BV4nCGJE.js.map +1 -1
  188. package/dist/zod-DSrtTSD_.cjs.map +1 -1
  189. package/package.json +19 -19
  190. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.cjs +0 -49
  191. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.cjs.map +0 -1
  192. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.d.ts +0 -10
  193. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.d.ts.map +0 -1
  194. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.mjs +0 -49
  195. package/dist/components/DictionaryFieldEditor/ContentEditorView/EditorView.mjs.map +0 -1
  196. package/dist/index-BTDHuTxL.js.map +0 -1
  197. package/dist/index-Db5Dym4h.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.cjs","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport type { Locales } from '@intlayer/config';\nimport {\n type Dictionary,\n type MarkdownContent,\n type NestedContent,\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n getNodeType,\n type ConditionContent,\n} from '@intlayer/core';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport { Plus, WandSparkles, X } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport {\n ContentEditorInputProps as ContentEditorInputPropsBase,\n ContentEditorInput as ContentEditorInputBase,\n} from '../../ContentEditor/ContentEditorInput';\nimport {\n ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n ContentEditorTextArea as ContentEditorTextAreaBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { Label } from '../../Label';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '../../MarkDownRender';\nimport {\n type SwitchSelectorChoices,\n type SwitchSelectorProps,\n SwitchSelector,\n} from '../../SwitchSelector';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { 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};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { auditContentDeclarationField, isLoading: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"text\"\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField({\n fileContent: JSON.stringify(dictionary),\n keyPath,\n locales: configuration.internationalization.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\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) => addEditedContent(dictionary.key, value, keyPath)}\n color=\"text\"\n size=\"sm\"\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\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 key={translationKey} className=\"w-full\" lang={translationKey}>\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 <TextEditor\n section={\n (section as TranslationContent<string>)[NodeType.Translation][\n translationKey\n ] as string\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\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 key={enumKey} className=\"w-full\">\n <td className=\"w-44 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 <TextEditor\n section={\n (section as EnumerationContent<string>)[NodeType.Enumeration][\n enumKey as any\n ] as string\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Enumeration, key: enumKey },\n ]}\n dictionary={dictionary}\n />\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 ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\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 {['true', 'false', 'fallback'].map((condKey) => (\n <tr key={condKey} className=\"w-full\">\n <td className=\"w-44 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.Condition,\n key: condKey,\n },\n ])\n }\n />\n <EnumKeyInput\n value={condKey}\n onChange={(value) => {\n const preValueContent = (\n section as ConditionContent<string>\n )[NodeType.Condition];\n const newValueContent = renameKey(\n preValueContent,\n condKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as ConditionContent<string>),\n [NodeType.Condition]: newValueContent,\n };\n\n addEditedContent(dictionary.key, newValue, keyPath);\n }}\n />\n </div>\n </td>\n <td className=\"w-full p-2\">\n <TextEditor\n section={\n (section as EnumerationContent<string>)[NodeType.Enumeration][\n condKey as any\n ] as string\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: parseInt(condKey),\n } as KeyPath,\n ]}\n dictionary={dictionary}\n />\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}) => {\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 key={JSON.stringify(subSection)} className=\"w-full\">\n <td className=\"p-2\">{index}</td>\n <td className=\"w-full p-2\">\n <TextEditor\n section={subSection}\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n />\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\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n\n const content = (section as MarkdownContent)[NodeType.Markdown];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n />\n {mode === MarkdownViewMode.Edit && (\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[...keyPath, { type: NodeType.Markdown }]}\n dictionary={dictionary}\n >\n {content}\n </ContentEditorTextArea>\n )}\n {mode === MarkdownViewMode.Preview && (\n <MarkdownRenderer isDarkMode={isDarkMode}>{content}</MarkdownRenderer>\n )}\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as NestedContent)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"w-full p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n {...props}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n {...props}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getNodeType(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 <span>[React Node]</span>\n <span className=\"text-neutral dark:text-neutral-dark text-xs\">\n {tsxNotEditable}\n </span>\n </>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section)}\n </div>\n );\n};\n"],"names":["useEditedContent","useConfiguration","useAuditContentDeclarationField","jsx","ContentEditorTextAreaBase","Button","WandSparkles","ContentEditorInputBase","SwitchSelector","useLocale","useLocaleSwitcherContent","NodeType","jsxs","getLocaleName","useDictionary","navigationViewContent","X","EnumKeyInput","renameKey","Plus","useState","toggleContent","MarkdownRenderer","Label","getNodeType","getIsEditableSection","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TextEditor.cjs","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport type { Locales } from '@intlayer/config';\nimport {\n type Dictionary,\n type MarkdownContent,\n type NestedContent,\n type EnumerationContent,\n type TranslationContent,\n NodeType,\n type KeyPath,\n type ContentNode,\n getLocaleName,\n getNodeType,\n type ConditionContent,\n getEmptyNode,\n} from '@intlayer/core';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport { Plus, Trash, WandSparkles } from 'lucide-react';\nimport { Fragment, useState, type FC } from 'react';\nimport { useDictionary, useLocale } from 'react-intlayer';\nimport { useAuditContentDeclarationField } from '../../../hooks';\nimport { renameKey } from '../../../utils/object';\nimport { Button } from '../../Button';\nimport { Container } from '../../Container';\nimport {\n type ContentEditorInputProps as ContentEditorInputPropsBase,\n ContentEditorInput as ContentEditorInputBase,\n} from '../../ContentEditor/ContentEditorInput';\nimport {\n type ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n ContentEditorTextArea as ContentEditorTextAreaBase,\n} from '../../ContentEditor/ContentEditorTextArea';\nimport { Label } from '../../Label';\nimport { useLocaleSwitcherContent } from '../../LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '../../MarkDownRender';\nimport {\n type SwitchSelectorChoices,\n type SwitchSelectorProps,\n SwitchSelector,\n} from '../../SwitchSelector';\nimport { EnumKeyInput } from '../EnumKeyInput';\nimport { navigationViewContent } from '../NavigationView/navigationViewNode.content';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype ContentEditorTextAreaProps = Omit<\n ContentEditorTextAreaPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { editedContent, addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { auditContentDeclarationField, isLoading: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"text\"\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField({\n fileContent: JSON.stringify({\n ...dictionary,\n ...(editedContent?.[dictionary.key] ?? {}),\n }),\n keyPath,\n locales: configuration.internationalization.locales ?? [],\n }).then((response) => {\n if (!response?.data) return;\n\n try {\n const editedContent = response.data.fileContent as string;\n\n addEditedContent(dictionary.key, editedContent, keyPath);\n } catch (error) {\n console.error(error);\n }\n });\n }}\n />\n }\n {...props}\n />\n );\n};\n\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant=\"default\"\n onContentChange={(newValue) =>\n addEditedContent(dictionary.key, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) => addEditedContent(dictionary.key, value, keyPath)}\n color=\"text\"\n size=\"sm\"\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}: TextEditorProps) => {\n const { locale, defaultLocale } = useLocale();\n const { selectedLocales, availableLocales } = useLocaleSwitcherContent();\n\n const sectionContent = (section as TranslationContent<string>)[\n NodeType.Translation\n ] as Record<Locales, string>;\n\n const sectionContentKeys = Object.keys(sectionContent) as Locales[];\n\n const isFiltered = availableLocales.length > selectedLocales.length;\n\n const localesList = isFiltered\n ? selectedLocales\n : // If the translation include content in other locales, we display all of them\n [...new Set([...availableLocales, ...sectionContentKeys])];\n\n const content = (section as TranslationContent<string>)[NodeType.Translation];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {localesList.map((translationKey) => (\n <Fragment key={translationKey}>\n <tr className=\"mt-2 w-full p-2 text-xs\">\n {getLocaleName(translationKey, locale)}\n </tr>\n <tr>\n <TextEditorContainer\n section={\n content[translationKey] ??\n getEmptyNode(content[defaultLocale])\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration, removeEnumeration } = useDictionary(\n navigationViewContent\n );\n\n const content = (section as EnumerationContent<string>)[NodeType.Enumeration];\n const firstKey = Object.keys(content)[0] as keyof typeof content;\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => {\n const childrenKeyPath = [\n ...keyPath,\n { type: NodeType.Enumeration },\n ] as KeyPath[];\n return (\n <Fragment key={enumKey}>\n <tr className=\"mt-2 w-full\">\n <div className=\"flex flex-1\">\n <Button\n label={removeEnumeration.label.value}\n variant=\"hoverable\"\n color=\"text\"\n Icon={Trash}\n className=\"ml-auto\"\n onClick={() =>\n addEditedContent(\n dictionary.key,\n undefined,\n childrenKeyPath\n )\n }\n >\n {removeEnumeration.text}\n </Button>\n </div>\n </tr>\n <tr className=\"w-full p-2\">\n <EnumKeyInput\n value={enumKey}\n onChange={(value) => {\n const preValueContent = (\n section as EnumerationContent<string>\n )[NodeType.Enumeration];\n const newValueContent = renameKey(\n preValueContent,\n enumKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as EnumerationContent<string>),\n [NodeType.Enumeration]: newValueContent,\n };\n\n addEditedContent(dictionary.key, newValue, keyPath);\n }}\n />\n </tr>\n <tr className=\"block w-full\">\n <TextEditor\n section={\n content[enumKey as keyof typeof content] ??\n getEmptyNode(content[firstKey])\n }\n keyPath={childrenKeyPath}\n dictionary={dictionary}\n />\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n\n <Button\n label={addNewEnumeration.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() =>\n addEditedContent(\n dictionary.key,\n getEmptyNode(content[firstKey]) ?? '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }]\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </div>\n );\n};\n\nconst ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => {\n const content = (section as ConditionContent<string>)[NodeType.Condition];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['true', 'false', 'fallback'].map((condKey) => (\n <Fragment key={condKey}>\n <tr key={condKey} className=\"mt-2 block w-full p-2 text-xs\">\n {String(condKey)}\n </tr>\n <tr key={condKey} className=\"block w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content['true'])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Condition,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement, removeElement } = useDictionary(navigationViewContent);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => (\n <Fragment key={JSON.stringify(subSection)}>\n <tr className=\"mt-2 flex w-full justify-between gap-2 p-2\">\n <span className=\"text-xs\">{String(index)}</span>\n <Button\n label={removeElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n className=\"ml-auto\"\n textAlign=\"left\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(dictionary.key, undefined, newKeyPath);\n }}\n Icon={Trash}\n >\n {removeElement.text}\n </Button>\n </tr>\n\n <tr className=\"block w-full\">\n <TextEditorContainer\n section={\n subSection ??\n getEmptyNode((section as unknown as ContentNode[])[0])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n />\n </tr>\n </Fragment>\n ))}\n </tbody>\n </table>\n <Button\n label={addNewElement.label.value}\n variant=\"hoverable\"\n color=\"neutral\"\n textAlign=\"left\"\n isFullWidth\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n addEditedContent(\n dictionary.key,\n getEmptyNode((section as unknown as ContentNode[])[0]) ?? '',\n newKeyPath,\n false\n );\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n};\n\nconst ObjectTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => (\n <>\n <table className=\"w-full\">\n <tbody className=\"flex flex-col gap-2\">\n {Object.keys(section as unknown as Record<string, ContentNode>).map(\n (key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeType.Object, key },\n ];\n const typedSection = section as unknown as Record<\n string,\n ContentNode\n >;\n const firstKey = Object.keys(\n typedSection\n )[0] as keyof typeof section;\n const subSection =\n typedSection[key as keyof typeof section] ??\n getEmptyNode(typedSection[firstKey]);\n\n return (\n <Fragment key={key}>\n <tr\n key={JSON.stringify(subSection)}\n className=\"mt-2 p-2 text-xs\"\n >\n {String(key)}\n </tr>\n <tr key={JSON.stringify(subSection)} className=\"block w-full\">\n <TextEditor\n section={subSection}\n keyPath={childKeyPath}\n dictionary={dictionary}\n />\n </tr>\n </Fragment>\n );\n }\n )}\n </tbody>\n </table>\n </>\n);\n\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n\n const content = (section as MarkdownContent)[NodeType.Markdown];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color=\"text\"\n size=\"sm\"\n className=\"ml-auto\"\n />\n {mode === MarkdownViewMode.Edit && (\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={[...keyPath, { type: NodeType.Markdown }]}\n dictionary={dictionary}\n >\n {content}\n </ContentEditorTextArea>\n )}\n {mode === MarkdownViewMode.Preview && (\n <MarkdownRenderer isDarkMode={isDarkMode}>{content}</MarkdownRenderer>\n )}\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as NestedContent)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"w-full p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n {...props}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant=\"default\"\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.key,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n {...props}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useDictionary(navigationViewContent);\n const nodeType = getNodeType(section);\n\n if (nodeType === NodeType.ReactNode) {\n return (\n <>\n <span>[React Node]</span>\n <span className=\"text-neutral dark:text-neutral-dark text-xs\">\n {tsxNotEditable}\n </span>\n </>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <ObjectTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorTextArea\n variant=\"default\"\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section, null, 2)}\n {JSON.stringify(keyPath, null, 2)}\n NodeType : {nodeType}\n </div>\n );\n};\n\nexport const TextEditorContainer: FC<TextEditorProps> = (props) => (\n <Container\n border\n background=\"none\"\n className=\"top-6 flex h-full flex-1 flex-col gap-6 overflow-hidden p-2 md:sticky\"\n roundedSize=\"xl\"\n >\n <TextEditor {...props} />\n </Container>\n);\n"],"names":["useEditedContent","useConfiguration","useAuditContentDeclarationField","jsx","ContentEditorTextAreaBase","Button","WandSparkles","editedContent","ContentEditorInputBase","SwitchSelector","useLocale","useLocaleSwitcherContent","NodeType","jsxs","Fragment","getLocaleName","getEmptyNode","useDictionary","navigationViewContent","Trash","EnumKeyInput","renameKey","Plus","useState","toggleContent","MarkdownRenderer","Label","getNodeType","Container"],"mappings":"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"}
@@ -8,4 +8,5 @@ export type TextEditorProps = {
8
8
  isDarkMode?: boolean;
9
9
  };
10
10
  export declare const TextEditor: FC<TextEditorProps>;
11
+ export declare const TextEditorContainer: FC<TextEditorProps>;
11
12
  //# sourceMappingURL=TextEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,UAAU,EAMf,KAAK,OAAO,EACZ,KAAK,WAAW,EAIjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAyB1C,eAAO,MAAM,SAAS,EAAE,MAAM,EAAmC,CAAC;AAwHlE,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AA4ZF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAsI1C,CAAC"}
1
+ {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,UAAU,EAMf,KAAK,OAAO,EACZ,KAAK,WAAW,EAKjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAsB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAyBpD,eAAO,MAAM,SAAS,EAAE,MAAM,EAAmC,CAAC;AA2HlE,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAwbF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA6I1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,eAAe,CASnD,CAAC"}