@intlayer/design-system 9.0.0-canary.9 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1326) hide show
  1. package/dist/esm/api/hooks/ai.mjs.map +1 -1
  2. package/dist/esm/api/hooks/analytics.mjs +71 -0
  3. package/dist/esm/api/hooks/analytics.mjs.map +1 -0
  4. package/dist/esm/api/hooks/asset.mjs.map +1 -1
  5. package/dist/esm/api/hooks/audit.mjs.map +1 -1
  6. package/dist/esm/api/hooks/auth.mjs.map +1 -1
  7. package/dist/esm/api/hooks/bitbucket.mjs.map +1 -1
  8. package/dist/esm/api/hooks/dictionary.mjs +15 -3
  9. package/dist/esm/api/hooks/dictionary.mjs.map +1 -1
  10. package/dist/esm/api/hooks/discussions.mjs.map +1 -1
  11. package/dist/esm/api/hooks/editor.mjs.map +1 -1
  12. package/dist/esm/api/hooks/environment.mjs.map +1 -1
  13. package/dist/esm/api/hooks/github.mjs.map +1 -1
  14. package/dist/esm/api/hooks/gitlab.mjs.map +1 -1
  15. package/dist/esm/api/hooks/newsletter.mjs.map +1 -1
  16. package/dist/esm/api/hooks/organization.mjs +35 -3
  17. package/dist/esm/api/hooks/organization.mjs.map +1 -1
  18. package/dist/esm/api/hooks/project.mjs +13 -1
  19. package/dist/esm/api/hooks/project.mjs.map +1 -1
  20. package/dist/esm/api/hooks/reviewer.mjs.map +1 -1
  21. package/dist/esm/api/hooks/search.mjs.map +1 -1
  22. package/dist/esm/api/hooks/showcaseProject.mjs.map +1 -1
  23. package/dist/esm/api/hooks/stripe.mjs.map +1 -1
  24. package/dist/esm/api/hooks/tag.mjs.map +1 -1
  25. package/dist/esm/api/hooks/translate.mjs.map +1 -1
  26. package/dist/esm/api/hooks/user.mjs.map +1 -1
  27. package/dist/esm/api/hooks/utils.mjs.map +1 -1
  28. package/dist/esm/api/index.mjs +6 -5
  29. package/dist/esm/api/useAuth/useAuth.mjs.map +1 -1
  30. package/dist/esm/api/useAuth/useOAuth2.mjs.map +1 -1
  31. package/dist/esm/api/useAuth/useSession.mjs.map +1 -1
  32. package/dist/esm/api/useIntlayerAPI.mjs +6 -1
  33. package/dist/esm/api/useIntlayerAPI.mjs.map +1 -1
  34. package/dist/esm/api/useUser/index.mjs.map +1 -1
  35. package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
  36. package/dist/esm/components/Avatar/image.mjs.map +1 -1
  37. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  38. package/dist/esm/components/Badge/index.mjs.map +1 -1
  39. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
  40. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  41. package/dist/esm/components/Browser/Browser.content.mjs.map +1 -1
  42. package/dist/esm/components/Browser/Browser.mjs.map +1 -1
  43. package/dist/esm/components/Browser/extractUrlFromSitemap.mjs.map +1 -1
  44. package/dist/esm/components/Button/Button.mjs.map +1 -1
  45. package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
  46. package/dist/esm/components/Carousel/index.mjs +2 -1
  47. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  48. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  49. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  50. package/dist/esm/components/Command/index.mjs.map +1 -1
  51. package/dist/esm/components/Container/index.mjs.map +1 -1
  52. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  53. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  54. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  55. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  56. package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
  57. package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
  58. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  59. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  60. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  61. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  63. package/dist/esm/components/DictionaryEditor/NodeWrapper/BooleanWrapper.mjs.map +1 -1
  64. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  65. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  67. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  68. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  69. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  70. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  71. package/dist/esm/components/DictionaryEditor/NodeWrapper/NumberWrapper.mjs.map +1 -1
  72. package/dist/esm/components/DictionaryEditor/NodeWrapper/PluralWrapper.mjs.map +1 -1
  73. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  74. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  75. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  76. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +3 -3
  77. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  78. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.mjs.map +1 -1
  79. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +26 -24
  80. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  81. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/object.mjs.map +1 -1
  82. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  83. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  84. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  85. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
  86. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
  87. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +6 -6
  88. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  89. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  90. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
  91. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  92. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  93. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  94. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  95. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  96. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  97. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +19 -14
  98. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  99. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  100. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  101. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +5 -4
  102. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  103. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  104. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  105. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +6 -4
  106. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  107. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
  108. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  109. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  110. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
  111. package/dist/esm/components/DictionaryFieldEditor/contentEditor.content.mjs.map +1 -1
  112. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  113. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  114. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  115. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  116. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  117. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  118. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  119. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  120. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
  121. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  122. package/dist/esm/components/Flags/ae.mjs +9 -6
  123. package/dist/esm/components/Flags/ae.mjs.map +1 -1
  124. package/dist/esm/components/Flags/af.mjs +26 -23
  125. package/dist/esm/components/Flags/af.mjs.map +1 -1
  126. package/dist/esm/components/Flags/al.mjs +7 -5
  127. package/dist/esm/components/Flags/al.mjs.map +1 -1
  128. package/dist/esm/components/Flags/am.mjs +7 -5
  129. package/dist/esm/components/Flags/am.mjs.map +1 -1
  130. package/dist/esm/components/Flags/ar.mjs +51 -31
  131. package/dist/esm/components/Flags/ar.mjs.map +1 -1
  132. package/dist/esm/components/Flags/at.mjs +5 -4
  133. package/dist/esm/components/Flags/at.mjs.map +1 -1
  134. package/dist/esm/components/Flags/au.mjs +13 -8
  135. package/dist/esm/components/Flags/au.mjs.map +1 -1
  136. package/dist/esm/components/Flags/az.mjs +13 -8
  137. package/dist/esm/components/Flags/az.mjs.map +1 -1
  138. package/dist/esm/components/Flags/ba.mjs +8 -7
  139. package/dist/esm/components/Flags/ba.mjs.map +1 -1
  140. package/dist/esm/components/Flags/bd.mjs +5 -4
  141. package/dist/esm/components/Flags/bd.mjs.map +1 -1
  142. package/dist/esm/components/Flags/be.mjs +5 -5
  143. package/dist/esm/components/Flags/be.mjs.map +1 -1
  144. package/dist/esm/components/Flags/bg.mjs +7 -5
  145. package/dist/esm/components/Flags/bg.mjs.map +1 -1
  146. package/dist/esm/components/Flags/bh.mjs +5 -4
  147. package/dist/esm/components/Flags/bh.mjs.map +1 -1
  148. package/dist/esm/components/Flags/bn.mjs +12 -8
  149. package/dist/esm/components/Flags/bn.mjs.map +1 -1
  150. package/dist/esm/components/Flags/bo.mjs +1306 -656
  151. package/dist/esm/components/Flags/bo.mjs.map +1 -1
  152. package/dist/esm/components/Flags/br.mjs +26 -26
  153. package/dist/esm/components/Flags/br.mjs.map +1 -1
  154. package/dist/esm/components/Flags/bw.mjs +4 -4
  155. package/dist/esm/components/Flags/bw.mjs.map +1 -1
  156. package/dist/esm/components/Flags/by.mjs +11 -8
  157. package/dist/esm/components/Flags/by.mjs.map +1 -1
  158. package/dist/esm/components/Flags/bz.mjs +111 -81
  159. package/dist/esm/components/Flags/bz.mjs.map +1 -1
  160. package/dist/esm/components/Flags/ca.mjs +5 -4
  161. package/dist/esm/components/Flags/ca.mjs.map +1 -1
  162. package/dist/esm/components/Flags/ch.mjs +4 -4
  163. package/dist/esm/components/Flags/ch.mjs.map +1 -1
  164. package/dist/esm/components/Flags/cl.mjs +9 -8
  165. package/dist/esm/components/Flags/cl.mjs.map +1 -1
  166. package/dist/esm/components/Flags/cn.mjs +15 -9
  167. package/dist/esm/components/Flags/cn.mjs.map +1 -1
  168. package/dist/esm/components/Flags/co.mjs +5 -5
  169. package/dist/esm/components/Flags/co.mjs.map +1 -1
  170. package/dist/esm/components/Flags/cr.mjs +5 -5
  171. package/dist/esm/components/Flags/cr.mjs.map +1 -1
  172. package/dist/esm/components/Flags/cu.mjs +9 -8
  173. package/dist/esm/components/Flags/cu.mjs.map +1 -1
  174. package/dist/esm/components/Flags/cv.mjs +9 -8
  175. package/dist/esm/components/Flags/cv.mjs.map +1 -1
  176. package/dist/esm/components/Flags/cz.mjs +7 -5
  177. package/dist/esm/components/Flags/cz.mjs.map +1 -1
  178. package/dist/esm/components/Flags/de.mjs +7 -5
  179. package/dist/esm/components/Flags/de.mjs.map +1 -1
  180. package/dist/esm/components/Flags/dj.mjs +9 -8
  181. package/dist/esm/components/Flags/dj.mjs.map +1 -1
  182. package/dist/esm/components/Flags/dk.mjs +7 -5
  183. package/dist/esm/components/Flags/dk.mjs.map +1 -1
  184. package/dist/esm/components/Flags/do.mjs +71 -53
  185. package/dist/esm/components/Flags/do.mjs.map +1 -1
  186. package/dist/esm/components/Flags/dz.mjs +7 -5
  187. package/dist/esm/components/Flags/dz.mjs.map +1 -1
  188. package/dist/esm/components/Flags/ec.mjs +165 -122
  189. package/dist/esm/components/Flags/ec.mjs.map +1 -1
  190. package/dist/esm/components/Flags/ee.mjs +7 -5
  191. package/dist/esm/components/Flags/ee.mjs.map +1 -1
  192. package/dist/esm/components/Flags/eg.mjs +28 -25
  193. package/dist/esm/components/Flags/eg.mjs.map +1 -1
  194. package/dist/esm/components/Flags/es-ct.mjs +5 -4
  195. package/dist/esm/components/Flags/es-ct.mjs.map +1 -1
  196. package/dist/esm/components/Flags/es-ga.mjs +184 -183
  197. package/dist/esm/components/Flags/es-ga.mjs.map +1 -1
  198. package/dist/esm/components/Flags/es-pv.mjs +7 -5
  199. package/dist/esm/components/Flags/es-pv.mjs.map +1 -1
  200. package/dist/esm/components/Flags/es.mjs +1072 -531
  201. package/dist/esm/components/Flags/es.mjs.map +1 -1
  202. package/dist/esm/components/Flags/et.mjs +10 -9
  203. package/dist/esm/components/Flags/et.mjs.map +1 -1
  204. package/dist/esm/components/Flags/fi.mjs +7 -5
  205. package/dist/esm/components/Flags/fi.mjs.map +1 -1
  206. package/dist/esm/components/Flags/flags.mjs.map +1 -1
  207. package/dist/esm/components/Flags/fo.mjs +8 -7
  208. package/dist/esm/components/Flags/fo.mjs.map +1 -1
  209. package/dist/esm/components/Flags/fr.mjs +7 -5
  210. package/dist/esm/components/Flags/fr.mjs.map +1 -1
  211. package/dist/esm/components/Flags/gb-wls.mjs +10 -8
  212. package/dist/esm/components/Flags/gb-wls.mjs.map +1 -1
  213. package/dist/esm/components/Flags/gb.mjs +11 -7
  214. package/dist/esm/components/Flags/gb.mjs.map +1 -1
  215. package/dist/esm/components/Flags/ge.mjs +9 -6
  216. package/dist/esm/components/Flags/ge.mjs.map +1 -1
  217. package/dist/esm/components/Flags/gh.mjs +9 -6
  218. package/dist/esm/components/Flags/gh.mjs.map +1 -1
  219. package/dist/esm/components/Flags/gr.mjs +23 -13
  220. package/dist/esm/components/Flags/gr.mjs.map +1 -1
  221. package/dist/esm/components/Flags/gt.mjs +116 -113
  222. package/dist/esm/components/Flags/gt.mjs.map +1 -1
  223. package/dist/esm/components/Flags/gw.mjs +19 -12
  224. package/dist/esm/components/Flags/gw.mjs.map +1 -1
  225. package/dist/esm/components/Flags/hk.mjs +13 -8
  226. package/dist/esm/components/Flags/hk.mjs.map +1 -1
  227. package/dist/esm/components/Flags/hn.mjs +21 -15
  228. package/dist/esm/components/Flags/hn.mjs.map +1 -1
  229. package/dist/esm/components/Flags/hr.mjs +49 -23
  230. package/dist/esm/components/Flags/hr.mjs.map +1 -1
  231. package/dist/esm/components/Flags/hu.mjs +4 -4
  232. package/dist/esm/components/Flags/hu.mjs.map +1 -1
  233. package/dist/esm/components/Flags/id.mjs +5 -4
  234. package/dist/esm/components/Flags/id.mjs.map +1 -1
  235. package/dist/esm/components/Flags/ie.mjs +5 -5
  236. package/dist/esm/components/Flags/ie.mjs.map +1 -1
  237. package/dist/esm/components/Flags/il.mjs +10 -9
  238. package/dist/esm/components/Flags/il.mjs.map +1 -1
  239. package/dist/esm/components/Flags/in.mjs +18 -15
  240. package/dist/esm/components/Flags/in.mjs.map +1 -1
  241. package/dist/esm/components/Flags/iq.mjs +11 -8
  242. package/dist/esm/components/Flags/iq.mjs.map +1 -1
  243. package/dist/esm/components/Flags/ir.mjs +33 -32
  244. package/dist/esm/components/Flags/ir.mjs.map +1 -1
  245. package/dist/esm/components/Flags/is.mjs +8 -7
  246. package/dist/esm/components/Flags/is.mjs.map +1 -1
  247. package/dist/esm/components/Flags/it.mjs +5 -5
  248. package/dist/esm/components/Flags/it.mjs.map +1 -1
  249. package/dist/esm/components/Flags/jm.mjs +5 -5
  250. package/dist/esm/components/Flags/jm.mjs.map +1 -1
  251. package/dist/esm/components/Flags/jo.mjs +11 -10
  252. package/dist/esm/components/Flags/jo.mjs.map +1 -1
  253. package/dist/esm/components/Flags/jp.mjs +7 -6
  254. package/dist/esm/components/Flags/jp.mjs.map +1 -1
  255. package/dist/esm/components/Flags/ke.mjs +28 -19
  256. package/dist/esm/components/Flags/ke.mjs.map +1 -1
  257. package/dist/esm/components/Flags/kg.mjs +11 -10
  258. package/dist/esm/components/Flags/kg.mjs.map +1 -1
  259. package/dist/esm/components/Flags/kh.mjs +20 -18
  260. package/dist/esm/components/Flags/kh.mjs.map +1 -1
  261. package/dist/esm/components/Flags/km.mjs +12 -11
  262. package/dist/esm/components/Flags/km.mjs.map +1 -1
  263. package/dist/esm/components/Flags/kr.mjs +14 -13
  264. package/dist/esm/components/Flags/kr.mjs.map +1 -1
  265. package/dist/esm/components/Flags/kw.mjs +9 -8
  266. package/dist/esm/components/Flags/kw.mjs.map +1 -1
  267. package/dist/esm/components/Flags/kz.mjs +18 -17
  268. package/dist/esm/components/Flags/kz.mjs.map +1 -1
  269. package/dist/esm/components/Flags/la.mjs +8 -7
  270. package/dist/esm/components/Flags/la.mjs.map +1 -1
  271. package/dist/esm/components/Flags/lb.mjs +10 -9
  272. package/dist/esm/components/Flags/lb.mjs.map +1 -1
  273. package/dist/esm/components/Flags/li.mjs +33 -31
  274. package/dist/esm/components/Flags/li.mjs.map +1 -1
  275. package/dist/esm/components/Flags/lk.mjs +22 -14
  276. package/dist/esm/components/Flags/lk.mjs.map +1 -1
  277. package/dist/esm/components/Flags/lt.mjs +5 -5
  278. package/dist/esm/components/Flags/lt.mjs.map +1 -1
  279. package/dist/esm/components/Flags/lu.mjs +7 -5
  280. package/dist/esm/components/Flags/lu.mjs.map +1 -1
  281. package/dist/esm/components/Flags/lv.mjs +3 -3
  282. package/dist/esm/components/Flags/lv.mjs.map +1 -1
  283. package/dist/esm/components/Flags/ly.mjs +8 -7
  284. package/dist/esm/components/Flags/ly.mjs.map +1 -1
  285. package/dist/esm/components/Flags/ma.mjs +5 -4
  286. package/dist/esm/components/Flags/ma.mjs.map +1 -1
  287. package/dist/esm/components/Flags/mc.mjs +4 -4
  288. package/dist/esm/components/Flags/mc.mjs.map +1 -1
  289. package/dist/esm/components/Flags/md.mjs +93 -61
  290. package/dist/esm/components/Flags/md.mjs.map +1 -1
  291. package/dist/esm/components/Flags/mk.mjs +7 -5
  292. package/dist/esm/components/Flags/mk.mjs.map +1 -1
  293. package/dist/esm/components/Flags/mm.mjs +13 -10
  294. package/dist/esm/components/Flags/mm.mjs.map +1 -1
  295. package/dist/esm/components/Flags/mn.mjs +19 -12
  296. package/dist/esm/components/Flags/mn.mjs.map +1 -1
  297. package/dist/esm/components/Flags/mo.mjs +10 -7
  298. package/dist/esm/components/Flags/mo.mjs.map +1 -1
  299. package/dist/esm/components/Flags/mr.mjs +9 -6
  300. package/dist/esm/components/Flags/mr.mjs.map +1 -1
  301. package/dist/esm/components/Flags/mt.mjs +44 -39
  302. package/dist/esm/components/Flags/mt.mjs.map +1 -1
  303. package/dist/esm/components/Flags/mv.mjs +9 -6
  304. package/dist/esm/components/Flags/mv.mjs.map +1 -1
  305. package/dist/esm/components/Flags/mx.mjs +748 -377
  306. package/dist/esm/components/Flags/mx.mjs.map +1 -1
  307. package/dist/esm/components/Flags/my.mjs +21 -20
  308. package/dist/esm/components/Flags/my.mjs.map +1 -1
  309. package/dist/esm/components/Flags/mz.mjs +17 -16
  310. package/dist/esm/components/Flags/mz.mjs.map +1 -1
  311. package/dist/esm/components/Flags/ng.mjs +4 -4
  312. package/dist/esm/components/Flags/ng.mjs.map +1 -1
  313. package/dist/esm/components/Flags/ni.mjs +103 -98
  314. package/dist/esm/components/Flags/ni.mjs.map +1 -1
  315. package/dist/esm/components/Flags/nl.mjs +7 -5
  316. package/dist/esm/components/Flags/nl.mjs.map +1 -1
  317. package/dist/esm/components/Flags/no.mjs +11 -7
  318. package/dist/esm/components/Flags/no.mjs.map +1 -1
  319. package/dist/esm/components/Flags/np.mjs +7 -6
  320. package/dist/esm/components/Flags/np.mjs.map +1 -1
  321. package/dist/esm/components/Flags/nz.mjs +30 -20
  322. package/dist/esm/components/Flags/nz.mjs.map +1 -1
  323. package/dist/esm/components/Flags/om.mjs +102 -101
  324. package/dist/esm/components/Flags/om.mjs.map +1 -1
  325. package/dist/esm/components/Flags/pa.mjs +9 -8
  326. package/dist/esm/components/Flags/pa.mjs.map +1 -1
  327. package/dist/esm/components/Flags/pe.mjs +5 -4
  328. package/dist/esm/components/Flags/pe.mjs.map +1 -1
  329. package/dist/esm/components/Flags/ph.mjs +9 -6
  330. package/dist/esm/components/Flags/ph.mjs.map +1 -1
  331. package/dist/esm/components/Flags/pk.mjs +8 -7
  332. package/dist/esm/components/Flags/pk.mjs.map +1 -1
  333. package/dist/esm/components/Flags/pl.mjs +3 -3
  334. package/dist/esm/components/Flags/pl.mjs.map +1 -1
  335. package/dist/esm/components/Flags/pr.mjs +9 -8
  336. package/dist/esm/components/Flags/pr.mjs.map +1 -1
  337. package/dist/esm/components/Flags/ps.mjs +10 -9
  338. package/dist/esm/components/Flags/ps.mjs.map +1 -1
  339. package/dist/esm/components/Flags/pt.mjs +34 -31
  340. package/dist/esm/components/Flags/pt.mjs.map +1 -1
  341. package/dist/esm/components/Flags/py.mjs +17 -11
  342. package/dist/esm/components/Flags/py.mjs.map +1 -1
  343. package/dist/esm/components/Flags/qa.mjs +5 -4
  344. package/dist/esm/components/Flags/qa.mjs.map +1 -1
  345. package/dist/esm/components/Flags/ro.mjs +5 -5
  346. package/dist/esm/components/Flags/ro.mjs.map +1 -1
  347. package/dist/esm/components/Flags/rs.mjs +259 -258
  348. package/dist/esm/components/Flags/rs.mjs.map +1 -1
  349. package/dist/esm/components/Flags/ru.mjs +7 -5
  350. package/dist/esm/components/Flags/ru.mjs.map +1 -1
  351. package/dist/esm/components/Flags/sa.mjs +21 -20
  352. package/dist/esm/components/Flags/sa.mjs.map +1 -1
  353. package/dist/esm/components/Flags/sd.mjs +9 -8
  354. package/dist/esm/components/Flags/sd.mjs.map +1 -1
  355. package/dist/esm/components/Flags/se.mjs +5 -4
  356. package/dist/esm/components/Flags/se.mjs.map +1 -1
  357. package/dist/esm/components/Flags/sg.mjs +9 -8
  358. package/dist/esm/components/Flags/sg.mjs.map +1 -1
  359. package/dist/esm/components/Flags/si.mjs +14 -13
  360. package/dist/esm/components/Flags/si.mjs.map +1 -1
  361. package/dist/esm/components/Flags/sk.mjs +15 -9
  362. package/dist/esm/components/Flags/sk.mjs.map +1 -1
  363. package/dist/esm/components/Flags/so.mjs +7 -6
  364. package/dist/esm/components/Flags/so.mjs.map +1 -1
  365. package/dist/esm/components/Flags/st.mjs +17 -13
  366. package/dist/esm/components/Flags/st.mjs.map +1 -1
  367. package/dist/esm/components/Flags/sv.mjs +538 -522
  368. package/dist/esm/components/Flags/sv.mjs.map +1 -1
  369. package/dist/esm/components/Flags/sy.mjs +9 -6
  370. package/dist/esm/components/Flags/sy.mjs.map +1 -1
  371. package/dist/esm/components/Flags/td.mjs +4 -4
  372. package/dist/esm/components/Flags/td.mjs.map +1 -1
  373. package/dist/esm/components/Flags/th.mjs +4 -4
  374. package/dist/esm/components/Flags/th.mjs.map +1 -1
  375. package/dist/esm/components/Flags/tl.mjs +9 -8
  376. package/dist/esm/components/Flags/tl.mjs.map +1 -1
  377. package/dist/esm/components/Flags/tn.mjs +5 -4
  378. package/dist/esm/components/Flags/tn.mjs.map +1 -1
  379. package/dist/esm/components/Flags/tr.mjs +5 -5
  380. package/dist/esm/components/Flags/tr.mjs.map +1 -1
  381. package/dist/esm/components/Flags/tt.mjs +7 -5
  382. package/dist/esm/components/Flags/tt.mjs.map +1 -1
  383. package/dist/esm/components/Flags/tw.mjs +7 -6
  384. package/dist/esm/components/Flags/tw.mjs.map +1 -1
  385. package/dist/esm/components/Flags/tz.mjs +9 -8
  386. package/dist/esm/components/Flags/tz.mjs.map +1 -1
  387. package/dist/esm/components/Flags/ua.mjs +4 -4
  388. package/dist/esm/components/Flags/ua.mjs.map +1 -1
  389. package/dist/esm/components/Flags/ug.mjs +26 -25
  390. package/dist/esm/components/Flags/ug.mjs.map +1 -1
  391. package/dist/esm/components/Flags/us.mjs +12 -8
  392. package/dist/esm/components/Flags/us.mjs.map +1 -1
  393. package/dist/esm/components/Flags/uy.mjs +15 -12
  394. package/dist/esm/components/Flags/uy.mjs.map +1 -1
  395. package/dist/esm/components/Flags/uz.mjs +27 -21
  396. package/dist/esm/components/Flags/uz.mjs.map +1 -1
  397. package/dist/esm/components/Flags/ve.mjs +21 -16
  398. package/dist/esm/components/Flags/ve.mjs.map +1 -1
  399. package/dist/esm/components/Flags/vn.mjs +7 -6
  400. package/dist/esm/components/Flags/vn.mjs.map +1 -1
  401. package/dist/esm/components/Flags/xx.mjs +5 -4
  402. package/dist/esm/components/Flags/xx.mjs.map +1 -1
  403. package/dist/esm/components/Flags/ye.mjs +5 -5
  404. package/dist/esm/components/Flags/ye.mjs.map +1 -1
  405. package/dist/esm/components/Flags/za.mjs +12 -11
  406. package/dist/esm/components/Flags/za.mjs.map +1 -1
  407. package/dist/esm/components/Flags/zw.mjs +16 -15
  408. package/dist/esm/components/Flags/zw.mjs.map +1 -1
  409. package/dist/esm/components/Footer/index.mjs.map +1 -1
  410. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  411. package/dist/esm/components/Form/FormControl.mjs.map +1 -1
  412. package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
  413. package/dist/esm/components/Form/FormField.mjs +2 -1
  414. package/dist/esm/components/Form/FormField.mjs.map +1 -1
  415. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  416. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  417. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  418. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  419. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  420. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs.map +1 -1
  421. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs.map +1 -1
  422. package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
  423. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  424. package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
  425. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  426. package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
  427. package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
  428. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
  429. package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
  430. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  431. package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
  432. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  433. package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  434. package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
  435. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  436. package/dist/esm/components/Headers/index.mjs.map +1 -1
  437. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  438. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  439. package/dist/esm/components/IDE/Code.mjs +1 -1
  440. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  441. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  442. package/dist/esm/components/IDE/CodeBlockHighlight.mjs.map +1 -1
  443. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  444. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  445. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  446. package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
  447. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  448. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  449. package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
  450. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  451. package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
  452. package/dist/esm/components/IDE/IDE.mjs +2 -1
  453. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  454. package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
  455. package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
  456. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  457. package/dist/esm/components/IDE/code.content.mjs.map +1 -1
  458. package/dist/esm/components/IDE/codeTransformer.mjs +7 -4
  459. package/dist/esm/components/IDE/codeTransformer.mjs.map +1 -1
  460. package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
  461. package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
  462. package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
  463. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  464. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  465. package/dist/esm/components/Input/Input.mjs.map +1 -1
  466. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  467. package/dist/esm/components/Input/OTPInput.mjs +2 -1
  468. package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
  469. package/dist/esm/components/Input/Radio.mjs.map +1 -1
  470. package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
  471. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  472. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs +2 -1
  473. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
  474. package/dist/esm/components/Label/index.mjs.map +1 -1
  475. package/dist/esm/components/LanguageBackground/LanguageBackground.mjs.map +1 -1
  476. package/dist/esm/components/LanguageBackground/LanguageSection.mjs.map +1 -1
  477. package/dist/esm/components/Link/Link.mjs.map +1 -1
  478. package/dist/esm/components/Loader/index.content.mjs.map +1 -1
  479. package/dist/esm/components/Loader/index.mjs.map +1 -1
  480. package/dist/esm/components/Loader/spinner.mjs.map +1 -1
  481. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  482. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  483. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
  484. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +4 -2
  485. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  486. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  487. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  488. package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
  489. package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
  490. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  491. package/dist/esm/components/MarkDownRender/MarkDownIframe.mjs.map +1 -1
  492. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -1
  493. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  494. package/dist/esm/components/MarkdownEditor/MarkdownEditor.mjs +2 -3
  495. package/dist/esm/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
  496. package/dist/esm/components/MarkdownEditor/extensions.mjs.map +1 -1
  497. package/dist/esm/components/MarkdownEditor/generative/AICompletionCommands.mjs.map +1 -1
  498. package/dist/esm/components/MarkdownEditor/generative/AISelector.mjs +2 -1
  499. package/dist/esm/components/MarkdownEditor/generative/AISelector.mjs.map +1 -1
  500. package/dist/esm/components/MarkdownEditor/generative/AISelectorCommands.mjs.map +1 -1
  501. package/dist/esm/components/MarkdownEditor/generative/GenerativeMenuSwitch.mjs.map +1 -1
  502. package/dist/esm/components/MarkdownEditor/generative/useAICompletion.mjs.map +1 -1
  503. package/dist/esm/components/MarkdownEditor/imageUpload.mjs +2 -1
  504. package/dist/esm/components/MarkdownEditor/imageUpload.mjs.map +1 -1
  505. package/dist/esm/components/MarkdownEditor/markdownEditor.content.mjs +118 -59
  506. package/dist/esm/components/MarkdownEditor/markdownEditor.content.mjs.map +1 -1
  507. package/dist/esm/components/MarkdownEditor/novel/components/editor-bubble-item.mjs.map +1 -1
  508. package/dist/esm/components/MarkdownEditor/novel/components/editor-bubble.mjs.map +1 -1
  509. package/dist/esm/components/MarkdownEditor/novel/components/editor-command-item.mjs.map +1 -1
  510. package/dist/esm/components/MarkdownEditor/novel/components/editor-command.mjs.map +1 -1
  511. package/dist/esm/components/MarkdownEditor/novel/components/editor.mjs.map +1 -1
  512. package/dist/esm/components/MarkdownEditor/novel/extensions/ai-highlight.mjs.map +1 -1
  513. package/dist/esm/components/MarkdownEditor/novel/extensions/custom-keymap.mjs.map +1 -1
  514. package/dist/esm/components/MarkdownEditor/novel/extensions/image-resizer.mjs +91 -37
  515. package/dist/esm/components/MarkdownEditor/novel/extensions/image-resizer.mjs.map +1 -1
  516. package/dist/esm/components/MarkdownEditor/novel/extensions/index.mjs.map +1 -1
  517. package/dist/esm/components/MarkdownEditor/novel/extensions/slash-command.mjs +49 -13
  518. package/dist/esm/components/MarkdownEditor/novel/extensions/slash-command.mjs.map +1 -1
  519. package/dist/esm/components/MarkdownEditor/novel/extensions/updated-image.mjs.map +1 -1
  520. package/dist/esm/components/MarkdownEditor/novel/plugins/upload-images.mjs.map +1 -1
  521. package/dist/esm/components/MarkdownEditor/novel/utils/atoms.mjs.map +1 -1
  522. package/dist/esm/components/MarkdownEditor/novel/utils/index.mjs.map +1 -1
  523. package/dist/esm/components/MarkdownEditor/selectors/ColorSelector.mjs.map +1 -1
  524. package/dist/esm/components/MarkdownEditor/selectors/LinkSelector.mjs.map +1 -1
  525. package/dist/esm/components/MarkdownEditor/selectors/NodeSelector.mjs.map +1 -1
  526. package/dist/esm/components/MarkdownEditor/selectors/TextButtons.mjs.map +1 -1
  527. package/dist/esm/components/MarkdownEditor/slashCommand.mjs.map +1 -1
  528. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  529. package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
  530. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  531. package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
  532. package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
  533. package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
  534. package/dist/esm/components/Navbar/index.mjs.map +1 -1
  535. package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
  536. package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
  537. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  538. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  539. package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
  540. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  541. package/dist/esm/components/Pattern/GridDistortionPattern.mjs +2 -1
  542. package/dist/esm/components/Pattern/GridDistortionPattern.mjs.map +1 -1
  543. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  544. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  545. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  546. package/dist/esm/components/Popover/static.mjs.map +1 -1
  547. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  548. package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
  549. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs.map +1 -1
  550. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
  551. package/dist/esm/components/RightDrawer/useRightDrawer.mjs.map +1 -1
  552. package/dist/esm/components/Select/Multiselect.mjs +26 -24
  553. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  554. package/dist/esm/components/Select/Select.mjs.map +1 -1
  555. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
  556. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
  557. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
  558. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
  559. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
  560. package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
  561. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
  562. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  563. package/dist/esm/components/Steps/index.mjs.map +1 -1
  564. package/dist/esm/components/Steps/steps.content.mjs.map +1 -1
  565. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs.map +1 -1
  566. package/dist/esm/components/SwitchSelector/VerticalSwitchSelector.mjs.map +1 -1
  567. package/dist/esm/components/SwitchSelector/useSwitchSelector.mjs.map +1 -1
  568. package/dist/esm/components/Tab/Tab.mjs +4 -2
  569. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  570. package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
  571. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  572. package/dist/esm/components/Table/ExpandButton.mjs.map +1 -1
  573. package/dist/esm/components/Table/SmartTable.mjs.map +1 -1
  574. package/dist/esm/components/Table/Table.mjs.map +1 -1
  575. package/dist/esm/components/Table/TableElements.mjs.map +1 -1
  576. package/dist/esm/components/Table/table.content.mjs.map +1 -1
  577. package/dist/esm/components/Table/useTableWidths.mjs.map +1 -1
  578. package/dist/esm/components/Tag/index.mjs.map +1 -1
  579. package/dist/esm/components/TechLogo/TechLogo.mjs.map +1 -1
  580. package/dist/esm/components/TechLogo/logos/Adonis.mjs.map +1 -1
  581. package/dist/esm/components/TechLogo/logos/Angular.mjs.map +1 -1
  582. package/dist/esm/components/TechLogo/logos/Anthropic.mjs.map +1 -1
  583. package/dist/esm/components/TechLogo/logos/Astro.mjs.map +1 -1
  584. package/dist/esm/components/TechLogo/logos/Atlassian.mjs.map +1 -1
  585. package/dist/esm/components/TechLogo/logos/Bitbucket.mjs.map +1 -1
  586. package/dist/esm/components/TechLogo/logos/ChatGPT.mjs.map +1 -1
  587. package/dist/esm/components/TechLogo/logos/Claude.mjs.map +1 -1
  588. package/dist/esm/components/TechLogo/logos/DeepSeek.mjs.map +1 -1
  589. package/dist/esm/components/TechLogo/logos/Express.mjs.map +1 -1
  590. package/dist/esm/components/TechLogo/logos/Fastify.mjs.map +1 -1
  591. package/dist/esm/components/TechLogo/logos/Gemini.mjs.map +1 -1
  592. package/dist/esm/components/TechLogo/logos/GitHub.mjs.map +1 -1
  593. package/dist/esm/components/TechLogo/logos/GitLab.mjs.map +1 -1
  594. package/dist/esm/components/TechLogo/logos/Google.mjs.map +1 -1
  595. package/dist/esm/components/TechLogo/logos/GoogleAI.mjs.map +1 -1
  596. package/dist/esm/components/TechLogo/logos/Grok.mjs.map +1 -1
  597. package/dist/esm/components/TechLogo/logos/Hono.mjs.map +1 -1
  598. package/dist/esm/components/TechLogo/logos/LinkedIn.mjs.map +1 -1
  599. package/dist/esm/components/TechLogo/logos/Lit.mjs.map +1 -1
  600. package/dist/esm/components/TechLogo/logos/Lynx.mjs.map +1 -1
  601. package/dist/esm/components/TechLogo/logos/Microsoft.mjs.map +1 -1
  602. package/dist/esm/components/TechLogo/logos/Mistral.mjs.map +1 -1
  603. package/dist/esm/components/TechLogo/logos/NestJS.mjs.map +1 -1
  604. package/dist/esm/components/TechLogo/logos/Nextjs.mjs.map +1 -1
  605. package/dist/esm/components/TechLogo/logos/Node.mjs.map +1 -1
  606. package/dist/esm/components/TechLogo/logos/Nuxt.mjs.map +1 -1
  607. package/dist/esm/components/TechLogo/logos/Ollama.mjs.map +1 -1
  608. package/dist/esm/components/TechLogo/logos/OpenAI.mjs.map +1 -1
  609. package/dist/esm/components/TechLogo/logos/Perplexity.mjs.map +1 -1
  610. package/dist/esm/components/TechLogo/logos/Preact.mjs.map +1 -1
  611. package/dist/esm/components/TechLogo/logos/Reactjs.mjs.map +1 -1
  612. package/dist/esm/components/TechLogo/logos/Solid.mjs.map +1 -1
  613. package/dist/esm/components/TechLogo/logos/Svelte.mjs.map +1 -1
  614. package/dist/esm/components/TechLogo/logos/Tanstack.mjs.map +1 -1
  615. package/dist/esm/components/TechLogo/logos/Vanilla.mjs.map +1 -1
  616. package/dist/esm/components/TechLogo/logos/Vitejs.mjs.map +1 -1
  617. package/dist/esm/components/TechLogo/logos/Vuejs.mjs.map +1 -1
  618. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  619. package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
  620. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +1 -2
  621. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  622. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +2 -1
  623. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  624. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs +30 -15
  625. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs.map +1 -1
  626. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  627. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  628. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  629. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  630. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  631. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  632. package/dist/esm/components/WithResizer/index.mjs +3 -2
  633. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  634. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  635. package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
  636. package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
  637. package/dist/esm/hooks/useHorizontalSwipe.mjs +2 -1
  638. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  639. package/dist/esm/hooks/useIsDarkMode.mjs +2 -1
  640. package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
  641. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  642. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  643. package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
  644. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  645. package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
  646. package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
  647. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  648. package/dist/esm/hooks/useScrollDetection.mjs +5 -2
  649. package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
  650. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  651. package/dist/esm/hooks/useSearch.mjs.map +1 -1
  652. package/dist/esm/libs/auth.mjs.map +1 -1
  653. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  654. package/dist/esm/routes.mjs +7 -1
  655. package/dist/esm/routes.mjs.map +1 -1
  656. package/dist/esm/structured-data/buildAuthorJsonLd.mjs.map +1 -1
  657. package/dist/esm/structured-data/buildBreadcrumbsJsonLd.mjs.map +1 -1
  658. package/dist/esm/structured-data/buildCreativeWorkJsonLd.mjs.map +1 -1
  659. package/dist/esm/structured-data/buildFAQPageJsonLd.mjs.map +1 -1
  660. package/dist/esm/structured-data/buildOrganizationJsonLd.mjs.map +1 -1
  661. package/dist/esm/structured-data/buildProductJsonLd.mjs.map +1 -1
  662. package/dist/esm/structured-data/buildSoftwareApplicationJsonLd.mjs +23 -4
  663. package/dist/esm/structured-data/buildSoftwareApplicationJsonLd.mjs.map +1 -1
  664. package/dist/esm/structured-data/buildWebsiteJsonLd.mjs.map +1 -1
  665. package/dist/esm/tailwind.config.mjs.map +1 -1
  666. package/dist/types/api/hooks/ai.d.ts +0 -1
  667. package/dist/types/api/hooks/ai.d.ts.map +1 -1
  668. package/dist/types/api/hooks/analytics.d.ts +27 -0
  669. package/dist/types/api/hooks/analytics.d.ts.map +1 -0
  670. package/dist/types/api/hooks/asset.d.ts +0 -1
  671. package/dist/types/api/hooks/asset.d.ts.map +1 -1
  672. package/dist/types/api/hooks/audit.d.ts +0 -1
  673. package/dist/types/api/hooks/audit.d.ts.map +1 -1
  674. package/dist/types/api/hooks/auth.d.ts.map +1 -1
  675. package/dist/types/api/hooks/bitbucket.d.ts.map +1 -1
  676. package/dist/types/api/hooks/dictionary.d.ts +2 -3
  677. package/dist/types/api/hooks/dictionary.d.ts.map +1 -1
  678. package/dist/types/api/hooks/discussions.d.ts +0 -1
  679. package/dist/types/api/hooks/discussions.d.ts.map +1 -1
  680. package/dist/types/api/hooks/editor.d.ts.map +1 -1
  681. package/dist/types/api/hooks/environment.d.ts.map +1 -1
  682. package/dist/types/api/hooks/github.d.ts +0 -1
  683. package/dist/types/api/hooks/github.d.ts.map +1 -1
  684. package/dist/types/api/hooks/gitlab.d.ts.map +1 -1
  685. package/dist/types/api/hooks/newsletter.d.ts.map +1 -1
  686. package/dist/types/api/hooks/organization.d.ts +2 -2
  687. package/dist/types/api/hooks/organization.d.ts.map +1 -1
  688. package/dist/types/api/hooks/project.d.ts +0 -1
  689. package/dist/types/api/hooks/project.d.ts.map +1 -1
  690. package/dist/types/api/hooks/reviewer.d.ts +2 -3
  691. package/dist/types/api/hooks/reviewer.d.ts.map +1 -1
  692. package/dist/types/api/hooks/search.d.ts +0 -1
  693. package/dist/types/api/hooks/search.d.ts.map +1 -1
  694. package/dist/types/api/hooks/showcaseProject.d.ts +1 -2
  695. package/dist/types/api/hooks/showcaseProject.d.ts.map +1 -1
  696. package/dist/types/api/hooks/stripe.d.ts +0 -1
  697. package/dist/types/api/hooks/stripe.d.ts.map +1 -1
  698. package/dist/types/api/hooks/tag.d.ts +0 -1
  699. package/dist/types/api/hooks/tag.d.ts.map +1 -1
  700. package/dist/types/api/hooks/translate.d.ts.map +1 -1
  701. package/dist/types/api/hooks/user.d.ts +0 -1
  702. package/dist/types/api/hooks/user.d.ts.map +1 -1
  703. package/dist/types/api/hooks/utils.d.ts +1 -6
  704. package/dist/types/api/hooks/utils.d.ts.map +1 -1
  705. package/dist/types/api/index.d.ts +5 -3
  706. package/dist/types/api/useAuth/useAuth.d.ts +1 -5
  707. package/dist/types/api/useAuth/useAuth.d.ts.map +1 -1
  708. package/dist/types/api/useAuth/useOAuth2.d.ts +1 -2
  709. package/dist/types/api/useAuth/useOAuth2.d.ts.map +1 -1
  710. package/dist/types/api/useAuth/useSession.d.ts +7 -4
  711. package/dist/types/api/useAuth/useSession.d.ts.map +1 -1
  712. package/dist/types/api/useIntlayerAPI.d.ts +44 -290
  713. package/dist/types/api/useIntlayerAPI.d.ts.map +1 -1
  714. package/dist/types/api/useUser/index.d.ts +1 -3
  715. package/dist/types/api/useUser/index.d.ts.map +1 -1
  716. package/dist/types/components/Accordion/Accordion.d.ts +1 -1
  717. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
  718. package/dist/types/components/Avatar/image.d.ts.map +1 -1
  719. package/dist/types/components/Avatar/index.d.ts +0 -1
  720. package/dist/types/components/Avatar/index.d.ts.map +1 -1
  721. package/dist/types/components/Badge/index.d.ts +25 -16
  722. package/dist/types/components/Badge/index.d.ts.map +1 -1
  723. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +1 -3
  724. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  725. package/dist/types/components/Breadcrumb/index.d.ts +4 -5
  726. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
  727. package/dist/types/components/Browser/Browser.content.d.ts +13 -15
  728. package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
  729. package/dist/types/components/Browser/Browser.d.ts +1 -14
  730. package/dist/types/components/Browser/Browser.d.ts.map +1 -1
  731. package/dist/types/components/Browser/extractUrlFromSitemap.d.ts.map +1 -1
  732. package/dist/types/components/Button/Button.d.ts +5 -7
  733. package/dist/types/components/Button/Button.d.ts.map +1 -1
  734. package/dist/types/components/Carousel/index.content.d.ts +3 -5
  735. package/dist/types/components/Carousel/index.content.d.ts.map +1 -1
  736. package/dist/types/components/Carousel/index.d.ts +0 -1
  737. package/dist/types/components/Carousel/index.d.ts.map +1 -1
  738. package/dist/types/components/ClickOutsideDiv/index.d.ts +0 -1
  739. package/dist/types/components/ClickOutsideDiv/index.d.ts.map +1 -1
  740. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +4 -6
  741. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
  742. package/dist/types/components/Command/index.d.ts +21 -25
  743. package/dist/types/components/Command/index.d.ts.map +1 -1
  744. package/dist/types/components/Container/index.d.ts +11 -12
  745. package/dist/types/components/Container/index.d.ts.map +1 -1
  746. package/dist/types/components/ContentEditor/ContentEditor.d.ts +5 -3
  747. package/dist/types/components/ContentEditor/ContentEditor.d.ts.map +1 -1
  748. package/dist/types/components/ContentEditor/ContentEditorInput.d.ts +10 -5
  749. package/dist/types/components/ContentEditor/ContentEditorInput.d.ts.map +1 -1
  750. package/dist/types/components/ContentEditor/ContentEditorTextArea.d.ts +10 -5
  751. package/dist/types/components/ContentEditor/ContentEditorTextArea.d.ts.map +1 -1
  752. package/dist/types/components/ContentSelector/ContentSelector.d.ts +0 -1
  753. package/dist/types/components/ContentSelector/ContentSelector.d.ts.map +1 -1
  754. package/dist/types/components/CopyButton/CopyButton.content.d.ts +1 -3
  755. package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
  756. package/dist/types/components/CopyButton/index.d.ts +1 -1
  757. package/dist/types/components/CopyButton/index.d.ts.map +1 -1
  758. package/dist/types/components/CopyToClipboard/index.d.ts +0 -1
  759. package/dist/types/components/CopyToClipboard/index.d.ts.map +1 -1
  760. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts +0 -1
  761. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  762. package/dist/types/components/DictionaryEditor/ItemLayout.d.ts +0 -1
  763. package/dist/types/components/DictionaryEditor/ItemLayout.d.ts.map +1 -1
  764. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +0 -1
  765. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
  766. package/dist/types/components/DictionaryEditor/NodeWrapper/BooleanWrapper.d.ts +0 -1
  767. package/dist/types/components/DictionaryEditor/NodeWrapper/BooleanWrapper.d.ts.map +1 -1
  768. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -2
  769. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts.map +1 -1
  770. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -2
  771. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts.map +1 -1
  772. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts +0 -1
  773. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
  774. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -2
  775. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  776. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -2
  777. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts.map +1 -1
  778. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -2
  779. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  780. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +0 -1
  781. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  782. package/dist/types/components/DictionaryEditor/NodeWrapper/NumberWrapper.d.ts +0 -1
  783. package/dist/types/components/DictionaryEditor/NodeWrapper/NumberWrapper.d.ts.map +1 -1
  784. package/dist/types/components/DictionaryEditor/NodeWrapper/PluralWrapper.d.ts +1 -2
  785. package/dist/types/components/DictionaryEditor/NodeWrapper/PluralWrapper.d.ts.map +1 -1
  786. package/dist/types/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts +0 -1
  787. package/dist/types/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts.map +1 -1
  788. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -2
  789. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts.map +1 -1
  790. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts +0 -1
  791. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  792. package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts +0 -1
  793. package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts.map +1 -1
  794. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.d.ts +2 -6
  795. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.d.ts.map +1 -1
  796. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +7 -5
  797. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  798. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/object.d.ts.map +1 -1
  799. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts +0 -1
  800. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  801. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +18 -20
  802. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  803. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +4 -6
  804. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  805. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.d.ts +1 -2
  806. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.d.ts.map +1 -1
  807. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +0 -1
  808. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  809. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +52 -54
  810. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  811. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +16 -18
  812. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  813. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts +3 -4
  814. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts.map +1 -1
  815. package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +0 -1
  816. package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  817. package/dist/types/components/DictionaryFieldEditor/EnumKeyInput.d.ts +0 -1
  818. package/dist/types/components/DictionaryFieldEditor/EnumKeyInput.d.ts.map +1 -1
  819. package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts +0 -1
  820. package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts.map +1 -1
  821. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +1 -1
  822. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  823. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts +0 -1
  824. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  825. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +10 -12
  826. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  827. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts +0 -1
  828. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  829. package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +0 -1
  830. package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  831. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +16 -18
  832. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  833. package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts +0 -1
  834. package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts.map +1 -1
  835. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts +0 -1
  836. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  837. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +4 -6
  838. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts.map +1 -1
  839. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.d.ts +1 -2
  840. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.d.ts.map +1 -1
  841. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.d.ts +0 -1
  842. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.d.ts.map +1 -1
  843. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +3 -5
  844. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  845. package/dist/types/components/DictionaryFieldEditor/contentEditor.content.d.ts +3 -5
  846. package/dist/types/components/DictionaryFieldEditor/contentEditor.content.d.ts.map +1 -1
  847. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +2 -4
  848. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts.map +1 -1
  849. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts +0 -1
  850. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
  851. package/dist/types/components/DictionaryFieldEditor/index.d.ts +1 -0
  852. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +16 -18
  853. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  854. package/dist/types/components/DropDown/index.d.ts +1 -1
  855. package/dist/types/components/DropDown/index.d.ts.map +1 -1
  856. package/dist/types/components/EditableField/EditableFieldInput.d.ts +4 -2
  857. package/dist/types/components/EditableField/EditableFieldInput.d.ts.map +1 -1
  858. package/dist/types/components/EditableField/EditableFieldLayout.d.ts +0 -1
  859. package/dist/types/components/EditableField/EditableFieldLayout.d.ts.map +1 -1
  860. package/dist/types/components/EditableField/EditableFieldTextArea.d.ts +4 -2
  861. package/dist/types/components/EditableField/EditableFieldTextArea.d.ts.map +1 -1
  862. package/dist/types/components/ExpandCollapse/ExpandCollapse.d.ts +7 -4
  863. package/dist/types/components/ExpandCollapse/ExpandCollapse.d.ts.map +1 -1
  864. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +1 -3
  865. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts.map +1 -1
  866. package/dist/types/components/Flags/Flag.d.ts +0 -1
  867. package/dist/types/components/Flags/Flag.d.ts.map +1 -1
  868. package/dist/types/components/Flags/flags.d.ts +604 -604
  869. package/dist/types/components/Flags/flags.d.ts.map +1 -1
  870. package/dist/types/components/Footer/index.d.ts +13 -6
  871. package/dist/types/components/Footer/index.d.ts.map +1 -1
  872. package/dist/types/components/Form/Form.d.ts +2 -25
  873. package/dist/types/components/Form/Form.d.ts.map +1 -1
  874. package/dist/types/components/Form/FormBase.d.ts +3 -16
  875. package/dist/types/components/Form/FormBase.d.ts.map +1 -1
  876. package/dist/types/components/Form/FormControl.d.ts +0 -1
  877. package/dist/types/components/Form/FormControl.d.ts.map +1 -1
  878. package/dist/types/components/Form/FormDescription.d.ts +0 -1
  879. package/dist/types/components/Form/FormDescription.d.ts.map +1 -1
  880. package/dist/types/components/Form/FormField.d.ts +2 -7
  881. package/dist/types/components/Form/FormField.d.ts.map +1 -1
  882. package/dist/types/components/Form/FormItem.d.ts +1 -3
  883. package/dist/types/components/Form/FormItem.d.ts.map +1 -1
  884. package/dist/types/components/Form/FormLabel.d.ts +0 -1
  885. package/dist/types/components/Form/FormLabel.d.ts.map +1 -1
  886. package/dist/types/components/Form/FormMessage.d.ts +0 -1
  887. package/dist/types/components/Form/FormMessage.d.ts.map +1 -1
  888. package/dist/types/components/Form/elements/AutoSizeTextAreaElement.d.ts +1 -2
  889. package/dist/types/components/Form/elements/AutoSizeTextAreaElement.d.ts.map +1 -1
  890. package/dist/types/components/Form/elements/CheckboxElement.d.ts +2 -2
  891. package/dist/types/components/Form/elements/CheckboxElement.d.ts.map +1 -1
  892. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +2 -4
  893. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
  894. package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts +2 -4
  895. package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
  896. package/dist/types/components/Form/elements/FormElement.d.ts +2 -3
  897. package/dist/types/components/Form/elements/FormElement.d.ts.map +1 -1
  898. package/dist/types/components/Form/elements/FormElementWrapper.d.ts +0 -1
  899. package/dist/types/components/Form/elements/FormElementWrapper.d.ts.map +1 -1
  900. package/dist/types/components/Form/elements/InputElement.d.ts +2 -2
  901. package/dist/types/components/Form/elements/InputElement.d.ts.map +1 -1
  902. package/dist/types/components/Form/elements/InputPasswordElement.d.ts +1 -2
  903. package/dist/types/components/Form/elements/InputPasswordElement.d.ts.map +1 -1
  904. package/dist/types/components/Form/elements/MultiselectElement.d.ts +2 -13
  905. package/dist/types/components/Form/elements/MultiselectElement.d.ts.map +1 -1
  906. package/dist/types/components/Form/elements/OTPElement.d.ts +4 -16
  907. package/dist/types/components/Form/elements/OTPElement.d.ts.map +1 -1
  908. package/dist/types/components/Form/elements/SearchInputElement.d.ts +2 -2
  909. package/dist/types/components/Form/elements/SearchInputElement.d.ts.map +1 -1
  910. package/dist/types/components/Form/elements/SelectElement.d.ts +2 -13
  911. package/dist/types/components/Form/elements/SelectElement.d.ts.map +1 -1
  912. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +3 -13
  913. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
  914. package/dist/types/components/Form/elements/TextAreaElement.d.ts +1 -2
  915. package/dist/types/components/Form/elements/TextAreaElement.d.ts.map +1 -1
  916. package/dist/types/components/Form/index.d.ts +3 -1
  917. package/dist/types/components/Form/layout/FormItemLayout.d.ts +0 -1
  918. package/dist/types/components/Form/layout/FormItemLayout.d.ts.map +1 -1
  919. package/dist/types/components/Form/layout/FormLabelLayout.d.ts +0 -1
  920. package/dist/types/components/Form/layout/FormLabelLayout.d.ts.map +1 -1
  921. package/dist/types/components/Form/layout/RequiredStar.d.ts +0 -1
  922. package/dist/types/components/Form/layout/RequiredStar.d.ts.map +1 -1
  923. package/dist/types/components/HTMLRender/HTMLRender.d.ts +0 -1
  924. package/dist/types/components/HTMLRender/HTMLRender.d.ts.map +1 -1
  925. package/dist/types/components/Headers/index.d.ts +0 -1
  926. package/dist/types/components/Headers/index.d.ts.map +1 -1
  927. package/dist/types/components/HeightResizer/index.d.ts +0 -1
  928. package/dist/types/components/HeightResizer/index.d.ts.map +1 -1
  929. package/dist/types/components/HideShow/index.d.ts +0 -1
  930. package/dist/types/components/HideShow/index.d.ts.map +1 -1
  931. package/dist/types/components/IDE/Code.d.ts +2 -2
  932. package/dist/types/components/IDE/Code.d.ts.map +1 -1
  933. package/dist/types/components/IDE/CodeBlockClient.d.ts +0 -1
  934. package/dist/types/components/IDE/CodeBlockClient.d.ts.map +1 -1
  935. package/dist/types/components/IDE/CodeBlockHighlight.d.ts +6 -10
  936. package/dist/types/components/IDE/CodeBlockHighlight.d.ts.map +1 -1
  937. package/dist/types/components/IDE/CodeBlockServer.d.ts +0 -1
  938. package/dist/types/components/IDE/CodeBlockServer.d.ts.map +1 -1
  939. package/dist/types/components/IDE/CodeBlockShiki.d.ts +0 -1
  940. package/dist/types/components/IDE/CodeBlockShiki.d.ts.map +1 -1
  941. package/dist/types/components/IDE/CodeConditionalRenderer.d.ts +0 -1
  942. package/dist/types/components/IDE/CodeConditionalRenderer.d.ts.map +1 -1
  943. package/dist/types/components/IDE/CodeContext.d.ts +1 -3
  944. package/dist/types/components/IDE/CodeContext.d.ts.map +1 -1
  945. package/dist/types/components/IDE/CodeFormatSelector.d.ts +2 -2
  946. package/dist/types/components/IDE/CodeFormatSelector.d.ts.map +1 -1
  947. package/dist/types/components/IDE/ContentDeclarationFormatSelector.d.ts +0 -1
  948. package/dist/types/components/IDE/ContentDeclarationFormatSelector.d.ts.map +1 -1
  949. package/dist/types/components/IDE/CopyCode.d.ts +2 -2
  950. package/dist/types/components/IDE/CopyCode.d.ts.map +1 -1
  951. package/dist/types/components/IDE/FileList.d.ts +0 -1
  952. package/dist/types/components/IDE/FileList.d.ts.map +1 -1
  953. package/dist/types/components/IDE/FileTree.d.ts +0 -1
  954. package/dist/types/components/IDE/FileTree.d.ts.map +1 -1
  955. package/dist/types/components/IDE/IDE.d.ts +0 -1
  956. package/dist/types/components/IDE/IDE.d.ts.map +1 -1
  957. package/dist/types/components/IDE/MarkDownRender.d.ts +0 -1
  958. package/dist/types/components/IDE/MarkDownRender.d.ts.map +1 -1
  959. package/dist/types/components/IDE/MonacoCode.d.ts +0 -1
  960. package/dist/types/components/IDE/MonacoCode.d.ts.map +1 -1
  961. package/dist/types/components/IDE/PackageManagerSelector.d.ts +0 -1
  962. package/dist/types/components/IDE/PackageManagerSelector.d.ts.map +1 -1
  963. package/dist/types/components/IDE/code.content.d.ts +2 -4
  964. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  965. package/dist/types/components/IDE/codeTransformer.d.ts.map +1 -1
  966. package/dist/types/components/IDE/copyCode.content.d.ts +2 -4
  967. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  968. package/dist/types/components/IDE/createFileTree.d.ts.map +1 -1
  969. package/dist/types/components/IDE/index.d.ts +1 -1
  970. package/dist/types/components/IDE/selectors.content.d.ts +6 -8
  971. package/dist/types/components/IDE/selectors.content.d.ts.map +1 -1
  972. package/dist/types/components/InformationTag/index.d.ts +0 -1
  973. package/dist/types/components/InformationTag/index.d.ts.map +1 -1
  974. package/dist/types/components/Input/Checkbox.d.ts +3 -5
  975. package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
  976. package/dist/types/components/Input/Input.d.ts +2 -4
  977. package/dist/types/components/Input/Input.d.ts.map +1 -1
  978. package/dist/types/components/Input/InputPassword.d.ts +0 -1
  979. package/dist/types/components/Input/InputPassword.d.ts.map +1 -1
  980. package/dist/types/components/Input/OTPInput.d.ts +7 -17
  981. package/dist/types/components/Input/OTPInput.d.ts.map +1 -1
  982. package/dist/types/components/Input/Radio.d.ts +3 -5
  983. package/dist/types/components/Input/Radio.d.ts.map +1 -1
  984. package/dist/types/components/Input/SearchInput.d.ts +1 -6
  985. package/dist/types/components/Input/SearchInput.d.ts.map +1 -1
  986. package/dist/types/components/KeyboardScreenAdapter/index.d.ts +0 -1
  987. package/dist/types/components/KeyboardScreenAdapter/index.d.ts.map +1 -1
  988. package/dist/types/components/KeyboardShortcut/KeyboardShortcut.d.ts +11 -6
  989. package/dist/types/components/KeyboardShortcut/KeyboardShortcut.d.ts.map +1 -1
  990. package/dist/types/components/Label/index.d.ts +0 -1
  991. package/dist/types/components/Label/index.d.ts.map +1 -1
  992. package/dist/types/components/LanguageBackground/LanguageBackground.d.ts +0 -1
  993. package/dist/types/components/LanguageBackground/LanguageBackground.d.ts.map +1 -1
  994. package/dist/types/components/LanguageBackground/LanguageSection.d.ts +0 -1
  995. package/dist/types/components/LanguageBackground/LanguageSection.d.ts.map +1 -1
  996. package/dist/types/components/Link/Link.d.ts +7 -12
  997. package/dist/types/components/Link/Link.d.ts.map +1 -1
  998. package/dist/types/components/Loader/index.content.d.ts +1 -3
  999. package/dist/types/components/Loader/index.content.d.ts.map +1 -1
  1000. package/dist/types/components/Loader/index.d.ts +3 -2
  1001. package/dist/types/components/Loader/index.d.ts.map +1 -1
  1002. package/dist/types/components/Loader/spinner.d.ts +3 -7
  1003. package/dist/types/components/Loader/spinner.d.ts.map +1 -1
  1004. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts +0 -1
  1005. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
  1006. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.d.ts +0 -1
  1007. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.d.ts.map +1 -1
  1008. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +8 -10
  1009. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  1010. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +0 -1
  1011. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  1012. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +6 -8
  1013. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  1014. package/dist/types/components/Logo/Logo.d.ts +0 -1
  1015. package/dist/types/components/Logo/Logo.d.ts.map +1 -1
  1016. package/dist/types/components/Logo/LogoTextOnly.d.ts +0 -1
  1017. package/dist/types/components/Logo/LogoTextOnly.d.ts.map +1 -1
  1018. package/dist/types/components/Logo/LogoWithText.d.ts +0 -1
  1019. package/dist/types/components/Logo/LogoWithText.d.ts.map +1 -1
  1020. package/dist/types/components/Logo/LogoWithTextBelow.d.ts +0 -1
  1021. package/dist/types/components/Logo/LogoWithTextBelow.d.ts.map +1 -1
  1022. package/dist/types/components/MarkDownRender/MarkDownIframe.d.ts +0 -1
  1023. package/dist/types/components/MarkDownRender/MarkDownIframe.d.ts.map +1 -1
  1024. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts +65 -116
  1025. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
  1026. package/dist/types/components/MarkDownRender/index.d.ts +1 -1
  1027. package/dist/types/components/MarkdownEditor/MarkdownEditor.d.ts +11 -6
  1028. package/dist/types/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  1029. package/dist/types/components/MarkdownEditor/extensions.d.ts.map +1 -1
  1030. package/dist/types/components/MarkdownEditor/generative/AICompletionCommands.d.ts +1 -6
  1031. package/dist/types/components/MarkdownEditor/generative/AICompletionCommands.d.ts.map +1 -1
  1032. package/dist/types/components/MarkdownEditor/generative/AISelector.d.ts +7 -10
  1033. package/dist/types/components/MarkdownEditor/generative/AISelector.d.ts.map +1 -1
  1034. package/dist/types/components/MarkdownEditor/generative/AISelectorCommands.d.ts +1 -5
  1035. package/dist/types/components/MarkdownEditor/generative/AISelectorCommands.d.ts.map +1 -1
  1036. package/dist/types/components/MarkdownEditor/generative/GenerativeMenuSwitch.d.ts +7 -12
  1037. package/dist/types/components/MarkdownEditor/generative/GenerativeMenuSwitch.d.ts.map +1 -1
  1038. package/dist/types/components/MarkdownEditor/generative/useAICompletion.d.ts +2 -1
  1039. package/dist/types/components/MarkdownEditor/generative/useAICompletion.d.ts.map +1 -1
  1040. package/dist/types/components/MarkdownEditor/imageUpload.d.ts +6 -7
  1041. package/dist/types/components/MarkdownEditor/imageUpload.d.ts.map +1 -1
  1042. package/dist/types/components/MarkdownEditor/markdownEditor.content.d.ts +118 -61
  1043. package/dist/types/components/MarkdownEditor/markdownEditor.content.d.ts.map +1 -1
  1044. package/dist/types/components/MarkdownEditor/novel/components/editor-bubble-item.d.ts +0 -1
  1045. package/dist/types/components/MarkdownEditor/novel/components/editor-bubble-item.d.ts.map +1 -1
  1046. package/dist/types/components/MarkdownEditor/novel/components/editor-bubble.d.ts +0 -1
  1047. package/dist/types/components/MarkdownEditor/novel/components/editor-bubble.d.ts.map +1 -1
  1048. package/dist/types/components/MarkdownEditor/novel/components/editor-command-item.d.ts +4 -9
  1049. package/dist/types/components/MarkdownEditor/novel/components/editor-command-item.d.ts.map +1 -1
  1050. package/dist/types/components/MarkdownEditor/novel/components/editor-command.d.ts +6 -10
  1051. package/dist/types/components/MarkdownEditor/novel/components/editor-command.d.ts.map +1 -1
  1052. package/dist/types/components/MarkdownEditor/novel/components/editor.d.ts +5 -2
  1053. package/dist/types/components/MarkdownEditor/novel/components/editor.d.ts.map +1 -1
  1054. package/dist/types/components/MarkdownEditor/novel/extensions/ai-highlight.d.ts +0 -1
  1055. package/dist/types/components/MarkdownEditor/novel/extensions/ai-highlight.d.ts.map +1 -1
  1056. package/dist/types/components/MarkdownEditor/novel/extensions/custom-keymap.d.ts +0 -1
  1057. package/dist/types/components/MarkdownEditor/novel/extensions/custom-keymap.d.ts.map +1 -1
  1058. package/dist/types/components/MarkdownEditor/novel/extensions/image-resizer.d.ts +4 -1
  1059. package/dist/types/components/MarkdownEditor/novel/extensions/image-resizer.d.ts.map +1 -1
  1060. package/dist/types/components/MarkdownEditor/novel/extensions/index.d.ts +3 -8
  1061. package/dist/types/components/MarkdownEditor/novel/extensions/index.d.ts.map +1 -1
  1062. package/dist/types/components/MarkdownEditor/novel/extensions/slash-command.d.ts +4 -5
  1063. package/dist/types/components/MarkdownEditor/novel/extensions/slash-command.d.ts.map +1 -1
  1064. package/dist/types/components/MarkdownEditor/novel/extensions/updated-image.d.ts +1 -4
  1065. package/dist/types/components/MarkdownEditor/novel/extensions/updated-image.d.ts.map +1 -1
  1066. package/dist/types/components/MarkdownEditor/novel/index.d.ts +1 -0
  1067. package/dist/types/components/MarkdownEditor/novel/plugins/upload-images.d.ts +2 -8
  1068. package/dist/types/components/MarkdownEditor/novel/plugins/upload-images.d.ts.map +1 -1
  1069. package/dist/types/components/MarkdownEditor/novel/utils/atoms.d.ts +0 -1
  1070. package/dist/types/components/MarkdownEditor/novel/utils/atoms.d.ts.map +1 -1
  1071. package/dist/types/components/MarkdownEditor/novel/utils/index.d.ts +0 -1
  1072. package/dist/types/components/MarkdownEditor/novel/utils/index.d.ts.map +1 -1
  1073. package/dist/types/components/MarkdownEditor/selectors/ColorSelector.d.ts +0 -1
  1074. package/dist/types/components/MarkdownEditor/selectors/ColorSelector.d.ts.map +1 -1
  1075. package/dist/types/components/MarkdownEditor/selectors/LinkSelector.d.ts +0 -1
  1076. package/dist/types/components/MarkdownEditor/selectors/LinkSelector.d.ts.map +1 -1
  1077. package/dist/types/components/MarkdownEditor/selectors/NodeSelector.d.ts +1 -1
  1078. package/dist/types/components/MarkdownEditor/selectors/NodeSelector.d.ts.map +1 -1
  1079. package/dist/types/components/MarkdownEditor/selectors/TextButtons.d.ts +1 -3
  1080. package/dist/types/components/MarkdownEditor/selectors/TextButtons.d.ts.map +1 -1
  1081. package/dist/types/components/MarkdownEditor/slashCommand.d.ts +3 -5
  1082. package/dist/types/components/MarkdownEditor/slashCommand.d.ts.map +1 -1
  1083. package/dist/types/components/MaxHeightSmoother/index.d.ts +0 -1
  1084. package/dist/types/components/MaxHeightSmoother/index.d.ts.map +1 -1
  1085. package/dist/types/components/MaxWidthSmoother/index.d.ts +1 -11
  1086. package/dist/types/components/MaxWidthSmoother/index.d.ts.map +1 -1
  1087. package/dist/types/components/Modal/Modal.d.ts +0 -1
  1088. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  1089. package/dist/types/components/Navbar/Burger.d.ts +1 -7
  1090. package/dist/types/components/Navbar/Burger.d.ts.map +1 -1
  1091. package/dist/types/components/Navbar/DesktopNavbar.d.ts +9 -11
  1092. package/dist/types/components/Navbar/DesktopNavbar.d.ts.map +1 -1
  1093. package/dist/types/components/Navbar/MobileNavbar.d.ts +15 -17
  1094. package/dist/types/components/Navbar/MobileNavbar.d.ts.map +1 -1
  1095. package/dist/types/components/Navbar/index.d.ts +21 -79
  1096. package/dist/types/components/Navbar/index.d.ts.map +1 -1
  1097. package/dist/types/components/Navbar/useNavigation.d.ts +5 -2
  1098. package/dist/types/components/Navbar/useNavigation.d.ts.map +1 -1
  1099. package/dist/types/components/Pagination/NumberItemsSelector.d.ts +0 -1
  1100. package/dist/types/components/Pagination/NumberItemsSelector.d.ts.map +1 -1
  1101. package/dist/types/components/Pagination/Pagination.d.ts +4 -6
  1102. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  1103. package/dist/types/components/Pagination/ShowingResultsNumberItems.d.ts +0 -1
  1104. package/dist/types/components/Pagination/ShowingResultsNumberItems.d.ts.map +1 -1
  1105. package/dist/types/components/Pagination/pagination.content.d.ts +5 -7
  1106. package/dist/types/components/Pagination/pagination.content.d.ts.map +1 -1
  1107. package/dist/types/components/Pattern/DotPattern.d.ts +13 -7
  1108. package/dist/types/components/Pattern/DotPattern.d.ts.map +1 -1
  1109. package/dist/types/components/Pattern/GridDistortionPattern.d.ts +0 -1
  1110. package/dist/types/components/Pattern/GridDistortionPattern.d.ts.map +1 -1
  1111. package/dist/types/components/Pattern/GridPattern.d.ts +11 -6
  1112. package/dist/types/components/Pattern/GridPattern.d.ts.map +1 -1
  1113. package/dist/types/components/Pattern/SpotLight.d.ts +11 -6
  1114. package/dist/types/components/Pattern/SpotLight.d.ts.map +1 -1
  1115. package/dist/types/components/Popover/dynamic.d.ts +0 -1
  1116. package/dist/types/components/Popover/dynamic.d.ts.map +1 -1
  1117. package/dist/types/components/Popover/static.d.ts +15 -8
  1118. package/dist/types/components/Popover/static.d.ts.map +1 -1
  1119. package/dist/types/components/PressableSpan/PressableSpan.d.ts +0 -1
  1120. package/dist/types/components/PressableSpan/PressableSpan.d.ts.map +1 -1
  1121. package/dist/types/components/RightDrawer/RightDrawer.d.ts +5 -3
  1122. package/dist/types/components/RightDrawer/RightDrawer.d.ts.map +1 -1
  1123. package/dist/types/components/RightDrawer/isElementAtTopAndNotCovered.d.ts.map +1 -1
  1124. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +2 -4
  1125. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts.map +1 -1
  1126. package/dist/types/components/RightDrawer/useRightDrawer.d.ts.map +1 -1
  1127. package/dist/types/components/Select/Multiselect.d.ts +0 -1
  1128. package/dist/types/components/Select/Multiselect.d.ts.map +1 -1
  1129. package/dist/types/components/Select/Select.d.ts +19 -12
  1130. package/dist/types/components/Select/Select.d.ts.map +1 -1
  1131. package/dist/types/components/SocialNetworks/DiscordLogo.d.ts +0 -1
  1132. package/dist/types/components/SocialNetworks/DiscordLogo.d.ts.map +1 -1
  1133. package/dist/types/components/SocialNetworks/FacebookLogo.d.ts +0 -1
  1134. package/dist/types/components/SocialNetworks/FacebookLogo.d.ts.map +1 -1
  1135. package/dist/types/components/SocialNetworks/InstagramLogo.d.ts +0 -1
  1136. package/dist/types/components/SocialNetworks/InstagramLogo.d.ts.map +1 -1
  1137. package/dist/types/components/SocialNetworks/ProductHuntLogo.d.ts +0 -1
  1138. package/dist/types/components/SocialNetworks/ProductHuntLogo.d.ts.map +1 -1
  1139. package/dist/types/components/SocialNetworks/TiktokLogo.d.ts +0 -1
  1140. package/dist/types/components/SocialNetworks/TiktokLogo.d.ts.map +1 -1
  1141. package/dist/types/components/SocialNetworks/XLogo.d.ts +0 -1
  1142. package/dist/types/components/SocialNetworks/XLogo.d.ts.map +1 -1
  1143. package/dist/types/components/SocialNetworks/YoutubeLogo.d.ts +0 -1
  1144. package/dist/types/components/SocialNetworks/YoutubeLogo.d.ts.map +1 -1
  1145. package/dist/types/components/SocialNetworks/index.d.ts +7 -7
  1146. package/dist/types/components/SocialNetworks/index.d.ts.map +1 -1
  1147. package/dist/types/components/Steps/index.d.ts +0 -1
  1148. package/dist/types/components/Steps/index.d.ts.map +1 -1
  1149. package/dist/types/components/Steps/steps.content.d.ts +2 -4
  1150. package/dist/types/components/Steps/steps.content.d.ts.map +1 -1
  1151. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +7 -10
  1152. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts.map +1 -1
  1153. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts +5 -8
  1154. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts.map +1 -1
  1155. package/dist/types/components/SwitchSelector/useSwitchSelector.d.ts +14 -15
  1156. package/dist/types/components/SwitchSelector/useSwitchSelector.d.ts.map +1 -1
  1157. package/dist/types/components/Tab/Tab.d.ts +28 -22
  1158. package/dist/types/components/Tab/Tab.d.ts.map +1 -1
  1159. package/dist/types/components/Tab/TabContext.d.ts +1 -3
  1160. package/dist/types/components/Tab/TabContext.d.ts.map +1 -1
  1161. package/dist/types/components/TabSelector/TabSelector.d.ts +4 -15
  1162. package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
  1163. package/dist/types/components/Table/ExpandButton.d.ts +0 -1
  1164. package/dist/types/components/Table/ExpandButton.d.ts.map +1 -1
  1165. package/dist/types/components/Table/SmartTable.d.ts +0 -1
  1166. package/dist/types/components/Table/SmartTable.d.ts.map +1 -1
  1167. package/dist/types/components/Table/Table.d.ts +1 -3
  1168. package/dist/types/components/Table/Table.d.ts.map +1 -1
  1169. package/dist/types/components/Table/TableElements.d.ts +4 -18
  1170. package/dist/types/components/Table/TableElements.d.ts.map +1 -1
  1171. package/dist/types/components/Table/table.content.d.ts +2 -4
  1172. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  1173. package/dist/types/components/Table/useTableWidths.d.ts +0 -1
  1174. package/dist/types/components/Table/useTableWidths.d.ts.map +1 -1
  1175. package/dist/types/components/Tag/index.d.ts +6 -8
  1176. package/dist/types/components/Tag/index.d.ts.map +1 -1
  1177. package/dist/types/components/TechLogo/TechLogo.d.ts +0 -1
  1178. package/dist/types/components/TechLogo/TechLogo.d.ts.map +1 -1
  1179. package/dist/types/components/TechLogo/logos/Adonis.d.ts +0 -1
  1180. package/dist/types/components/TechLogo/logos/Adonis.d.ts.map +1 -1
  1181. package/dist/types/components/TechLogo/logos/Angular.d.ts +0 -1
  1182. package/dist/types/components/TechLogo/logos/Angular.d.ts.map +1 -1
  1183. package/dist/types/components/TechLogo/logos/Anthropic.d.ts +0 -1
  1184. package/dist/types/components/TechLogo/logos/Anthropic.d.ts.map +1 -1
  1185. package/dist/types/components/TechLogo/logos/Astro.d.ts +0 -1
  1186. package/dist/types/components/TechLogo/logos/Astro.d.ts.map +1 -1
  1187. package/dist/types/components/TechLogo/logos/Atlassian.d.ts +0 -1
  1188. package/dist/types/components/TechLogo/logos/Atlassian.d.ts.map +1 -1
  1189. package/dist/types/components/TechLogo/logos/Bitbucket.d.ts +0 -1
  1190. package/dist/types/components/TechLogo/logos/Bitbucket.d.ts.map +1 -1
  1191. package/dist/types/components/TechLogo/logos/ChatGPT.d.ts +0 -1
  1192. package/dist/types/components/TechLogo/logos/ChatGPT.d.ts.map +1 -1
  1193. package/dist/types/components/TechLogo/logos/Claude.d.ts +0 -1
  1194. package/dist/types/components/TechLogo/logos/Claude.d.ts.map +1 -1
  1195. package/dist/types/components/TechLogo/logos/DeepSeek.d.ts +0 -1
  1196. package/dist/types/components/TechLogo/logos/DeepSeek.d.ts.map +1 -1
  1197. package/dist/types/components/TechLogo/logos/Express.d.ts +0 -1
  1198. package/dist/types/components/TechLogo/logos/Express.d.ts.map +1 -1
  1199. package/dist/types/components/TechLogo/logos/Fastify.d.ts +0 -1
  1200. package/dist/types/components/TechLogo/logos/Fastify.d.ts.map +1 -1
  1201. package/dist/types/components/TechLogo/logos/Gemini.d.ts +0 -1
  1202. package/dist/types/components/TechLogo/logos/Gemini.d.ts.map +1 -1
  1203. package/dist/types/components/TechLogo/logos/GitHub.d.ts +0 -1
  1204. package/dist/types/components/TechLogo/logos/GitHub.d.ts.map +1 -1
  1205. package/dist/types/components/TechLogo/logos/GitLab.d.ts +0 -1
  1206. package/dist/types/components/TechLogo/logos/GitLab.d.ts.map +1 -1
  1207. package/dist/types/components/TechLogo/logos/Google.d.ts +0 -1
  1208. package/dist/types/components/TechLogo/logos/Google.d.ts.map +1 -1
  1209. package/dist/types/components/TechLogo/logos/GoogleAI.d.ts +0 -1
  1210. package/dist/types/components/TechLogo/logos/GoogleAI.d.ts.map +1 -1
  1211. package/dist/types/components/TechLogo/logos/Grok.d.ts +0 -1
  1212. package/dist/types/components/TechLogo/logos/Grok.d.ts.map +1 -1
  1213. package/dist/types/components/TechLogo/logos/Hono.d.ts +0 -1
  1214. package/dist/types/components/TechLogo/logos/Hono.d.ts.map +1 -1
  1215. package/dist/types/components/TechLogo/logos/LinkedIn.d.ts +0 -1
  1216. package/dist/types/components/TechLogo/logos/LinkedIn.d.ts.map +1 -1
  1217. package/dist/types/components/TechLogo/logos/Lit.d.ts +1 -3
  1218. package/dist/types/components/TechLogo/logos/Lit.d.ts.map +1 -1
  1219. package/dist/types/components/TechLogo/logos/Lynx.d.ts +0 -1
  1220. package/dist/types/components/TechLogo/logos/Lynx.d.ts.map +1 -1
  1221. package/dist/types/components/TechLogo/logos/Microsoft.d.ts +0 -1
  1222. package/dist/types/components/TechLogo/logos/Microsoft.d.ts.map +1 -1
  1223. package/dist/types/components/TechLogo/logos/Mistral.d.ts +0 -1
  1224. package/dist/types/components/TechLogo/logos/Mistral.d.ts.map +1 -1
  1225. package/dist/types/components/TechLogo/logos/NestJS.d.ts +0 -1
  1226. package/dist/types/components/TechLogo/logos/NestJS.d.ts.map +1 -1
  1227. package/dist/types/components/TechLogo/logos/Nextjs.d.ts +0 -1
  1228. package/dist/types/components/TechLogo/logos/Nextjs.d.ts.map +1 -1
  1229. package/dist/types/components/TechLogo/logos/Node.d.ts +0 -1
  1230. package/dist/types/components/TechLogo/logos/Node.d.ts.map +1 -1
  1231. package/dist/types/components/TechLogo/logos/Nuxt.d.ts +0 -1
  1232. package/dist/types/components/TechLogo/logos/Nuxt.d.ts.map +1 -1
  1233. package/dist/types/components/TechLogo/logos/Ollama.d.ts +0 -1
  1234. package/dist/types/components/TechLogo/logos/Ollama.d.ts.map +1 -1
  1235. package/dist/types/components/TechLogo/logos/OpenAI.d.ts +0 -1
  1236. package/dist/types/components/TechLogo/logos/OpenAI.d.ts.map +1 -1
  1237. package/dist/types/components/TechLogo/logos/Perplexity.d.ts +0 -1
  1238. package/dist/types/components/TechLogo/logos/Perplexity.d.ts.map +1 -1
  1239. package/dist/types/components/TechLogo/logos/Preact.d.ts +0 -1
  1240. package/dist/types/components/TechLogo/logos/Preact.d.ts.map +1 -1
  1241. package/dist/types/components/TechLogo/logos/Reactjs.d.ts +0 -1
  1242. package/dist/types/components/TechLogo/logos/Reactjs.d.ts.map +1 -1
  1243. package/dist/types/components/TechLogo/logos/Solid.d.ts +0 -1
  1244. package/dist/types/components/TechLogo/logos/Solid.d.ts.map +1 -1
  1245. package/dist/types/components/TechLogo/logos/Svelte.d.ts +0 -1
  1246. package/dist/types/components/TechLogo/logos/Svelte.d.ts.map +1 -1
  1247. package/dist/types/components/TechLogo/logos/Tanstack.d.ts +0 -1
  1248. package/dist/types/components/TechLogo/logos/Tanstack.d.ts.map +1 -1
  1249. package/dist/types/components/TechLogo/logos/Vanilla.d.ts +1 -3
  1250. package/dist/types/components/TechLogo/logos/Vanilla.d.ts.map +1 -1
  1251. package/dist/types/components/TechLogo/logos/Vitejs.d.ts +0 -1
  1252. package/dist/types/components/TechLogo/logos/Vitejs.d.ts.map +1 -1
  1253. package/dist/types/components/TechLogo/logos/Vuejs.d.ts +0 -1
  1254. package/dist/types/components/TechLogo/logos/Vuejs.d.ts.map +1 -1
  1255. package/dist/types/components/TechLogo/techLogos.d.ts +0 -2
  1256. package/dist/types/components/TechLogo/types.d.ts.map +1 -1
  1257. package/dist/types/components/Terminal/Terminal.d.ts +0 -1
  1258. package/dist/types/components/Terminal/Terminal.d.ts.map +1 -1
  1259. package/dist/types/components/Terminal/terminal.content.d.ts +2 -4
  1260. package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
  1261. package/dist/types/components/TextArea/AutoSizeTextArea.d.ts +3 -2
  1262. package/dist/types/components/TextArea/AutoSizeTextArea.d.ts.map +1 -1
  1263. package/dist/types/components/TextArea/AutocompleteTextArea.d.ts +3 -2
  1264. package/dist/types/components/TextArea/AutocompleteTextArea.d.ts.map +1 -1
  1265. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts +2 -7
  1266. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts.map +1 -1
  1267. package/dist/types/components/TextArea/TextArea.d.ts +5 -3
  1268. package/dist/types/components/TextArea/TextArea.d.ts.map +1 -1
  1269. package/dist/types/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.d.ts +0 -1
  1270. package/dist/types/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.d.ts.map +1 -1
  1271. package/dist/types/components/ThemeSwitcherDropDown/MobileThemeSwitcher.d.ts +0 -1
  1272. package/dist/types/components/ThemeSwitcherDropDown/MobileThemeSwitcher.d.ts.map +1 -1
  1273. package/dist/types/components/ThemeSwitcherDropDown/types.d.ts.map +1 -1
  1274. package/dist/types/components/Toaster/Toast.d.ts +1 -3
  1275. package/dist/types/components/Toaster/Toast.d.ts.map +1 -1
  1276. package/dist/types/components/Toaster/Toaster.d.ts +1 -3
  1277. package/dist/types/components/Toaster/Toaster.d.ts.map +1 -1
  1278. package/dist/types/components/Toaster/useToast.d.ts +10 -15
  1279. package/dist/types/components/Toaster/useToast.d.ts.map +1 -1
  1280. package/dist/types/components/WithResizer/index.d.ts +15 -8
  1281. package/dist/types/components/WithResizer/index.d.ts.map +1 -1
  1282. package/dist/types/components/index.d.ts +46 -7
  1283. package/dist/types/hooks/index.d.ts +1 -1
  1284. package/dist/types/hooks/useDevice.d.ts.map +1 -1
  1285. package/dist/types/hooks/useGetElementById.d.ts.map +1 -1
  1286. package/dist/types/hooks/useGetElementOrWindow.d.ts.map +1 -1
  1287. package/dist/types/hooks/useHorizontalSwipe.d.ts +0 -1
  1288. package/dist/types/hooks/useHorizontalSwipe.d.ts.map +1 -1
  1289. package/dist/types/hooks/useIsDarkMode.d.ts.map +1 -1
  1290. package/dist/types/hooks/useIsMounted.d.ts.map +1 -1
  1291. package/dist/types/hooks/useItemSelector.d.ts +1 -6
  1292. package/dist/types/hooks/useItemSelector.d.ts.map +1 -1
  1293. package/dist/types/hooks/useKeyboardDetector.d.ts.map +1 -1
  1294. package/dist/types/hooks/usePersistedStore.d.ts +0 -1
  1295. package/dist/types/hooks/usePersistedStore.d.ts.map +1 -1
  1296. package/dist/types/hooks/useScreenWidth.d.ts.map +1 -1
  1297. package/dist/types/hooks/useScrollBlockage/index.d.ts.map +1 -1
  1298. package/dist/types/hooks/useScrollBlockage/useScrollBlockageStore.d.ts.map +1 -1
  1299. package/dist/types/hooks/useScrollDetection.d.ts.map +1 -1
  1300. package/dist/types/hooks/useScrollY.d.ts.map +1 -1
  1301. package/dist/types/hooks/useSearch.d.ts.map +1 -1
  1302. package/dist/types/libs/auth.d.ts +1 -2
  1303. package/dist/types/libs/auth.d.ts.map +1 -1
  1304. package/dist/types/providers/ReactQueryProvider.d.ts +0 -1
  1305. package/dist/types/providers/ReactQueryProvider.d.ts.map +1 -1
  1306. package/dist/types/routes.d.ts +175 -169
  1307. package/dist/types/routes.d.ts.map +1 -1
  1308. package/dist/types/structured-data/buildAuthorJsonLd.d.ts +1 -1
  1309. package/dist/types/structured-data/buildAuthorJsonLd.d.ts.map +1 -1
  1310. package/dist/types/structured-data/buildBreadcrumbsJsonLd.d.ts +4 -7
  1311. package/dist/types/structured-data/buildBreadcrumbsJsonLd.d.ts.map +1 -1
  1312. package/dist/types/structured-data/buildCreativeWorkJsonLd.d.ts +31 -39
  1313. package/dist/types/structured-data/buildCreativeWorkJsonLd.d.ts.map +1 -1
  1314. package/dist/types/structured-data/buildFAQPageJsonLd.d.ts +5 -7
  1315. package/dist/types/structured-data/buildFAQPageJsonLd.d.ts.map +1 -1
  1316. package/dist/types/structured-data/buildOrganizationJsonLd.d.ts +16 -17
  1317. package/dist/types/structured-data/buildOrganizationJsonLd.d.ts.map +1 -1
  1318. package/dist/types/structured-data/buildProductJsonLd.d.ts +13 -15
  1319. package/dist/types/structured-data/buildProductJsonLd.d.ts.map +1 -1
  1320. package/dist/types/structured-data/buildSoftwareApplicationJsonLd.d.ts +47 -35
  1321. package/dist/types/structured-data/buildSoftwareApplicationJsonLd.d.ts.map +1 -1
  1322. package/dist/types/structured-data/buildWebsiteJsonLd.d.ts +19 -20
  1323. package/dist/types/structured-data/buildWebsiteJsonLd.d.ts.map +1 -1
  1324. package/dist/types/tailwind.config.d.ts.map +1 -1
  1325. package/package.json +64 -66
  1326. package/src/components/MarkdownEditor/markdown-editor.css +2 -8
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.content.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nexport const useDictionaryDetailsSchemaContent = {\n key: 'dictionary-detail-schema',\n content: {\n titleRequiredError: t({\n en: 'Please enter a name for your dictionary.',\n 'en-GB': 'Please enter a name for your dictionary.',\n fr: 'Veuillez saisir un nom pour votre dictionnaire.',\n es: 'Por favor, ingrese un nombre para su diccionario.',\n de: 'Bitte geben Sie einen Namen für Ihr Wörterbuch ein.',\n ja: '辞書の名前を入力してください。',\n ko: '사전 이름을 입력하세요.',\n zh: '请输入您词典的名称。',\n it: 'Si prega di inserire un nome per il proprio dizionario.',\n pt: 'Por favor, insira um nome para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश का नाम दर्ज करें।',\n ar: 'يرجى إدخال اسم لقاموسك.',\n ru: 'Пожалуйста, введите название вашего словаря.',\n tr: 'Lütfen sözlüğünüz için bir isim girin.',\n pl: 'Proszę podać nazwę słownika.',\n id: 'Silakan masukkan nama dictionary Anda.',\n vi: 'Vui lòng nhập tên cho từ điển của bạn.',\n uk: 'Будь ласка, введіть назву вашого словника.',\n }),\n\n titleInvalidTypeError: t({\n en: 'The dictionary name must be a valid string.',\n 'en-GB': 'The dictionary name must be a valid string.',\n fr: 'Le nom du dictionnaire doit être une chaîne valide.',\n es: 'El nombre del diccionario debe ser una cadena válida.',\n de: 'Der Name des Wörterbuchs muss eine gültige Zeichenfolge sein.',\n ja: '辞書名は有効な文字列である必要があります。',\n ko: '사전 이름은 유효한 문자열이어야 합니다.',\n zh: '词典名称必须是有效的字符串。',\n it: 'Il nome del dizionario deve essere una stringa valida.',\n pt: 'O nome do dicionário deve ser uma string válida.',\n hi: 'शब्दकोश का नाम एक वैध स्ट्रिंग होना चाहिए।',\n ar: 'يجب أن يكون اسم القاموس سلسلة صحيحة.',\n ru: 'Название словаря должно быть правильной строкой.',\n tr: 'Sözlük adı geçerli bir dize olmalıdır.',\n pl: 'Nazwa słownika musi być poprawnym łańcuchem znaków.',\n id: 'Nama dictionary harus berupa string yang valid.',\n vi: 'Tên từ điển phải là một chuỗi hợp lệ.',\n uk: 'Назва словника має бути дійсним рядком.',\n }),\n\n titleMinLengthError: t({\n en: 'The dictionary name must be at least 4 characters long.',\n 'en-GB': 'The dictionary name must be at least 4 characters long.',\n fr: 'Le nom du dictionnaire doit comporter au moins 4 caractères.',\n es: 'El nombre del diccionario debe tener al menos 4 caracteres.',\n de: 'Der Name des Wörterbuchs muss mindestens 4 Zeichen lang sein.',\n ja: '辞書名は4文字以上でなければなりません。',\n ko: '사전 이름은 4자 이상이어야 합니다.',\n zh: '词典名称必须至少4个字符。',\n it: 'Il nome del dizionario deve essere lungo almeno 4 caratteri.',\n pt: 'O nome do dicionário deve ter pelo menos 4 caracteres.',\n hi: 'शब्दकोश का नाम कम से कम 4 वर्ण का होना चाहिए।',\n ar: 'يجب أن يكون اسم القاموس مكونًا من 4 أحرف على الأقل.',\n ru: 'Название словаря должно содержать не менее 4 символов.',\n tr: 'Sözlük adı en az 4 karakter uzunluğunda olmalıdır.',\n pl: 'Nazwa słownika musi mieć co najmniej 4 znaki.',\n id: 'Nama dictionary harus terdiri dari minimal 4 karakter.',\n vi: 'Tên từ điển phải có ít nhất 4 ký tự.',\n uk: 'Назва словника має містити щонайменше 4 символи.',\n }),\n\n keyRequiredError: t({\n en: 'Please enter a key for your dictionary.',\n 'en-GB': 'Please enter a key for your dictionary.',\n fr: 'Veuillez saisir une clé pour votre dictionnaire.',\n es: 'Por favor, ingrese una clave para su diccionario.',\n de: 'Bitte geben Sie einen Schlüssel für Ihr Wörterbuch ein.',\n ja: '辞書のためにキーを入力してください。',\n ko: '사전에 대한 키를 입력하세요.',\n zh: '请输入您词典的键。',\n it: 'Si prega di inserire una chiave per il proprio dizionario.',\n pt: 'Por favor, insira uma chave para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश के लिए एक कुंजी दर्ज करें।',\n ar: 'يرجى إدخال مفتاح لقاموسك.',\n ru: 'Пожалуйста, введите ключ для вашего словаря.',\n tr: 'Lütfen sözlüğünüz için एक anahtar girin.',\n pl: 'Proszę podać klucz słownika.',\n id: 'Silakan masukkan key untuk dictionary Anda.',\n vi: 'Vui lòng nhập một key cho từ điển của bạn.',\n uk: 'Будь ласка, введіть ключ для вашого словника.',\n }),\n\n keyInvalidTypeError: t({\n en: 'The key must be a valid string.',\n 'en-GB': 'The key must be a valid string.',\n fr: 'La clé doit être une chaîne valide.',\n es: 'La clave debe ser una cadena válida.',\n de: 'Der Schlüssel muss eine gültige Zeichenfolge sein.',\n ja: 'キーは有効な文字列である必要があります。',\n ko: '키는 유효한 문자열이어야 합니다.',\n zh: '关键字必须是有效的字符串。',\n it: 'La chiave deve essere una stringa valida.',\n pt: 'A chave deve ser uma string válida.',\n hi: 'कुंजी एक वैध स्ट्रिंग होनी चाहिए।',\n ar: 'يجب أن يكون المفتاح سلسلة صحيحة.',\n ru: 'Ключ должен быть правильной строкой.',\n tr: 'Anahtar geçerli bir dize olmalıdır.',\n pl: 'Klucz musi być poprawnym łańcuchem znaków.',\n id: 'Key harus berupa string yang valid.',\n vi: 'Key phải là một chuỗi hợp lệ.',\n uk: 'Ключ має бути дійсним рядком.',\n }),\n\n keySpaceError: t({\n en: 'The key cannot contain spaces or special characters.',\n 'en-GB': 'The key cannot contain spaces or special characters.',\n fr: \"La clé ne peut pas contenir d'espaces ou de caractères spéciaux.\",\n es: 'La clave no puede contener espacios o caracteres especiales.',\n de: 'Der Schlüssel darf keine Leerzeichen oder Sonderzeichen enthalten.',\n ja: 'キーにはスペースや特殊文字を含めることはできません。',\n ko: '키에는 공백이나 특수 문자가 포함될 수 없습니다.',\n zh: '关键字不能包含空格或特殊字符。',\n it: 'La chiave non può contenere spazi o caratteri speciali.',\n pt: 'A chave não pode conter espaços ou caracteres especiais.',\n hi: 'कुंजी में स्पेस या विशेष वर्ण नहीं हो सकते।',\n ar: 'لا يمكن أن يحتوي المفتاح على مسافات أو أحرف خاصة.',\n ru: 'Ключ не может содержать пробелы или специальные символы.',\n tr: 'Anahtar boşluk veya özel karakterler içeremez.',\n pl: 'Klucz nie może zawierać spacji ani znaków specjalnych.',\n id: 'Key tidak boleh mengandung spasi atau karakter khusus.',\n vi: 'Key không được chứa khoảng trắng hoặc ký tự đặc biệt.',\n uk: 'Ключ не може містити пробілів або спеціальних символів.',\n }),\n\n keyMinLengthError: t({\n en: 'The key must be at least 4 characters long.',\n 'en-GB': 'The key must be at least 4 characters long.',\n fr: 'La clé doit comporter au moins 4 caractères.',\n es: 'La clave debe tener al menos 4 caracteres.',\n de: 'Der Schlüssel muss mindestens 4 Zeichen lang sein.',\n ja: 'キーは4文字以上でなければなりません。',\n ko: '키는 4자 이상이어야 합니다.',\n zh: '键必须至少为4个字符。',\n it: 'La chiave deve essere lunga almeno 4 caratteri.',\n pt: 'A chave deve ter pelo menos 4 caracteres.',\n hi: 'कुंजी में कम से कम 4 वर्ण होने चाहिए।',\n ar: 'يجب أن يكون المفتاح مكونًا من 4 أحرف على الأقل.',\n ru: 'Ключ должен содержать не менее 4 символов.',\n tr: 'Anahtar en az 4 karakter uzunluğunda olmalıdır.',\n pl: 'Klucz musi mieć co najmniej 4 znaki.',\n id: 'Key harus terdiri dari minimal 4 karakter.',\n vi: 'Key phải có ít nhất 4 ký tự.',\n uk: 'Ключ має містити щонайменше 4 символи.',\n }),\n\n // Description Field Error Messages\n descriptionRequiredError: t({\n en: 'Please enter a description for your dictionary.',\n 'en-GB': 'Please enter a description for your dictionary.',\n fr: 'Veuillez saisir une description pour votre dictionnaire.',\n es: 'Por favor, ingrese una descripción para su diccionario.',\n de: 'Bitte geben Sie eine Beschreibung für Ihr Wörterbuch ein.',\n ja: '辞書の説明を入力してください。',\n ko: '사전에 대한 설명을 입력하세요.',\n zh: '请输入您词典的描述。',\n it: 'Si prega di inserire una descrizione per il proprio dizionario.',\n pt: 'Por favor, insira uma descrição para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश का विवरण दर्ज करें।',\n ar: 'يرجى إدخال وصف لقاموسك.',\n ru: 'Пожалуйста, введите описание вашего словаря.',\n tr: 'Lütfen sözlüğünüz için bir açıklama girin.',\n pl: 'Proszę podać opis słownika.',\n id: 'Silakan masukkan deskripsi untuk dictionary Anda.',\n vi: 'Vui lòng nhập mô tả cho từ điển của bạn.',\n uk: 'Будь ласка, введіть опис вашого словника.',\n }),\n\n descriptionInvalidTypeError: t({\n en: 'The description must be a valid string.',\n 'en-GB': 'The description must be a valid string.',\n fr: 'La description doit être une chaîne valide.',\n es: 'La descripción debe ser una cadena válida.',\n de: 'Die Beschreibung muss eine gültige Zeichenfolge sein.',\n ja: '説明は有効な文字列である必要があります。',\n ko: '설명은 유효한 문자열이어야 합니다.',\n zh: '描述必须是有效的字符串。',\n it: 'La descrizione deve essere una stringa valida.',\n pt: 'A descrição deve ser uma string válida.',\n hi: 'विवरण एक वैध स्ट्रिंग होना चाहिए।',\n ar: 'يجب أن يكون الوصف سلسلة صحيحة.',\n ru: 'Описание должно быть правильной строкой.',\n tr: 'Açıklama geçerli bir dize olmalıdır.',\n pl: 'Opis musi być poprawnym łańcuchem znaków.',\n id: 'Deskripsi harus berupa string yang valid.',\n vi: 'Mô tả phải là một chuỗi hợp lệ.',\n uk: 'Опис має бути дійсним рядком.',\n }),\n\n requiredErrorProjectId: t({\n en: 'Please select a project',\n 'en-GB': 'Please select a project',\n fr: 'Veuillez sélectionner un projet',\n es: 'Por favor, seleccione un proyecto',\n de: 'Bitte wählen Sie ein Projekt aus',\n ja: 'プロジェクトを選択してください',\n ko: '프로젝트를 선택하세요',\n zh: '请选择一个项目',\n it: 'Si prega di selezionare un progetto',\n pt: 'Por favor, selecione um projeto',\n hi: 'कृपया एक प्रोजेक्ट चुनें',\n ar: 'يرجى اختيار مشروع',\n ru: 'Пожалуйста, выберите проект',\n tr: 'Lütfen bir proje seçin',\n pl: 'Proszę wybrać projekt.',\n id: 'Silakan pilih project',\n vi: 'Vui lòng chọn một project',\n uk: 'Будь ласка, виберіть проєкт',\n }),\n\n invalidTypeErrorProjectId: t({\n en: 'Please select a valid project',\n 'en-GB': 'Please select a valid project',\n fr: 'Veuillez sélectionner un projet valide',\n es: 'Por favor, seleccione un proyecto válido',\n de: 'Bitte wählen Sie ein gültiges Projekt aus',\n ja: '有効なプロジェクトを選択してください',\n ko: '유효한 프로젝트를 선택하세요',\n zh: '请选择有效的项目',\n it: 'Si prega di selezionare un progetto valido',\n pt: 'Por favor, selecione um projeto válido',\n hi: 'कृपया एक वैध परियोजना चुनें',\n ar: 'يرجى اختيار مشروع صالح',\n ru: 'Пожалуйста, выберите действительный проект',\n tr: 'Lütfen geçerli bir proje seçin',\n pl: 'Proszę wybrać poprawny projekt.',\n id: 'Silakan pilih project yang valid',\n vi: 'Vui lòng chọn một project hợp lệ',\n uk: 'Будь ласка, виберіть дійсний проєкт',\n }),\n\n invalidTypeErrorTags: t({\n en: 'Please enter a valid tag',\n 'en-GB': 'Please enter a valid tag',\n fr: 'Veuillez saisir un tag valide',\n es: 'Por favor, ingrese un tag válido',\n de: 'Bitte geben Sie einen gültigen Tag ein',\n ja: '有効なタグを入力してください',\n ko: '유효한 태그를 입력하세요',\n zh: '请输入有效的标签',\n it: 'Si prega di inserire un tag valido',\n pt: 'Por favor, insira um tag válido',\n hi: 'कृपया एक वैध टैग दर्ज करें',\n ar: 'يرجى إدخال وسم صالح',\n ru: 'Пожалуйста, введите действительный тег',\n tr: 'Lütfen geçerli bir etiket girin',\n pl: 'Proszę podać poprawny tag.',\n id: 'Silakan masukkan tag yang valid',\n vi: 'Vui lòng nhập một tag hợp lệ',\n uk: 'Будь ласка, введіть дійсний тег',\n }),\n\n locationRequiredError: t({\n en: 'Please select a location',\n 'en-GB': 'Please select a location',\n fr: 'Veuillez sélectionner un emplacement',\n es: 'Por favor, seleccione una ubicación',\n de: 'Bitte wählen Sie einen Standort aus',\n ja: '場所を選択してください',\n ko: '위치를 선택하세요',\n zh: '请选择一个位置',\n it: 'Si prega di selezionare una posizione',\n pt: 'Por favor, selecione um local',\n hi: 'कृपया एक स्थान चुनें',\n ar: 'يرجى اختيار موقع',\n ru: 'Пожалуйста, выберите местоположение',\n tr: 'Lütfen bir konum seçin',\n pl: 'Proszę wybrać lokalizację.',\n id: 'Silakan pilih lokasi',\n vi: 'Vui lòng chọn một vị trí',\n uk: 'Будь ласка, виберіть місцезнаходження',\n }),\n\n locationInvalidTypeError: t({\n en: 'Please select a valid location',\n 'en-GB': 'Please select a valid location',\n fr: 'Veuillez sélectionner un emplacement valide',\n es: 'Por favor, seleccione una ubicación válida',\n de: 'Bitte wählen Sie einen gültigen Standort aus',\n ja: '有効な場所を選択してください',\n ko: '유효한 위치를 선택하세요',\n zh: '请选择有效的位置',\n it: 'Si prega di selezionare una posizione valida',\n pt: 'Por favor, selecione um local válido',\n hi: 'कृपया एक वैध स्थान चुनें',\n ar: 'يرجى اختيار موقع صالح',\n ru: 'Пожалуйста, выберите действительное местоположение',\n tr: 'Lütfen geçerli bir konum seçin',\n pl: 'Proszę wybrać poprawną lokalizację.',\n id: 'Silakan pilih lokasi yang valid',\n vi: 'Vui lòng chọn một vị trí hợp lệ',\n uk: 'Будь ласка, виберіть дійсне місцезнаходження',\n }),\n\n filePathRequiredError: t({\n en: 'Please enter a file path',\n 'en-GB': 'Please enter a file path',\n fr: 'Veuillez saisir un chemin de fichier',\n es: 'Por favor, ingrese una ruta de archivo',\n de: 'Bitte geben Sie einen Dateipfad ein',\n ja: 'ファイルパスを入力してください',\n ko: '파일 경로를 입력하세요',\n zh: '请输入文件路径',\n it: 'Si prega di inserire un percorso del file',\n pt: 'Por favor, insira um caminho de arquivo',\n hi: 'कृपया एक फ़ाइल पथ दर्ज करें',\n ar: 'يرجى إدخال مسار الملف',\n ru: 'Пожалуйста, введите путь к файлу',\n tr: 'Lütfen bir dosya yolu girin',\n pl: 'Proszę podać ścieżkę pliku.',\n id: 'Silakan masukkan path file',\n vi: 'Vui lòng nhập đường dẫn tệp',\n uk: 'Будь ласка, введіть шлях до файлу',\n }),\n\n filePathInvalidTypeError: t({\n en: 'The file path must be a valid string',\n 'en-GB': 'The file path must be a valid string',\n fr: 'Le chemin du fichier doit être une chaîne valide',\n es: 'La ruta del archivo debe ser una cadena válida',\n de: 'Der Dateipfad muss eine gültige Zeichenfolge sein',\n ja: 'ファイルパスは有効な文字列である必要があります',\n ko: '파일 경로는 유효한 문자열이어야 합니다',\n zh: '文件路径必须是有效的字符串',\n it: 'Il percorso del file deve essere una stringa valida',\n pt: 'O caminho do arquivo deve ser uma string válida',\n hi: 'फ़ाइल पथ एक वैध स्ट्रिंग होना चाहिए',\n ar: 'يجب أن يكون مسار الملف سلسلة صحيحة',\n ru: 'Путь к файлу должен быть правильной строкой',\n tr: 'Dosya yolu geçerli bir dize olmalıdır',\n pl: 'Ścieżka pliku musi być poprawnym łańcuchem znaków.',\n id: 'Path file harus berupa string yang valid',\n vi: 'Đường dẫn tệp phải là một chuỗi hợp lệ',\n uk: 'Шлях до файлу має бути дійсним рядком',\n }),\n },\n title: 'Dictionary details validation schema',\n description:\n 'Validation schema for the dictionary details form, including error messages for fields such as title, key, description, project and tags.',\n tags: ['form validation', 'dictionary schema', 'error messages'],\n} satisfies Dictionary;\n\nexport default useDictionaryDetailsSchemaContent;\n"],"mappings":";;;AAEA,MAAa,oCAAoC;CAC/C,KAAK;CACL,SAAS;EACP,oBAAoB,EAAE;GACpB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,uBAAuB,EAAE;GACvB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,qBAAqB,EAAE;GACrB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,kBAAkB,EAAE;GAClB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,qBAAqB,EAAE;GACrB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,eAAe,EAAE;GACf,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,mBAAmB,EAAE;GACnB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAGF,0BAA0B,EAAE;GAC1B,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,6BAA6B,EAAE;GAC7B,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,wBAAwB,EAAE;GACxB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,2BAA2B,EAAE;GAC3B,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,sBAAsB,EAAE;GACtB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,uBAAuB,EAAE;GACvB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,0BAA0B,EAAE;GAC1B,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,uBAAuB,EAAE;GACvB,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EAEF,0BAA0B,EAAE;GAC1B,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,OAAO;CACP,aACE;CACF,MAAM;EAAC;EAAmB;EAAqB;EAAiB;CACjE"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.content.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nexport const useDictionaryDetailsSchemaContent = {\n key: 'dictionary-detail-schema',\n content: {\n titleRequiredError: t({\n en: 'Please enter a name for your dictionary.',\n 'en-GB': 'Please enter a name for your dictionary.',\n fr: 'Veuillez saisir un nom pour votre dictionnaire.',\n es: 'Por favor, ingrese un nombre para su diccionario.',\n de: 'Bitte geben Sie einen Namen für Ihr Wörterbuch ein.',\n ja: '辞書の名前を入力してください。',\n ko: '사전 이름을 입력하세요.',\n zh: '请输入您词典的名称。',\n it: 'Si prega di inserire un nome per il proprio dizionario.',\n pt: 'Por favor, insira um nome para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश का नाम दर्ज करें।',\n ar: 'يرجى إدخال اسم لقاموسك.',\n ru: 'Пожалуйста, введите название вашего словаря.',\n tr: 'Lütfen sözlüğünüz için bir isim girin.',\n pl: 'Proszę podać nazwę słownika.',\n id: 'Silakan masukkan nama dictionary Anda.',\n vi: 'Vui lòng nhập tên cho từ điển của bạn.',\n uk: 'Будь ласка, введіть назву вашого словника.',\n }),\n\n titleInvalidTypeError: t({\n en: 'The dictionary name must be a valid string.',\n 'en-GB': 'The dictionary name must be a valid string.',\n fr: 'Le nom du dictionnaire doit être une chaîne valide.',\n es: 'El nombre del diccionario debe ser una cadena válida.',\n de: 'Der Name des Wörterbuchs muss eine gültige Zeichenfolge sein.',\n ja: '辞書名は有効な文字列である必要があります。',\n ko: '사전 이름은 유효한 문자열이어야 합니다.',\n zh: '词典名称必须是有效的字符串。',\n it: 'Il nome del dizionario deve essere una stringa valida.',\n pt: 'O nome do dicionário deve ser uma string válida.',\n hi: 'शब्दकोश का नाम एक वैध स्ट्रिंग होना चाहिए।',\n ar: 'يجب أن يكون اسم القاموس سلسلة صحيحة.',\n ru: 'Название словаря должно быть правильной строкой.',\n tr: 'Sözlük adı geçerli bir dize olmalıdır.',\n pl: 'Nazwa słownika musi być poprawnym łańcuchem znaków.',\n id: 'Nama dictionary harus berupa string yang valid.',\n vi: 'Tên từ điển phải là một chuỗi hợp lệ.',\n uk: 'Назва словника має бути дійсним рядком.',\n }),\n\n titleMinLengthError: t({\n en: 'The dictionary name must be at least 4 characters long.',\n 'en-GB': 'The dictionary name must be at least 4 characters long.',\n fr: 'Le nom du dictionnaire doit comporter au moins 4 caractères.',\n es: 'El nombre del diccionario debe tener al menos 4 caracteres.',\n de: 'Der Name des Wörterbuchs muss mindestens 4 Zeichen lang sein.',\n ja: '辞書名は4文字以上でなければなりません。',\n ko: '사전 이름은 4자 이상이어야 합니다.',\n zh: '词典名称必须至少4个字符。',\n it: 'Il nome del dizionario deve essere lungo almeno 4 caratteri.',\n pt: 'O nome do dicionário deve ter pelo menos 4 caracteres.',\n hi: 'शब्दकोश का नाम कम से कम 4 वर्ण का होना चाहिए।',\n ar: 'يجب أن يكون اسم القاموس مكونًا من 4 أحرف على الأقل.',\n ru: 'Название словаря должно содержать не менее 4 символов.',\n tr: 'Sözlük adı en az 4 karakter uzunluğunda olmalıdır.',\n pl: 'Nazwa słownika musi mieć co najmniej 4 znaki.',\n id: 'Nama dictionary harus terdiri dari minimal 4 karakter.',\n vi: 'Tên từ điển phải có ít nhất 4 ký tự.',\n uk: 'Назва словника має містити щонайменше 4 символи.',\n }),\n\n keyRequiredError: t({\n en: 'Please enter a key for your dictionary.',\n 'en-GB': 'Please enter a key for your dictionary.',\n fr: 'Veuillez saisir une clé pour votre dictionnaire.',\n es: 'Por favor, ingrese una clave para su diccionario.',\n de: 'Bitte geben Sie einen Schlüssel für Ihr Wörterbuch ein.',\n ja: '辞書のためにキーを入力してください。',\n ko: '사전에 대한 키를 입력하세요.',\n zh: '请输入您词典的键。',\n it: 'Si prega di inserire una chiave per il proprio dizionario.',\n pt: 'Por favor, insira uma chave para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश के लिए एक कुंजी दर्ज करें।',\n ar: 'يرجى إدخال مفتاح لقاموسك.',\n ru: 'Пожалуйста, введите ключ для вашего словаря.',\n tr: 'Lütfen sözlüğünüz için एक anahtar girin.',\n pl: 'Proszę podać klucz słownika.',\n id: 'Silakan masukkan key untuk dictionary Anda.',\n vi: 'Vui lòng nhập một key cho từ điển của bạn.',\n uk: 'Будь ласка, введіть ключ для вашого словника.',\n }),\n\n keyInvalidTypeError: t({\n en: 'The key must be a valid string.',\n 'en-GB': 'The key must be a valid string.',\n fr: 'La clé doit être une chaîne valide.',\n es: 'La clave debe ser una cadena válida.',\n de: 'Der Schlüssel muss eine gültige Zeichenfolge sein.',\n ja: 'キーは有効な文字列である必要があります。',\n ko: '키는 유효한 문자열이어야 합니다.',\n zh: '关键字必须是有效的字符串。',\n it: 'La chiave deve essere una stringa valida.',\n pt: 'A chave deve ser uma string válida.',\n hi: 'कुंजी एक वैध स्ट्रिंग होनी चाहिए।',\n ar: 'يجب أن يكون المفتاح سلسلة صحيحة.',\n ru: 'Ключ должен быть правильной строкой.',\n tr: 'Anahtar geçerli bir dize olmalıdır.',\n pl: 'Klucz musi być poprawnym łańcuchem znaków.',\n id: 'Key harus berupa string yang valid.',\n vi: 'Key phải là một chuỗi hợp lệ.',\n uk: 'Ключ має бути дійсним рядком.',\n }),\n\n keySpaceError: t({\n en: 'The key cannot contain spaces or special characters.',\n 'en-GB': 'The key cannot contain spaces or special characters.',\n fr: \"La clé ne peut pas contenir d'espaces ou de caractères spéciaux.\",\n es: 'La clave no puede contener espacios o caracteres especiales.',\n de: 'Der Schlüssel darf keine Leerzeichen oder Sonderzeichen enthalten.',\n ja: 'キーにはスペースや特殊文字を含めることはできません。',\n ko: '키에는 공백이나 특수 문자가 포함될 수 없습니다.',\n zh: '关键字不能包含空格或特殊字符。',\n it: 'La chiave non può contenere spazi o caratteri speciali.',\n pt: 'A chave não pode conter espaços ou caracteres especiais.',\n hi: 'कुंजी में स्पेस या विशेष वर्ण नहीं हो सकते।',\n ar: 'لا يمكن أن يحتوي المفتاح على مسافات أو أحرف خاصة.',\n ru: 'Ключ не может содержать пробелы или специальные символы.',\n tr: 'Anahtar boşluk veya özel karakterler içeremez.',\n pl: 'Klucz nie może zawierać spacji ani znaków specjalnych.',\n id: 'Key tidak boleh mengandung spasi atau karakter khusus.',\n vi: 'Key không được chứa khoảng trắng hoặc ký tự đặc biệt.',\n uk: 'Ключ не може містити пробілів або спеціальних символів.',\n }),\n\n keyMinLengthError: t({\n en: 'The key must be at least 4 characters long.',\n 'en-GB': 'The key must be at least 4 characters long.',\n fr: 'La clé doit comporter au moins 4 caractères.',\n es: 'La clave debe tener al menos 4 caracteres.',\n de: 'Der Schlüssel muss mindestens 4 Zeichen lang sein.',\n ja: 'キーは4文字以上でなければなりません。',\n ko: '키는 4자 이상이어야 합니다.',\n zh: '键必须至少为4个字符。',\n it: 'La chiave deve essere lunga almeno 4 caratteri.',\n pt: 'A chave deve ter pelo menos 4 caracteres.',\n hi: 'कुंजी में कम से कम 4 वर्ण होने चाहिए।',\n ar: 'يجب أن يكون المفتاح مكونًا من 4 أحرف على الأقل.',\n ru: 'Ключ должен содержать не менее 4 символов.',\n tr: 'Anahtar en az 4 karakter uzunluğunda olmalıdır.',\n pl: 'Klucz musi mieć co najmniej 4 znaki.',\n id: 'Key harus terdiri dari minimal 4 karakter.',\n vi: 'Key phải có ít nhất 4 ký tự.',\n uk: 'Ключ має містити щонайменше 4 символи.',\n }),\n\n // Description Field Error Messages\n descriptionRequiredError: t({\n en: 'Please enter a description for your dictionary.',\n 'en-GB': 'Please enter a description for your dictionary.',\n fr: 'Veuillez saisir une description pour votre dictionnaire.',\n es: 'Por favor, ingrese una descripción para su diccionario.',\n de: 'Bitte geben Sie eine Beschreibung für Ihr Wörterbuch ein.',\n ja: '辞書の説明を入力してください。',\n ko: '사전에 대한 설명을 입력하세요.',\n zh: '请输入您词典的描述。',\n it: 'Si prega di inserire una descrizione per il proprio dizionario.',\n pt: 'Por favor, insira uma descrição para o seu dicionário.',\n hi: 'कृपया अपने शब्दकोश का विवरण दर्ज करें।',\n ar: 'يرجى إدخال وصف لقاموسك.',\n ru: 'Пожалуйста, введите описание вашего словаря.',\n tr: 'Lütfen sözlüğünüz için bir açıklama girin.',\n pl: 'Proszę podać opis słownika.',\n id: 'Silakan masukkan deskripsi untuk dictionary Anda.',\n vi: 'Vui lòng nhập mô tả cho từ điển của bạn.',\n uk: 'Будь ласка, введіть опис вашого словника.',\n }),\n\n descriptionInvalidTypeError: t({\n en: 'The description must be a valid string.',\n 'en-GB': 'The description must be a valid string.',\n fr: 'La description doit être une chaîne valide.',\n es: 'La descripción debe ser una cadena válida.',\n de: 'Die Beschreibung muss eine gültige Zeichenfolge sein.',\n ja: '説明は有効な文字列である必要があります。',\n ko: '설명은 유효한 문자열이어야 합니다.',\n zh: '描述必须是有效的字符串。',\n it: 'La descrizione deve essere una stringa valida.',\n pt: 'A descrição deve ser uma string válida.',\n hi: 'विवरण एक वैध स्ट्रिंग होना चाहिए।',\n ar: 'يجب أن يكون الوصف سلسلة صحيحة.',\n ru: 'Описание должно быть правильной строкой.',\n tr: 'Açıklama geçerli bir dize olmalıdır.',\n pl: 'Opis musi być poprawnym łańcuchem znaków.',\n id: 'Deskripsi harus berupa string yang valid.',\n vi: 'Mô tả phải là một chuỗi hợp lệ.',\n uk: 'Опис має бути дійсним рядком.',\n }),\n\n requiredErrorProjectId: t({\n en: 'Please select a project',\n 'en-GB': 'Please select a project',\n fr: 'Veuillez sélectionner un projet',\n es: 'Por favor, seleccione un proyecto',\n de: 'Bitte wählen Sie ein Projekt aus',\n ja: 'プロジェクトを選択してください',\n ko: '프로젝트를 선택하세요',\n zh: '请选择一个项目',\n it: 'Si prega di selezionare un progetto',\n pt: 'Por favor, selecione um projeto',\n hi: 'कृपया एक प्रोजेक्ट चुनें',\n ar: 'يرجى اختيار مشروع',\n ru: 'Пожалуйста, выберите проект',\n tr: 'Lütfen bir proje seçin',\n pl: 'Proszę wybrać projekt.',\n id: 'Silakan pilih project',\n vi: 'Vui lòng chọn một project',\n uk: 'Будь ласка, виберіть проєкт',\n }),\n\n invalidTypeErrorProjectId: t({\n en: 'Please select a valid project',\n 'en-GB': 'Please select a valid project',\n fr: 'Veuillez sélectionner un projet valide',\n es: 'Por favor, seleccione un proyecto válido',\n de: 'Bitte wählen Sie ein gültiges Projekt aus',\n ja: '有効なプロジェクトを選択してください',\n ko: '유효한 프로젝트를 선택하세요',\n zh: '请选择有效的项目',\n it: 'Si prega di selezionare un progetto valido',\n pt: 'Por favor, selecione um projeto válido',\n hi: 'कृपया एक वैध परियोजना चुनें',\n ar: 'يرجى اختيار مشروع صالح',\n ru: 'Пожалуйста, выберите действительный проект',\n tr: 'Lütfen geçerli bir proje seçin',\n pl: 'Proszę wybrać poprawny projekt.',\n id: 'Silakan pilih project yang valid',\n vi: 'Vui lòng chọn một project hợp lệ',\n uk: 'Будь ласка, виберіть дійсний проєкт',\n }),\n\n invalidTypeErrorTags: t({\n en: 'Please enter a valid tag',\n 'en-GB': 'Please enter a valid tag',\n fr: 'Veuillez saisir un tag valide',\n es: 'Por favor, ingrese un tag válido',\n de: 'Bitte geben Sie einen gültigen Tag ein',\n ja: '有効なタグを入力してください',\n ko: '유효한 태그를 입력하세요',\n zh: '请输入有效的标签',\n it: 'Si prega di inserire un tag valido',\n pt: 'Por favor, insira um tag válido',\n hi: 'कृपया एक वैध टैग दर्ज करें',\n ar: 'يرجى إدخال وسم صالح',\n ru: 'Пожалуйста, введите действительный тег',\n tr: 'Lütfen geçerli bir etiket girin',\n pl: 'Proszę podać poprawny tag.',\n id: 'Silakan masukkan tag yang valid',\n vi: 'Vui lòng nhập một tag hợp lệ',\n uk: 'Будь ласка, введіть дійсний тег',\n }),\n\n locationRequiredError: t({\n en: 'Please select a location',\n 'en-GB': 'Please select a location',\n fr: 'Veuillez sélectionner un emplacement',\n es: 'Por favor, seleccione una ubicación',\n de: 'Bitte wählen Sie einen Standort aus',\n ja: '場所を選択してください',\n ko: '위치를 선택하세요',\n zh: '请选择一个位置',\n it: 'Si prega di selezionare una posizione',\n pt: 'Por favor, selecione um local',\n hi: 'कृपया एक स्थान चुनें',\n ar: 'يرجى اختيار موقع',\n ru: 'Пожалуйста, выберите местоположение',\n tr: 'Lütfen bir konum seçin',\n pl: 'Proszę wybrać lokalizację.',\n id: 'Silakan pilih lokasi',\n vi: 'Vui lòng chọn một vị trí',\n uk: 'Будь ласка, виберіть місцезнаходження',\n }),\n\n locationInvalidTypeError: t({\n en: 'Please select a valid location',\n 'en-GB': 'Please select a valid location',\n fr: 'Veuillez sélectionner un emplacement valide',\n es: 'Por favor, seleccione una ubicación válida',\n de: 'Bitte wählen Sie einen gültigen Standort aus',\n ja: '有効な場所を選択してください',\n ko: '유효한 위치를 선택하세요',\n zh: '请选择有效的位置',\n it: 'Si prega di selezionare una posizione valida',\n pt: 'Por favor, selecione um local válido',\n hi: 'कृपया एक वैध स्थान चुनें',\n ar: 'يرجى اختيار موقع صالح',\n ru: 'Пожалуйста, выберите действительное местоположение',\n tr: 'Lütfen geçerli bir konum seçin',\n pl: 'Proszę wybrać poprawną lokalizację.',\n id: 'Silakan pilih lokasi yang valid',\n vi: 'Vui lòng chọn một vị trí hợp lệ',\n uk: 'Будь ласка, виберіть дійсне місцезнаходження',\n }),\n\n filePathRequiredError: t({\n en: 'Please enter a file path',\n 'en-GB': 'Please enter a file path',\n fr: 'Veuillez saisir un chemin de fichier',\n es: 'Por favor, ingrese una ruta de archivo',\n de: 'Bitte geben Sie einen Dateipfad ein',\n ja: 'ファイルパスを入力してください',\n ko: '파일 경로를 입력하세요',\n zh: '请输入文件路径',\n it: 'Si prega di inserire un percorso del file',\n pt: 'Por favor, insira um caminho de arquivo',\n hi: 'कृपया एक फ़ाइल पथ दर्ज करें',\n ar: 'يرجى إدخال مسار الملف',\n ru: 'Пожалуйста, введите путь к файлу',\n tr: 'Lütfen bir dosya yolu girin',\n pl: 'Proszę podać ścieżkę pliku.',\n id: 'Silakan masukkan path file',\n vi: 'Vui lòng nhập đường dẫn tệp',\n uk: 'Будь ласка, введіть шлях до файлу',\n }),\n\n filePathInvalidTypeError: t({\n en: 'The file path must be a valid string',\n 'en-GB': 'The file path must be a valid string',\n fr: 'Le chemin du fichier doit être une chaîne valide',\n es: 'La ruta del archivo debe ser una cadena válida',\n de: 'Der Dateipfad muss eine gültige Zeichenfolge sein',\n ja: 'ファイルパスは有効な文字列である必要があります',\n ko: '파일 경로는 유효한 문자열이어야 합니다',\n zh: '文件路径必须是有效的字符串',\n it: 'Il percorso del file deve essere una stringa valida',\n pt: 'O caminho do arquivo deve ser uma string válida',\n hi: 'फ़ाइल पथ एक वैध स्ट्रिंग होना चाहिए',\n ar: 'يجب أن يكون مسار الملف سلسلة صحيحة',\n ru: 'Путь к файлу должен быть правильной строкой',\n tr: 'Dosya yolu geçerli bir dize olmalıdır',\n pl: 'Ścieżka pliku musi być poprawnym łańcuchem znaków.',\n id: 'Path file harus berupa string yang valid',\n vi: 'Đường dẫn tệp phải là một chuỗi hợp lệ',\n uk: 'Шлях до файлу має бути дійсним рядком',\n }),\n },\n title: 'Dictionary details validation schema',\n description:\n 'Validation schema for the dictionary details form, including error messages for fields such as title, key, description, project and tags.',\n tags: ['form validation', 'dictionary schema', 'error messages'],\n} satisfies Dictionary;\n\nexport default useDictionaryDetailsSchemaContent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDictionaryDetailsSchema.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["import { useIntlayer } from 'react-intlayer';\nimport { z } from 'zod/v4';\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 locationRequiredError,\n locationInvalidTypeError,\n filePathRequiredError,\n filePathInvalidTypeError,\n } = useIntlayer('dictionary-detail-schema');\n\n return z.object({\n title: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? titleRequiredError.value\n : titleInvalidTypeError.value,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n error: titleMinLengthError.value,\n })\n .optional(),\n key: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? keyRequiredError.value\n : keyInvalidTypeError.value,\n })\n .min(4, { error: keyMinLengthError.value })\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-_]+$/, { error: keySpaceError.value })\n .default(''),\n description: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? descriptionRequiredError.value\n : descriptionInvalidTypeError.value,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n error: (issue) =>\n issue.input === undefined\n ? requiredErrorProjectId.value\n : invalidTypeErrorProjectId.value,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n error: () => invalidTypeErrorTags.value,\n })\n )\n .default([]),\n location: z\n .enum(['local', 'remote', 'hybrid', 'plugin'], {\n error: (issue) =>\n issue.input === undefined\n ? locationRequiredError.value\n : locationInvalidTypeError.value,\n })\n .optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n filePath: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? filePathRequiredError.value\n : filePathInvalidTypeError.value,\n })\n .optional(),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"mappings":";;;;AAGA,MAAa,8BAA8B,cAAsB;CAC/D,MAAM,EACJ,oBACA,uBACA,qBACA,kBACA,qBACA,eACA,mBACA,0BACA,6BACA,wBACA,2BACA,sBACA,uBACA,0BACA,uBACA,6BACE,YAAY,2BAA2B;AAE3C,QAAO,EAAE,OAAO;EACd,OAAO,EACJ,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,mBAAmB,QACnB,sBAAsB,OAC7B,CAAC,CAED,QAAQ,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG,EACpD,OAAO,oBAAoB,OAC5B,CAAC,CACD,UAAU;EACb,KAAK,EACF,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,iBAAiB,QACjB,oBAAoB,OAC3B,CAAC,CACD,IAAI,GAAG,EAAE,OAAO,kBAAkB,OAAO,CAAC,CAU1C,MAAM,oBAAoB,EAAE,OAAO,cAAc,OAAO,CAAC,CACzD,QAAQ,GAAG;EACd,aAAa,EACV,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,yBAAyB,QACzB,4BAA4B,OACnC,CAAC,CACD,UAAU;EACb,YAAY,EACT,MACC,EAAE,OAAO,EACP,QAAQ,UACN,MAAM,UAAU,SACZ,uBAAuB,QACvB,0BAA0B,OACjC,CAAC,CACH,CACA,QAAQ,CAAC,UAAU,CAAC;EACvB,MAAM,EACH,MACC,EAAE,OAAO,EACP,aAAa,qBAAqB,OACnC,CAAC,CACH,CACA,QAAQ,EAAE,CAAC;EACd,UAAU,EACP,KAAK;GAAC;GAAS;GAAU;GAAU;GAAS,EAAE,EAC7C,QAAQ,UACN,MAAM,UAAU,SACZ,sBAAsB,QACtB,yBAAyB,OAChC,CAAC,CACD,UAAU;EACb,YAAY,EAAE,KAAK;GAAC;GAAU;GAAW;GAAQ,CAAC,CAAC,UAAU;EAC7D,UAAU,EACP,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,sBAAsB,QACtB,yBAAyB,OAChC,CAAC,CACD,UAAU;EACd,CAAC"}
1
+ {"version":3,"file":"useDictionaryDetailsSchema.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.ts"],"sourcesContent":["import { useIntlayer } from 'react-intlayer';\nimport { z } from 'zod/v4';\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 locationRequiredError,\n locationInvalidTypeError,\n filePathRequiredError,\n filePathInvalidTypeError,\n } = useIntlayer('dictionary-detail-schema');\n\n return z.object({\n title: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? titleRequiredError.value\n : titleInvalidTypeError.value,\n })\n // Can be length of 0 or > 4\n .refine((val) => val.length === 0 || val.length >= 4, {\n error: titleMinLengthError.value,\n })\n .optional(),\n key: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? keyRequiredError.value\n : keyInvalidTypeError.value,\n })\n .min(4, { error: keyMinLengthError.value })\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-_]+$/, { error: keySpaceError.value })\n .default(''),\n description: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? descriptionRequiredError.value\n : descriptionInvalidTypeError.value,\n })\n .optional(),\n projectIds: z\n .array(\n z.string({\n error: (issue) =>\n issue.input === undefined\n ? requiredErrorProjectId.value\n : invalidTypeErrorProjectId.value,\n })\n )\n .default([projectId]),\n tags: z\n .array(\n z.string({\n error: () => invalidTypeErrorTags.value,\n })\n )\n .default([]),\n location: z\n .enum(['local', 'remote', 'hybrid', 'plugin'], {\n error: (issue) =>\n issue.input === undefined\n ? locationRequiredError.value\n : locationInvalidTypeError.value,\n })\n .optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n filePath: z\n .string({\n error: (issue) =>\n issue.input === undefined\n ? filePathRequiredError.value\n : filePathInvalidTypeError.value,\n })\n .optional(),\n });\n};\n\nexport type DictionaryDetailsFormData = z.infer<\n ReturnType<typeof useDictionaryDetailsSchema>\n>;\n"],"mappings":";;;;AAGA,MAAa,8BAA8B,cAAsB;CAC/D,MAAM,EACJ,oBACA,uBACA,qBACA,kBACA,qBACA,eACA,mBACA,0BACA,6BACA,wBACA,2BACA,sBACA,uBACA,0BACA,uBACA,6BACE,YAAY,0BAA0B;CAE1C,OAAO,EAAE,OAAO;EACd,OAAO,EACJ,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,mBAAmB,QACnB,sBAAsB,MAC9B,CAAC,CAAC,CAED,QAAQ,QAAQ,IAAI,WAAW,KAAK,IAAI,UAAU,GAAG,EACpD,OAAO,oBAAoB,MAC7B,CAAC,CAAC,CACD,SAAS;EACZ,KAAK,EACF,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,iBAAiB,QACjB,oBAAoB,MAC5B,CAAC,CAAC,CACD,IAAI,GAAG,EAAE,OAAO,kBAAkB,MAAM,CAAC,CAAC,CAU1C,MAAM,oBAAoB,EAAE,OAAO,cAAc,MAAM,CAAC,CAAC,CACzD,QAAQ,EAAE;EACb,aAAa,EACV,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,yBAAyB,QACzB,4BAA4B,MACpC,CAAC,CAAC,CACD,SAAS;EACZ,YAAY,EACT,MACC,EAAE,OAAO,EACP,QAAQ,UACN,MAAM,UAAU,SACZ,uBAAuB,QACvB,0BAA0B,MAClC,CAAC,CACH,CAAC,CACA,QAAQ,CAAC,SAAS,CAAC;EACtB,MAAM,EACH,MACC,EAAE,OAAO,EACP,aAAa,qBAAqB,MACpC,CAAC,CACH,CAAC,CACA,QAAQ,CAAC,CAAC;EACb,UAAU,EACP,KAAK;GAAC;GAAS;GAAU;GAAU;EAAQ,GAAG,EAC7C,QAAQ,UACN,MAAM,UAAU,SACZ,sBAAsB,QACtB,yBAAyB,MACjC,CAAC,CAAC,CACD,SAAS;EACZ,YAAY,EAAE,KAAK;GAAC;GAAU;GAAW;EAAO,CAAC,CAAC,CAAC,SAAS;EAC5D,UAAU,EACP,OAAO,EACN,QAAQ,UACN,MAAM,UAAU,SACZ,sBAAsB,QACtB,yBAAyB,MACjC,CAAC,CAAC,CACD,SAAS;CACd,CAAC;AACH"}
@@ -13,8 +13,8 @@ import { StructureEditor } from "./StructureEditor.mjs";
13
13
  import { useEffect, useState } from "react";
14
14
  import { ArrowLeft } from "lucide-react";
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
- import { useIntlayer } from "react-intlayer";
17
16
  import { useConfiguration, useDictionariesRecordActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
17
+ import { useIntlayer } from "react-intlayer";
18
18
 
19
19
  //#region src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx
20
20
  const DictionaryFieldEditor = ({ dictionary, onClickDictionaryList, isDarkMode, mode, onDelete, onSave, showReturnButton = true, rightContent }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryFieldEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Container } from '@components/Container';\nimport { CopyToClipboard } from '@components/CopyToClipboard';\nimport {\n useConfiguration,\n useDictionariesRecordActions,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { ArrowLeft } from 'lucide-react';\nimport { type FC, type ReactNode, useEffect, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { TabSelector } from '../TabSelector';\nimport { ContentEditor } from './ContentEditor';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { JSONEditor } from './JSONEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\nimport { StructureEditor } from './StructureEditor';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n onDelete?: () => void;\n onSave?: () => void;\n isDarkMode?: boolean;\n mode: ('local' | 'remote')[];\n showReturnButton?: boolean;\n rightContent?: ReactNode;\n};\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n mode,\n onDelete,\n onSave,\n showReturnButton = true,\n rightContent,\n}) => {\n const config = useConfiguration();\n const { returnToDictionaryList } = useIntlayer('dictionary-field-editor');\n const { focusedContent, setFocusedContent } = useFocusUnmergedDictionary();\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const [activeTab, setActiveTab] = useState<string>('content');\n\n useEffect(() => {\n setFocusedContent({\n ...(focusedContent ?? {}),\n dictionaryKey: dictionary.key,\n dictionaryLocalId: dictionary.localId,\n });\n setLocaleDictionary(dictionary);\n }, []);\n\n return (\n <LocaleSwitcherContentProvider\n availableLocales={config?.internationalization?.locales ?? []}\n >\n <div className=\"relative flex h-full min-h-0 w-full flex-1 flex-col md:overflow-hidden\">\n {showReturnButton && (\n <Button\n onClick={onClickDictionaryList}\n variant=\"hoverable\"\n className=\"z-10 mr-auto mb-6 ml-5 shrink-0\"\n color=\"text\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label.value}\n >\n {returnToDictionaryList.text}\n </Button>\n )}\n\n <div className=\"mb-22 flex min-h-0 flex-1 flex-col overflow-hidden\">\n {/* Tab headers */}\n <div className=\"sticky top-0 z-10 flex shrink-0 gap-3 rounded-xl bg-background/20 p-3 pb-4\">\n <TabSelector\n selectedChoice={activeTab}\n tabs={[\n ...(mode.includes('remote')\n ? [\n <button\n key=\"details\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'details'}\n onClick={() => setActiveTab('details')}\n type=\"button\"\n >\n Details\n </button>,\n ]\n : []),\n <button\n key=\"structure\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'structure'}\n onClick={() => setActiveTab('structure')}\n type=\"button\"\n >\n Structure\n </button>,\n <button\n key=\"content\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'content'}\n onClick={() => setActiveTab('content')}\n type=\"button\"\n >\n Content\n </button>,\n <button\n key=\"json\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'json'}\n onClick={() => setActiveTab('json')}\n type=\"button\"\n >\n JSON\n </button>,\n ]}\n hoverable\n color=\"text\"\n />\n <div className=\"flex w-full items-center justify-end\">\n {rightContent}\n </div>\n </div>\n {/* Tab content — only active panel is mounted */}\n <div className=\"min-h-0 flex-1 overflow-y-auto p-6\">\n <div className=\"flex w-full min-w-0 flex-col items-stretch gap-6\">\n {mode.includes('remote') && activeTab === 'details' && (\n <DictionaryDetailsForm\n dictionary={dictionary}\n mode={mode}\n isDarkMode={isDarkMode}\n />\n )}\n {activeTab === 'structure' && (\n <StructureEditor dictionary={dictionary} />\n )}\n {activeTab === 'content' && (\n <ContentEditor\n dictionary={dictionary}\n isDarkMode={isDarkMode}\n />\n )}\n {activeTab === 'json' && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n </div>\n </div>\n </div>\n\n <div className=\"absolute bottom-3 z-20 w-full p-2\">\n <Container\n color=\"card\"\n roundedSize=\"2xl\"\n padding=\"sm\"\n className=\"w-full shrink-0 flex-row flex-wrap items-center justify-end gap-10 bg-background/20 md:bottom-0\"\n >\n <CopyToClipboard\n text={dictionary.id!}\n className=\"text-nowrap text-neutral text-sm\"\n size={9}\n >\n {dictionary.id}\n </CopyToClipboard>\n <SaveForm\n dictionary={dictionary}\n mode={mode}\n onDelete={() => {\n setFocusedContent(null);\n onDelete?.();\n }}\n onSave={onSave}\n />\n </Container>\n </div>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,MAAa,yBAAyD,EACpE,YACA,uBACA,YACA,MACA,UACA,QACA,mBAAmB,MACnB,mBACI;CACJ,MAAM,SAAS,kBAAkB;CACjC,MAAM,EAAE,2BAA2B,YAAY,0BAA0B;CACzE,MAAM,EAAE,gBAAgB,sBAAsB,4BAA4B;CAC1E,MAAM,EAAE,wBAAwB,8BAA8B;CAC9D,MAAM,CAAC,WAAW,gBAAgB,SAAiB,UAAU;AAE7D,iBAAgB;AACd,oBAAkB;GAChB,GAAI,kBAAkB,EAAE;GACxB,eAAe,WAAW;GAC1B,mBAAmB,WAAW;GAC/B,CAAC;AACF,sBAAoB,WAAW;IAC9B,EAAE,CAAC;AAEN,QACE,oBAAC,+BAAD;EACE,kBAAkB,QAAQ,sBAAsB,WAAW,EAAE;YAE7D,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG,oBACC,oBAAC,QAAD;KACE,SAAS;KACT,SAAQ;KACR,WAAU;KACV,OAAM;KACN,MAAM;KACN,OAAO,uBAAuB,MAAM;eAEnC,uBAAuB;KACjB;IAGX,qBAAC,OAAD;KAAK,WAAU;eAAf,CAEE,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,oBAAC,aAAD;OACE,gBAAgB;OAChB,MAAM;QACJ,GAAI,KAAK,SAAS,SAAS,GACvB,CACE,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,UAAU;SACtC,MAAK;mBACN;SAEQ,EAPH,UAOG,CACV,GACD,EAAE;QACN,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,YAAY;SACxC,MAAK;mBACN;SAEQ,EAPH,YAOG;QACT,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,UAAU;SACtC,MAAK;mBACN;SAEQ,EAPH,UAOG;QACT,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,OAAO;SACnC,MAAK;mBACN;SAEQ,EAPH,OAOG;QACV;OACD;OACA,OAAM;OACN,GACF,oBAAC,OAAD;OAAK,WAAU;iBACZ;OACG,EACF;SAEN,oBAAC,OAAD;MAAK,WAAU;gBACb,qBAAC,OAAD;OAAK,WAAU;iBAAf;QACG,KAAK,SAAS,SAAS,IAAI,cAAc,aACxC,oBAAC,uBAAD;SACc;SACN;SACM;SACZ;QAEH,cAAc,eACb,oBAAC,iBAAD,EAA6B,YAAc;QAE5C,cAAc,aACb,oBAAC,eAAD;SACc;SACA;SACZ;QAEH,cAAc,UACb,oBAAC,YAAD;SAAwB;SAAwB;SAAc;QAE5D;;MACF,EACF;;IAEN,oBAAC,OAAD;KAAK,WAAU;eACb,qBAAC,WAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAQ;MACR,WAAU;gBAJZ,CAME,oBAAC,iBAAD;OACE,MAAM,WAAW;OACjB,WAAU;OACV,MAAM;iBAEL,WAAW;OACI,GAClB,oBAAC,UAAD;OACc;OACN;OACN,gBAAgB;AACd,0BAAkB,KAAK;AACvB,oBAAY;;OAEN;OACR,EACQ;;KACR;IACF;;EACwB"}
1
+ {"version":3,"file":"DictionaryFieldEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx"],"sourcesContent":["'use client';\n\nimport { Container } from '@components/Container';\nimport { CopyToClipboard } from '@components/CopyToClipboard';\nimport {\n useConfiguration,\n useDictionariesRecordActions,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { ArrowLeft } from 'lucide-react';\nimport { type FC, type ReactNode, useEffect, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Button } from '../Button';\nimport { LocaleSwitcherContentProvider } from '../LocaleSwitcherContentDropDown';\nimport { TabSelector } from '../TabSelector';\nimport { ContentEditor } from './ContentEditor';\nimport { DictionaryDetailsForm } from './DictionaryDetails/DictionaryDetailsForm';\nimport { JSONEditor } from './JSONEditor';\nimport { SaveForm } from './SaveForm/SaveForm';\nimport { StructureEditor } from './StructureEditor';\n\ntype DictionaryFieldEditorProps = {\n dictionary: Dictionary;\n onClickDictionaryList?: () => void;\n onDelete?: () => void;\n onSave?: () => void;\n isDarkMode?: boolean;\n mode: ('local' | 'remote')[];\n showReturnButton?: boolean;\n rightContent?: ReactNode;\n};\n\nexport const DictionaryFieldEditor: FC<DictionaryFieldEditorProps> = ({\n dictionary,\n onClickDictionaryList,\n isDarkMode,\n mode,\n onDelete,\n onSave,\n showReturnButton = true,\n rightContent,\n}) => {\n const config = useConfiguration();\n const { returnToDictionaryList } = useIntlayer('dictionary-field-editor');\n const { focusedContent, setFocusedContent } = useFocusUnmergedDictionary();\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const [activeTab, setActiveTab] = useState<string>('content');\n\n useEffect(() => {\n setFocusedContent({\n ...(focusedContent ?? {}),\n dictionaryKey: dictionary.key,\n dictionaryLocalId: dictionary.localId,\n });\n setLocaleDictionary(dictionary);\n }, []);\n\n return (\n <LocaleSwitcherContentProvider\n availableLocales={config?.internationalization?.locales ?? []}\n >\n <div className=\"relative flex h-full min-h-0 w-full flex-1 flex-col md:overflow-hidden\">\n {showReturnButton && (\n <Button\n onClick={onClickDictionaryList}\n variant=\"hoverable\"\n className=\"z-10 mr-auto mb-6 ml-5 shrink-0\"\n color=\"text\"\n Icon={ArrowLeft}\n label={returnToDictionaryList.label.value}\n >\n {returnToDictionaryList.text}\n </Button>\n )}\n\n <div className=\"mb-22 flex min-h-0 flex-1 flex-col overflow-hidden\">\n {/* Tab headers */}\n <div className=\"sticky top-0 z-10 flex shrink-0 gap-3 rounded-xl bg-background/20 p-3 pb-4\">\n <TabSelector\n selectedChoice={activeTab}\n tabs={[\n ...(mode.includes('remote')\n ? [\n <button\n key=\"details\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'details'}\n onClick={() => setActiveTab('details')}\n type=\"button\"\n >\n Details\n </button>,\n ]\n : []),\n <button\n key=\"structure\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'structure'}\n onClick={() => setActiveTab('structure')}\n type=\"button\"\n >\n Structure\n </button>,\n <button\n key=\"content\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'content'}\n onClick={() => setActiveTab('content')}\n type=\"button\"\n >\n Content\n </button>,\n <button\n key=\"json\"\n className=\"cursor-pointer whitespace-nowrap rounded-md px-4 py-1 font-medium text-sm transition-colors focus:outline-none\"\n data-active={activeTab === 'json'}\n onClick={() => setActiveTab('json')}\n type=\"button\"\n >\n JSON\n </button>,\n ]}\n hoverable\n color=\"text\"\n />\n <div className=\"flex w-full items-center justify-end\">\n {rightContent}\n </div>\n </div>\n {/* Tab content — only active panel is mounted */}\n <div className=\"min-h-0 flex-1 overflow-y-auto p-6\">\n <div className=\"flex w-full min-w-0 flex-col items-stretch gap-6\">\n {mode.includes('remote') && activeTab === 'details' && (\n <DictionaryDetailsForm\n dictionary={dictionary}\n mode={mode}\n isDarkMode={isDarkMode}\n />\n )}\n {activeTab === 'structure' && (\n <StructureEditor dictionary={dictionary} />\n )}\n {activeTab === 'content' && (\n <ContentEditor\n dictionary={dictionary}\n isDarkMode={isDarkMode}\n />\n )}\n {activeTab === 'json' && (\n <JSONEditor dictionary={dictionary} isDarkMode={isDarkMode} />\n )}\n </div>\n </div>\n </div>\n\n <div className=\"absolute bottom-3 z-20 w-full p-2\">\n <Container\n color=\"card\"\n roundedSize=\"2xl\"\n padding=\"sm\"\n className=\"w-full shrink-0 flex-row flex-wrap items-center justify-end gap-10 bg-background/20 md:bottom-0\"\n >\n <CopyToClipboard\n text={dictionary.id!}\n className=\"text-nowrap text-neutral text-sm\"\n size={9}\n >\n {dictionary.id}\n </CopyToClipboard>\n <SaveForm\n dictionary={dictionary}\n mode={mode}\n onDelete={() => {\n setFocusedContent(null);\n onDelete?.();\n }}\n onSave={onSave}\n />\n </Container>\n </div>\n </div>\n </LocaleSwitcherContentProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,MAAa,yBAAyD,EACpE,YACA,uBACA,YACA,MACA,UACA,QACA,mBAAmB,MACnB,mBACI;CACJ,MAAM,SAAS,iBAAiB;CAChC,MAAM,EAAE,2BAA2B,YAAY,yBAAyB;CACxE,MAAM,EAAE,gBAAgB,sBAAsB,2BAA2B;CACzE,MAAM,EAAE,wBAAwB,6BAA6B;CAC7D,MAAM,CAAC,WAAW,gBAAgB,SAAiB,SAAS;CAE5D,gBAAgB;EACd,kBAAkB;GAChB,GAAI,kBAAkB,CAAC;GACvB,eAAe,WAAW;GAC1B,mBAAmB,WAAW;EAChC,CAAC;EACD,oBAAoB,UAAU;CAChC,GAAG,CAAC,CAAC;CAEL,OACE,oBAAC,+BAAD;EACE,kBAAkB,QAAQ,sBAAsB,WAAW,CAAC;YAE5D,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG,oBACC,oBAAC,QAAD;KACE,SAAS;KACT,SAAQ;KACR,WAAU;KACV,OAAM;KACN,MAAM;KACN,OAAO,uBAAuB,MAAM;eAEnC,uBAAuB;IAClB;IAGV,qBAAC,OAAD;KAAK,WAAU;eAAf,CAEE,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,oBAAC,aAAD;OACE,gBAAgB;OAChB,MAAM;QACJ,GAAI,KAAK,SAAS,QAAQ,IACtB,CACE,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,SAAS;SACrC,MAAK;mBACN;QAEO,GAPF,SAOE,CACV,IACA,CAAC;QACL,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,WAAW;SACvC,MAAK;mBACN;QAEO,GAPF,WAOE;QACR,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,SAAS;SACrC,MAAK;mBACN;QAEO,GAPF,SAOE;QACR,oBAAC,UAAD;SAEE,WAAU;SACV,eAAa,cAAc;SAC3B,eAAe,aAAa,MAAM;SAClC,MAAK;mBACN;QAEO,GAPF,MAOE;OACV;OACA;OACA,OAAM;MACP,IACD,oBAAC,OAAD;OAAK,WAAU;iBACZ;MACE,EACF;SAEL,oBAAC,OAAD;MAAK,WAAU;gBACb,qBAAC,OAAD;OAAK,WAAU;iBAAf;QACG,KAAK,SAAS,QAAQ,KAAK,cAAc,aACxC,oBAAC,uBAAD;SACc;SACN;SACM;QACb;QAEF,cAAc,eACb,oBAAC,iBAAD,EAA6B,WAAa;QAE3C,cAAc,aACb,oBAAC,eAAD;SACc;SACA;QACb;QAEF,cAAc,UACb,oBAAC,YAAD;SAAwB;SAAwB;QAAa;OAE5D;;KACF,EACF;;IAEL,oBAAC,OAAD;KAAK,WAAU;eACb,qBAAC,WAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAQ;MACR,WAAU;gBAJZ,CAME,oBAAC,iBAAD;OACE,MAAM,WAAW;OACjB,WAAU;OACV,MAAM;iBAEL,WAAW;MACG,IACjB,oBAAC,UAAD;OACc;OACN;OACN,gBAAgB;QACd,kBAAkB,IAAI;QACtB,WAAW;OACb;OACQ;MACT,EACQ;;IACR;GACF;;CACwB;AAEnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumKeyInput.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/EnumKeyInput.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, useEffect, useMemo, useState } from 'react';\nimport { Input } from '../Input';\nimport { Select } from '../Select';\n\nconst extractInitialState = (\n value: string | number\n): { comparator: string | undefined; numberValue: string | undefined } => {\n let comparator: string | undefined;\n let numberValue: string | undefined;\n\n if (typeof value === 'number' || !Number.isNaN(Number(value))) {\n // If value is a number or numeric string, set comparator to '=' and numberValue accordingly\n comparator = '=';\n numberValue = value.toString();\n } else if (typeof value === 'string') {\n // Define possible comparators\n const comparators = ['<=', '>=', '<', '>', '='];\n // Find the comparator that matches the start of the string\n const matchedComparator = comparators.find((comp) =>\n value.startsWith(comp)\n );\n if (matchedComparator) {\n comparator = matchedComparator;\n numberValue = value.slice(matchedComparator.length);\n }\n }\n\n return { comparator, numberValue };\n};\n\ntype EnumKeyInputProps = {\n value: string | number;\n onChange: (value: string) => void;\n};\n\n/**\n * Example of values:\n * - `<1`\n * - `>-44.3`\n * - `=999`\n * - `<=1`\n * - `>=1`\n * - 88\n * - `-1`\n *\n */\nexport const EnumKeyInput: FC<EnumKeyInputProps> = ({ value, onChange }) => {\n const { comparator: initialComparator, numberValue: initialNumberValue } =\n useMemo(() => extractInitialState(value), [value]);\n const [comparator, setComparator] = useState<string | null>(\n initialComparator ?? null\n );\n const [numberValue, setNumberValue] = useState<string | null>(\n initialNumberValue ?? null\n );\n\n useEffect(() => {\n if (\n comparator &&\n numberValue &&\n (comparator !== initialComparator || numberValue !== initialNumberValue)\n ) {\n const newValue = `${comparator}${numberValue}`;\n\n onChange(newValue);\n }\n }, [\n comparator,\n initialComparator,\n initialNumberValue,\n numberValue,\n onChange,\n ]);\n\n return (\n <div className=\"flex gap-1\">\n <Select onValueChange={setComparator} defaultValue={initialComparator}>\n <Select.Trigger className=\"w-20\">\n <Select.Value placeholder=\"Select a comparator\" />\n </Select.Trigger>\n <Select.Content>\n <Select.Item value=\"<\">{`<`}</Select.Item>\n <Select.Item value=\"<=\">{`<=`}</Select.Item>\n <Select.Item value=\"=\">{`=`}</Select.Item>\n <Select.Item value=\">=\">{`>=`}</Select.Item>\n <Select.Item value=\">\">{`>`}</Select.Item>\n </Select.Content>\n </Select>\n <Input\n type=\"number\"\n aria-label=\"Quantity\"\n defaultValue={numberValue ?? undefined}\n onChange={(e) => setNumberValue(e.target.value)}\n className=\"min-w-4\"\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,MAAM,uBACJ,UACwE;CACxE,IAAI;CACJ,IAAI;AAEJ,KAAI,OAAO,UAAU,YAAY,CAAC,OAAO,MAAM,OAAO,MAAM,CAAC,EAAE;AAE7D,eAAa;AACb,gBAAc,MAAM,UAAU;YACrB,OAAO,UAAU,UAAU;EAIpC,MAAM,oBAAoB;GAFL;GAAM;GAAM;GAAK;GAAK;GAEN,CAAC,MAAM,SAC1C,MAAM,WAAW,KAAK,CACvB;AACD,MAAI,mBAAmB;AACrB,gBAAa;AACb,iBAAc,MAAM,MAAM,kBAAkB,OAAO;;;AAIvD,QAAO;EAAE;EAAY;EAAa;;;;;;;;;;;;;AAmBpC,MAAa,gBAAuC,EAAE,OAAO,eAAe;CAC1E,MAAM,EAAE,YAAY,mBAAmB,aAAa,uBAClD,cAAc,oBAAoB,MAAM,EAAE,CAAC,MAAM,CAAC;CACpD,MAAM,CAAC,YAAY,iBAAiB,SAClC,qBAAqB,KACtB;CACD,MAAM,CAAC,aAAa,kBAAkB,SACpC,sBAAsB,KACvB;AAED,iBAAgB;AACd,MACE,cACA,gBACC,eAAe,qBAAqB,gBAAgB,oBAIrD,UAAS,GAFW,aAAa,cAEf;IAEnB;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,QAAD;GAAQ,eAAe;GAAe,cAAc;aAApD,CACE,oBAAC,OAAO,SAAR;IAAgB,WAAU;cACxB,oBAAC,OAAO,OAAR,EAAc,aAAY,uBAAwB;IACnC,GACjB,qBAAC,OAAO,SAAR;IACE,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;KAAkB;IAC1C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAM;KAAmB;IAC5C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;KAAkB;IAC1C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAM;KAAmB;IAC5C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;KAAkB;IAC3B,IACV;MACT,oBAAC,OAAD;GACE,MAAK;GACL,cAAW;GACX,cAAc,eAAe;GAC7B,WAAW,MAAM,eAAe,EAAE,OAAO,MAAM;GAC/C,WAAU;GACV,EACE"}
1
+ {"version":3,"file":"EnumKeyInput.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/EnumKeyInput.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, useEffect, useMemo, useState } from 'react';\nimport { Input } from '../Input';\nimport { Select } from '../Select';\n\nconst extractInitialState = (\n value: string | number\n): { comparator: string | undefined; numberValue: string | undefined } => {\n let comparator: string | undefined;\n let numberValue: string | undefined;\n\n if (typeof value === 'number' || !Number.isNaN(Number(value))) {\n // If value is a number or numeric string, set comparator to '=' and numberValue accordingly\n comparator = '=';\n numberValue = value.toString();\n } else if (typeof value === 'string') {\n // Define possible comparators\n const comparators = ['<=', '>=', '<', '>', '='];\n // Find the comparator that matches the start of the string\n const matchedComparator = comparators.find((comp) =>\n value.startsWith(comp)\n );\n if (matchedComparator) {\n comparator = matchedComparator;\n numberValue = value.slice(matchedComparator.length);\n }\n }\n\n return { comparator, numberValue };\n};\n\ntype EnumKeyInputProps = {\n value: string | number;\n onChange: (value: string) => void;\n};\n\n/**\n * Example of values:\n * - `<1`\n * - `>-44.3`\n * - `=999`\n * - `<=1`\n * - `>=1`\n * - 88\n * - `-1`\n *\n */\nexport const EnumKeyInput: FC<EnumKeyInputProps> = ({ value, onChange }) => {\n const { comparator: initialComparator, numberValue: initialNumberValue } =\n useMemo(() => extractInitialState(value), [value]);\n const [comparator, setComparator] = useState<string | null>(\n initialComparator ?? null\n );\n const [numberValue, setNumberValue] = useState<string | null>(\n initialNumberValue ?? null\n );\n\n useEffect(() => {\n if (\n comparator &&\n numberValue &&\n (comparator !== initialComparator || numberValue !== initialNumberValue)\n ) {\n const newValue = `${comparator}${numberValue}`;\n\n onChange(newValue);\n }\n }, [\n comparator,\n initialComparator,\n initialNumberValue,\n numberValue,\n onChange,\n ]);\n\n return (\n <div className=\"flex gap-1\">\n <Select onValueChange={setComparator} defaultValue={initialComparator}>\n <Select.Trigger className=\"w-20\">\n <Select.Value placeholder=\"Select a comparator\" />\n </Select.Trigger>\n <Select.Content>\n <Select.Item value=\"<\">{`<`}</Select.Item>\n <Select.Item value=\"<=\">{`<=`}</Select.Item>\n <Select.Item value=\"=\">{`=`}</Select.Item>\n <Select.Item value=\">=\">{`>=`}</Select.Item>\n <Select.Item value=\">\">{`>`}</Select.Item>\n </Select.Content>\n </Select>\n <Input\n type=\"number\"\n aria-label=\"Quantity\"\n defaultValue={numberValue ?? undefined}\n onChange={(e) => setNumberValue(e.target.value)}\n className=\"min-w-4\"\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,MAAM,uBACJ,UACwE;CACxE,IAAI;CACJ,IAAI;CAEJ,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,MAAM,OAAO,KAAK,CAAC,GAAG;EAE7D,aAAa;EACb,cAAc,MAAM,SAAS;CAC/B,OAAO,IAAI,OAAO,UAAU,UAAU;EAIpC,MAAM,oBAAoB;GAFL;GAAM;GAAM;GAAK;GAAK;EAEP,CAAC,CAAC,MAAM,SAC1C,MAAM,WAAW,IAAI,CACvB;EACA,IAAI,mBAAmB;GACrB,aAAa;GACb,cAAc,MAAM,MAAM,kBAAkB,MAAM;EACpD;CACF;CAEA,OAAO;EAAE;EAAY;CAAY;AACnC;;;;;;;;;;;;AAkBA,MAAa,gBAAuC,EAAE,OAAO,eAAe;CAC1E,MAAM,EAAE,YAAY,mBAAmB,aAAa,uBAClD,cAAc,oBAAoB,KAAK,GAAG,CAAC,KAAK,CAAC;CACnD,MAAM,CAAC,YAAY,iBAAiB,SAClC,qBAAqB,IACvB;CACA,MAAM,CAAC,aAAa,kBAAkB,SACpC,sBAAsB,IACxB;CAEA,gBAAgB;EACd,IACE,cACA,gBACC,eAAe,qBAAqB,gBAAgB,qBAIrD,SAAS,GAFW,aAAa,aAEhB;CAErB,GAAG;EACD;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,QAAD;GAAQ,eAAe;GAAe,cAAc;aAApD,CACE,oBAAC,OAAO,SAAR;IAAgB,WAAU;cACxB,oBAAC,OAAO,OAAR,EAAc,aAAY,sBAAuB;GACnC,IAChB,qBAAC,OAAO,SAAR;IACE,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;IAAiB;IACzC,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAM;IAAkB;IAC3C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;IAAiB;IACzC,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAM;IAAkB;IAC3C,oBAAC,OAAO,MAAR;KAAa,OAAM;eAAK;IAAiB;GAC3B,IACV;MACR,oBAAC,OAAD;GACE,MAAK;GACL,cAAW;GACX,cAAc,eAAe;GAC7B,WAAW,MAAM,eAAe,EAAE,OAAO,KAAK;GAC9C,WAAU;EACX,EACE;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"JSONEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/JSONEditor.tsx"],"sourcesContent":["import { useEditedContent } from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport type { FC } from 'react';\nimport { MonacoCode } from '../IDE/MonacoCode';\n\ntype JSONEditorProps = {\n dictionary: Dictionary;\n isDarkMode?: boolean;\n};\n\nexport const JSONEditor: FC<JSONEditorProps> = ({ dictionary, isDarkMode }) => {\n const { setEditedContent, editedContent } = useEditedContent();\n\n const isValidJSON = (jsonString: string): boolean => {\n try {\n JSON.parse(jsonString);\n return true; // Valid JSON\n } catch (_error) {\n return false; // Invalid JSON\n }\n };\n\n const displayedContent =\n editedContent?.[dictionary.localId!]?.content ?? dictionary?.content;\n\n return (\n <MonacoCode\n language=\"json\"\n onChange={(content) => {\n if (isValidJSON(content ?? '{}')) {\n setEditedContent(dictionary.localId!, JSON.parse(content ?? '{}'));\n }\n }}\n isDarkMode={isDarkMode}\n >\n {JSON.stringify(displayedContent, null, 2)}\n </MonacoCode>\n );\n};\n"],"mappings":";;;;;AAUA,MAAa,cAAmC,EAAE,YAAY,iBAAiB;CAC7E,MAAM,EAAE,kBAAkB,kBAAkB,kBAAkB;CAE9D,MAAM,eAAe,eAAgC;AACnD,MAAI;AACF,QAAK,MAAM,WAAW;AACtB,UAAO;WACA,QAAQ;AACf,UAAO;;;CAIX,MAAM,mBACJ,gBAAgB,WAAW,UAAW,WAAW,YAAY;AAE/D,QACE,oBAAC,YAAD;EACE,UAAS;EACT,WAAW,YAAY;AACrB,OAAI,YAAY,WAAW,KAAK,CAC9B,kBAAiB,WAAW,SAAU,KAAK,MAAM,WAAW,KAAK,CAAC;;EAG1D;YAEX,KAAK,UAAU,kBAAkB,MAAM,EAAE;EAC/B"}
1
+ {"version":3,"file":"JSONEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/JSONEditor.tsx"],"sourcesContent":["import { useEditedContent } from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport type { FC } from 'react';\nimport { MonacoCode } from '../IDE/MonacoCode';\n\ntype JSONEditorProps = {\n dictionary: Dictionary;\n isDarkMode?: boolean;\n};\n\nexport const JSONEditor: FC<JSONEditorProps> = ({ dictionary, isDarkMode }) => {\n const { setEditedContent, editedContent } = useEditedContent();\n\n const isValidJSON = (jsonString: string): boolean => {\n try {\n JSON.parse(jsonString);\n return true; // Valid JSON\n } catch (_error) {\n return false; // Invalid JSON\n }\n };\n\n const displayedContent =\n editedContent?.[dictionary.localId!]?.content ?? dictionary?.content;\n\n return (\n <MonacoCode\n language=\"json\"\n onChange={(content) => {\n if (isValidJSON(content ?? '{}')) {\n setEditedContent(dictionary.localId!, JSON.parse(content ?? '{}'));\n }\n }}\n isDarkMode={isDarkMode}\n >\n {JSON.stringify(displayedContent, null, 2)}\n </MonacoCode>\n );\n};\n"],"mappings":";;;;;AAUA,MAAa,cAAmC,EAAE,YAAY,iBAAiB;CAC7E,MAAM,EAAE,kBAAkB,kBAAkB,iBAAiB;CAE7D,MAAM,eAAe,eAAgC;EACnD,IAAI;GACF,KAAK,MAAM,UAAU;GACrB,OAAO;EACT,SAAS,QAAQ;GACf,OAAO;EACT;CACF;CAEA,MAAM,mBACJ,gBAAgB,WAAW,QAAS,EAAE,WAAW,YAAY;CAE/D,OACE,oBAAC,YAAD;EACE,UAAS;EACT,WAAW,YAAY;GACrB,IAAI,YAAY,WAAW,IAAI,GAC7B,iBAAiB,WAAW,SAAU,KAAK,MAAM,WAAW,IAAI,CAAC;EAErE;EACY;YAEX,KAAK,UAAU,kBAAkB,MAAM,CAAC;CAC/B;AAEhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyPathBreadcrumb.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx"],"sourcesContent":["import { camelCaseToSentence } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport type { FC } from 'react';\nimport { Breadcrumb, type BreadcrumbLink } from '../Breadcrumb';\nimport type { LinkColor } from '../Link';\n\ntype KeyPathBreadcrumbProps = {\n dictionaryKey: string;\n keyPath: KeyPath[];\n onClickKeyPath?: (keyPath: KeyPath[]) => void;\n locale?: Locale;\n color?: LinkColor | `${LinkColor}`;\n showDictionaryKey?: boolean;\n};\n\nexport const KeyPathBreadcrumb: FC<KeyPathBreadcrumbProps> = ({\n keyPath,\n dictionaryKey,\n onClickKeyPath,\n locale,\n color,\n showDictionaryKey = true,\n}) => {\n const formattedKeyPath: BreadcrumbLink[] = [\n ...(showDictionaryKey\n ? [\n {\n text: camelCaseToSentence(dictionaryKey),\n onClick: onClickKeyPath ? () => onClickKeyPath([]) : undefined,\n },\n ]\n : []),\n ...keyPath.map((el, index) => ({\n onClick: onClickKeyPath\n ? () =>\n // With keyPath = [{type: NodeTypes.Object, key: '0'}, {type: NodeTypes.Array, key: '0'}, {type: NodeTypes.Object, key: '1'}]\n // If index is 0 -> onFocusKeyPath([{type: NodeTypes.Object, key: '0'}])\n // If index is 1 -> onFocusKeyPath([{type: NodeTypes.Object, key: '0'}, {type: NodeTypes.Array, key: '0'}])\n onClickKeyPath?.(keyPath.slice(0, index + 1))\n : undefined,\n\n text: camelCaseToSentence(el.key?.toString() ?? ''),\n })),\n ];\n\n return (\n <Breadcrumb\n links={formattedKeyPath}\n locale={locale}\n elementType=\"location\"\n color={color}\n />\n );\n};\n"],"mappings":";;;;;AAgBA,MAAa,qBAAiD,EAC5D,SACA,eACA,gBACA,QACA,OACA,oBAAoB,WAChB;AAuBJ,QACE,oBAAC,YAAD;EACE,OAAO,CAvBT,GAAI,oBACA,CACE;GACE,MAAM,oBAAoB,cAAc;GACxC,SAAS,uBAAuB,eAAe,EAAE,CAAC,GAAG;GACtD,CACF,GACD,EAAE,EACN,GAAG,QAAQ,KAAK,IAAI,WAAW;GAC7B,SAAS,uBAKH,iBAAiB,QAAQ,MAAM,GAAG,QAAQ,EAAE,CAAC,GAC/C;GAEJ,MAAM,oBAAoB,GAAG,KAAK,UAAU,IAAI,GAAG;GACpD,EAAE,CAKsB;EACf;EACR,aAAY;EACL;EACP"}
1
+ {"version":3,"file":"KeyPathBreadcrumb.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx"],"sourcesContent":["import { camelCaseToSentence } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport type { FC } from 'react';\nimport { Breadcrumb, type BreadcrumbLink } from '../Breadcrumb';\nimport type { LinkColor } from '../Link';\n\ntype KeyPathBreadcrumbProps = {\n dictionaryKey: string;\n keyPath: KeyPath[];\n onClickKeyPath?: (keyPath: KeyPath[]) => void;\n locale?: Locale;\n color?: LinkColor | `${LinkColor}`;\n showDictionaryKey?: boolean;\n};\n\nexport const KeyPathBreadcrumb: FC<KeyPathBreadcrumbProps> = ({\n keyPath,\n dictionaryKey,\n onClickKeyPath,\n locale,\n color,\n showDictionaryKey = true,\n}) => {\n const formattedKeyPath: BreadcrumbLink[] = [\n ...(showDictionaryKey\n ? [\n {\n text: camelCaseToSentence(dictionaryKey),\n onClick: onClickKeyPath ? () => onClickKeyPath([]) : undefined,\n },\n ]\n : []),\n ...keyPath.map((el, index) => ({\n onClick: onClickKeyPath\n ? () =>\n // With keyPath = [{type: NodeTypes.Object, key: '0'}, {type: NodeTypes.Array, key: '0'}, {type: NodeTypes.Object, key: '1'}]\n // If index is 0 -> onFocusKeyPath([{type: NodeTypes.Object, key: '0'}])\n // If index is 1 -> onFocusKeyPath([{type: NodeTypes.Object, key: '0'}, {type: NodeTypes.Array, key: '0'}])\n onClickKeyPath?.(keyPath.slice(0, index + 1))\n : undefined,\n\n text: camelCaseToSentence(el.key?.toString() ?? ''),\n })),\n ];\n\n return (\n <Breadcrumb\n links={formattedKeyPath}\n locale={locale}\n elementType=\"location\"\n color={color}\n />\n );\n};\n"],"mappings":";;;;;AAgBA,MAAa,qBAAiD,EAC5D,SACA,eACA,gBACA,QACA,OACA,oBAAoB,WAChB;CAuBJ,OACE,oBAAC,YAAD;EACE,OAAO,CAvBT,GAAI,oBACA,CACE;GACE,MAAM,oBAAoB,aAAa;GACvC,SAAS,uBAAuB,eAAe,CAAC,CAAC,IAAI;EACvD,CACF,IACA,CAAC,GACL,GAAG,QAAQ,KAAK,IAAI,WAAW;GAC7B,SAAS,uBAKH,iBAAiB,QAAQ,MAAM,GAAG,QAAQ,CAAC,CAAC,IAC9C;GAEJ,MAAM,oBAAoB,GAAG,KAAK,SAAS,KAAK,EAAE;EACpD,EAAE,CAKsB;EACd;EACR,aAAY;EACL;CACR;AAEL"}
@@ -5,8 +5,8 @@ import { getIsEditableSection } from "../getIsEditableSection.mjs";
5
5
  import { useState } from "react";
6
6
  import { ChevronRight, Plus } from "lucide-react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
- import { useIntlayer } from "react-intlayer";
9
8
  import { useEditedContentActions, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
9
+ import { useIntlayer } from "react-intlayer";
10
10
  import { getContentNodeByKeyPath, getEmptyNode, getNodeType } from "@intlayer/core/dictionaryManipulator";
11
11
  import * as NodeTypes from "@intlayer/types/nodeType";
12
12
  import { isSameKeyPath } from "@intlayer/core/utils";
@@ -53,11 +53,12 @@ const NavigationViewNode = ({ section: sectionProp, keyPath, dictionary }) => {
53
53
  if (nodeType === NodeTypes.TRANSLATION) return /* @__PURE__ */ jsx("div", {
54
54
  className: "flex flex-col justify-between gap-2",
55
55
  children: selectedLocales.map((translationKey) => {
56
+ const childKeyPath = [...keyPath, {
57
+ type: NodeTypes.TRANSLATION,
58
+ key: translationKey
59
+ }];
56
60
  return /* @__PURE__ */ jsx(NavigationViewNode, {
57
- keyPath: [...keyPath, {
58
- type: NodeTypes.TRANSLATION,
59
- key: translationKey
60
- }],
61
+ keyPath: childKeyPath,
61
62
  section: sectionProp,
62
63
  dictionary
63
64
  }, translationKey);
@@ -66,11 +67,12 @@ const NavigationViewNode = ({ section: sectionProp, keyPath, dictionary }) => {
66
67
  if (nodeType === NodeTypes.ENUMERATION || nodeType === NodeTypes.PLURAL || nodeType === NodeTypes.CONDITION) return /* @__PURE__ */ jsx("div", {
67
68
  className: "flex flex-col justify-between gap-2",
68
69
  children: Object.keys(section[nodeType]).map((key) => {
70
+ const childKeyPath = [...keyPath, {
71
+ type: nodeType,
72
+ key
73
+ }];
69
74
  return /* @__PURE__ */ jsx(NavigationViewNode, {
70
- keyPath: [...keyPath, {
71
- type: nodeType,
72
- key
73
- }],
75
+ keyPath: childKeyPath,
74
76
  section: sectionProp,
75
77
  dictionary
76
78
  }, key);
@@ -129,11 +131,14 @@ const NavigationViewNode = ({ section: sectionProp, keyPath, dictionary }) => {
129
131
  children: addNewElement.text
130
132
  })]
131
133
  });
132
- if (typeof section.nodeType === "string") return /* @__PURE__ */ jsx(NavigationViewNode, {
133
- keyPath: [...keyPath, { type: section.nodeType }],
134
- section: sectionProp,
135
- dictionary
136
- });
134
+ if (typeof section.nodeType === "string") {
135
+ const childKeyPath = [...keyPath, { type: section.nodeType }];
136
+ return /* @__PURE__ */ jsx(NavigationViewNode, {
137
+ keyPath: childKeyPath,
138
+ section: sectionProp,
139
+ dictionary
140
+ });
141
+ }
137
142
  return /* @__PURE__ */ jsx("div", {
138
143
  className: "flex w-full max-w-full flex-col justify-between gap-2",
139
144
  children: Object.keys(section).map((key) => {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationViewNode.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx"],"sourcesContent":["import { Accordion, type AccordionProps } from '@components/Accordion';\nimport { Button } from '@components/Button';\nimport { useLocaleSwitcherContent } from '@components/LocaleSwitcherContentDropDown';\nimport { camelCaseToSentence } from '@intlayer/config/client';\nimport {\n getContentNodeByKeyPath,\n getEmptyNode,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport { isSameKeyPath } from '@intlayer/core/utils';\nimport {\n useEditedContentActions,\n useEditorLocale,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport type { LocalDictionaryId } from '@intlayer/types/dictionary';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { ContentNode, Dictionary } from 'intlayer';\nimport { ChevronRight, Plus } from 'lucide-react';\nimport { type FC, type ReactNode, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { getIsEditableSection } from '../getIsEditableSection';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype GatedAccordionProps = AccordionProps & { children: ReactNode };\n\n// Renders children only after the accordion is first opened (mount-once pattern).\n// Prevents the entire recursive subtree from mounting on initial render.\nconst GatedAccordion: FC<GatedAccordionProps> = ({\n children,\n onToggle,\n ...props\n}) => {\n const [hasOpened, setHasOpened] = useState(false);\n return (\n <Accordion\n {...props}\n onToggle={(isOpen) => {\n if (isOpen && !hasOpened) setHasOpened(true);\n onToggle?.(isOpen);\n }}\n >\n {hasOpened ? children : null}\n </Accordion>\n );\n};\n\nexport type NodeWrapperProps = {\n keyPath: KeyPath[];\n section: ContentNode;\n dictionary: Dictionary;\n};\n\nexport const NavigationViewNode: FC<NodeWrapperProps> = ({\n section: sectionProp,\n keyPath,\n dictionary,\n}) => {\n const { selectedLocales } = useLocaleSwitcherContent();\n\n const currentLocale = useEditorLocale();\n const section = getContentNodeByKeyPath(sectionProp, keyPath, currentLocale);\n const { addEditedContent } = useEditedContentActions();\n const { setFocusedContentKeyPath, focusedContent } =\n useFocusUnmergedDictionary();\n const { addNewElement, goToField } = useIntlayer('navigation-view');\n const nodeType = getNodeType(section);\n const getIsSelected = (keyPath: KeyPath[]) =>\n (focusedContent?.keyPath?.length ?? 0) > 0 &&\n isSameKeyPath(keyPath, focusedContent?.keyPath ?? []);\n const isEditableSubSection = getIsEditableSection(section);\n\n if (!section) return <></>;\n\n if (isEditableSubSection) {\n return (\n <Button\n label={goToField.label.value}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(keyPath)}\n IconRight={ChevronRight}\n >\n {camelCaseToSentence(keyPath[keyPath.length - 1]?.key as string)}\n </Button>\n );\n }\n\n if (typeof section === 'object') {\n if (nodeType === NodeTypes.REACT_NODE) {\n return <>React Node</>;\n }\n\n if (nodeType === NodeTypes.TRANSLATION) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {selectedLocales.map((translationKey) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.TRANSLATION, key: translationKey },\n ];\n\n return (\n <NavigationViewNode\n key={translationKey}\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n })}\n </div>\n );\n }\n\n if (\n nodeType === NodeTypes.ENUMERATION ||\n nodeType === NodeTypes.PLURAL ||\n nodeType === NodeTypes.CONDITION\n ) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {Object.keys(\n (section as any)[nodeType as unknown as keyof typeof section]\n ).map((key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: nodeType, key },\n ];\n\n return (\n <NavigationViewNode\n key={key}\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n })}\n </div>\n );\n }\n\n if (nodeType === NodeTypes.ARRAY) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.ARRAY, key: index },\n ];\n\n const isEditableSubSection = getIsEditableSection(subSection);\n\n if (isEditableSubSection) {\n return (\n <Button\n key={JSON.stringify(childKeyPath)}\n label={`${goToField.label.value} ${index}`}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n IconRight={ChevronRight}\n isActive={getIsSelected(childKeyPath)}\n >\n Item {index}\n </Button>\n );\n }\n\n return (\n <GatedAccordion\n key={JSON.stringify(childKeyPath)}\n label={`${goToField.label.value} ${index}`}\n header={`Item ${index}`}\n isActive={getIsSelected(childKeyPath)}\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n >\n <div className=\"mt-2 flex w-full max-w-full\">\n <div className=\"flex-1 pl-10\">\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n </div>\n </div>\n </GatedAccordion>\n );\n })}\n\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: NodeTypes.ARRAY,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n const sectionArray = section as unknown as ContentNode[];\n const emptySectionEl =\n getEmptyNode(\n sectionArray[\n (sectionArray.length - 1) as keyof typeof sectionArray\n ] as ContentNode\n ) ?? '';\n addEditedContent(\n dictionary.localId as LocalDictionaryId,\n emptySectionEl,\n newKeyPath,\n false\n );\n setFocusedContentKeyPath(newKeyPath);\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n }\n\n if (typeof section.nodeType === 'string') {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: section.nodeType } as KeyPath,\n ];\n\n return (\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n }\n\n const sectionArray = Object.keys(section);\n return (\n <div className=\"flex w-full max-w-full flex-col justify-between gap-2\">\n {sectionArray.map((key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.OBJECT, key },\n ];\n\n const subSection = getContentNodeByKeyPath(sectionProp, childKeyPath);\n const isEditableSubSection = getIsEditableSection(subSection);\n\n if (isEditableSubSection) {\n return (\n <Button\n label={`${goToField.label.value} ${key}`}\n key={key}\n isActive={getIsSelected(childKeyPath)}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n IconRight={ChevronRight}\n >\n {camelCaseToSentence(key)}\n </Button>\n );\n }\n\n return (\n <GatedAccordion\n key={key}\n label={`${goToField.label.value} ${key}`}\n isActive={getIsSelected(childKeyPath)}\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n header={camelCaseToSentence(key)}\n >\n <div className=\"mt-2 flex w-full max-w-full\">\n <div className=\"flex-1 pl-10\">\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n </div>\n </div>\n </GatedAccordion>\n );\n })}\n </div>\n );\n }\n\n return (\n <>\n Error loading section --\n {nodeType}\n --\n {JSON.stringify(section)}\n --\n {JSON.stringify(keyPath)}\n </>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationViewNode.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx"],"sourcesContent":["import { Accordion, type AccordionProps } from '@components/Accordion';\nimport { Button } from '@components/Button';\nimport { useLocaleSwitcherContent } from '@components/LocaleSwitcherContentDropDown';\nimport { camelCaseToSentence } from '@intlayer/config/client';\nimport {\n getContentNodeByKeyPath,\n getEmptyNode,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport { isSameKeyPath } from '@intlayer/core/utils';\nimport {\n useEditedContentActions,\n useEditorLocale,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport type { LocalDictionaryId } from '@intlayer/types/dictionary';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { ContentNode, Dictionary } from 'intlayer';\nimport { ChevronRight, Plus } from 'lucide-react';\nimport { type FC, type ReactNode, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { getIsEditableSection } from '../getIsEditableSection';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype GatedAccordionProps = AccordionProps & { children: ReactNode };\n\n// Renders children only after the accordion is first opened (mount-once pattern).\n// Prevents the entire recursive subtree from mounting on initial render.\nconst GatedAccordion: FC<GatedAccordionProps> = ({\n children,\n onToggle,\n ...props\n}) => {\n const [hasOpened, setHasOpened] = useState(false);\n return (\n <Accordion\n {...props}\n onToggle={(isOpen) => {\n if (isOpen && !hasOpened) setHasOpened(true);\n onToggle?.(isOpen);\n }}\n >\n {hasOpened ? children : null}\n </Accordion>\n );\n};\n\nexport type NodeWrapperProps = {\n keyPath: KeyPath[];\n section: ContentNode;\n dictionary: Dictionary;\n};\n\nexport const NavigationViewNode: FC<NodeWrapperProps> = ({\n section: sectionProp,\n keyPath,\n dictionary,\n}) => {\n const { selectedLocales } = useLocaleSwitcherContent();\n\n const currentLocale = useEditorLocale();\n const section = getContentNodeByKeyPath(sectionProp, keyPath, currentLocale);\n const { addEditedContent } = useEditedContentActions();\n const { setFocusedContentKeyPath, focusedContent } =\n useFocusUnmergedDictionary();\n const { addNewElement, goToField } = useIntlayer('navigation-view');\n const nodeType = getNodeType(section);\n const getIsSelected = (keyPath: KeyPath[]) =>\n (focusedContent?.keyPath?.length ?? 0) > 0 &&\n isSameKeyPath(keyPath, focusedContent?.keyPath ?? []);\n const isEditableSubSection = getIsEditableSection(section);\n\n if (!section) return <></>;\n\n if (isEditableSubSection) {\n return (\n <Button\n label={goToField.label.value}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(keyPath)}\n IconRight={ChevronRight}\n >\n {camelCaseToSentence(keyPath[keyPath.length - 1]?.key as string)}\n </Button>\n );\n }\n\n if (typeof section === 'object') {\n if (nodeType === NodeTypes.REACT_NODE) {\n return <>React Node</>;\n }\n\n if (nodeType === NodeTypes.TRANSLATION) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {selectedLocales.map((translationKey) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.TRANSLATION, key: translationKey },\n ];\n\n return (\n <NavigationViewNode\n key={translationKey}\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n })}\n </div>\n );\n }\n\n if (\n nodeType === NodeTypes.ENUMERATION ||\n nodeType === NodeTypes.PLURAL ||\n nodeType === NodeTypes.CONDITION\n ) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {Object.keys(\n (section as any)[nodeType as unknown as keyof typeof section]\n ).map((key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: nodeType, key },\n ];\n\n return (\n <NavigationViewNode\n key={key}\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n })}\n </div>\n );\n }\n\n if (nodeType === NodeTypes.ARRAY) {\n return (\n <div className=\"flex flex-col justify-between gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.ARRAY, key: index },\n ];\n\n const isEditableSubSection = getIsEditableSection(subSection);\n\n if (isEditableSubSection) {\n return (\n <Button\n key={JSON.stringify(childKeyPath)}\n label={`${goToField.label.value} ${index}`}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n IconRight={ChevronRight}\n isActive={getIsSelected(childKeyPath)}\n >\n Item {index}\n </Button>\n );\n }\n\n return (\n <GatedAccordion\n key={JSON.stringify(childKeyPath)}\n label={`${goToField.label.value} ${index}`}\n header={`Item ${index}`}\n isActive={getIsSelected(childKeyPath)}\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n >\n <div className=\"mt-2 flex w-full max-w-full\">\n <div className=\"flex-1 pl-10\">\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n </div>\n </div>\n </GatedAccordion>\n );\n })}\n\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: NodeTypes.ARRAY,\n key: (section as unknown as ContentNode[]).length,\n },\n ];\n const sectionArray = section as unknown as ContentNode[];\n const emptySectionEl =\n getEmptyNode(\n sectionArray[\n (sectionArray.length - 1) as keyof typeof sectionArray\n ] as ContentNode\n ) ?? '';\n addEditedContent(\n dictionary.localId as LocalDictionaryId,\n emptySectionEl,\n newKeyPath,\n false\n );\n setFocusedContentKeyPath(newKeyPath);\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n }\n\n if (typeof section.nodeType === 'string') {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: section.nodeType } as KeyPath,\n ];\n\n return (\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n );\n }\n\n const sectionArray = Object.keys(section);\n return (\n <div className=\"flex w-full max-w-full flex-col justify-between gap-2\">\n {sectionArray.map((key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeTypes.OBJECT, key },\n ];\n\n const subSection = getContentNodeByKeyPath(sectionProp, childKeyPath);\n const isEditableSubSection = getIsEditableSection(subSection);\n\n if (isEditableSubSection) {\n return (\n <Button\n label={`${goToField.label.value} ${key}`}\n key={key}\n isActive={getIsSelected(childKeyPath)}\n variant=\"hoverable\"\n color=\"text\"\n className=\"w-full\"\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n IconRight={ChevronRight}\n >\n {camelCaseToSentence(key)}\n </Button>\n );\n }\n\n return (\n <GatedAccordion\n key={key}\n label={`${goToField.label.value} ${key}`}\n isActive={getIsSelected(childKeyPath)}\n onClick={() => setFocusedContentKeyPath(childKeyPath)}\n header={camelCaseToSentence(key)}\n >\n <div className=\"mt-2 flex w-full max-w-full\">\n <div className=\"flex-1 pl-10\">\n <NavigationViewNode\n keyPath={childKeyPath}\n section={sectionProp}\n dictionary={dictionary}\n />\n </div>\n </div>\n </GatedAccordion>\n );\n })}\n </div>\n );\n }\n\n return (\n <>\n Error loading section --\n {nodeType}\n --\n {JSON.stringify(section)}\n --\n {JSON.stringify(keyPath)}\n </>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigationViewNode.content.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nexport const navigationViewContent = {\n key: 'navigation-view',\n content: {\n tsxNotEditable: t({\n en: 'React node is not editable',\n 'en-GB': 'React node is not editable',\n fr: 'Node React non éditable',\n es: 'Nodo React no editable',\n de: 'React-Knoten ist nicht bearbeitbar',\n ja: '編集できないReactノードです',\n ko: '편집할 수 없는 React 노드입니다',\n zh: '不可编辑的 React 节点',\n it: 'Node React non modificabile',\n pt: 'Nó React não editável',\n hi: 'सम्पादित न करने योग्य React नोड',\n ar: 'عقدة React غير قابلة للتحرير',\n ru: 'React-узел не редактируемый',\n tr: 'React düğümü düzenlenemez',\n pl: 'Węzeł React nie jest edytowalny',\n id: 'React node tidak dapat diedit',\n vi: 'React node không thể chỉnh sửa',\n uk: 'Елемент React не редагується',\n }),\n goToField: {\n label: t({\n en: 'Go to field',\n 'en-GB': 'Go to field',\n fr: 'Aller au champ',\n es: 'Ir al campo',\n de: 'Zum Feld gehen',\n ja: 'フィールドに移動',\n ko: '필드로 이동',\n zh: '转到字段',\n it: 'Vai al campo',\n pt: 'Ir para o campo',\n hi: 'फ़ील्ड पर जाएं',\n ar: 'اذهب إلى الحقل',\n ru: 'Перейти к полю',\n tr: 'Alana git',\n pl: 'Przejdź do pola',\n id: 'Buka field',\n vi: 'Đi tới trường',\n uk: 'Перейти до поля',\n }),\n },\n addNewElement: {\n label: t({\n en: 'Click to add element',\n 'en-GB': 'Click to add element',\n fr: 'Cliquez pour ajouter un élément',\n es: 'Haga clic para agregar un elemento',\n de: 'Klicken Sie, um ein Element hinzuzufügen',\n ja: '要素を追加するにはクリック',\n ko: '요소를 추가하려면 클릭하세요',\n zh: '点击添加元素',\n it: 'Clicca per aggiungere un elemento',\n pt: 'Clique para adicionar um elemento',\n hi: 'तत्व जोड़ने के लिए क्लिक करें',\n ar: 'انقر لإضافة عنصر',\n ru: 'Нажмите, чтобы добавить элемент',\n tr: 'Eleman eklemek için tıklayın',\n pl: 'Kliknij, aby dodać element',\n id: 'Klik untuk menambah elemen',\n vi: 'Nhấp để thêm phần tử',\n uk: 'Натисніть, щоб додати елемент',\n }),\n text: t({\n en: 'Add new element',\n 'en-GB': 'Add new element',\n fr: 'Ajouter un nouvel élément',\n es: 'Agregar nuevo elemento',\n de: 'Neues Element hinzufügen',\n ja: '新しい要素を追加',\n ko: '새 요소 추가',\n zh: '添加新元素',\n it: 'Aggiungi nuovo elemento',\n pt: 'Adicionar novo elemento',\n hi: 'नया तत्व जोड़ें',\n ar: 'أضف عنصرًا جديدًا',\n ru: 'Добавить новый элемент',\n tr: 'Yeni eleman ekle',\n pl: 'Dodaj nowy element',\n id: 'Tambahkan elemen baru',\n vi: 'Thêm phần tử mới',\n uk: 'Додати новий елемент',\n }),\n },\n removeElement: {\n label: t({\n en: 'Click to remove element',\n 'en-GB': 'Click to remove element',\n fr: 'Cliquez pour supprimer un élément',\n es: 'Haga clic para eliminar un elemento',\n de: 'Klicken Sie, um ein Element zu entfernen',\n ja: '要素を削除するにはクリック',\n ko: '요소를 제거하려면 클릭하세요',\n zh: '点击删除元素',\n it: 'Clicca per rimuovere un elemento',\n pt: 'Clique para remover um elemento',\n hi: 'तत्व निकालने के लिए क्लिक करें',\n ar: 'انقر لإزالة عنصر',\n ru: 'Нажмите, чтобы удалить элемент',\n tr: 'Elemanı kaldırmak için tıklayın',\n pl: 'Kliknij, aby usunąć element',\n id: 'Klik untuk menghapus elemen',\n vi: 'Nhấp để xóa phần tử',\n uk: 'Натисніть, щоб видалити елемент',\n }),\n text: t({\n en: 'Remove element',\n 'en-GB': 'Remove element',\n fr: 'Supprimer l’élément',\n es: 'Eliminar elemento',\n de: 'Element entfernen',\n ja: '要素を削除',\n ko: '요소 제거',\n zh: '删除元素',\n it: 'Rimuovi elemento',\n pt: 'Remover elemento',\n hi: 'तत्व निकालें',\n ar: 'إزالة عنصر',\n ru: 'Удалить элемент',\n tr: 'Elemanı kaldır',\n pl: 'Usuń element',\n id: 'Hapus elemen',\n vi: 'Xóa phần tử',\n uk: 'Видалити елемент',\n }),\n },\n addNewEnumeration: {\n label: t({\n en: 'Click to add enumeration',\n 'en-GB': 'Click to add enumeration',\n fr: 'Cliquez pour ajouter une énumération',\n es: 'Haga clic para agregar una enumeración',\n de: 'Klicken Sie, um eine Aufzählung hinzuzufügen',\n ja: '列挙を追加するにはクリック',\n ko: '열거를 추가하려면 클릭하세요',\n zh: '点击添加枚举',\n it: 'Clicca per aggiungere un enumerazione',\n pt: 'Clique para adicionar uma enumeração',\n hi: 'सूची जोड़ने के लिए क्लिक करें',\n ar: 'انقر لإضافة تعداد',\n ru: 'Нажмите, чтобы добавить перечисление',\n tr: 'Numaralandırma eklemek için tıklayın',\n pl: 'Kliknij, aby dodać enumerację',\n id: 'Klik untuk menambah enumerasi',\n vi: 'Nhấp để thêm enumeration',\n uk: 'Натисніть, щоб додати перелік',\n }),\n text: t({\n en: 'Add new enumeration',\n 'en-GB': 'Add new enumeration',\n fr: 'Ajouter une nouvelle énumération',\n es: 'Agregar nueva enumeración',\n de: 'Neue Aufzählung hinzufügen',\n ja: '新しい列挙を追加',\n ko: '새 목록 추가',\n zh: '添加新枚举',\n it: 'Aggiungi nuova enumerazione',\n pt: 'Adicionar nova enumeração',\n hi: 'नया सूची जोड़ें',\n ar: 'أضف تعدادًا جديدًا',\n ru: 'Добавить новое перечисление',\n tr: 'Yeni numaralandırma ekle',\n pl: 'Dodaj nową enumerację',\n id: 'Tambahkan enumerasi baru',\n vi: 'Thêm enumeration mới',\n uk: 'Додати новий перелік',\n }),\n },\n removeEnumeration: {\n label: t({\n en: 'Click to remove enumeration',\n 'en-GB': 'Click to remove enumeration',\n fr: 'Cliquez pour supprimer une énumération',\n es: 'Haga clic para eliminar una enumeración',\n de: 'Klicken Sie, um eine Aufzählung zu entfernen',\n ja: '列挙を削除するにはクリック',\n ko: '목록을 제거하려면 클릭하세요',\n zh: '点击删除枚举',\n it: \"Clicca per rimuovere un'enumerazione\",\n pt: 'Clique para remover uma enumeração',\n hi: 'सूची निकालने के लिए क्लिक करें',\n ar: 'انقر لإزالة تعداد',\n ru: 'Нажмите, чтобы удалить перечисление',\n tr: 'Numaralandırmayı kaldırmak için tıklayın',\n pl: 'Kliknij, aby usunąć enumerację',\n id: 'Klik untuk menghapus enumerasi',\n vi: 'Nhấp để xóa enumeration',\n uk: 'Натисніть, щоб видалити перелік',\n }),\n text: t({\n en: 'Remove enumeration',\n 'en-GB': 'Remove enumeration',\n fr: 'Supprimer l’énumération',\n es: 'Eliminar enumeración',\n de: 'Aufzählung entfernen',\n ja: '列挙を削除',\n ko: '목록 제거',\n zh: '删除枚举',\n it: 'Rimuovi enumerazione',\n pt: 'Remover enumeração',\n hi: 'सूची निकालें',\n ar: 'إزالة تعداد',\n ru: 'Удалить перечисление',\n tr: 'Numaralandırmayı kaldır',\n pl: 'Usuń enumerację',\n id: 'Hapus enumerasi',\n vi: 'Xóa enumeration',\n uk: 'Видалити перелік',\n }),\n },\n },\n title: 'Navigation view content',\n description:\n 'Content declarations used for UI interactions within the navigation view of the Dictionary Field Editor. Includes labels and helper texts for adding or removing elements, enumerations, and conditions.',\n tags: ['editor UI', 'form navigation', 'dictionary editor'],\n} satisfies Dictionary;\n\nexport default navigationViewContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"navigationViewNode.content.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nexport const navigationViewContent = {\n key: 'navigation-view',\n content: {\n tsxNotEditable: t({\n en: 'React node is not editable',\n 'en-GB': 'React node is not editable',\n fr: 'Node React non éditable',\n es: 'Nodo React no editable',\n de: 'React-Knoten ist nicht bearbeitbar',\n ja: '編集できないReactノードです',\n ko: '편집할 수 없는 React 노드입니다',\n zh: '不可编辑的 React 节点',\n it: 'Node React non modificabile',\n pt: 'Nó React não editável',\n hi: 'सम्पादित न करने योग्य React नोड',\n ar: 'عقدة React غير قابلة للتحرير',\n ru: 'React-узел не редактируемый',\n tr: 'React düğümü düzenlenemez',\n pl: 'Węzeł React nie jest edytowalny',\n id: 'React node tidak dapat diedit',\n vi: 'React node không thể chỉnh sửa',\n uk: 'Елемент React не редагується',\n }),\n goToField: {\n label: t({\n en: 'Go to field',\n 'en-GB': 'Go to field',\n fr: 'Aller au champ',\n es: 'Ir al campo',\n de: 'Zum Feld gehen',\n ja: 'フィールドに移動',\n ko: '필드로 이동',\n zh: '转到字段',\n it: 'Vai al campo',\n pt: 'Ir para o campo',\n hi: 'फ़ील्ड पर जाएं',\n ar: 'اذهب إلى الحقل',\n ru: 'Перейти к полю',\n tr: 'Alana git',\n pl: 'Przejdź do pola',\n id: 'Buka field',\n vi: 'Đi tới trường',\n uk: 'Перейти до поля',\n }),\n },\n addNewElement: {\n label: t({\n en: 'Click to add element',\n 'en-GB': 'Click to add element',\n fr: 'Cliquez pour ajouter un élément',\n es: 'Haga clic para agregar un elemento',\n de: 'Klicken Sie, um ein Element hinzuzufügen',\n ja: '要素を追加するにはクリック',\n ko: '요소를 추가하려면 클릭하세요',\n zh: '点击添加元素',\n it: 'Clicca per aggiungere un elemento',\n pt: 'Clique para adicionar um elemento',\n hi: 'तत्व जोड़ने के लिए क्लिक करें',\n ar: 'انقر لإضافة عنصر',\n ru: 'Нажмите, чтобы добавить элемент',\n tr: 'Eleman eklemek için tıklayın',\n pl: 'Kliknij, aby dodać element',\n id: 'Klik untuk menambah elemen',\n vi: 'Nhấp để thêm phần tử',\n uk: 'Натисніть, щоб додати елемент',\n }),\n text: t({\n en: 'Add new element',\n 'en-GB': 'Add new element',\n fr: 'Ajouter un nouvel élément',\n es: 'Agregar nuevo elemento',\n de: 'Neues Element hinzufügen',\n ja: '新しい要素を追加',\n ko: '새 요소 추가',\n zh: '添加新元素',\n it: 'Aggiungi nuovo elemento',\n pt: 'Adicionar novo elemento',\n hi: 'नया तत्व जोड़ें',\n ar: 'أضف عنصرًا جديدًا',\n ru: 'Добавить новый элемент',\n tr: 'Yeni eleman ekle',\n pl: 'Dodaj nowy element',\n id: 'Tambahkan elemen baru',\n vi: 'Thêm phần tử mới',\n uk: 'Додати новий елемент',\n }),\n },\n removeElement: {\n label: t({\n en: 'Click to remove element',\n 'en-GB': 'Click to remove element',\n fr: 'Cliquez pour supprimer un élément',\n es: 'Haga clic para eliminar un elemento',\n de: 'Klicken Sie, um ein Element zu entfernen',\n ja: '要素を削除するにはクリック',\n ko: '요소를 제거하려면 클릭하세요',\n zh: '点击删除元素',\n it: 'Clicca per rimuovere un elemento',\n pt: 'Clique para remover um elemento',\n hi: 'तत्व निकालने के लिए क्लिक करें',\n ar: 'انقر لإزالة عنصر',\n ru: 'Нажмите, чтобы удалить элемент',\n tr: 'Elemanı kaldırmak için tıklayın',\n pl: 'Kliknij, aby usunąć element',\n id: 'Klik untuk menghapus elemen',\n vi: 'Nhấp để xóa phần tử',\n uk: 'Натисніть, щоб видалити елемент',\n }),\n text: t({\n en: 'Remove element',\n 'en-GB': 'Remove element',\n fr: 'Supprimer l’élément',\n es: 'Eliminar elemento',\n de: 'Element entfernen',\n ja: '要素を削除',\n ko: '요소 제거',\n zh: '删除元素',\n it: 'Rimuovi elemento',\n pt: 'Remover elemento',\n hi: 'तत्व निकालें',\n ar: 'إزالة عنصر',\n ru: 'Удалить элемент',\n tr: 'Elemanı kaldır',\n pl: 'Usuń element',\n id: 'Hapus elemen',\n vi: 'Xóa phần tử',\n uk: 'Видалити елемент',\n }),\n },\n addNewEnumeration: {\n label: t({\n en: 'Click to add enumeration',\n 'en-GB': 'Click to add enumeration',\n fr: 'Cliquez pour ajouter une énumération',\n es: 'Haga clic para agregar una enumeración',\n de: 'Klicken Sie, um eine Aufzählung hinzuzufügen',\n ja: '列挙を追加するにはクリック',\n ko: '열거를 추가하려면 클릭하세요',\n zh: '点击添加枚举',\n it: 'Clicca per aggiungere un enumerazione',\n pt: 'Clique para adicionar uma enumeração',\n hi: 'सूची जोड़ने के लिए क्लिक करें',\n ar: 'انقر لإضافة تعداد',\n ru: 'Нажмите, чтобы добавить перечисление',\n tr: 'Numaralandırma eklemek için tıklayın',\n pl: 'Kliknij, aby dodać enumerację',\n id: 'Klik untuk menambah enumerasi',\n vi: 'Nhấp để thêm enumeration',\n uk: 'Натисніть, щоб додати перелік',\n }),\n text: t({\n en: 'Add new enumeration',\n 'en-GB': 'Add new enumeration',\n fr: 'Ajouter une nouvelle énumération',\n es: 'Agregar nueva enumeración',\n de: 'Neue Aufzählung hinzufügen',\n ja: '新しい列挙を追加',\n ko: '새 목록 추가',\n zh: '添加新枚举',\n it: 'Aggiungi nuova enumerazione',\n pt: 'Adicionar nova enumeração',\n hi: 'नया सूची जोड़ें',\n ar: 'أضف تعدادًا جديدًا',\n ru: 'Добавить новое перечисление',\n tr: 'Yeni numaralandırma ekle',\n pl: 'Dodaj nową enumerację',\n id: 'Tambahkan enumerasi baru',\n vi: 'Thêm enumeration mới',\n uk: 'Додати новий перелік',\n }),\n },\n removeEnumeration: {\n label: t({\n en: 'Click to remove enumeration',\n 'en-GB': 'Click to remove enumeration',\n fr: 'Cliquez pour supprimer une énumération',\n es: 'Haga clic para eliminar una enumeración',\n de: 'Klicken Sie, um eine Aufzählung zu entfernen',\n ja: '列挙を削除するにはクリック',\n ko: '목록을 제거하려면 클릭하세요',\n zh: '点击删除枚举',\n it: \"Clicca per rimuovere un'enumerazione\",\n pt: 'Clique para remover uma enumeração',\n hi: 'सूची निकालने के लिए क्लिक करें',\n ar: 'انقر لإزالة تعداد',\n ru: 'Нажмите, чтобы удалить перечисление',\n tr: 'Numaralandırmayı kaldırmak için tıklayın',\n pl: 'Kliknij, aby usunąć enumerację',\n id: 'Klik untuk menghapus enumerasi',\n vi: 'Nhấp để xóa enumeration',\n uk: 'Натисніть, щоб видалити перелік',\n }),\n text: t({\n en: 'Remove enumeration',\n 'en-GB': 'Remove enumeration',\n fr: 'Supprimer l’énumération',\n es: 'Eliminar enumeración',\n de: 'Aufzählung entfernen',\n ja: '列挙を削除',\n ko: '목록 제거',\n zh: '删除枚举',\n it: 'Rimuovi enumerazione',\n pt: 'Remover enumeração',\n hi: 'सूची निकालें',\n ar: 'إزالة تعداد',\n ru: 'Удалить перечисление',\n tr: 'Numaralandırmayı kaldır',\n pl: 'Usuń enumerację',\n id: 'Hapus enumerasi',\n vi: 'Xóa enumeration',\n uk: 'Видалити перелік',\n }),\n },\n },\n title: 'Navigation view content',\n description:\n 'Content declarations used for UI interactions within the navigation view of the Dictionary Field Editor. Includes labels and helper texts for adding or removing elements, enumerations, and conditions.',\n tags: ['editor UI', 'form navigation', 'dictionary editor'],\n} satisfies Dictionary;\n\nexport default navigationViewContent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTypeSelector.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/NodeTypeSelector.tsx"],"sourcesContent":["'use client';\n\nimport { getNodeType } from '@intlayer/core/dictionaryManipulator';\nimport type { ContentNode } from '@intlayer/types/dictionary';\nimport type { NodeType } from '@intlayer/types/nodeType';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport { type FC, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Select } from '../Select';\n\ntype NodeTypeSelectorProps = {\n section: ContentNode;\n onValueChange: (keyType: NodeType) => void;\n};\n\nexport const NodeTypeSelector: FC<NodeTypeSelectorProps> = ({\n section,\n onValueChange: onValueChangeProp,\n}) => {\n const {\n multilingual,\n text,\n number,\n boolean,\n node,\n array,\n enumeration,\n plural,\n triggerPlaceHolder,\n nest,\n gender,\n condition,\n markdown,\n insertion,\n reactNode,\n file,\n } = useIntlayer('node-type-selector');\n const nodeType = getNodeType(section);\n const [keyType, setKeyType] = useState<NodeType>(nodeType);\n\n const onValueChange = (keyType: NodeType) => {\n setKeyType(keyType);\n onValueChangeProp(keyType);\n };\n\n return (\n <Select value={keyType} onValueChange={onValueChange}>\n <Select.Trigger>\n <Select.Value placeholder={triggerPlaceHolder} />\n </Select.Trigger>\n <Select.Content>\n <Select.Item value={NodeTypes.TRANSLATION}>{multilingual}</Select.Item>\n <Select.Item value={NodeTypes.TEXT}>{text}</Select.Item>\n <Select.Item value={NodeTypes.NUMBER}>{number}</Select.Item>\n <Select.Item value={NodeTypes.BOOLEAN}>{boolean}</Select.Item>\n <Select.Item value={NodeTypes.OBJECT}>{node}</Select.Item>\n <Select.Item value={NodeTypes.ARRAY}>{array}</Select.Item>\n <Select.Item value={NodeTypes.ENUMERATION}>{enumeration}</Select.Item>\n <Select.Item value={NodeTypes.PLURAL}>{plural}</Select.Item>\n <Select.Item value={NodeTypes.GENDER}>{gender}</Select.Item>\n <Select.Item value={NodeTypes.INSERTION}>{insertion}</Select.Item>\n <Select.Item value={NodeTypes.MARKDOWN}>{markdown}</Select.Item>\n <Select.Item value={NodeTypes.NESTED}>{nest}</Select.Item>\n <Select.Item value={NodeTypes.CONDITION}>{condition}</Select.Item>\n <Select.Item value={NodeTypes.REACT_NODE} disabled>\n {reactNode}\n </Select.Item>\n <Select.Item value={NodeTypes.FILE}>{file}</Select.Item>\n </Select.Content>\n </Select>\n );\n};\n"],"mappings":";;;;;;;;;;AAeA,MAAa,oBAA+C,EAC1D,SACA,eAAe,wBACX;CACJ,MAAM,EACJ,cACA,MACA,QACA,SACA,MACA,OACA,aACA,QACA,oBACA,MACA,QACA,WACA,UACA,WACA,WACA,SACE,YAAY,qBAAqB;CAErC,MAAM,CAAC,SAAS,cAAc,SADb,YAAY,QAC4B,CAAC;CAE1D,MAAM,iBAAiB,YAAsB;AAC3C,aAAW,QAAQ;AACnB,oBAAkB,QAAQ;;AAG5B,QACE,qBAAC,QAAD;EAAQ,OAAO;EAAwB;YAAvC,CACE,oBAAC,OAAO,SAAR,YACE,oBAAC,OAAO,OAAR,EAAc,aAAa,oBAAsB,GAClC,GACjB,qBAAC,OAAO,SAAR;GACE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAc;IAA2B;GACvE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAO;IAAmB;GACxD,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;IAAqB;GAC5D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAU;IAAsB;GAC9D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;IAAmB;GAC1D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAQ;IAAoB;GAC1D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAc;IAA0B;GACtE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;IAAqB;GAC5D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;IAAqB;GAC5D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAY;IAAwB;GAClE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAW;IAAuB;GAChE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;IAAmB;GAC1D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAY;IAAwB;GAClE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;IAAY;cACvC;IACW;GACd,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAO;IAAmB;GACzC,IACV"}
1
+ {"version":3,"file":"NodeTypeSelector.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/NodeTypeSelector.tsx"],"sourcesContent":["'use client';\n\nimport { getNodeType } from '@intlayer/core/dictionaryManipulator';\nimport type { ContentNode } from '@intlayer/types/dictionary';\nimport type { NodeType } from '@intlayer/types/nodeType';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport { type FC, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Select } from '../Select';\n\ntype NodeTypeSelectorProps = {\n section: ContentNode;\n onValueChange: (keyType: NodeType) => void;\n};\n\nexport const NodeTypeSelector: FC<NodeTypeSelectorProps> = ({\n section,\n onValueChange: onValueChangeProp,\n}) => {\n const {\n multilingual,\n text,\n number,\n boolean,\n node,\n array,\n enumeration,\n plural,\n triggerPlaceHolder,\n nest,\n gender,\n condition,\n markdown,\n insertion,\n reactNode,\n file,\n } = useIntlayer('node-type-selector');\n const nodeType = getNodeType(section);\n const [keyType, setKeyType] = useState<NodeType>(nodeType);\n\n const onValueChange = (keyType: NodeType) => {\n setKeyType(keyType);\n onValueChangeProp(keyType);\n };\n\n return (\n <Select value={keyType} onValueChange={onValueChange}>\n <Select.Trigger>\n <Select.Value placeholder={triggerPlaceHolder} />\n </Select.Trigger>\n <Select.Content>\n <Select.Item value={NodeTypes.TRANSLATION}>{multilingual}</Select.Item>\n <Select.Item value={NodeTypes.TEXT}>{text}</Select.Item>\n <Select.Item value={NodeTypes.NUMBER}>{number}</Select.Item>\n <Select.Item value={NodeTypes.BOOLEAN}>{boolean}</Select.Item>\n <Select.Item value={NodeTypes.OBJECT}>{node}</Select.Item>\n <Select.Item value={NodeTypes.ARRAY}>{array}</Select.Item>\n <Select.Item value={NodeTypes.ENUMERATION}>{enumeration}</Select.Item>\n <Select.Item value={NodeTypes.PLURAL}>{plural}</Select.Item>\n <Select.Item value={NodeTypes.GENDER}>{gender}</Select.Item>\n <Select.Item value={NodeTypes.INSERTION}>{insertion}</Select.Item>\n <Select.Item value={NodeTypes.MARKDOWN}>{markdown}</Select.Item>\n <Select.Item value={NodeTypes.NESTED}>{nest}</Select.Item>\n <Select.Item value={NodeTypes.CONDITION}>{condition}</Select.Item>\n <Select.Item value={NodeTypes.REACT_NODE} disabled>\n {reactNode}\n </Select.Item>\n <Select.Item value={NodeTypes.FILE}>{file}</Select.Item>\n </Select.Content>\n </Select>\n );\n};\n"],"mappings":";;;;;;;;;;AAeA,MAAa,oBAA+C,EAC1D,SACA,eAAe,wBACX;CACJ,MAAM,EACJ,cACA,MACA,QACA,SACA,MACA,OACA,aACA,QACA,oBACA,MACA,QACA,WACA,UACA,WACA,WACA,SACE,YAAY,oBAAoB;CAEpC,MAAM,CAAC,SAAS,cAAc,SADb,YAAY,OAC2B,CAAC;CAEzD,MAAM,iBAAiB,YAAsB;EAC3C,WAAW,OAAO;EAClB,kBAAkB,OAAO;CAC3B;CAEA,OACE,qBAAC,QAAD;EAAQ,OAAO;EAAwB;YAAvC,CACE,oBAAC,OAAO,SAAR,YACE,oBAAC,OAAO,OAAR,EAAc,aAAa,mBAAqB,GAClC,IAChB,qBAAC,OAAO,SAAR;GACE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAc;GAA0B;GACtE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAO;GAAkB;GACvD,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;GAAoB;GAC3D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAU;GAAqB;GAC7D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;GAAkB;GACzD,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAQ;GAAmB;GACzD,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAc;GAAyB;GACrE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;GAAoB;GAC3D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;GAAoB;GAC3D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAY;GAAuB;GACjE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAW;GAAsB;GAC/D,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAS;GAAkB;GACzD,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAY;GAAuB;GACjE,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;IAAY;cACvC;GACU;GACb,oBAAC,OAAO,MAAR;IAAa,OAAO,UAAU;cAAO;GAAkB;EACzC,IACV;;AAEZ"}
@@ -1,17 +1,17 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../../utils/cn.mjs";
4
- import { Button } from "../../Button/Button.mjs";
5
4
  import { useSession } from "../../../api/useAuth/useSession.mjs";
6
5
  import { useAuth } from "../../../api/useAuth/useAuth.mjs";
7
6
  import { useDeleteDictionary, usePushDictionaries } from "../../../api/hooks/dictionary.mjs";
8
7
  import { useWriteDictionary } from "../../../api/hooks/editor.mjs";
8
+ import { Button } from "../../Button/Button.mjs";
9
9
  import { Modal } from "../../Modal/Modal.mjs";
10
10
  import { useState } from "react";
11
11
  import { ArrowUpFromLine, Download, RotateCcw, Save, Trash } from "lucide-react";
12
12
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
- import { useIntlayer } from "react-intlayer";
14
13
  import { useDictionariesRecordActions, useEditedContent } from "@intlayer/editor-react";
14
+ import { useIntlayer } from "react-intlayer";
15
15
 
16
16
  //#region src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx
17
17
  const SaveForm = ({ dictionary, mode, className, onDelete, onSave, ...props }) => {
@@ -32,10 +32,11 @@ const SaveForm = ({ dictionary, mode, className, onDelete, onSave, ...props }) =
32
32
  const isDistantDictionary = typeof dictionary?.id !== "undefined";
33
33
  const handleSaveDictionaryConfirmation = async () => {
34
34
  if (!editedContent?.[dictionary.localId]) return;
35
- writeDictionary({ dictionary: {
35
+ const updatedDictionary = {
36
36
  ...dictionary,
37
37
  ...editedContent?.[dictionary.localId]
38
- } }, { onSuccess: () => {
38
+ };
39
+ writeDictionary({ dictionary: updatedDictionary }, { onSuccess: () => {
39
40
  setLocaleDictionary(editedContent?.[dictionary.localId]);
40
41
  restoreEditedContent(dictionary.localId);
41
42
  setIsFormatAlertModalOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"SaveForm.mjs","names":["FormButton"],"sources":["../../../../../src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx"],"sourcesContent":["'use client';\n\nimport {\n useAuth,\n useDeleteDictionary,\n usePushDictionaries,\n useSession,\n useWriteDictionary,\n} from '@api/index';\nimport { FormButton } from '@components/Form';\nimport { Modal } from '@components/Modal';\nimport type { Dictionary as DistantDictionary } from '@intlayer/backend';\nimport {\n useDictionariesRecordActions,\n useEditedContent,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { cn } from '@utils/cn';\nimport {\n ArrowUpFromLine,\n Download,\n RotateCcw,\n Save,\n Trash,\n} from 'lucide-react';\nimport {\n type DetailedHTMLProps,\n type FC,\n type FormHTMLAttributes,\n useState,\n} from 'react';\nimport { useIntlayer } from 'react-intlayer';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n mode: ('local' | 'remote')[];\n onDelete?: () => void;\n onSave?: () => void;\n} & DetailedHTMLProps<FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>;\n\nexport const SaveForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n mode,\n className,\n onDelete,\n onSave,\n ...props\n}) => {\n const [isFormatAlertModalOpen, setIsFormatAlertModalOpen] = useState(false);\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const { mutate: deleteDictionary, isPending: isDeleting } =\n useDeleteDictionary();\n const { mutate: writeDictionary, isPending: isWriting } =\n useWriteDictionary();\n const { mutate: pushDictionaries, isPending: isPushing } =\n usePushDictionaries();\n const isLoading = isWriting || isPushing;\n\n const { editedContent, restoreEditedContent } = useEditedContent();\n const {\n deleteButton,\n resetButton,\n saveButton,\n publishButton,\n downloadButton,\n confirmation,\n } = useIntlayer('save-dictionary-details');\n const { isAuthenticated } = useAuth();\n const { session } = useSession();\n\n const hasDictionaryWritePermission =\n (session?.permissions?.includes('dictionary:admin') ||\n session?.permissions?.includes('dictionary:write')) ??\n false;\n\n const hasDictionaryDeletePermission = hasDictionaryWritePermission;\n\n const editedDictionary = editedContent?.[dictionary.localId!];\n\n const isEdited =\n editedDictionary &&\n JSON.stringify(editedDictionary) !== JSON.stringify(dictionary);\n\n const isDistantDictionary =\n typeof (dictionary as unknown as DistantDictionary)?.id !== 'undefined';\n\n const handleSaveDictionaryConfirmation = async () => {\n if (!editedContent?.[dictionary.localId!]) return;\n\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n writeDictionary(\n {\n dictionary: updatedDictionary,\n },\n {\n onSuccess: () => {\n setLocaleDictionary(editedContent?.[dictionary.localId!]);\n restoreEditedContent(dictionary.localId!);\n setIsFormatAlertModalOpen(false);\n onSave?.();\n },\n }\n );\n };\n\n const handlePushDictionary = () => {\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n pushDictionaries(\n { dictionaries: [updatedDictionary] },\n {\n onSuccess: (res) => {\n if (res) {\n setLocaleDictionary(updatedDictionary);\n restoreEditedContent(dictionary.localId!);\n onSave?.();\n }\n },\n }\n );\n };\n\n const handleDeleteDictionary = () => {\n if (!dictionary.id) return;\n\n deleteDictionary(\n {\n dictionaryId: dictionary.id,\n },\n {\n onSuccess: (res) => {\n if (res) {\n onDelete?.();\n }\n },\n }\n );\n };\n\n return (\n <>\n <Modal\n isOpen={isFormatAlertModalOpen}\n title={confirmation.title.value}\n size=\"md\"\n onClose={() => setIsFormatAlertModalOpen(false)}\n padding=\"md\"\n >\n <form className=\"size-full\">\n <p className=\"py-4 text-neutral text-sm\">{confirmation.message}</p>\n\n <div className=\"mt-12 flex justify-end gap-2 max-md:flex-col\">\n <FormButton\n label={confirmation.cancelButton.label.value}\n disabled={!isEdited || isLoading}\n color=\"text\"\n className=\"max-md:w-full\"\n variant=\"outline\"\n onClick={() => setIsFormatAlertModalOpen(false)}\n >\n {confirmation.cancelButton.text}\n </FormButton>\n <FormButton\n label={confirmation.confirmButton.label.value}\n disabled={!isEdited || isLoading || !hasDictionaryWritePermission}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handleSaveDictionaryConfirmation}\n >\n {confirmation.confirmButton.text}\n </FormButton>\n </div>\n </form>\n </Modal>\n <form className={cn('flex justify-end gap-2', className)} {...props}>\n {mode.includes('remote') &&\n isDistantDictionary &&\n onDelete &&\n isAuthenticated && (\n <FormButton\n label={deleteButton.label.value}\n Icon={Trash}\n color=\"error\"\n variant=\"outline\"\n className=\"max-md:w-full\"\n isLoading={isDeleting}\n onClick={handleDeleteDictionary}\n disabled={!hasDictionaryDeletePermission}\n >\n {deleteButton.text}\n </FormButton>\n )}\n {isEdited && (\n <FormButton\n label={resetButton.label.value}\n disabled={!isEdited}\n Icon={RotateCcw}\n variant=\"outline\"\n color=\"text\"\n className=\"max-md:w-full\"\n onClick={() => restoreEditedContent(dictionary.localId!)}\n >\n {resetButton.text}\n </FormButton>\n )}\n {mode.includes('local') && (\n <FormButton\n label={downloadButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Download}\n color=\"text\"\n variant={isAuthenticated ? 'outline' : 'default'}\n className=\"max-md:w-full\"\n isLoading={isWriting}\n onClick={() => setIsFormatAlertModalOpen(true)}\n >\n {downloadButton.text}\n </FormButton>\n )}\n {mode.includes('remote') && isAuthenticated && !isDistantDictionary && (\n <FormButton\n label={publishButton.label.value}\n disabled={isLoading || !hasDictionaryWritePermission}\n Icon={ArrowUpFromLine}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {publishButton.text}\n </FormButton>\n )}\n {mode.includes('remote') &&\n isAuthenticated &&\n isDistantDictionary &&\n isEdited && (\n <FormButton\n label={saveButton.label.value}\n disabled={!isEdited || isLoading || !hasDictionaryWritePermission}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {saveButton.text}\n </FormButton>\n )}\n </form>\n </>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SaveForm.mjs","names":["FormButton"],"sources":["../../../../../src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx"],"sourcesContent":["'use client';\n\nimport {\n useAuth,\n useDeleteDictionary,\n usePushDictionaries,\n useSession,\n useWriteDictionary,\n} from '@api/index';\nimport { FormButton } from '@components/Form';\nimport { Modal } from '@components/Modal';\nimport type { Dictionary as DistantDictionary } from '@intlayer/backend';\nimport {\n useDictionariesRecordActions,\n useEditedContent,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { cn } from '@utils/cn';\nimport {\n ArrowUpFromLine,\n Download,\n RotateCcw,\n Save,\n Trash,\n} from 'lucide-react';\nimport {\n type DetailedHTMLProps,\n type FC,\n type FormHTMLAttributes,\n useState,\n} from 'react';\nimport { useIntlayer } from 'react-intlayer';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n mode: ('local' | 'remote')[];\n onDelete?: () => void;\n onSave?: () => void;\n} & DetailedHTMLProps<FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>;\n\nexport const SaveForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n mode,\n className,\n onDelete,\n onSave,\n ...props\n}) => {\n const [isFormatAlertModalOpen, setIsFormatAlertModalOpen] = useState(false);\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const { mutate: deleteDictionary, isPending: isDeleting } =\n useDeleteDictionary();\n const { mutate: writeDictionary, isPending: isWriting } =\n useWriteDictionary();\n const { mutate: pushDictionaries, isPending: isPushing } =\n usePushDictionaries();\n const isLoading = isWriting || isPushing;\n\n const { editedContent, restoreEditedContent } = useEditedContent();\n const {\n deleteButton,\n resetButton,\n saveButton,\n publishButton,\n downloadButton,\n confirmation,\n } = useIntlayer('save-dictionary-details');\n const { isAuthenticated } = useAuth();\n const { session } = useSession();\n\n const hasDictionaryWritePermission =\n (session?.permissions?.includes('dictionary:admin') ||\n session?.permissions?.includes('dictionary:write')) ??\n false;\n\n const hasDictionaryDeletePermission = hasDictionaryWritePermission;\n\n const editedDictionary = editedContent?.[dictionary.localId!];\n\n const isEdited =\n editedDictionary &&\n JSON.stringify(editedDictionary) !== JSON.stringify(dictionary);\n\n const isDistantDictionary =\n typeof (dictionary as unknown as DistantDictionary)?.id !== 'undefined';\n\n const handleSaveDictionaryConfirmation = async () => {\n if (!editedContent?.[dictionary.localId!]) return;\n\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n writeDictionary(\n {\n dictionary: updatedDictionary,\n },\n {\n onSuccess: () => {\n setLocaleDictionary(editedContent?.[dictionary.localId!]);\n restoreEditedContent(dictionary.localId!);\n setIsFormatAlertModalOpen(false);\n onSave?.();\n },\n }\n );\n };\n\n const handlePushDictionary = () => {\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n pushDictionaries(\n { dictionaries: [updatedDictionary] },\n {\n onSuccess: (res) => {\n if (res) {\n setLocaleDictionary(updatedDictionary);\n restoreEditedContent(dictionary.localId!);\n onSave?.();\n }\n },\n }\n );\n };\n\n const handleDeleteDictionary = () => {\n if (!dictionary.id) return;\n\n deleteDictionary(\n {\n dictionaryId: dictionary.id,\n },\n {\n onSuccess: (res) => {\n if (res) {\n onDelete?.();\n }\n },\n }\n );\n };\n\n return (\n <>\n <Modal\n isOpen={isFormatAlertModalOpen}\n title={confirmation.title.value}\n size=\"md\"\n onClose={() => setIsFormatAlertModalOpen(false)}\n padding=\"md\"\n >\n <form className=\"size-full\">\n <p className=\"py-4 text-neutral text-sm\">{confirmation.message}</p>\n\n <div className=\"mt-12 flex justify-end gap-2 max-md:flex-col\">\n <FormButton\n label={confirmation.cancelButton.label.value}\n disabled={!isEdited || isLoading}\n color=\"text\"\n className=\"max-md:w-full\"\n variant=\"outline\"\n onClick={() => setIsFormatAlertModalOpen(false)}\n >\n {confirmation.cancelButton.text}\n </FormButton>\n <FormButton\n label={confirmation.confirmButton.label.value}\n disabled={!isEdited || isLoading || !hasDictionaryWritePermission}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handleSaveDictionaryConfirmation}\n >\n {confirmation.confirmButton.text}\n </FormButton>\n </div>\n </form>\n </Modal>\n <form className={cn('flex justify-end gap-2', className)} {...props}>\n {mode.includes('remote') &&\n isDistantDictionary &&\n onDelete &&\n isAuthenticated && (\n <FormButton\n label={deleteButton.label.value}\n Icon={Trash}\n color=\"error\"\n variant=\"outline\"\n className=\"max-md:w-full\"\n isLoading={isDeleting}\n onClick={handleDeleteDictionary}\n disabled={!hasDictionaryDeletePermission}\n >\n {deleteButton.text}\n </FormButton>\n )}\n {isEdited && (\n <FormButton\n label={resetButton.label.value}\n disabled={!isEdited}\n Icon={RotateCcw}\n variant=\"outline\"\n color=\"text\"\n className=\"max-md:w-full\"\n onClick={() => restoreEditedContent(dictionary.localId!)}\n >\n {resetButton.text}\n </FormButton>\n )}\n {mode.includes('local') && (\n <FormButton\n label={downloadButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Download}\n color=\"text\"\n variant={isAuthenticated ? 'outline' : 'default'}\n className=\"max-md:w-full\"\n isLoading={isWriting}\n onClick={() => setIsFormatAlertModalOpen(true)}\n >\n {downloadButton.text}\n </FormButton>\n )}\n {mode.includes('remote') && isAuthenticated && !isDistantDictionary && (\n <FormButton\n label={publishButton.label.value}\n disabled={isLoading || !hasDictionaryWritePermission}\n Icon={ArrowUpFromLine}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {publishButton.text}\n </FormButton>\n )}\n {mode.includes('remote') &&\n isAuthenticated &&\n isDistantDictionary &&\n isEdited && (\n <FormButton\n label={saveButton.label.value}\n disabled={!isEdited || isLoading || !hasDictionaryWritePermission}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {saveButton.text}\n </FormButton>\n )}\n </form>\n </>\n );\n};\n"],"mappings":"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"}