@intlayer/design-system 8.1.2 → 8.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (828) hide show
  1. package/dist/esm/_virtual/_rolldown/runtime.mjs +1 -18
  2. package/dist/esm/components/Accordion/Accordion.mjs +1 -99
  3. package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
  4. package/dist/esm/components/Accordion/index.mjs +1 -3
  5. package/dist/esm/components/Avatar/index.mjs +1 -126
  6. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  7. package/dist/esm/components/Badge/index.mjs +1 -150
  8. package/dist/esm/components/Badge/index.mjs.map +1 -1
  9. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs +1 -32
  10. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
  11. package/dist/esm/components/Breadcrumb/index.mjs +1 -232
  12. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  13. package/dist/esm/components/Browser/Browser.content.mjs +1 -179
  14. package/dist/esm/components/Browser/Browser.content.mjs.map +1 -1
  15. package/dist/esm/components/Browser/Browser.mjs +1 -249
  16. package/dist/esm/components/Browser/Browser.mjs.map +1 -1
  17. package/dist/esm/components/Browser/index.mjs +1 -3
  18. package/dist/esm/components/Button/Button.mjs +1 -287
  19. package/dist/esm/components/Button/Button.mjs.map +1 -1
  20. package/dist/esm/components/Button/index.mjs +1 -3
  21. package/dist/esm/components/Carousel/index.content.mjs +1 -79
  22. package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
  23. package/dist/esm/components/Carousel/index.mjs +4 -270
  24. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  25. package/dist/esm/components/ClickOutsideDiv/index.mjs +1 -42
  26. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  27. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -246
  28. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  29. package/dist/esm/components/CollapsibleTable/index.mjs +1 -3
  30. package/dist/esm/components/Command/index.mjs +1 -88
  31. package/dist/esm/components/Command/index.mjs.map +1 -1
  32. package/dist/esm/components/Container/index.mjs +1 -203
  33. package/dist/esm/components/Container/index.mjs.map +1 -1
  34. package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -107
  35. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  36. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -110
  37. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  38. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -113
  39. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  40. package/dist/esm/components/ContentEditor/index.mjs +1 -5
  41. package/dist/esm/components/ContentSelector/ContentSelector.mjs +1 -81
  42. package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
  43. package/dist/esm/components/ContentSelector/index.mjs +1 -3
  44. package/dist/esm/components/CopyButton/CopyButton.content.mjs +1 -32
  45. package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
  46. package/dist/esm/components/CopyButton/index.mjs +1 -121
  47. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  48. package/dist/esm/components/CopyToClipboard/index.mjs +1 -101
  49. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  50. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -31
  51. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  52. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs +1 -36
  53. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  54. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -35
  55. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  56. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -32
  57. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  58. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -32
  59. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  60. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -36
  61. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +1 -21
  63. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  64. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +1 -21
  65. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -21
  67. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  68. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -39
  69. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  70. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +1 -35
  71. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  72. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -22
  73. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  74. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -88
  75. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  76. package/dist/esm/components/DictionaryEditor/index.mjs +1 -3
  77. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +1 -61
  78. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  79. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -661
  80. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  81. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -64
  82. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  83. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +1 -268
  84. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  85. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs +1 -98
  86. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
  87. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs +1 -14
  88. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
  89. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -328
  90. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  91. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +1 -575
  92. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  93. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs +1 -338
  94. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
  95. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +1 -29
  96. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  97. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -112
  98. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  99. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs +1 -98
  100. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  101. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +1 -28
  102. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  103. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +1 -22
  104. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  105. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -172
  106. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  107. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs +1 -268
  108. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  109. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -84
  110. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  111. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -153
  112. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  113. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +1 -350
  114. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  115. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +1 -19
  116. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  117. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -199
  118. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  119. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs +1 -100
  120. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
  121. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +1 -73
  122. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  123. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +1 -27
  124. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  125. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/index.mjs +1 -4
  126. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs +1 -78
  127. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
  128. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs +1 -58
  129. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  130. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +1 -14
  131. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  132. package/dist/esm/components/DictionaryFieldEditor/index.mjs +1 -10
  133. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs +1 -318
  134. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  135. package/dist/esm/components/DropDown/index.mjs +1 -177
  136. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  137. package/dist/esm/components/EditableField/EditableFieldInput.mjs +1 -68
  138. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  139. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -103
  140. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  141. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs +1 -77
  142. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  143. package/dist/esm/components/EditableField/index.mjs +1 -4
  144. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +1 -96
  145. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  146. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs +1 -58
  147. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
  148. package/dist/esm/components/ExpandCollapse/index.mjs +1 -3
  149. package/dist/esm/components/Flags/Flag.mjs +1 -326
  150. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  151. package/dist/esm/components/Flags/ae.mjs +1 -36
  152. package/dist/esm/components/Flags/ae.mjs.map +1 -1
  153. package/dist/esm/components/Flags/af.mjs +1 -96
  154. package/dist/esm/components/Flags/af.mjs.map +1 -1
  155. package/dist/esm/components/Flags/al.mjs +1 -37
  156. package/dist/esm/components/Flags/al.mjs.map +1 -1
  157. package/dist/esm/components/Flags/am.mjs +1 -33
  158. package/dist/esm/components/Flags/am.mjs.map +1 -1
  159. package/dist/esm/components/Flags/ar.mjs +1 -160
  160. package/dist/esm/components/Flags/ar.mjs.map +1 -1
  161. package/dist/esm/components/Flags/at.mjs +1 -30
  162. package/dist/esm/components/Flags/at.mjs.map +1 -1
  163. package/dist/esm/components/Flags/au.mjs +1 -42
  164. package/dist/esm/components/Flags/au.mjs.map +1 -1
  165. package/dist/esm/components/Flags/az.mjs +1 -46
  166. package/dist/esm/components/Flags/az.mjs.map +1 -1
  167. package/dist/esm/components/Flags/ba.mjs +1 -40
  168. package/dist/esm/components/Flags/ba.mjs.map +1 -1
  169. package/dist/esm/components/Flags/bd.mjs +1 -32
  170. package/dist/esm/components/Flags/bd.mjs.map +1 -1
  171. package/dist/esm/components/Flags/be.mjs +1 -36
  172. package/dist/esm/components/Flags/be.mjs.map +1 -1
  173. package/dist/esm/components/Flags/bg.mjs +1 -33
  174. package/dist/esm/components/Flags/bg.mjs.map +1 -1
  175. package/dist/esm/components/Flags/bh.mjs +1 -30
  176. package/dist/esm/components/Flags/bh.mjs.map +1 -1
  177. package/dist/esm/components/Flags/bn.mjs +1 -42
  178. package/dist/esm/components/Flags/bn.mjs.map +1 -1
  179. package/dist/esm/components/Flags/bo.mjs +1 -3030
  180. package/dist/esm/components/Flags/bo.mjs.map +1 -1
  181. package/dist/esm/components/Flags/br.mjs +1 -106
  182. package/dist/esm/components/Flags/br.mjs.map +1 -1
  183. package/dist/esm/components/Flags/bw.mjs +1 -33
  184. package/dist/esm/components/Flags/bw.mjs.map +1 -1
  185. package/dist/esm/components/Flags/by.mjs +1 -45
  186. package/dist/esm/components/Flags/by.mjs.map +1 -1
  187. package/dist/esm/components/Flags/bz.mjs +1 -338
  188. package/dist/esm/components/Flags/bz.mjs.map +1 -1
  189. package/dist/esm/components/Flags/ca.mjs +1 -30
  190. package/dist/esm/components/Flags/ca.mjs.map +1 -1
  191. package/dist/esm/components/Flags/ch.mjs +1 -30
  192. package/dist/esm/components/Flags/ch.mjs.map +1 -1
  193. package/dist/esm/components/Flags/cl.mjs +1 -43
  194. package/dist/esm/components/Flags/cl.mjs.map +1 -1
  195. package/dist/esm/components/Flags/cn.mjs +1 -57
  196. package/dist/esm/components/Flags/cn.mjs.map +1 -1
  197. package/dist/esm/components/Flags/co.mjs +1 -36
  198. package/dist/esm/components/Flags/co.mjs.map +1 -1
  199. package/dist/esm/components/Flags/cr.mjs +1 -36
  200. package/dist/esm/components/Flags/cr.mjs.map +1 -1
  201. package/dist/esm/components/Flags/cu.mjs +1 -43
  202. package/dist/esm/components/Flags/cu.mjs.map +1 -1
  203. package/dist/esm/components/Flags/cv.mjs +1 -43
  204. package/dist/esm/components/Flags/cv.mjs.map +1 -1
  205. package/dist/esm/components/Flags/cz.mjs +1 -33
  206. package/dist/esm/components/Flags/cz.mjs.map +1 -1
  207. package/dist/esm/components/Flags/de.mjs +1 -33
  208. package/dist/esm/components/Flags/de.mjs.map +1 -1
  209. package/dist/esm/components/Flags/dj.mjs +1 -43
  210. package/dist/esm/components/Flags/dj.mjs.map +1 -1
  211. package/dist/esm/components/Flags/dk.mjs +1 -33
  212. package/dist/esm/components/Flags/dk.mjs.map +1 -1
  213. package/dist/esm/components/Flags/do.mjs +1 -211
  214. package/dist/esm/components/Flags/do.mjs.map +1 -1
  215. package/dist/esm/components/Flags/dz.mjs +1 -33
  216. package/dist/esm/components/Flags/dz.mjs.map +1 -1
  217. package/dist/esm/components/Flags/ec.mjs +1 -622
  218. package/dist/esm/components/Flags/ec.mjs.map +1 -1
  219. package/dist/esm/components/Flags/ee.mjs +1 -33
  220. package/dist/esm/components/Flags/ee.mjs.map +1 -1
  221. package/dist/esm/components/Flags/eg.mjs +1 -112
  222. package/dist/esm/components/Flags/eg.mjs.map +1 -1
  223. package/dist/esm/components/Flags/es-ct.mjs +1 -32
  224. package/dist/esm/components/Flags/es-ct.mjs.map +1 -1
  225. package/dist/esm/components/Flags/es-ga.mjs +1 -792
  226. package/dist/esm/components/Flags/es-ga.mjs.map +1 -1
  227. package/dist/esm/components/Flags/es-pv.mjs +1 -33
  228. package/dist/esm/components/Flags/es-pv.mjs.map +1 -1
  229. package/dist/esm/components/Flags/es.mjs +1 -2226
  230. package/dist/esm/components/Flags/es.mjs.map +1 -1
  231. package/dist/esm/components/Flags/et.mjs +1 -50
  232. package/dist/esm/components/Flags/et.mjs.map +1 -1
  233. package/dist/esm/components/Flags/fi.mjs +1 -33
  234. package/dist/esm/components/Flags/fi.mjs.map +1 -1
  235. package/dist/esm/components/Flags/flags.mjs +1 -1363
  236. package/dist/esm/components/Flags/flags.mjs.map +1 -1
  237. package/dist/esm/components/Flags/fo.mjs +1 -41
  238. package/dist/esm/components/Flags/fo.mjs.map +1 -1
  239. package/dist/esm/components/Flags/fr.mjs +1 -33
  240. package/dist/esm/components/Flags/fr.mjs.map +1 -1
  241. package/dist/esm/components/Flags/gb-wls.mjs +1 -43
  242. package/dist/esm/components/Flags/gb-wls.mjs.map +1 -1
  243. package/dist/esm/components/Flags/gb.mjs +1 -39
  244. package/dist/esm/components/Flags/gb.mjs.map +1 -1
  245. package/dist/esm/components/Flags/ge.mjs +1 -37
  246. package/dist/esm/components/Flags/ge.mjs.map +1 -1
  247. package/dist/esm/components/Flags/gh.mjs +1 -36
  248. package/dist/esm/components/Flags/gh.mjs.map +1 -1
  249. package/dist/esm/components/Flags/gr.mjs +1 -66
  250. package/dist/esm/components/Flags/gr.mjs.map +1 -1
  251. package/dist/esm/components/Flags/gt.mjs +1 -461
  252. package/dist/esm/components/Flags/gt.mjs.map +1 -1
  253. package/dist/esm/components/Flags/gw.mjs +1 -67
  254. package/dist/esm/components/Flags/gw.mjs.map +1 -1
  255. package/dist/esm/components/Flags/hk.mjs +1 -44
  256. package/dist/esm/components/Flags/hk.mjs.map +1 -1
  257. package/dist/esm/components/Flags/hn.mjs +1 -83
  258. package/dist/esm/components/Flags/hn.mjs.map +1 -1
  259. package/dist/esm/components/Flags/hr.mjs +1 -94
  260. package/dist/esm/components/Flags/hr.mjs.map +1 -1
  261. package/dist/esm/components/Flags/hu.mjs +1 -33
  262. package/dist/esm/components/Flags/hu.mjs.map +1 -1
  263. package/dist/esm/components/Flags/id.mjs +1 -30
  264. package/dist/esm/components/Flags/id.mjs.map +1 -1
  265. package/dist/esm/components/Flags/ie.mjs +1 -36
  266. package/dist/esm/components/Flags/ie.mjs.map +1 -1
  267. package/dist/esm/components/Flags/il.mjs +1 -46
  268. package/dist/esm/components/Flags/il.mjs.map +1 -1
  269. package/dist/esm/components/Flags/in.mjs +1 -74
  270. package/dist/esm/components/Flags/in.mjs.map +1 -1
  271. package/dist/esm/components/Flags/index.mjs +1 -4
  272. package/dist/esm/components/Flags/iq.mjs +1 -40
  273. package/dist/esm/components/Flags/iq.mjs.map +1 -1
  274. package/dist/esm/components/Flags/ir.mjs +1 -112
  275. package/dist/esm/components/Flags/ir.mjs.map +1 -1
  276. package/dist/esm/components/Flags/is.mjs +1 -40
  277. package/dist/esm/components/Flags/is.mjs.map +1 -1
  278. package/dist/esm/components/Flags/it.mjs +1 -36
  279. package/dist/esm/components/Flags/it.mjs.map +1 -1
  280. package/dist/esm/components/Flags/jm.mjs +1 -36
  281. package/dist/esm/components/Flags/jm.mjs.map +1 -1
  282. package/dist/esm/components/Flags/jo.mjs +1 -48
  283. package/dist/esm/components/Flags/jo.mjs.map +1 -1
  284. package/dist/esm/components/Flags/jp.mjs +1 -41
  285. package/dist/esm/components/Flags/jp.mjs.map +1 -1
  286. package/dist/esm/components/Flags/ke.mjs +1 -91
  287. package/dist/esm/components/Flags/ke.mjs.map +1 -1
  288. package/dist/esm/components/Flags/kg.mjs +1 -49
  289. package/dist/esm/components/Flags/kg.mjs.map +1 -1
  290. package/dist/esm/components/Flags/kh.mjs +1 -76
  291. package/dist/esm/components/Flags/kh.mjs.map +1 -1
  292. package/dist/esm/components/Flags/km.mjs +1 -52
  293. package/dist/esm/components/Flags/km.mjs.map +1 -1
  294. package/dist/esm/components/Flags/kr.mjs +1 -64
  295. package/dist/esm/components/Flags/kr.mjs.map +1 -1
  296. package/dist/esm/components/Flags/kw.mjs +1 -44
  297. package/dist/esm/components/Flags/kw.mjs.map +1 -1
  298. package/dist/esm/components/Flags/kz.mjs +1 -94
  299. package/dist/esm/components/Flags/kz.mjs.map +1 -1
  300. package/dist/esm/components/Flags/la.mjs +1 -39
  301. package/dist/esm/components/Flags/la.mjs.map +1 -1
  302. package/dist/esm/components/Flags/lb.mjs +1 -50
  303. package/dist/esm/components/Flags/lb.mjs.map +1 -1
  304. package/dist/esm/components/Flags/li.mjs +1 -136
  305. package/dist/esm/components/Flags/li.mjs.map +1 -1
  306. package/dist/esm/components/Flags/lk.mjs +1 -73
  307. package/dist/esm/components/Flags/lk.mjs.map +1 -1
  308. package/dist/esm/components/Flags/lt.mjs +1 -46
  309. package/dist/esm/components/Flags/lt.mjs.map +1 -1
  310. package/dist/esm/components/Flags/lu.mjs +1 -33
  311. package/dist/esm/components/Flags/lu.mjs.map +1 -1
  312. package/dist/esm/components/Flags/lv.mjs +1 -30
  313. package/dist/esm/components/Flags/lv.mjs.map +1 -1
  314. package/dist/esm/components/Flags/ly.mjs +1 -39
  315. package/dist/esm/components/Flags/ly.mjs.map +1 -1
  316. package/dist/esm/components/Flags/ma.mjs +1 -32
  317. package/dist/esm/components/Flags/ma.mjs.map +1 -1
  318. package/dist/esm/components/Flags/mc.mjs +1 -33
  319. package/dist/esm/components/Flags/mc.mjs.map +1 -1
  320. package/dist/esm/components/Flags/md.mjs +1 -317
  321. package/dist/esm/components/Flags/md.mjs.map +1 -1
  322. package/dist/esm/components/Flags/mk.mjs +1 -37
  323. package/dist/esm/components/Flags/mk.mjs.map +1 -1
  324. package/dist/esm/components/Flags/mm.mjs +1 -58
  325. package/dist/esm/components/Flags/mm.mjs.map +1 -1
  326. package/dist/esm/components/Flags/mn.mjs +1 -59
  327. package/dist/esm/components/Flags/mn.mjs.map +1 -1
  328. package/dist/esm/components/Flags/mo.mjs +1 -42
  329. package/dist/esm/components/Flags/mo.mjs.map +1 -1
  330. package/dist/esm/components/Flags/mr.mjs +1 -37
  331. package/dist/esm/components/Flags/mr.mjs.map +1 -1
  332. package/dist/esm/components/Flags/mt.mjs +1 -153
  333. package/dist/esm/components/Flags/mt.mjs.map +1 -1
  334. package/dist/esm/components/Flags/mv.mjs +1 -40
  335. package/dist/esm/components/Flags/mv.mjs.map +1 -1
  336. package/dist/esm/components/Flags/mx.mjs +1 -1365
  337. package/dist/esm/components/Flags/mx.mjs.map +1 -1
  338. package/dist/esm/components/Flags/my.mjs +1 -78
  339. package/dist/esm/components/Flags/my.mjs.map +1 -1
  340. package/dist/esm/components/Flags/mz.mjs +1 -92
  341. package/dist/esm/components/Flags/mz.mjs.map +1 -1
  342. package/dist/esm/components/Flags/ng.mjs +1 -33
  343. package/dist/esm/components/Flags/ng.mjs.map +1 -1
  344. package/dist/esm/components/Flags/ni.mjs +1 -451
  345. package/dist/esm/components/Flags/ni.mjs.map +1 -1
  346. package/dist/esm/components/Flags/nl.mjs +1 -33
  347. package/dist/esm/components/Flags/nl.mjs.map +1 -1
  348. package/dist/esm/components/Flags/no.mjs +1 -39
  349. package/dist/esm/components/Flags/no.mjs.map +1 -1
  350. package/dist/esm/components/Flags/np.mjs +1 -38
  351. package/dist/esm/components/Flags/np.mjs.map +1 -1
  352. package/dist/esm/components/Flags/nz.mjs +1 -104
  353. package/dist/esm/components/Flags/nz.mjs.map +1 -1
  354. package/dist/esm/components/Flags/om.mjs +1 -539
  355. package/dist/esm/components/Flags/om.mjs.map +1 -1
  356. package/dist/esm/components/Flags/pa.mjs +1 -46
  357. package/dist/esm/components/Flags/pa.mjs.map +1 -1
  358. package/dist/esm/components/Flags/pe.mjs +1 -30
  359. package/dist/esm/components/Flags/pe.mjs.map +1 -1
  360. package/dist/esm/components/Flags/ph.mjs +1 -36
  361. package/dist/esm/components/Flags/ph.mjs.map +1 -1
  362. package/dist/esm/components/Flags/pk.mjs +1 -38
  363. package/dist/esm/components/Flags/pk.mjs.map +1 -1
  364. package/dist/esm/components/Flags/pl.mjs +1 -30
  365. package/dist/esm/components/Flags/pl.mjs.map +1 -1
  366. package/dist/esm/components/Flags/pr.mjs +1 -43
  367. package/dist/esm/components/Flags/pr.mjs.map +1 -1
  368. package/dist/esm/components/Flags/ps.mjs +1 -45
  369. package/dist/esm/components/Flags/ps.mjs.map +1 -1
  370. package/dist/esm/components/Flags/pt.mjs +1 -152
  371. package/dist/esm/components/Flags/pt.mjs.map +1 -1
  372. package/dist/esm/components/Flags/py.mjs +1 -61
  373. package/dist/esm/components/Flags/py.mjs.map +1 -1
  374. package/dist/esm/components/Flags/qa.mjs +1 -30
  375. package/dist/esm/components/Flags/qa.mjs.map +1 -1
  376. package/dist/esm/components/Flags/ro.mjs +1 -36
  377. package/dist/esm/components/Flags/ro.mjs.map +1 -1
  378. package/dist/esm/components/Flags/rs.mjs +1 -820
  379. package/dist/esm/components/Flags/rs.mjs.map +1 -1
  380. package/dist/esm/components/Flags/ru.mjs +1 -33
  381. package/dist/esm/components/Flags/ru.mjs.map +1 -1
  382. package/dist/esm/components/Flags/sa.mjs +1 -79
  383. package/dist/esm/components/Flags/sa.mjs.map +1 -1
  384. package/dist/esm/components/Flags/sd.mjs +1 -44
  385. package/dist/esm/components/Flags/sd.mjs.map +1 -1
  386. package/dist/esm/components/Flags/se.mjs +1 -30
  387. package/dist/esm/components/Flags/se.mjs.map +1 -1
  388. package/dist/esm/components/Flags/sg.mjs +1 -42
  389. package/dist/esm/components/Flags/sg.mjs.map +1 -1
  390. package/dist/esm/components/Flags/si.mjs +1 -59
  391. package/dist/esm/components/Flags/si.mjs.map +1 -1
  392. package/dist/esm/components/Flags/sk.mjs +1 -45
  393. package/dist/esm/components/Flags/sk.mjs.map +1 -1
  394. package/dist/esm/components/Flags/so.mjs +1 -37
  395. package/dist/esm/components/Flags/so.mjs.map +1 -1
  396. package/dist/esm/components/Flags/st.mjs +1 -73
  397. package/dist/esm/components/Flags/st.mjs.map +1 -1
  398. package/dist/esm/components/Flags/sv.mjs +1 -1735
  399. package/dist/esm/components/Flags/sv.mjs.map +1 -1
  400. package/dist/esm/components/Flags/sy.mjs +1 -36
  401. package/dist/esm/components/Flags/sy.mjs.map +1 -1
  402. package/dist/esm/components/Flags/td.mjs +1 -33
  403. package/dist/esm/components/Flags/td.mjs.map +1 -1
  404. package/dist/esm/components/Flags/th.mjs +1 -33
  405. package/dist/esm/components/Flags/th.mjs.map +1 -1
  406. package/dist/esm/components/Flags/tl.mjs +1 -43
  407. package/dist/esm/components/Flags/tl.mjs.map +1 -1
  408. package/dist/esm/components/Flags/tn.mjs +1 -30
  409. package/dist/esm/components/Flags/tn.mjs.map +1 -1
  410. package/dist/esm/components/Flags/tr.mjs +1 -36
  411. package/dist/esm/components/Flags/tr.mjs.map +1 -1
  412. package/dist/esm/components/Flags/tt.mjs +1 -35
  413. package/dist/esm/components/Flags/tt.mjs.map +1 -1
  414. package/dist/esm/components/Flags/tw.mjs +1 -40
  415. package/dist/esm/components/Flags/tw.mjs.map +1 -1
  416. package/dist/esm/components/Flags/tz.mjs +1 -44
  417. package/dist/esm/components/Flags/tz.mjs.map +1 -1
  418. package/dist/esm/components/Flags/ua.mjs +1 -33
  419. package/dist/esm/components/Flags/ua.mjs.map +1 -1
  420. package/dist/esm/components/Flags/ug.mjs +1 -145
  421. package/dist/esm/components/Flags/ug.mjs.map +1 -1
  422. package/dist/esm/components/Flags/us.mjs +1 -45
  423. package/dist/esm/components/Flags/us.mjs.map +1 -1
  424. package/dist/esm/components/Flags/uy.mjs +1 -63
  425. package/dist/esm/components/Flags/uy.mjs.map +1 -1
  426. package/dist/esm/components/Flags/uz.mjs +1 -109
  427. package/dist/esm/components/Flags/uz.mjs.map +1 -1
  428. package/dist/esm/components/Flags/ve.mjs +1 -84
  429. package/dist/esm/components/Flags/ve.mjs.map +1 -1
  430. package/dist/esm/components/Flags/vn.mjs +1 -37
  431. package/dist/esm/components/Flags/vn.mjs.map +1 -1
  432. package/dist/esm/components/Flags/xx.mjs +1 -35
  433. package/dist/esm/components/Flags/xx.mjs.map +1 -1
  434. package/dist/esm/components/Flags/ye.mjs +1 -36
  435. package/dist/esm/components/Flags/ye.mjs.map +1 -1
  436. package/dist/esm/components/Flags/za.mjs +1 -51
  437. package/dist/esm/components/Flags/za.mjs.map +1 -1
  438. package/dist/esm/components/Flags/zw.mjs +1 -70
  439. package/dist/esm/components/Flags/zw.mjs.map +1 -1
  440. package/dist/esm/components/Footer/index.mjs +1 -123
  441. package/dist/esm/components/Footer/index.mjs.map +1 -1
  442. package/dist/esm/components/Form/Form.mjs +1 -65
  443. package/dist/esm/components/Form/Form.mjs.map +1 -1
  444. package/dist/esm/components/Form/FormBase.mjs +1 -50
  445. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  446. package/dist/esm/components/Form/FormControl.mjs +1 -19
  447. package/dist/esm/components/Form/FormControl.mjs.map +1 -1
  448. package/dist/esm/components/Form/FormDescription.mjs +1 -17
  449. package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
  450. package/dist/esm/components/Form/FormField.mjs +1 -34
  451. package/dist/esm/components/Form/FormField.mjs.map +1 -1
  452. package/dist/esm/components/Form/FormItem.mjs +1 -23
  453. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  454. package/dist/esm/components/Form/FormLabel.mjs +1 -19
  455. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  456. package/dist/esm/components/Form/FormMessage.mjs +1 -21
  457. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  458. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs +1 -14
  459. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  460. package/dist/esm/components/Form/elements/CheckboxElement.mjs +1 -25
  461. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  462. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs +1 -16
  463. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs.map +1 -1
  464. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -16
  465. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs.map +1 -1
  466. package/dist/esm/components/Form/elements/FormElement.mjs +1 -58
  467. package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
  468. package/dist/esm/components/Form/elements/FormElementWrapper.mjs +1 -34
  469. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  470. package/dist/esm/components/Form/elements/InputElement.mjs +1 -16
  471. package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
  472. package/dist/esm/components/Form/elements/InputPasswordElement.mjs +1 -19
  473. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  474. package/dist/esm/components/Form/elements/MultiselectElement.mjs +1 -49
  475. package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
  476. package/dist/esm/components/Form/elements/OTPElement.mjs +1 -108
  477. package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
  478. package/dist/esm/components/Form/elements/SearchInputElement.mjs +1 -16
  479. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
  480. package/dist/esm/components/Form/elements/SelectElement.mjs +1 -49
  481. package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
  482. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +1 -48
  483. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  484. package/dist/esm/components/Form/elements/TextAreaElement.mjs +1 -16
  485. package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
  486. package/dist/esm/components/Form/elements/index.mjs +1 -10
  487. package/dist/esm/components/Form/index.mjs +1 -5
  488. package/dist/esm/components/Form/layout/FormItemLayout.mjs +1 -24
  489. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  490. package/dist/esm/components/Form/layout/FormLabelLayout.mjs +1 -20
  491. package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  492. package/dist/esm/components/Form/layout/RequiredStar.mjs +1 -10
  493. package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
  494. package/dist/esm/components/Form/layout/index.mjs +1 -4
  495. package/dist/esm/components/HTMLRender/HTMLRender.mjs +1 -65
  496. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  497. package/dist/esm/components/HTMLRender/index.mjs +1 -3
  498. package/dist/esm/components/Headers/index.mjs +1 -216
  499. package/dist/esm/components/Headers/index.mjs.map +1 -1
  500. package/dist/esm/components/HeightResizer/index.mjs +1 -163
  501. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  502. package/dist/esm/components/HideShow/index.mjs +1 -70
  503. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  504. package/dist/esm/components/IDE/Code.mjs +2 -59
  505. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  506. package/dist/esm/components/IDE/CodeBlockClient.mjs +2 -31
  507. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  508. package/dist/esm/components/IDE/CodeBlockServer.mjs +2 -45
  509. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  510. package/dist/esm/components/IDE/CodeBlockShiki.mjs +1 -109
  511. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  512. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs +1 -20
  513. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  514. package/dist/esm/components/IDE/CodeContext.mjs +1 -44
  515. package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
  516. package/dist/esm/components/IDE/CodeFormatSelector.mjs +1 -40
  517. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  518. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs +1 -41
  519. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  520. package/dist/esm/components/IDE/CopyCode.mjs +1 -27
  521. package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
  522. package/dist/esm/components/IDE/FileList.mjs +1 -34
  523. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  524. package/dist/esm/components/IDE/FileTree.mjs +1 -64
  525. package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
  526. package/dist/esm/components/IDE/IDE.mjs +1 -87
  527. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  528. package/dist/esm/components/IDE/MarkDownRender.mjs +1 -22
  529. package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
  530. package/dist/esm/components/IDE/MonacoCode.mjs +2 -103
  531. package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
  532. package/dist/esm/components/IDE/PackageManagerSelector.mjs +1 -42
  533. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  534. package/dist/esm/components/IDE/code.content.mjs +1 -58
  535. package/dist/esm/components/IDE/code.content.mjs.map +1 -1
  536. package/dist/esm/components/IDE/copyCode.content.mjs +1 -58
  537. package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
  538. package/dist/esm/components/IDE/createFileTree.mjs +1 -31
  539. package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
  540. package/dist/esm/components/IDE/index.mjs +1 -6
  541. package/dist/esm/components/IDE/selectors.content.mjs +1 -144
  542. package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
  543. package/dist/esm/components/InformationTag/index.mjs +1 -80
  544. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  545. package/dist/esm/components/Input/Checkbox.mjs +1 -97
  546. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  547. package/dist/esm/components/Input/Input.mjs +1 -64
  548. package/dist/esm/components/Input/Input.mjs.map +1 -1
  549. package/dist/esm/components/Input/InputPassword.mjs +1 -38
  550. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  551. package/dist/esm/components/Input/OTPInput.mjs +2 -474
  552. package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
  553. package/dist/esm/components/Input/SearchInput.mjs +1 -17
  554. package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
  555. package/dist/esm/components/Input/index.mjs +1 -7
  556. package/dist/esm/components/KeyboardScreenAdapter/index.mjs +1 -119
  557. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  558. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs +1 -230
  559. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
  560. package/dist/esm/components/KeyboardShortcut/index.mjs +1 -3
  561. package/dist/esm/components/Label/index.mjs +1 -53
  562. package/dist/esm/components/Label/index.mjs.map +1 -1
  563. package/dist/esm/components/LanguageBackground/index.mjs +1 -87
  564. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  565. package/dist/esm/components/Link/Link.mjs +1 -239
  566. package/dist/esm/components/Link/Link.mjs.map +1 -1
  567. package/dist/esm/components/Link/index.mjs +1 -3
  568. package/dist/esm/components/Loader/index.content.mjs +1 -32
  569. package/dist/esm/components/Loader/index.content.mjs.map +1 -1
  570. package/dist/esm/components/Loader/index.mjs +1 -111
  571. package/dist/esm/components/Loader/index.mjs.map +1 -1
  572. package/dist/esm/components/Loader/spinner.mjs +1 -121
  573. package/dist/esm/components/Loader/spinner.mjs.map +1 -1
  574. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -183
  575. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  576. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +1 -29
  577. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  578. package/dist/esm/components/LocaleSwitcherContentDropDown/index.mjs +1 -4
  579. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs +1 -182
  580. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
  581. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -134
  582. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  583. package/dist/esm/components/LocaleSwitcherDropDown/index.mjs +1 -3
  584. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs +1 -140
  585. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  586. package/dist/esm/components/Logo/Logo.mjs +1 -34
  587. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  588. package/dist/esm/components/Logo/LogoTextOnly.mjs +1 -28
  589. package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
  590. package/dist/esm/components/Logo/LogoWithText.mjs +1 -34
  591. package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
  592. package/dist/esm/components/Logo/LogoWithTextBelow.mjs +1 -34
  593. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  594. package/dist/esm/components/Logo/index.mjs +1 -6
  595. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -167
  596. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  597. package/dist/esm/components/MarkDownRender/index.mjs +1 -3
  598. package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -163
  599. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  600. package/dist/esm/components/MaxWidthSmoother/index.mjs +1 -18
  601. package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
  602. package/dist/esm/components/Modal/Modal.mjs +1 -201
  603. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  604. package/dist/esm/components/Modal/index.mjs +1 -3
  605. package/dist/esm/components/Navbar/Burger.mjs +1 -76
  606. package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
  607. package/dist/esm/components/Navbar/DesktopNavbar.mjs +1 -96
  608. package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
  609. package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -169
  610. package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
  611. package/dist/esm/components/Navbar/index.mjs +1 -86
  612. package/dist/esm/components/Navbar/index.mjs.map +1 -1
  613. package/dist/esm/components/Navbar/useNavigation.mjs +1 -152
  614. package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
  615. package/dist/esm/components/Pagination/NumberItemsSelector.mjs +1 -46
  616. package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
  617. package/dist/esm/components/Pagination/Pagination.mjs +1 -173
  618. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  619. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs +1 -27
  620. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  621. package/dist/esm/components/Pagination/index.mjs +1 -5
  622. package/dist/esm/components/Pagination/pagination.content.mjs +1 -114
  623. package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
  624. package/dist/esm/components/Pattern/DotPattern.mjs +1 -121
  625. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  626. package/dist/esm/components/Pattern/GridPattern.mjs +1 -156
  627. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  628. package/dist/esm/components/Pattern/SpotLight.mjs +1 -168
  629. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  630. package/dist/esm/components/Pattern/index.mjs +1 -5
  631. package/dist/esm/components/Popover/dynamic.mjs +1 -128
  632. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  633. package/dist/esm/components/Popover/index.mjs +1 -4
  634. package/dist/esm/components/Popover/static.mjs +1 -192
  635. package/dist/esm/components/Popover/static.mjs.map +1 -1
  636. package/dist/esm/components/PressableSpan/PressableSpan.mjs +1 -158
  637. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  638. package/dist/esm/components/PressableSpan/index.mjs +1 -3
  639. package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -179
  640. package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
  641. package/dist/esm/components/RightDrawer/index.mjs +1 -4
  642. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs +1 -60
  643. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs.map +1 -1
  644. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs +1 -59
  645. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
  646. package/dist/esm/components/RightDrawer/useRightDrawer.mjs +1 -64
  647. package/dist/esm/components/RightDrawer/useRightDrawer.mjs.map +1 -1
  648. package/dist/esm/components/Select/Multiselect.mjs +1 -353
  649. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  650. package/dist/esm/components/Select/Select.mjs +1 -276
  651. package/dist/esm/components/Select/Select.mjs.map +1 -1
  652. package/dist/esm/components/Select/index.mjs +1 -4
  653. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs +1 -20
  654. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
  655. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs +1 -17
  656. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
  657. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs +1 -29
  658. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
  659. package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs +1 -32
  660. package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs.map +1 -1
  661. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs +1 -15
  662. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
  663. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs +1 -17
  664. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
  665. package/dist/esm/components/SocialNetworks/XLogo.mjs +1 -17
  666. package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
  667. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs +1 -17
  668. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
  669. package/dist/esm/components/SocialNetworks/index.mjs +1 -64
  670. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  671. package/dist/esm/components/SwitchSelector/index.mjs +1 -145
  672. package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
  673. package/dist/esm/components/Tab/Tab.mjs +1 -148
  674. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  675. package/dist/esm/components/Tab/TabContext.mjs +1 -33
  676. package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
  677. package/dist/esm/components/Tab/index.mjs +1 -3
  678. package/dist/esm/components/TabSelector/TabSelector.mjs +1 -111
  679. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  680. package/dist/esm/components/TabSelector/index.mjs +1 -3
  681. package/dist/esm/components/Table/Table.mjs +1 -195
  682. package/dist/esm/components/Table/Table.mjs.map +1 -1
  683. package/dist/esm/components/Table/index.mjs +1 -3
  684. package/dist/esm/components/Table/table.content.mjs +1 -36
  685. package/dist/esm/components/Table/table.content.mjs.map +1 -1
  686. package/dist/esm/components/Tag/index.mjs +1 -316
  687. package/dist/esm/components/Tag/index.mjs.map +1 -1
  688. package/dist/esm/components/Terminal/Terminal.mjs +3 -160
  689. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  690. package/dist/esm/components/Terminal/index.mjs +1 -3
  691. package/dist/esm/components/Terminal/terminal.content.mjs +1 -60
  692. package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
  693. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +1 -106
  694. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  695. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +1 -257
  696. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  697. package/dist/esm/components/TextArea/TextArea.mjs +1 -58
  698. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  699. package/dist/esm/components/TextArea/index.mjs +1 -5
  700. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -79
  701. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  702. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -53
  703. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  704. package/dist/esm/components/ThemeSwitcherDropDown/index.mjs +1 -5
  705. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs +1 -10
  706. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs.map +1 -1
  707. package/dist/esm/components/Toaster/Toast.mjs +1 -187
  708. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  709. package/dist/esm/components/Toaster/Toaster.mjs +1 -66
  710. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  711. package/dist/esm/components/Toaster/index.mjs +1 -5
  712. package/dist/esm/components/Toaster/useToast.mjs +1 -308
  713. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  714. package/dist/esm/components/WithResizer/index.mjs +1 -200
  715. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  716. package/dist/esm/components/index.mjs +1 -105
  717. package/dist/esm/hooks/index.mjs +1 -22
  718. package/dist/esm/hooks/reactQuery.mjs +1 -915
  719. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  720. package/dist/esm/hooks/useAuth/index.mjs +1 -5
  721. package/dist/esm/hooks/useAuth/useAuth.mjs +1 -21
  722. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  723. package/dist/esm/hooks/useAuth/useOAuth2.mjs +1 -28
  724. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  725. package/dist/esm/hooks/useAuth/useSession.mjs +1 -42
  726. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  727. package/dist/esm/hooks/useDevice.mjs +1 -71
  728. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  729. package/dist/esm/hooks/useGetElementById.mjs +1 -15
  730. package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
  731. package/dist/esm/hooks/useGetElementOrWindow.mjs +1 -15
  732. package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
  733. package/dist/esm/hooks/useHorizontalSwipe.mjs +1 -123
  734. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  735. package/dist/esm/hooks/useIntlayerAPI.mjs +1 -21
  736. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  737. package/dist/esm/hooks/useIsDarkMode.mjs +1 -15
  738. package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
  739. package/dist/esm/hooks/useIsMounted.mjs +1 -15
  740. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  741. package/dist/esm/hooks/useItemSelector.mjs +1 -146
  742. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  743. package/dist/esm/hooks/useKeyboardDetector.mjs +1 -26
  744. package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
  745. package/dist/esm/hooks/usePersistedStore.mjs +1 -65
  746. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  747. package/dist/esm/hooks/useScreenWidth.mjs +1 -20
  748. package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
  749. package/dist/esm/hooks/useScrollBlockage/index.mjs +1 -27
  750. package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
  751. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs +1 -70
  752. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  753. package/dist/esm/hooks/useScrollDetection.mjs +1 -61
  754. package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
  755. package/dist/esm/hooks/useScrollY.mjs +1 -68
  756. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  757. package/dist/esm/hooks/useSearch.mjs +1 -50
  758. package/dist/esm/hooks/useSearch.mjs.map +1 -1
  759. package/dist/esm/hooks/useUser/index.mjs +1 -28
  760. package/dist/esm/hooks/useUser/index.mjs.map +1 -1
  761. package/dist/esm/libs/auth.mjs +1 -176
  762. package/dist/esm/libs/auth.mjs.map +1 -1
  763. package/dist/esm/libs/index.mjs +1 -3
  764. package/dist/esm/providers/ReactQueryProvider.mjs +1 -86
  765. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  766. package/dist/esm/providers/index.mjs +1 -4
  767. package/dist/esm/tailwind.config.mjs +1 -15
  768. package/dist/esm/tailwind.config.mjs.map +1 -1
  769. package/dist/esm/utils/cn.mjs +1 -8
  770. package/dist/esm/utils/cn.mjs.map +1 -1
  771. package/dist/esm/utils/image.mjs +1 -51
  772. package/dist/esm/utils/image.mjs.map +1 -1
  773. package/dist/esm/utils/object.mjs +1 -32
  774. package/dist/esm/utils/object.mjs.map +1 -1
  775. package/dist/types/components/Avatar/index.d.ts.map +1 -1
  776. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +1 -1
  777. package/dist/types/components/Browser/Browser.content.d.ts +8 -8
  778. package/dist/types/components/Button/Button.d.ts +3 -3
  779. package/dist/types/components/Carousel/index.content.d.ts +5 -5
  780. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -84
  781. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
  782. package/dist/types/components/Command/index.d.ts +2 -2
  783. package/dist/types/components/Container/index.d.ts +7 -7
  784. package/dist/types/components/CopyButton/CopyButton.content.d.ts +1 -1
  785. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
  786. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
  787. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts +1 -1
  788. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
  789. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -1
  790. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -1
  791. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
  792. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
  793. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  794. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  795. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +12 -12
  796. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +4 -4
  797. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +27 -27
  798. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +16 -16
  799. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +12 -12
  800. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +16 -16
  801. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +4 -4
  802. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +3 -3
  803. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +2 -2
  804. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
  805. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +15 -15
  806. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
  807. package/dist/types/components/HTMLRender/HTMLRender.d.ts.map +1 -1
  808. package/dist/types/components/IDE/MonacoCode.d.ts.map +1 -1
  809. package/dist/types/components/IDE/code.content.d.ts +2 -2
  810. package/dist/types/components/IDE/copyCode.content.d.ts +2 -2
  811. package/dist/types/components/IDE/selectors.content.d.ts +6 -6
  812. package/dist/types/components/Input/Checkbox.d.ts +2 -2
  813. package/dist/types/components/Input/Input.d.ts +1 -1
  814. package/dist/types/components/Link/Link.d.ts +3 -3
  815. package/dist/types/components/Loader/index.content.d.ts +1 -1
  816. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +8 -8
  817. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +6 -6
  818. package/dist/types/components/Pagination/Pagination.d.ts +1 -1
  819. package/dist/types/components/Pagination/pagination.content.d.ts +7 -7
  820. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +2 -2
  821. package/dist/types/components/SwitchSelector/index.d.ts +2 -2
  822. package/dist/types/components/Tab/Tab.d.ts +1 -1
  823. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  824. package/dist/types/components/Table/table.content.d.ts +1 -1
  825. package/dist/types/components/Tag/index.d.ts +3 -3
  826. package/dist/types/components/Terminal/terminal.content.d.ts +2 -2
  827. package/package.json +14 -14
  828. package/tailwind.css +3 -1
@@ -1,61 +1,2 @@
1
- import { t } from "intlayer";
2
-
3
- //#region src/components/Terminal/terminal.content.ts
4
- const terminalContent = {
5
- key: "terminal",
6
- content: {
7
- closeTab: t({
8
- en: "Close tab",
9
- fr: "Fermer l'onglet",
10
- es: "Cerrar pestaña",
11
- "en-GB": "Close tab",
12
- de: "Tab schließen",
13
- ja: "タブを閉じる",
14
- ko: "탭 닫기",
15
- zh: "关闭标签",
16
- it: "Chiudi tab",
17
- pt: "Fechar aba",
18
- hi: "टैब बंद करें",
19
- ar: "إغلاق التاب",
20
- ru: "Закрыть вкладку",
21
- tr: "Sekmeyi kapat",
22
- pl: "Zamknij kartę",
23
- id: "Tutup tab",
24
- vi: "Đóng tab",
25
- uk: "Закрити вкладку"
26
- }),
27
- terminalInput: t({
28
- en: "Terminal input",
29
- fr: "Entrée du terminal",
30
- es: "Entrada del terminal",
31
- "en-GB": "Terminal input",
32
- de: "Terminaleingabe",
33
- ja: "ターミナル入力",
34
- ko: "터미널 입력",
35
- zh: "终端输入",
36
- it: "Input del terminale",
37
- pt: "Entrada do terminal",
38
- hi: "टर्मिनल इनपुट",
39
- ar: "إدخال الترميز",
40
- ru: "Ввод терминала",
41
- tr: "Terminal girişi",
42
- pl: "Wejście terminala",
43
- id: "Masukan terminal",
44
- vi: "Đầu vào terminal",
45
- uk: "Ввід терміналу"
46
- })
47
- },
48
- title: "Terminal component content",
49
- description: "Localized content for the Terminal component, providing labels such as 'Close tab' and 'Terminal input'.",
50
- tags: [
51
- "component",
52
- "terminal",
53
- "ui",
54
- "localization",
55
- "labels"
56
- ]
57
- };
58
-
59
- //#endregion
60
- export { terminalContent as default };
1
+ import{t as e}from"intlayer";const t={key:`terminal`,content:{closeTab:e({en:`Close tab`,fr:`Fermer l'onglet`,es:`Cerrar pestaña`,"en-GB":`Close tab`,de:`Tab schließen`,ja:`タブを閉じる`,ko:`탭 닫기`,zh:`关闭标签`,it:`Chiudi tab`,pt:`Fechar aba`,hi:`टैब बंद करें`,ar:`إغلاق التاب`,ru:`Закрыть вкладку`,tr:`Sekmeyi kapat`,pl:`Zamknij kartę`,id:`Tutup tab`,vi:`Đóng tab`,uk:`Закрити вкладку`}),terminalInput:e({en:`Terminal input`,fr:`Entrée du terminal`,es:`Entrada del terminal`,"en-GB":`Terminal input`,de:`Terminaleingabe`,ja:`ターミナル入力`,ko:`터미널 입력`,zh:`终端输入`,it:`Input del terminale`,pt:`Entrada do terminal`,hi:`टर्मिनल इनपुट`,ar:`إدخال الترميز`,ru:`Ввод терминала`,tr:`Terminal girişi`,pl:`Wejście terminala`,id:`Masukan terminal`,vi:`Đầu vào terminal`,uk:`Ввід терміналу`})},title:`Terminal component content`,description:`Localized content for the Terminal component, providing labels such as 'Close tab' and 'Terminal input'.`,tags:[`component`,`terminal`,`ui`,`localization`,`labels`]};export{t as default};
61
2
  //# sourceMappingURL=terminal.content.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.content.mjs","names":[],"sources":["../../../../src/components/Terminal/terminal.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nconst terminalContent = {\n key: 'terminal',\n content: {\n closeTab: t({\n en: 'Close tab',\n fr: \"Fermer l'onglet\",\n es: 'Cerrar pestaña',\n 'en-GB': 'Close tab',\n de: 'Tab schließen',\n ja: 'タブを閉じる',\n ko: '탭 닫기',\n zh: '关闭标签',\n it: 'Chiudi tab',\n pt: 'Fechar aba',\n hi: 'टैब बंद करें',\n ar: 'إغلاق التاب',\n ru: 'Закрыть вкладку',\n tr: 'Sekmeyi kapat',\n pl: 'Zamknij kartę',\n id: 'Tutup tab',\n vi: 'Đóng tab',\n uk: 'Закрити вкладку',\n }),\n terminalInput: t({\n en: 'Terminal input',\n fr: 'Entrée du terminal',\n es: 'Entrada del terminal',\n 'en-GB': 'Terminal input',\n de: 'Terminaleingabe',\n ja: 'ターミナル入力',\n ko: '터미널 입력',\n zh: '终端输入',\n it: 'Input del terminale',\n pt: 'Entrada do terminal',\n hi: 'टर्मिनल इनपुट',\n ar: 'إدخال الترميز',\n ru: 'Ввод терминала',\n tr: 'Terminal girişi',\n pl: 'Wejście terminala',\n id: 'Masukan terminal',\n vi: 'Đầu vào terminal',\n uk: 'Ввід терміналу',\n }),\n },\n title: 'Terminal component content',\n description:\n \"Localized content for the Terminal component, providing labels such as 'Close tab' and 'Terminal input'.\",\n tags: ['component', 'terminal', 'ui', 'localization', 'labels'],\n} satisfies Dictionary;\n\nexport default terminalContent;\n"],"mappings":";;;AAEA,MAAM,kBAAkB;CACtB,KAAK;CACL,SAAS;EACP,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,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;GACL,CAAC;EACF,eAAe,EAAE;GACf,IAAI;GACJ,IAAI;GACJ,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;GACL,CAAC;EACH;CACD,OAAO;CACP,aACE;CACF,MAAM;EAAC;EAAa;EAAY;EAAM;EAAgB;EAAS;CAChE"}
1
+ {"version":3,"file":"terminal.content.mjs","names":[],"sources":["../../../../src/components/Terminal/terminal.content.ts"],"sourcesContent":["import { type Dictionary, t } from 'intlayer';\n\nconst terminalContent = {\n key: 'terminal',\n content: {\n closeTab: t({\n en: 'Close tab',\n fr: \"Fermer l'onglet\",\n es: 'Cerrar pestaña',\n 'en-GB': 'Close tab',\n de: 'Tab schließen',\n ja: 'タブを閉じる',\n ko: '탭 닫기',\n zh: '关闭标签',\n it: 'Chiudi tab',\n pt: 'Fechar aba',\n hi: 'टैब बंद करें',\n ar: 'إغلاق التاب',\n ru: 'Закрыть вкладку',\n tr: 'Sekmeyi kapat',\n pl: 'Zamknij kartę',\n id: 'Tutup tab',\n vi: 'Đóng tab',\n uk: 'Закрити вкладку',\n }),\n terminalInput: t({\n en: 'Terminal input',\n fr: 'Entrée du terminal',\n es: 'Entrada del terminal',\n 'en-GB': 'Terminal input',\n de: 'Terminaleingabe',\n ja: 'ターミナル入力',\n ko: '터미널 입력',\n zh: '终端输入',\n it: 'Input del terminale',\n pt: 'Entrada do terminal',\n hi: 'टर्मिनल इनपुट',\n ar: 'إدخال الترميز',\n ru: 'Ввод терминала',\n tr: 'Terminal girişi',\n pl: 'Wejście terminala',\n id: 'Masukan terminal',\n vi: 'Đầu vào terminal',\n uk: 'Ввід терміналу',\n }),\n },\n title: 'Terminal component content',\n description:\n \"Localized content for the Terminal component, providing labels such as 'Close tab' and 'Terminal input'.\",\n tags: ['component', 'terminal', 'ui', 'localization', 'labels'],\n} satisfies Dictionary;\n\nexport default terminalContent;\n"],"mappings":"6BAEA,MAAM,EAAkB,CACtB,IAAK,WACL,QAAS,CACP,SAAU,EAAE,CACV,GAAI,YACJ,GAAI,kBACJ,GAAI,iBACJ,QAAS,YACT,GAAI,gBACJ,GAAI,SACJ,GAAI,OACJ,GAAI,OACJ,GAAI,aACJ,GAAI,aACJ,GAAI,eACJ,GAAI,cACJ,GAAI,kBACJ,GAAI,gBACJ,GAAI,gBACJ,GAAI,YACJ,GAAI,WACJ,GAAI,kBACL,CAAC,CACF,cAAe,EAAE,CACf,GAAI,iBACJ,GAAI,qBACJ,GAAI,uBACJ,QAAS,iBACT,GAAI,kBACJ,GAAI,UACJ,GAAI,SACJ,GAAI,OACJ,GAAI,sBACJ,GAAI,sBACJ,GAAI,gBACJ,GAAI,gBACJ,GAAI,iBACJ,GAAI,kBACJ,GAAI,oBACJ,GAAI,mBACJ,GAAI,mBACJ,GAAI,iBACL,CAAC,CACH,CACD,MAAO,6BACP,YACE,2GACF,KAAM,CAAC,YAAa,WAAY,KAAM,eAAgB,SAAS,CAChE"}
@@ -1,107 +1,2 @@
1
- 'use client';
2
-
3
- import { cn } from "../../utils/cn.mjs";
4
- import { TextArea } from "./TextArea.mjs";
5
- import { useEffect, useImperativeHandle, useRef } from "react";
6
- import { jsx } from "react/jsx-runtime";
7
-
8
- //#region src/components/TextArea/AutoSizeTextArea.tsx
9
- const LINE_HEIGHT = 24;
10
- const LINE_PADDING = 12;
11
- /**
12
- * AutoSizedTextArea Component
13
- *
14
- * An enhanced textarea that automatically adjusts its height based on content,
15
- * providing a smooth user experience for variable-length text input.
16
- *
17
- * ## Features
18
- * - **Auto-Sizing**: Dynamically grows and shrinks based on content
19
- * - **Row Limits**: Configurable maximum rows before scrolling
20
- * - **Smooth Transitions**: Seamless height adjustments as user types
21
- * - **Scroll Management**: Automatic overflow handling when max height reached
22
- * - **Performance Optimized**: Efficient height calculations and updates
23
- *
24
- * ## Technical Details
25
- * - Line height: 24px with 12px padding
26
- * - Height calculation: `scrollHeight` vs `maxRows * lineHeight + padding`
27
- * - Resize: Disabled when auto-sizing is active for smooth experience
28
- * - Ref forwarding: Supports imperative access to textarea element
29
- *
30
- * ## Use Cases
31
- * - Chat message composition with dynamic sizing
32
- * - Comment forms that expand with content
33
- * - Note-taking interfaces with variable length
34
- * - Social media post creation
35
- * - Code snippet input with growth limits
36
- *
37
- * @example
38
- * ```tsx
39
- * // Chat-style auto-expanding textarea
40
- * const [message, setMessage] = useState('');
41
- *
42
- * <AutoSizedTextArea
43
- * value={message}
44
- * onChange={(e) => setMessage(e.target.value)}
45
- * placeholder="Type your message..."
46
- * autoSize={true}
47
- * maxRows={8}
48
- * className="min-h-[40px]"
49
- * onKeyDown={(e) => {
50
- * if (e.key === 'Enter' && !e.shiftKey) {
51
- * e.preventDefault();
52
- * sendMessage(message);
53
- * setMessage('');
54
- * }
55
- * }}
56
- * />
57
- *
58
- * // Note-taking with generous height limits
59
- * <AutoSizedTextArea
60
- * defaultValue={note.content}
61
- * onChange={handleNoteChange}
62
- * placeholder="Write your notes here..."
63
- * autoSize={true}
64
- * maxRows={20}
65
- * variant={InputVariant.DEFAULT}
66
- * />
67
- * ```
68
- */
69
- const AutoSizedTextArea = ({ className, autoSize = true, onChange, maxRows = 999, ref, ...props }) => {
70
- const textAreaRef = useRef(null);
71
- useImperativeHandle(ref, () => textAreaRef.current);
72
- const adjustHeight = () => {
73
- const textAreaEl = textAreaRef.current;
74
- if (!textAreaEl || !autoSize) return;
75
- const textAreaStyle = textAreaEl.style;
76
- textAreaStyle.height = "auto";
77
- const scrollHeight = textAreaEl.scrollHeight;
78
- const maxHeight = LINE_HEIGHT * maxRows + LINE_PADDING;
79
- const minHeight = LINE_HEIGHT + LINE_PADDING;
80
- textAreaStyle.height = `${Math.max(Math.min(scrollHeight, maxHeight), minHeight)}px`;
81
- };
82
- useEffect(() => {
83
- adjustHeight();
84
- }, [
85
- props.value,
86
- props.defaultValue,
87
- adjustHeight
88
- ]);
89
- const handleChange = (e) => {
90
- onChange?.(e);
91
- adjustHeight();
92
- };
93
- const setRef = (el) => {
94
- textAreaRef.current = el;
95
- if (el) adjustHeight();
96
- };
97
- return /* @__PURE__ */ jsx(TextArea, {
98
- ref: setRef,
99
- onChange: handleChange,
100
- className: cn("overflow-y-auto", autoSize && "resize-none", className),
101
- ...props
102
- });
103
- };
104
-
105
- //#endregion
106
- export { AutoSizedTextArea };
1
+ "use client";import{cn as e}from"../../utils/cn.mjs";import{TextArea as t}from"./TextArea.mjs";import{useEffect as n,useImperativeHandle as r,useRef as i}from"react";import{jsx as a}from"react/jsx-runtime";const o=({className:o,autoSize:s=!0,onChange:c,maxRows:l=999,ref:u,...d})=>{let f=i(null);r(u,()=>f.current);let p=()=>{let e=f.current;if(!e||!s)return;let t=e.style;t.height=`auto`;let n=e.scrollHeight,r=24*l+12;t.height=`${Math.max(Math.min(n,r),36)}px`};return n(()=>{p()},[d.value,d.defaultValue,p]),a(t,{ref:e=>{f.current=e,e&&p()},onChange:e=>{c?.(e),p()},className:e(`overflow-y-auto`,s&&`resize-none`,o),...d})};export{o as AutoSizedTextArea};
107
2
  //# sourceMappingURL=AutoSizeTextArea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSizeTextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport {\n type ChangeEventHandler,\n type FC,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { TextArea, type TextAreaProps } from './TextArea';\n\n/**\n * Props for the AutoSizedTextArea component.\n *\n * Extends TextAreaProps with auto-sizing functionality and row limitations.\n *\n * @example\n * ```tsx\n * // Auto-sizing textarea that grows with content\n * <AutoSizedTextArea\n * placeholder=\"Start typing and watch it grow...\"\n * autoSize={true}\n * maxRows={10}\n * />\n *\n * // Limited height with scroll when exceeded\n * <AutoSizedTextArea\n * value={longText}\n * onChange={handleChange}\n * autoSize={true}\n * maxRows={5}\n * className=\"max-h-[120px]\"\n * />\n *\n * // Disable auto-sizing for fixed height\n * <AutoSizedTextArea\n * autoSize={false}\n * rows={3}\n * placeholder=\"Fixed height textarea\"\n * />\n * ```\n */\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n /** Whether to automatically adjust height based on content */\n autoSize?: boolean;\n /** Maximum number of rows before scrolling is enabled */\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\n\n/**\n * AutoSizedTextArea Component\n *\n * An enhanced textarea that automatically adjusts its height based on content,\n * providing a smooth user experience for variable-length text input.\n *\n * ## Features\n * - **Auto-Sizing**: Dynamically grows and shrinks based on content\n * - **Row Limits**: Configurable maximum rows before scrolling\n * - **Smooth Transitions**: Seamless height adjustments as user types\n * - **Scroll Management**: Automatic overflow handling when max height reached\n * - **Performance Optimized**: Efficient height calculations and updates\n *\n * ## Technical Details\n * - Line height: 24px with 12px padding\n * - Height calculation: `scrollHeight` vs `maxRows * lineHeight + padding`\n * - Resize: Disabled when auto-sizing is active for smooth experience\n * - Ref forwarding: Supports imperative access to textarea element\n *\n * ## Use Cases\n * - Chat message composition with dynamic sizing\n * - Comment forms that expand with content\n * - Note-taking interfaces with variable length\n * - Social media post creation\n * - Code snippet input with growth limits\n *\n * @example\n * ```tsx\n * // Chat-style auto-expanding textarea\n * const [message, setMessage] = useState('');\n *\n * <AutoSizedTextArea\n * value={message}\n * onChange={(e) => setMessage(e.target.value)}\n * placeholder=\"Type your message...\"\n * autoSize={true}\n * maxRows={8}\n * className=\"min-h-[40px]\"\n * onKeyDown={(e) => {\n * if (e.key === 'Enter' && !e.shiftKey) {\n * e.preventDefault();\n * sendMessage(message);\n * setMessage('');\n * }\n * }}\n * />\n *\n * // Note-taking with generous height limits\n * <AutoSizedTextArea\n * defaultValue={note.content}\n * onChange={handleNoteChange}\n * placeholder=\"Write your notes here...\"\n * autoSize={true}\n * maxRows={20}\n * variant={InputVariant.DEFAULT}\n * />\n * ```\n */\nexport const AutoSizedTextArea: FC<AutoSizedTextAreaProps> = ({\n className,\n autoSize = true,\n onChange,\n maxRows = 999,\n ref,\n ...props\n}) => {\n const textAreaRef = useRef<HTMLTextAreaElement | null>(null);\n\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const adjustHeight = () => {\n const textAreaEl = textAreaRef.current;\n\n if (!textAreaEl || !autoSize) return;\n\n const textAreaStyle = textAreaEl.style;\n\n // Reset height to get accurate scrollHeight\n textAreaStyle.height = 'auto';\n const scrollHeight = textAreaEl.scrollHeight;\n const maxHeight = LINE_HEIGHT * maxRows + LINE_PADDING;\n const minHeight = LINE_HEIGHT + LINE_PADDING;\n\n // Set the new height\n textAreaStyle.height = `${Math.max(Math.min(scrollHeight, maxHeight), minHeight)}px`;\n };\n\n useEffect(() => {\n adjustHeight();\n }, [props.value, props.defaultValue, adjustHeight]);\n\n const handleChange: ChangeEventHandler<HTMLTextAreaElement> = (e) => {\n onChange?.(e);\n adjustHeight();\n };\n\n const setRef = (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n };\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn('overflow-y-auto', autoSize && 'resize-none', className)}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAkDA,MAAM,cAAc;AACpB,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DrB,MAAa,qBAAiD,EAC5D,WACA,WAAW,MACX,UACA,UAAU,KACV,KACA,GAAG,YACC;CACJ,MAAM,cAAc,OAAmC,KAAK;AAE5D,qBAAoB,WAAW,YAAY,QAAS;CAEpD,MAAM,qBAAqB;EACzB,MAAM,aAAa,YAAY;AAE/B,MAAI,CAAC,cAAc,CAAC,SAAU;EAE9B,MAAM,gBAAgB,WAAW;AAGjC,gBAAc,SAAS;EACvB,MAAM,eAAe,WAAW;EAChC,MAAM,YAAY,cAAc,UAAU;EAC1C,MAAM,YAAY,cAAc;AAGhC,gBAAc,SAAS,GAAG,KAAK,IAAI,KAAK,IAAI,cAAc,UAAU,EAAE,UAAU,CAAC;;AAGnF,iBAAgB;AACd,gBAAc;IACb;EAAC,MAAM;EAAO,MAAM;EAAc;EAAa,CAAC;CAEnD,MAAM,gBAAyD,MAAM;AACnE,aAAW,EAAE;AACb,gBAAc;;CAGhB,MAAM,UAAU,OAAmC;AACjD,cAAY,UAAU;AACtB,MAAI,GACF,eAAc;;AAIlB,QACE,oBAAC;EACC,KAAK;EACL,UAAU;EACV,WAAW,GAAG,mBAAmB,YAAY,eAAe,UAAU;EACtE,GAAI;GACJ"}
1
+ {"version":3,"file":"AutoSizeTextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport {\n type ChangeEventHandler,\n type FC,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { TextArea, type TextAreaProps } from './TextArea';\n\n/**\n * Props for the AutoSizedTextArea component.\n *\n * Extends TextAreaProps with auto-sizing functionality and row limitations.\n *\n * @example\n * ```tsx\n * // Auto-sizing textarea that grows with content\n * <AutoSizedTextArea\n * placeholder=\"Start typing and watch it grow...\"\n * autoSize={true}\n * maxRows={10}\n * />\n *\n * // Limited height with scroll when exceeded\n * <AutoSizedTextArea\n * value={longText}\n * onChange={handleChange}\n * autoSize={true}\n * maxRows={5}\n * className=\"max-h-[120px]\"\n * />\n *\n * // Disable auto-sizing for fixed height\n * <AutoSizedTextArea\n * autoSize={false}\n * rows={3}\n * placeholder=\"Fixed height textarea\"\n * />\n * ```\n */\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n /** Whether to automatically adjust height based on content */\n autoSize?: boolean;\n /** Maximum number of rows before scrolling is enabled */\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\n\n/**\n * AutoSizedTextArea Component\n *\n * An enhanced textarea that automatically adjusts its height based on content,\n * providing a smooth user experience for variable-length text input.\n *\n * ## Features\n * - **Auto-Sizing**: Dynamically grows and shrinks based on content\n * - **Row Limits**: Configurable maximum rows before scrolling\n * - **Smooth Transitions**: Seamless height adjustments as user types\n * - **Scroll Management**: Automatic overflow handling when max height reached\n * - **Performance Optimized**: Efficient height calculations and updates\n *\n * ## Technical Details\n * - Line height: 24px with 12px padding\n * - Height calculation: `scrollHeight` vs `maxRows * lineHeight + padding`\n * - Resize: Disabled when auto-sizing is active for smooth experience\n * - Ref forwarding: Supports imperative access to textarea element\n *\n * ## Use Cases\n * - Chat message composition with dynamic sizing\n * - Comment forms that expand with content\n * - Note-taking interfaces with variable length\n * - Social media post creation\n * - Code snippet input with growth limits\n *\n * @example\n * ```tsx\n * // Chat-style auto-expanding textarea\n * const [message, setMessage] = useState('');\n *\n * <AutoSizedTextArea\n * value={message}\n * onChange={(e) => setMessage(e.target.value)}\n * placeholder=\"Type your message...\"\n * autoSize={true}\n * maxRows={8}\n * className=\"min-h-[40px]\"\n * onKeyDown={(e) => {\n * if (e.key === 'Enter' && !e.shiftKey) {\n * e.preventDefault();\n * sendMessage(message);\n * setMessage('');\n * }\n * }}\n * />\n *\n * // Note-taking with generous height limits\n * <AutoSizedTextArea\n * defaultValue={note.content}\n * onChange={handleNoteChange}\n * placeholder=\"Write your notes here...\"\n * autoSize={true}\n * maxRows={20}\n * variant={InputVariant.DEFAULT}\n * />\n * ```\n */\nexport const AutoSizedTextArea: FC<AutoSizedTextAreaProps> = ({\n className,\n autoSize = true,\n onChange,\n maxRows = 999,\n ref,\n ...props\n}) => {\n const textAreaRef = useRef<HTMLTextAreaElement | null>(null);\n\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const adjustHeight = () => {\n const textAreaEl = textAreaRef.current;\n\n if (!textAreaEl || !autoSize) return;\n\n const textAreaStyle = textAreaEl.style;\n\n // Reset height to get accurate scrollHeight\n textAreaStyle.height = 'auto';\n const scrollHeight = textAreaEl.scrollHeight;\n const maxHeight = LINE_HEIGHT * maxRows + LINE_PADDING;\n const minHeight = LINE_HEIGHT + LINE_PADDING;\n\n // Set the new height\n textAreaStyle.height = `${Math.max(Math.min(scrollHeight, maxHeight), minHeight)}px`;\n };\n\n useEffect(() => {\n adjustHeight();\n }, [props.value, props.defaultValue, adjustHeight]);\n\n const handleChange: ChangeEventHandler<HTMLTextAreaElement> = (e) => {\n onChange?.(e);\n adjustHeight();\n };\n\n const setRef = (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n };\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn('overflow-y-auto', autoSize && 'resize-none', className)}\n {...props}\n />\n );\n};\n"],"mappings":"8MAkDA,MA6Da,GAAiD,CAC5D,YACA,WAAW,GACX,WACA,UAAU,IACV,MACA,GAAG,KACC,CACJ,IAAM,EAAc,EAAmC,KAAK,CAE5D,EAAoB,MAAW,EAAY,QAAS,CAEpD,IAAM,MAAqB,CACzB,IAAM,EAAa,EAAY,QAE/B,GAAI,CAAC,GAAc,CAAC,EAAU,OAE9B,IAAM,EAAgB,EAAW,MAGjC,EAAc,OAAS,OACvB,IAAM,EAAe,EAAW,aAC1B,EAAY,GAAc,EAAU,GAI1C,EAAc,OAAS,GAAG,KAAK,IAAI,KAAK,IAAI,EAAc,EAAU,CAAE,GAAU,CAAC,KAmBnF,OAhBA,MAAgB,CACd,GAAc,EACb,CAAC,EAAM,MAAO,EAAM,aAAc,EAAa,CAAC,CAejD,EAAC,EAAA,CACC,IATY,GAAmC,CACjD,EAAY,QAAU,EAClB,GACF,GAAc,EAOd,SAf2D,GAAM,CACnE,IAAW,EAAE,CACb,GAAc,EAcZ,UAAW,EAAG,kBAAmB,GAAY,cAAe,EAAU,CACtE,GAAI,GACJ"}
@@ -1,258 +1,2 @@
1
- 'use client';
2
-
3
- import { useAutocomplete } from "../../hooks/reactQuery.mjs";
4
- import { AutoSizedTextArea } from "./AutoSizeTextArea.mjs";
5
- import { useEffect, useRef, useState } from "react";
6
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
- import { useConfiguration } from "@intlayer/editor-react";
8
-
9
- //#region src/components/TextArea/AutocompleteTextArea.tsx
10
- /**
11
- * Custom hook for debouncing values to prevent excessive API calls.
12
- *
13
- * Delays updating the returned value until the input value has stopped changing
14
- * for the specified delay period.
15
- *
16
- * @param value - The value to debounce
17
- * @param delay - Delay in milliseconds before updating the debounced value
18
- * @returns The debounced value that only updates after the delay period
19
- *
20
- * @example
21
- * ```tsx
22
- * const [searchTerm, setSearchTerm] = useState('');
23
- * const debouncedSearchTerm = useDebounce(searchTerm, 300);
24
- *
25
- * useEffect(() => {
26
- * if (debouncedSearchTerm) {
27
- * performSearch(debouncedSearchTerm);
28
- * }
29
- * }, [debouncedSearchTerm]);
30
- * ```
31
- */
32
- const useDebounce = (value, delay) => {
33
- const [debouncedValue, setDebouncedValue] = useState(value);
34
- useEffect(() => {
35
- const timer = setTimeout(() => {
36
- setDebouncedValue(value);
37
- }, delay);
38
- return () => clearTimeout(timer);
39
- }, [value, delay]);
40
- return debouncedValue;
41
- };
42
- /**
43
- * AutoCompleteTextarea Component
44
- *
45
- * An intelligent textarea that provides AI-powered autocomplete suggestions as users type,
46
- * combining auto-sizing functionality with contextual text completion.
47
- *
48
- * ## Features
49
- * - **AI-Powered Suggestions**: Context-aware autocomplete using configured AI models
50
- * - **Debounced API Calls**: Efficient suggestion fetching with 200ms debounce
51
- * - **Visual Suggestions**: Inline preview of suggested completions
52
- * - **Keyboard Navigation**: Tab key to accept suggestions
53
- * - **Context Analysis**: Uses surrounding text for better suggestions
54
- * - **Auto-Sizing**: Inherits all AutoSizedTextArea capabilities
55
- * - **Performance Optimized**: Smart caching and minimal re-renders
56
- *
57
- * ## Technical Implementation
58
- * - **Debounce Strategy**: 200ms delay before fetching suggestions
59
- * - **Context Window**: 5 lines before/after cursor for context
60
- * - **Minimum Trigger**: Requires 3+ characters before suggesting
61
- * - **Position Tracking**: Ghost layer for accurate suggestion positioning
62
- * - **Cursor Management**: Tracks cursor position during suggestion fetch
63
- *
64
- * ## AI Integration
65
- * - Uses configured AI model (OpenAI, Anthropic, etc.)
66
- * - Sends context-aware prompts for relevant suggestions
67
- * - Respects temperature and model settings from configuration
68
- * - Handles API errors gracefully without interrupting user flow
69
- *
70
- * ## Use Cases
71
- * - **Content Creation**: Blog posts, articles, documentation
72
- * - **Code Comments**: Intelligent code documentation assistance
73
- * - **Email Composition**: Professional email writing assistance
74
- * - **Creative Writing**: Story and narrative completion
75
- * - **Technical Documentation**: API docs, README files
76
- * - **Social Media**: Post creation with engagement optimization
77
- *
78
- * @example
79
- * ```tsx
80
- * // Blog writing assistant
81
- * const [blogPost, setBlogPost] = useState('');
82
- * const [isAiEnabled, setIsAiEnabled] = useState(true);
83
- *
84
- * <div className="space-y-4">
85
- * <div className="flex items-center gap-2">
86
- * <Switch
87
- * checked={isAiEnabled}
88
- * onChange={setIsAiEnabled}
89
- * />
90
- * <label>AI Writing Assistant</label>
91
- * </div>
92
- *
93
- * <AutoCompleteTextarea
94
- * value={blogPost}
95
- * onChange={(e) => setBlogPost(e.target.value)}
96
- * placeholder="Start writing your blog post..."
97
- * isActive={isAiEnabled}
98
- * autoSize={true}
99
- * maxRows={15}
100
- * className="min-h-[200px] font-serif text-lg leading-relaxed"
101
- * />
102
- * </div>
103
- *
104
- * // Code documentation assistant
105
- * <AutoCompleteTextarea
106
- * value={docComment}
107
- * onChange={handleDocChange}
108
- * placeholder="/** Describe this function... *\/"
109
- * isActive={true}
110
- * autoSize={true}
111
- * maxRows={8}
112
- * className="font-mono text-sm"
113
- * />
114
- *
115
- * // Email composition with templates
116
- * <AutoCompleteTextarea
117
- * defaultValue="Dear "
118
- * placeholder="AI will help complete your email..."
119
- * isActive={true}
120
- * autoSize={true}
121
- * maxRows={12}
122
- * variant={InputVariant.DEFAULT}
123
- * />
124
- * ```
125
- *
126
- * ## Accessibility
127
- * - Ghost layer is properly hidden from screen readers
128
- * - Maintains focus management during suggestion acceptance
129
- * - Preserves keyboard navigation patterns
130
- * - Respects reduced motion preferences
131
- */
132
- const AutoCompleteTextarea = ({ isActive = true, suggestion: suggestionProp, ...props }) => {
133
- const defaultValue = String(props.value ?? props.defaultValue ?? "");
134
- const { mutate: autocomplete } = useAutocomplete();
135
- const configuration = useConfiguration();
136
- const [isTyped, setIsTyped] = useState(false);
137
- const [text, setText] = useState(defaultValue);
138
- const [suggestion, setSuggestion] = useState("");
139
- const textareaRef = useRef(null);
140
- const placeholderRef = useRef(null);
141
- const ghostLayerRef = useRef(null);
142
- const [suggestionPosition, setSuggestionPosition] = useState(null);
143
- const [cursorAtFetch, setCursorAtFetch] = useState(-1);
144
- const debouncedText = useDebounce(text, 200);
145
- useEffect(() => {
146
- if (typeof props.value === "undefined") return;
147
- setText(defaultValue);
148
- }, [props.value, props.defaultValue]);
149
- useEffect(() => {
150
- if (!isActive) return;
151
- if (!isTyped) return;
152
- if (debouncedText.length > 3) setSuggestion("");
153
- else setSuggestion("");
154
- }, [
155
- debouncedText,
156
- isActive,
157
- autocomplete,
158
- configuration
159
- ]);
160
- useEffect(() => {
161
- if (!suggestion || cursorAtFetch === -1 || !placeholderRef.current || !ghostLayerRef.current) {
162
- setSuggestionPosition(null);
163
- return;
164
- }
165
- const rect = placeholderRef.current.getBoundingClientRect();
166
- const parentRect = ghostLayerRef.current.getBoundingClientRect();
167
- setSuggestionPosition({
168
- left: rect.left - parentRect.left,
169
- top: rect.top - parentRect.top
170
- });
171
- }, [
172
- suggestion,
173
- cursorAtFetch,
174
- text
175
- ]);
176
- const acceptSuggestion = () => {
177
- const currentCursor = textareaRef.current?.selectionStart ?? cursorAtFetch;
178
- if (currentCursor !== cursorAtFetch) return;
179
- setText(text.slice(0, currentCursor) + suggestion + text.slice(currentCursor));
180
- setSuggestion("");
181
- setCursorAtFetch(-1);
182
- setTimeout(() => {
183
- textareaRef.current?.focus();
184
- const newCursorPos = currentCursor + suggestion.length;
185
- textareaRef.current?.setSelectionRange(newCursorPos, newCursorPos);
186
- }, 0);
187
- };
188
- return /* @__PURE__ */ jsxs("div", {
189
- className: "relative w-full",
190
- children: [
191
- /* @__PURE__ */ jsxs("div", {
192
- ref: ghostLayerRef,
193
- className: "pointer-events-none absolute inset-0 whitespace-pre-wrap break-words px-1 py-3 text-base leading-[1.45rem] md:py-1 md:text-sm md:leading-[1.23rem]",
194
- "aria-hidden": "true",
195
- children: [suggestion && cursorAtFetch !== -1 ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
196
- /* @__PURE__ */ jsx("span", {
197
- className: "align-text-top text-transparent",
198
- children: text.slice(0, cursorAtFetch)
199
- }),
200
- /* @__PURE__ */ jsx("span", {
201
- ref: placeholderRef,
202
- style: { visibility: "hidden" },
203
- "aria-hidden": "true",
204
- children: suggestion
205
- }),
206
- /* @__PURE__ */ jsx("span", {
207
- className: "align-text-top text-transparent",
208
- children: text.slice(cursorAtFetch)
209
- })
210
- ] }) : /* @__PURE__ */ jsx("span", {
211
- className: "align-text-top text-transparent",
212
- children: text
213
- }), suggestionProp && /* @__PURE__ */ jsx("span", {
214
- className: "align-text-top text-neutral",
215
- children: suggestionProp
216
- })]
217
- }),
218
- suggestion && suggestionPosition && /* @__PURE__ */ jsx("div", {
219
- className: "pointer-events-none whitespace-pre-wrap break-words text-base text-neutral leading-[1.45rem] md:text-sm md:leading-[1.23rem]",
220
- style: {
221
- position: "absolute",
222
- left: suggestionPosition.left,
223
- top: suggestionPosition.top
224
- },
225
- children: suggestion
226
- }),
227
- /* @__PURE__ */ jsx(AutoSizedTextArea, {
228
- ...props,
229
- ref: textareaRef,
230
- value: text,
231
- onChange: (e) => {
232
- setIsTyped(true);
233
- setText(e.target.value);
234
- setSuggestion("");
235
- props.onChange?.(e);
236
- },
237
- onKeyDown: (e) => {
238
- if (e.key === "Tab" && suggestion) {
239
- e.preventDefault();
240
- acceptSuggestion();
241
- }
242
- props.onKeyDown?.(e);
243
- },
244
- onSelect: (e) => {
245
- if (suggestion && e.target.selectionStart !== cursorAtFetch) {
246
- setSuggestion("");
247
- setCursorAtFetch(-1);
248
- }
249
- props.onSelect?.(e);
250
- }
251
- })
252
- ]
253
- });
254
- };
255
-
256
- //#endregion
257
- export { AutoCompleteTextarea, useDebounce };
1
+ "use client";import{useAutocomplete as e}from"../../hooks/reactQuery.mjs";import{AutoSizedTextArea as t}from"./AutoSizeTextArea.mjs";import{useEffect as n,useRef as r,useState as i}from"react";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";import{useConfiguration as c}from"@intlayer/editor-react";const l=(e,t)=>{let[r,a]=i(e);return n(()=>{let n=setTimeout(()=>{a(e)},t);return()=>clearTimeout(n)},[e,t]),r},u=({isActive:u=!0,suggestion:d,...f})=>{let p=String(f.value??f.defaultValue??``),{mutate:m}=e(),h=c(),[g,_]=i(!1),[v,y]=i(p),[b,x]=i(``),S=r(null),C=r(null),w=r(null),[T,E]=i(null),[D,O]=i(-1),k=l(v,200);n(()=>{f.value!==void 0&&y(p)},[f.value,f.defaultValue]),n(()=>{u&&g&&(k.length,x(``))},[k,u,m,h]),n(()=>{if(!b||D===-1||!C.current||!w.current){E(null);return}let e=C.current.getBoundingClientRect(),t=w.current.getBoundingClientRect();E({left:e.left-t.left,top:e.top-t.top})},[b,D,v]);let A=()=>{let e=S.current?.selectionStart??D;e===D&&(y(v.slice(0,e)+b+v.slice(e)),x(``),O(-1),setTimeout(()=>{S.current?.focus();let t=e+b.length;S.current?.setSelectionRange(t,t)},0))};return s(`div`,{className:`relative w-full`,children:[s(`div`,{ref:w,className:`pointer-events-none absolute inset-0 whitespace-pre-wrap break-words px-1 py-3 text-base leading-[1.45rem] md:py-1 md:text-sm md:leading-[1.23rem]`,"aria-hidden":`true`,children:[b&&D!==-1?s(a,{children:[o(`span`,{className:`align-text-top text-transparent`,children:v.slice(0,D)}),o(`span`,{ref:C,style:{visibility:`hidden`},"aria-hidden":`true`,children:b}),o(`span`,{className:`align-text-top text-transparent`,children:v.slice(D)})]}):o(`span`,{className:`align-text-top text-transparent`,children:v}),d&&o(`span`,{className:`align-text-top text-neutral`,children:d})]}),b&&T&&o(`div`,{className:`pointer-events-none whitespace-pre-wrap break-words text-base text-neutral leading-[1.45rem] md:text-sm md:leading-[1.23rem]`,style:{position:`absolute`,left:T.left,top:T.top},children:b}),o(t,{...f,ref:S,value:v,onChange:e=>{_(!0),y(e.target.value),x(``),f.onChange?.(e)},onKeyDown:e=>{e.key===`Tab`&&b&&(e.preventDefault(),A()),f.onKeyDown?.(e)},onSelect:e=>{b&&e.target.selectionStart!==D&&(x(``),O(-1)),f.onSelect?.(e)}})]})};export{u as AutoCompleteTextarea,l as useDebounce};
258
2
  //# sourceMappingURL=AutocompleteTextArea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteTextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/AutocompleteTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { useAutocomplete } from '@hooks/reactQuery';\nimport type { AutocompleteResponse } from '@intlayer/backend';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport { type FC, useEffect, useRef, useState } from 'react';\nimport {\n AutoSizedTextArea,\n type AutoSizedTextAreaProps,\n} from './AutoSizeTextArea';\n\n/**\n * Custom hook for debouncing values to prevent excessive API calls.\n *\n * Delays updating the returned value until the input value has stopped changing\n * for the specified delay period.\n *\n * @param value - The value to debounce\n * @param delay - Delay in milliseconds before updating the debounced value\n * @returns The debounced value that only updates after the delay period\n *\n * @example\n * ```tsx\n * const [searchTerm, setSearchTerm] = useState('');\n * const debouncedSearchTerm = useDebounce(searchTerm, 300);\n *\n * useEffect(() => {\n * if (debouncedSearchTerm) {\n * performSearch(debouncedSearchTerm);\n * }\n * }, [debouncedSearchTerm]);\n * ```\n */\nexport const useDebounce = <T,>(value: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cleanup the timer if value changes before 'delay' ms\n return () => clearTimeout(timer);\n }, [value, delay]);\n\n return debouncedValue;\n};\n\n/**\n * Props for the AutocompleteTextArea component.\n *\n * Extends AutoSizedTextAreaProps with AI-powered autocomplete functionality.\n *\n * @example\n * ```tsx\n * // AI-powered autocomplete textarea\n * <AutoCompleteTextarea\n * placeholder=\"Start typing for AI suggestions...\"\n * isActive={true}\n * autoSize={true}\n * maxRows={10}\n * />\n *\n * // Manual suggestion mode\n * <AutoCompleteTextarea\n * value={content}\n * onChange={handleChange}\n * suggestion=\"Consider adding more details about...\"\n * isActive={false}\n * />\n *\n * // Disabled autocomplete for sensitive content\n * <AutoCompleteTextarea\n * placeholder=\"Private notes (no AI assistance)\"\n * isActive={false}\n * autoSize={true}\n * />\n * ```\n */\nexport type AutocompleteTextAreaProps = AutoSizedTextAreaProps & {\n /** Whether AI autocomplete is active and should fetch suggestions */\n isActive?: boolean;\n /** Manual suggestion text to display (overrides AI suggestions) */\n suggestion?: string;\n};\n\n/**\n * AutoCompleteTextarea Component\n *\n * An intelligent textarea that provides AI-powered autocomplete suggestions as users type,\n * combining auto-sizing functionality with contextual text completion.\n *\n * ## Features\n * - **AI-Powered Suggestions**: Context-aware autocomplete using configured AI models\n * - **Debounced API Calls**: Efficient suggestion fetching with 200ms debounce\n * - **Visual Suggestions**: Inline preview of suggested completions\n * - **Keyboard Navigation**: Tab key to accept suggestions\n * - **Context Analysis**: Uses surrounding text for better suggestions\n * - **Auto-Sizing**: Inherits all AutoSizedTextArea capabilities\n * - **Performance Optimized**: Smart caching and minimal re-renders\n *\n * ## Technical Implementation\n * - **Debounce Strategy**: 200ms delay before fetching suggestions\n * - **Context Window**: 5 lines before/after cursor for context\n * - **Minimum Trigger**: Requires 3+ characters before suggesting\n * - **Position Tracking**: Ghost layer for accurate suggestion positioning\n * - **Cursor Management**: Tracks cursor position during suggestion fetch\n *\n * ## AI Integration\n * - Uses configured AI model (OpenAI, Anthropic, etc.)\n * - Sends context-aware prompts for relevant suggestions\n * - Respects temperature and model settings from configuration\n * - Handles API errors gracefully without interrupting user flow\n *\n * ## Use Cases\n * - **Content Creation**: Blog posts, articles, documentation\n * - **Code Comments**: Intelligent code documentation assistance\n * - **Email Composition**: Professional email writing assistance\n * - **Creative Writing**: Story and narrative completion\n * - **Technical Documentation**: API docs, README files\n * - **Social Media**: Post creation with engagement optimization\n *\n * @example\n * ```tsx\n * // Blog writing assistant\n * const [blogPost, setBlogPost] = useState('');\n * const [isAiEnabled, setIsAiEnabled] = useState(true);\n *\n * <div className=\"space-y-4\">\n * <div className=\"flex items-center gap-2\">\n * <Switch\n * checked={isAiEnabled}\n * onChange={setIsAiEnabled}\n * />\n * <label>AI Writing Assistant</label>\n * </div>\n *\n * <AutoCompleteTextarea\n * value={blogPost}\n * onChange={(e) => setBlogPost(e.target.value)}\n * placeholder=\"Start writing your blog post...\"\n * isActive={isAiEnabled}\n * autoSize={true}\n * maxRows={15}\n * className=\"min-h-[200px] font-serif text-lg leading-relaxed\"\n * />\n * </div>\n *\n * // Code documentation assistant\n * <AutoCompleteTextarea\n * value={docComment}\n * onChange={handleDocChange}\n * placeholder=\"/** Describe this function... *\\/\"\n * isActive={true}\n * autoSize={true}\n * maxRows={8}\n * className=\"font-mono text-sm\"\n * />\n *\n * // Email composition with templates\n * <AutoCompleteTextarea\n * defaultValue=\"Dear \"\n * placeholder=\"AI will help complete your email...\"\n * isActive={true}\n * autoSize={true}\n * maxRows={12}\n * variant={InputVariant.DEFAULT}\n * />\n * ```\n *\n * ## Accessibility\n * - Ghost layer is properly hidden from screen readers\n * - Maintains focus management during suggestion acceptance\n * - Preserves keyboard navigation patterns\n * - Respects reduced motion preferences\n */\nexport const AutoCompleteTextarea: FC<AutocompleteTextAreaProps> = ({\n isActive = true,\n suggestion: suggestionProp,\n ...props\n}) => {\n const defaultValue = String(props.value ?? props.defaultValue ?? '');\n const { mutate: autocomplete } = useAutocomplete();\n const configuration = useConfiguration();\n const [isTyped, setIsTyped] = useState(false);\n const [text, setText] = useState(defaultValue);\n const [suggestion, setSuggestion] = useState('');\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const placeholderRef = useRef<HTMLSpanElement>(null);\n const ghostLayerRef = useRef<HTMLDivElement>(null);\n const [suggestionPosition, setSuggestionPosition] = useState<{\n left: number;\n top: number;\n } | null>(null);\n const [cursorAtFetch, setCursorAtFetch] = useState(-1);\n\n // Only update this “debouncedText” after the user stops typing for 200ms\n const debouncedText = useDebounce(text, 200);\n\n useEffect(() => {\n if (typeof props.value === 'undefined') return;\n setText(defaultValue);\n }, [props.value, props.defaultValue]);\n\n useEffect(() => {\n if (!isActive) return;\n if (!isTyped) return;\n\n const fetchSuggestion = async () => {\n try {\n const cursor =\n textareaRef.current?.selectionStart ?? debouncedText.length;\n const before = debouncedText.slice(0, cursor);\n const after = debouncedText.slice(cursor);\n const numLines = 5;\n const beforeLines = before.split('\\n');\n const contextBeforeLines = beforeLines.slice(\n Math.max(0, beforeLines.length - numLines - 1),\n -1\n );\n const contextBefore = contextBeforeLines.join('\\n');\n const currentLine = beforeLines[beforeLines.length - 1] ?? '';\n const afterLines = after.split('\\n');\n const contextAfter = afterLines.slice(1, numLines + 1).join('\\n');\n\n autocomplete(\n {\n text: before,\n contextBefore,\n currentLine,\n contextAfter,\n aiOptions: {\n apiKey: configuration.ai?.apiKey,\n model: configuration.ai?.model,\n temperature: configuration.ai?.temperature,\n },\n },\n {\n onSuccess: (data: AutocompleteResponse) => {\n setSuggestion(data.data?.autocompletion ?? '');\n setCursorAtFetch(cursor);\n },\n }\n );\n } catch (err) {\n console.error('Autocomplete error:', err);\n }\n };\n\n if (debouncedText.length > 3) {\n // Only fetch if user typed more than 3 chars and has paused\n setSuggestion('');\n // TODO: Uncomment this when the autocomplete works well enough\n // fetchSuggestion();\n } else {\n // If typed less than threshold, clear the suggestion\n setSuggestion('');\n }\n }, [debouncedText, isActive, autocomplete, configuration]);\n\n useEffect(() => {\n if (\n !suggestion ||\n cursorAtFetch === -1 ||\n !placeholderRef.current ||\n !ghostLayerRef.current\n ) {\n setSuggestionPosition(null);\n return;\n }\n\n const rect = placeholderRef.current.getBoundingClientRect();\n const parentRect = ghostLayerRef.current.getBoundingClientRect();\n setSuggestionPosition({\n left: rect.left - parentRect.left,\n top: rect.top - parentRect.top,\n });\n }, [suggestion, cursorAtFetch, text]);\n\n const acceptSuggestion = () => {\n const currentCursor = textareaRef.current?.selectionStart ?? cursorAtFetch;\n if (currentCursor !== cursorAtFetch) return;\n const newText =\n text.slice(0, currentCursor) + suggestion + text.slice(currentCursor);\n setText(newText);\n setSuggestion('');\n setCursorAtFetch(-1);\n setTimeout(() => {\n textareaRef.current?.focus();\n const newCursorPos = currentCursor + suggestion.length;\n textareaRef.current?.setSelectionRange(newCursorPos, newCursorPos);\n }, 0);\n };\n\n return (\n <div className=\"relative w-full\">\n <div\n ref={ghostLayerRef}\n className=\"pointer-events-none absolute inset-0 whitespace-pre-wrap break-words px-1 py-3 text-base leading-[1.45rem] md:py-1 md:text-sm md:leading-[1.23rem]\"\n aria-hidden=\"true\"\n >\n {suggestion && cursorAtFetch !== -1 ? (\n <>\n <span className=\"align-text-top text-transparent\">\n {text.slice(0, cursorAtFetch)}\n </span>\n <span\n ref={placeholderRef}\n style={{ visibility: 'hidden' }}\n aria-hidden=\"true\"\n >\n {suggestion}\n </span>\n <span className=\"align-text-top text-transparent\">\n {text.slice(cursorAtFetch)}\n </span>\n </>\n ) : (\n <span className=\"align-text-top text-transparent\">{text}</span>\n )}\n {suggestionProp && (\n <span className=\"align-text-top text-neutral\">{suggestionProp}</span>\n )}\n </div>\n {suggestion && suggestionPosition && (\n <div\n className=\"pointer-events-none whitespace-pre-wrap break-words text-base text-neutral leading-[1.45rem] md:text-sm md:leading-[1.23rem]\"\n style={{\n position: 'absolute',\n left: suggestionPosition.left,\n top: suggestionPosition.top,\n }}\n >\n {suggestion}\n </div>\n )}\n <AutoSizedTextArea\n {...props}\n ref={textareaRef}\n value={text}\n onChange={(e) => {\n setIsTyped(true);\n setText(e.target.value);\n setSuggestion('');\n props.onChange?.(e);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Tab' && suggestion) {\n e.preventDefault();\n acceptSuggestion();\n }\n props.onKeyDown?.(e);\n }}\n onSelect={(e) => {\n if (\n suggestion &&\n (e.target as HTMLTextAreaElement).selectionStart !== cursorAtFetch\n ) {\n setSuggestion('');\n setCursorAtFetch(-1);\n }\n props.onSelect?.(e);\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAa,eAAmB,OAAU,UAAqB;CAC7D,MAAM,CAAC,gBAAgB,qBAAqB,SAAY,MAAM;AAE9D,iBAAgB;EACd,MAAM,QAAQ,iBAAiB;AAC7B,qBAAkB,MAAM;KACvB,MAAM;AAGT,eAAa,aAAa,MAAM;IAC/B,CAAC,OAAO,MAAM,CAAC;AAElB,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmIT,MAAa,wBAAuD,EAClE,WAAW,MACX,YAAY,gBACZ,GAAG,YACC;CACJ,MAAM,eAAe,OAAO,MAAM,SAAS,MAAM,gBAAgB,GAAG;CACpE,MAAM,EAAE,QAAQ,iBAAiB,iBAAiB;CAClD,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,MAAM,WAAW,SAAS,aAAa;CAC9C,MAAM,CAAC,YAAY,iBAAiB,SAAS,GAAG;CAChD,MAAM,cAAc,OAA4B,KAAK;CACrD,MAAM,iBAAiB,OAAwB,KAAK;CACpD,MAAM,gBAAgB,OAAuB,KAAK;CAClD,MAAM,CAAC,oBAAoB,yBAAyB,SAG1C,KAAK;CACf,MAAM,CAAC,eAAe,oBAAoB,SAAS,GAAG;CAGtD,MAAM,gBAAgB,YAAY,MAAM,IAAI;AAE5C,iBAAgB;AACd,MAAI,OAAO,MAAM,UAAU,YAAa;AACxC,UAAQ,aAAa;IACpB,CAAC,MAAM,OAAO,MAAM,aAAa,CAAC;AAErC,iBAAgB;AACd,MAAI,CAAC,SAAU;AACf,MAAI,CAAC,QAAS;AA2Cd,MAAI,cAAc,SAAS,EAEzB,eAAc,GAAG;MAKjB,eAAc,GAAG;IAElB;EAAC;EAAe;EAAU;EAAc;EAAc,CAAC;AAE1D,iBAAgB;AACd,MACE,CAAC,cACD,kBAAkB,MAClB,CAAC,eAAe,WAChB,CAAC,cAAc,SACf;AACA,yBAAsB,KAAK;AAC3B;;EAGF,MAAM,OAAO,eAAe,QAAQ,uBAAuB;EAC3D,MAAM,aAAa,cAAc,QAAQ,uBAAuB;AAChE,wBAAsB;GACpB,MAAM,KAAK,OAAO,WAAW;GAC7B,KAAK,KAAK,MAAM,WAAW;GAC5B,CAAC;IACD;EAAC;EAAY;EAAe;EAAK,CAAC;CAErC,MAAM,yBAAyB;EAC7B,MAAM,gBAAgB,YAAY,SAAS,kBAAkB;AAC7D,MAAI,kBAAkB,cAAe;AAGrC,UADE,KAAK,MAAM,GAAG,cAAc,GAAG,aAAa,KAAK,MAAM,cAAc,CACvD;AAChB,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB;AACf,eAAY,SAAS,OAAO;GAC5B,MAAM,eAAe,gBAAgB,WAAW;AAChD,eAAY,SAAS,kBAAkB,cAAc,aAAa;KACjE,EAAE;;AAGP,QACE,qBAAC;EAAI,WAAU;;GACb,qBAAC;IACC,KAAK;IACL,WAAU;IACV,eAAY;eAEX,cAAc,kBAAkB,KAC/B;KACE,oBAAC;MAAK,WAAU;gBACb,KAAK,MAAM,GAAG,cAAc;OACxB;KACP,oBAAC;MACC,KAAK;MACL,OAAO,EAAE,YAAY,UAAU;MAC/B,eAAY;gBAEX;OACI;KACP,oBAAC;MAAK,WAAU;gBACb,KAAK,MAAM,cAAc;OACrB;QACN,GAEH,oBAAC;KAAK,WAAU;eAAmC;MAAY,EAEhE,kBACC,oBAAC;KAAK,WAAU;eAA+B;MAAsB;KAEnE;GACL,cAAc,sBACb,oBAAC;IACC,WAAU;IACV,OAAO;KACL,UAAU;KACV,MAAM,mBAAmB;KACzB,KAAK,mBAAmB;KACzB;cAEA;KACG;GAER,oBAAC;IACC,GAAI;IACJ,KAAK;IACL,OAAO;IACP,WAAW,MAAM;AACf,gBAAW,KAAK;AAChB,aAAQ,EAAE,OAAO,MAAM;AACvB,mBAAc,GAAG;AACjB,WAAM,WAAW,EAAE;;IAErB,YAAY,MAAM;AAChB,SAAI,EAAE,QAAQ,SAAS,YAAY;AACjC,QAAE,gBAAgB;AAClB,wBAAkB;;AAEpB,WAAM,YAAY,EAAE;;IAEtB,WAAW,MAAM;AACf,SACE,cACC,EAAE,OAA+B,mBAAmB,eACrD;AACA,oBAAc,GAAG;AACjB,uBAAiB,GAAG;;AAEtB,WAAM,WAAW,EAAE;;KAErB;;GACE"}
1
+ {"version":3,"file":"AutocompleteTextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/AutocompleteTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { useAutocomplete } from '@hooks/reactQuery';\nimport type { AutocompleteResponse } from '@intlayer/backend';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport { type FC, useEffect, useRef, useState } from 'react';\nimport {\n AutoSizedTextArea,\n type AutoSizedTextAreaProps,\n} from './AutoSizeTextArea';\n\n/**\n * Custom hook for debouncing values to prevent excessive API calls.\n *\n * Delays updating the returned value until the input value has stopped changing\n * for the specified delay period.\n *\n * @param value - The value to debounce\n * @param delay - Delay in milliseconds before updating the debounced value\n * @returns The debounced value that only updates after the delay period\n *\n * @example\n * ```tsx\n * const [searchTerm, setSearchTerm] = useState('');\n * const debouncedSearchTerm = useDebounce(searchTerm, 300);\n *\n * useEffect(() => {\n * if (debouncedSearchTerm) {\n * performSearch(debouncedSearchTerm);\n * }\n * }, [debouncedSearchTerm]);\n * ```\n */\nexport const useDebounce = <T,>(value: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cleanup the timer if value changes before 'delay' ms\n return () => clearTimeout(timer);\n }, [value, delay]);\n\n return debouncedValue;\n};\n\n/**\n * Props for the AutocompleteTextArea component.\n *\n * Extends AutoSizedTextAreaProps with AI-powered autocomplete functionality.\n *\n * @example\n * ```tsx\n * // AI-powered autocomplete textarea\n * <AutoCompleteTextarea\n * placeholder=\"Start typing for AI suggestions...\"\n * isActive={true}\n * autoSize={true}\n * maxRows={10}\n * />\n *\n * // Manual suggestion mode\n * <AutoCompleteTextarea\n * value={content}\n * onChange={handleChange}\n * suggestion=\"Consider adding more details about...\"\n * isActive={false}\n * />\n *\n * // Disabled autocomplete for sensitive content\n * <AutoCompleteTextarea\n * placeholder=\"Private notes (no AI assistance)\"\n * isActive={false}\n * autoSize={true}\n * />\n * ```\n */\nexport type AutocompleteTextAreaProps = AutoSizedTextAreaProps & {\n /** Whether AI autocomplete is active and should fetch suggestions */\n isActive?: boolean;\n /** Manual suggestion text to display (overrides AI suggestions) */\n suggestion?: string;\n};\n\n/**\n * AutoCompleteTextarea Component\n *\n * An intelligent textarea that provides AI-powered autocomplete suggestions as users type,\n * combining auto-sizing functionality with contextual text completion.\n *\n * ## Features\n * - **AI-Powered Suggestions**: Context-aware autocomplete using configured AI models\n * - **Debounced API Calls**: Efficient suggestion fetching with 200ms debounce\n * - **Visual Suggestions**: Inline preview of suggested completions\n * - **Keyboard Navigation**: Tab key to accept suggestions\n * - **Context Analysis**: Uses surrounding text for better suggestions\n * - **Auto-Sizing**: Inherits all AutoSizedTextArea capabilities\n * - **Performance Optimized**: Smart caching and minimal re-renders\n *\n * ## Technical Implementation\n * - **Debounce Strategy**: 200ms delay before fetching suggestions\n * - **Context Window**: 5 lines before/after cursor for context\n * - **Minimum Trigger**: Requires 3+ characters before suggesting\n * - **Position Tracking**: Ghost layer for accurate suggestion positioning\n * - **Cursor Management**: Tracks cursor position during suggestion fetch\n *\n * ## AI Integration\n * - Uses configured AI model (OpenAI, Anthropic, etc.)\n * - Sends context-aware prompts for relevant suggestions\n * - Respects temperature and model settings from configuration\n * - Handles API errors gracefully without interrupting user flow\n *\n * ## Use Cases\n * - **Content Creation**: Blog posts, articles, documentation\n * - **Code Comments**: Intelligent code documentation assistance\n * - **Email Composition**: Professional email writing assistance\n * - **Creative Writing**: Story and narrative completion\n * - **Technical Documentation**: API docs, README files\n * - **Social Media**: Post creation with engagement optimization\n *\n * @example\n * ```tsx\n * // Blog writing assistant\n * const [blogPost, setBlogPost] = useState('');\n * const [isAiEnabled, setIsAiEnabled] = useState(true);\n *\n * <div className=\"space-y-4\">\n * <div className=\"flex items-center gap-2\">\n * <Switch\n * checked={isAiEnabled}\n * onChange={setIsAiEnabled}\n * />\n * <label>AI Writing Assistant</label>\n * </div>\n *\n * <AutoCompleteTextarea\n * value={blogPost}\n * onChange={(e) => setBlogPost(e.target.value)}\n * placeholder=\"Start writing your blog post...\"\n * isActive={isAiEnabled}\n * autoSize={true}\n * maxRows={15}\n * className=\"min-h-[200px] font-serif text-lg leading-relaxed\"\n * />\n * </div>\n *\n * // Code documentation assistant\n * <AutoCompleteTextarea\n * value={docComment}\n * onChange={handleDocChange}\n * placeholder=\"/** Describe this function... *\\/\"\n * isActive={true}\n * autoSize={true}\n * maxRows={8}\n * className=\"font-mono text-sm\"\n * />\n *\n * // Email composition with templates\n * <AutoCompleteTextarea\n * defaultValue=\"Dear \"\n * placeholder=\"AI will help complete your email...\"\n * isActive={true}\n * autoSize={true}\n * maxRows={12}\n * variant={InputVariant.DEFAULT}\n * />\n * ```\n *\n * ## Accessibility\n * - Ghost layer is properly hidden from screen readers\n * - Maintains focus management during suggestion acceptance\n * - Preserves keyboard navigation patterns\n * - Respects reduced motion preferences\n */\nexport const AutoCompleteTextarea: FC<AutocompleteTextAreaProps> = ({\n isActive = true,\n suggestion: suggestionProp,\n ...props\n}) => {\n const defaultValue = String(props.value ?? props.defaultValue ?? '');\n const { mutate: autocomplete } = useAutocomplete();\n const configuration = useConfiguration();\n const [isTyped, setIsTyped] = useState(false);\n const [text, setText] = useState(defaultValue);\n const [suggestion, setSuggestion] = useState('');\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const placeholderRef = useRef<HTMLSpanElement>(null);\n const ghostLayerRef = useRef<HTMLDivElement>(null);\n const [suggestionPosition, setSuggestionPosition] = useState<{\n left: number;\n top: number;\n } | null>(null);\n const [cursorAtFetch, setCursorAtFetch] = useState(-1);\n\n // Only update this “debouncedText” after the user stops typing for 200ms\n const debouncedText = useDebounce(text, 200);\n\n useEffect(() => {\n if (typeof props.value === 'undefined') return;\n setText(defaultValue);\n }, [props.value, props.defaultValue]);\n\n useEffect(() => {\n if (!isActive) return;\n if (!isTyped) return;\n\n const fetchSuggestion = async () => {\n try {\n const cursor =\n textareaRef.current?.selectionStart ?? debouncedText.length;\n const before = debouncedText.slice(0, cursor);\n const after = debouncedText.slice(cursor);\n const numLines = 5;\n const beforeLines = before.split('\\n');\n const contextBeforeLines = beforeLines.slice(\n Math.max(0, beforeLines.length - numLines - 1),\n -1\n );\n const contextBefore = contextBeforeLines.join('\\n');\n const currentLine = beforeLines[beforeLines.length - 1] ?? '';\n const afterLines = after.split('\\n');\n const contextAfter = afterLines.slice(1, numLines + 1).join('\\n');\n\n autocomplete(\n {\n text: before,\n contextBefore,\n currentLine,\n contextAfter,\n aiOptions: {\n apiKey: configuration.ai?.apiKey,\n model: configuration.ai?.model,\n temperature: configuration.ai?.temperature,\n },\n },\n {\n onSuccess: (data: AutocompleteResponse) => {\n setSuggestion(data.data?.autocompletion ?? '');\n setCursorAtFetch(cursor);\n },\n }\n );\n } catch (err) {\n console.error('Autocomplete error:', err);\n }\n };\n\n if (debouncedText.length > 3) {\n // Only fetch if user typed more than 3 chars and has paused\n setSuggestion('');\n // TODO: Uncomment this when the autocomplete works well enough\n // fetchSuggestion();\n } else {\n // If typed less than threshold, clear the suggestion\n setSuggestion('');\n }\n }, [debouncedText, isActive, autocomplete, configuration]);\n\n useEffect(() => {\n if (\n !suggestion ||\n cursorAtFetch === -1 ||\n !placeholderRef.current ||\n !ghostLayerRef.current\n ) {\n setSuggestionPosition(null);\n return;\n }\n\n const rect = placeholderRef.current.getBoundingClientRect();\n const parentRect = ghostLayerRef.current.getBoundingClientRect();\n setSuggestionPosition({\n left: rect.left - parentRect.left,\n top: rect.top - parentRect.top,\n });\n }, [suggestion, cursorAtFetch, text]);\n\n const acceptSuggestion = () => {\n const currentCursor = textareaRef.current?.selectionStart ?? cursorAtFetch;\n if (currentCursor !== cursorAtFetch) return;\n const newText =\n text.slice(0, currentCursor) + suggestion + text.slice(currentCursor);\n setText(newText);\n setSuggestion('');\n setCursorAtFetch(-1);\n setTimeout(() => {\n textareaRef.current?.focus();\n const newCursorPos = currentCursor + suggestion.length;\n textareaRef.current?.setSelectionRange(newCursorPos, newCursorPos);\n }, 0);\n };\n\n return (\n <div className=\"relative w-full\">\n <div\n ref={ghostLayerRef}\n className=\"pointer-events-none absolute inset-0 whitespace-pre-wrap break-words px-1 py-3 text-base leading-[1.45rem] md:py-1 md:text-sm md:leading-[1.23rem]\"\n aria-hidden=\"true\"\n >\n {suggestion && cursorAtFetch !== -1 ? (\n <>\n <span className=\"align-text-top text-transparent\">\n {text.slice(0, cursorAtFetch)}\n </span>\n <span\n ref={placeholderRef}\n style={{ visibility: 'hidden' }}\n aria-hidden=\"true\"\n >\n {suggestion}\n </span>\n <span className=\"align-text-top text-transparent\">\n {text.slice(cursorAtFetch)}\n </span>\n </>\n ) : (\n <span className=\"align-text-top text-transparent\">{text}</span>\n )}\n {suggestionProp && (\n <span className=\"align-text-top text-neutral\">{suggestionProp}</span>\n )}\n </div>\n {suggestion && suggestionPosition && (\n <div\n className=\"pointer-events-none whitespace-pre-wrap break-words text-base text-neutral leading-[1.45rem] md:text-sm md:leading-[1.23rem]\"\n style={{\n position: 'absolute',\n left: suggestionPosition.left,\n top: suggestionPosition.top,\n }}\n >\n {suggestion}\n </div>\n )}\n <AutoSizedTextArea\n {...props}\n ref={textareaRef}\n value={text}\n onChange={(e) => {\n setIsTyped(true);\n setText(e.target.value);\n setSuggestion('');\n props.onChange?.(e);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Tab' && suggestion) {\n e.preventDefault();\n acceptSuggestion();\n }\n props.onKeyDown?.(e);\n }}\n onSelect={(e) => {\n if (\n suggestion &&\n (e.target as HTMLTextAreaElement).selectionStart !== cursorAtFetch\n ) {\n setSuggestion('');\n setCursorAtFetch(-1);\n }\n props.onSelect?.(e);\n }}\n />\n </div>\n );\n};\n"],"mappings":"2TAiCA,MAAa,GAAmB,EAAU,IAAqB,CAC7D,GAAM,CAAC,EAAgB,GAAqB,EAAY,EAAM,CAW9D,OATA,MAAgB,CACd,IAAM,EAAQ,eAAiB,CAC7B,EAAkB,EAAM,EACvB,EAAM,CAGT,UAAa,aAAa,EAAM,EAC/B,CAAC,EAAO,EAAM,CAAC,CAEX,GAmII,GAAuD,CAClE,WAAW,GACX,WAAY,EACZ,GAAG,KACC,CACJ,IAAM,EAAe,OAAO,EAAM,OAAS,EAAM,cAAgB,GAAG,CAC9D,CAAE,OAAQ,GAAiB,GAAiB,CAC5C,EAAgB,GAAkB,CAClC,CAAC,EAAS,GAAc,EAAS,GAAM,CACvC,CAAC,EAAM,GAAW,EAAS,EAAa,CACxC,CAAC,EAAY,GAAiB,EAAS,GAAG,CAC1C,EAAc,EAA4B,KAAK,CAC/C,EAAiB,EAAwB,KAAK,CAC9C,EAAgB,EAAuB,KAAK,CAC5C,CAAC,EAAoB,GAAyB,EAG1C,KAAK,CACT,CAAC,EAAe,GAAoB,EAAS,GAAG,CAGhD,EAAgB,EAAY,EAAM,IAAI,CAE5C,MAAgB,CACH,EAAM,QAAU,QAC3B,EAAQ,EAAa,EACpB,CAAC,EAAM,MAAO,EAAM,aAAa,CAAC,CAErC,MAAgB,CACT,GACA,IA2CD,EAAc,OAEhB,EAAc,GAAG,GAOlB,CAAC,EAAe,EAAU,EAAc,EAAc,CAAC,CAE1D,MAAgB,CACd,GACE,CAAC,GACD,IAAkB,IAClB,CAAC,EAAe,SAChB,CAAC,EAAc,QACf,CACA,EAAsB,KAAK,CAC3B,OAGF,IAAM,EAAO,EAAe,QAAQ,uBAAuB,CACrD,EAAa,EAAc,QAAQ,uBAAuB,CAChE,EAAsB,CACpB,KAAM,EAAK,KAAO,EAAW,KAC7B,IAAK,EAAK,IAAM,EAAW,IAC5B,CAAC,EACD,CAAC,EAAY,EAAe,EAAK,CAAC,CAErC,IAAM,MAAyB,CAC7B,IAAM,EAAgB,EAAY,SAAS,gBAAkB,EACzD,IAAkB,IAGtB,EADE,EAAK,MAAM,EAAG,EAAc,CAAG,EAAa,EAAK,MAAM,EAAc,CACvD,CAChB,EAAc,GAAG,CACjB,EAAiB,GAAG,CACpB,eAAiB,CACf,EAAY,SAAS,OAAO,CAC5B,IAAM,EAAe,EAAgB,EAAW,OAChD,EAAY,SAAS,kBAAkB,EAAc,EAAa,EACjE,EAAE,GAGP,OACE,EAAC,MAAA,CAAI,UAAU,4BACb,EAAC,MAAA,CACC,IAAK,EACL,UAAU,qJACV,cAAY,iBAEX,GAAc,IAAkB,GAC/B,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,OAAA,CAAK,UAAU,2CACb,EAAK,MAAM,EAAG,EAAc,EACxB,CACP,EAAC,OAAA,CACC,IAAK,EACL,MAAO,CAAE,WAAY,SAAU,CAC/B,cAAY,gBAEX,GACI,CACP,EAAC,OAAA,CAAK,UAAU,2CACb,EAAK,MAAM,EAAc,EACrB,GACN,CAEH,EAAC,OAAA,CAAK,UAAU,2CAAmC,GAAY,CAEhE,GACC,EAAC,OAAA,CAAK,UAAU,uCAA+B,GAAsB,CAAA,EAEnE,CACL,GAAc,GACb,EAAC,MAAA,CACC,UAAU,+HACV,MAAO,CACL,SAAU,WACV,KAAM,EAAmB,KACzB,IAAK,EAAmB,IACzB,UAEA,GACG,CAER,EAAC,EAAA,CACC,GAAI,EACJ,IAAK,EACL,MAAO,EACP,SAAW,GAAM,CACf,EAAW,GAAK,CAChB,EAAQ,EAAE,OAAO,MAAM,CACvB,EAAc,GAAG,CACjB,EAAM,WAAW,EAAE,EAErB,UAAY,GAAM,CACZ,EAAE,MAAQ,OAAS,IACrB,EAAE,gBAAgB,CAClB,GAAkB,EAEpB,EAAM,YAAY,EAAE,EAEtB,SAAW,GAAM,CAEb,GACC,EAAE,OAA+B,iBAAmB,IAErD,EAAc,GAAG,CACjB,EAAiB,GAAG,EAEtB,EAAM,WAAW,EAAE,GAErB,GACE"}
@@ -1,59 +1,2 @@
1
- import { cn } from "../../utils/cn.mjs";
2
- import { inputVariants } from "../Input/Input.mjs";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/components/TextArea/TextArea.tsx
6
- /**
7
- * TextArea Component
8
- *
9
- * A flexible textarea component that extends the standard HTML textarea with
10
- * design system styling variants, validation states, and consistent visual appearance.
11
- *
12
- * ## Features
13
- * - **Variant Support**: Multiple visual states (default, error, success, warning)
14
- * - **Validation Styling**: Optional validation feedback styling
15
- * - **Resize Control**: Disabled by default for consistent layout
16
- * - **Design System Integration**: Uses shared input variants for consistency
17
- * - **Accessibility**: Maintains all standard textarea accessibility features
18
- *
19
- * ## Use Cases
20
- * - Multi-line text input forms
21
- * - Comment and message composition
22
- * - Description and content fields
23
- * - Feedback and review forms
24
- * - Code snippet input (when combined with monospace styling)
25
- *
26
- * @example
27
- * ```tsx
28
- * // Basic textarea
29
- * <TextArea
30
- * placeholder="Enter your thoughts..."
31
- * rows={4}
32
- * />
33
- *
34
- * // Controlled with validation
35
- * const [content, setContent] = useState('');
36
- * const hasError = content.length < 10;
37
- *
38
- * <TextArea
39
- * value={content}
40
- * onChange={(e) => setContent(e.target.value)}
41
- * variant={hasError ? InputVariant.ERROR : InputVariant.SUCCESS}
42
- * validationStyleEnabled={true}
43
- * placeholder="Minimum 10 characters required"
44
- * className="min-h-[100px]"
45
- * />
46
- * ```
47
- */
48
- const TextArea = ({ className, variant, validationStyleEnabled = false, ...props }) => /* @__PURE__ */ jsx("textarea", {
49
- className: cn("resize-none", inputVariants({
50
- variant,
51
- validationStyleEnabled: validationStyleEnabled ? "enabled" : "disabled",
52
- className
53
- })),
54
- ...props
55
- });
56
-
57
- //#endregion
58
- export { TextArea };
1
+ import{cn as e}from"../../utils/cn.mjs";import{inputVariants as t}from"../Input/Input.mjs";import{jsx as n}from"react/jsx-runtime";const r=({className:r,variant:i,validationStyleEnabled:a=!1,...o})=>n(`textarea`,{className:e(`resize-none`,t({variant:i,validationStyleEnabled:a?`enabled`:`disabled`,className:r})),...o});export{r as TextArea};
59
2
  //# sourceMappingURL=TextArea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { DetailedHTMLProps, FC, TextareaHTMLAttributes } from 'react';\nimport { type InputVariant, inputVariants } from '../Input';\n\n/**\n * Props for the TextArea component.\n *\n * Extends standard HTML textarea attributes with additional design system variants\n * and validation styling options.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextArea placeholder=\"Enter your message...\" />\n *\n * // With error validation styling\n * <TextArea\n * value={message}\n * onChange={handleChange}\n * variant={InputVariant.ERROR}\n * validationStyleEnabled={true}\n * placeholder=\"Message is required\"\n * />\n *\n * // Large multiline input\n * <TextArea\n * rows={6}\n * cols={50}\n * variant={InputVariant.DEFAULT}\n * className=\"min-h-[120px]\"\n * placeholder=\"Write a detailed description...\"\n * />\n * ```\n */\nexport type TextAreaProps = DetailedHTMLProps<\n DetailedHTMLProps<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n >,\n HTMLTextAreaElement\n> & {\n /** Enable validation styling based on the variant prop */\n validationStyleEnabled?: boolean;\n} & Omit<\n VariantProps<typeof inputVariants>,\n 'validationStyleEnabled' | 'variant'\n > & {\n /** Visual variant of the textarea (default, success, error, warning, etc.) */\n variant?: InputVariant | `${InputVariant}`;\n };\n\n/**\n * TextArea Component\n *\n * A flexible textarea component that extends the standard HTML textarea with\n * design system styling variants, validation states, and consistent visual appearance.\n *\n * ## Features\n * - **Variant Support**: Multiple visual states (default, error, success, warning)\n * - **Validation Styling**: Optional validation feedback styling\n * - **Resize Control**: Disabled by default for consistent layout\n * - **Design System Integration**: Uses shared input variants for consistency\n * - **Accessibility**: Maintains all standard textarea accessibility features\n *\n * ## Use Cases\n * - Multi-line text input forms\n * - Comment and message composition\n * - Description and content fields\n * - Feedback and review forms\n * - Code snippet input (when combined with monospace styling)\n *\n * @example\n * ```tsx\n * // Basic textarea\n * <TextArea\n * placeholder=\"Enter your thoughts...\"\n * rows={4}\n * />\n *\n * // Controlled with validation\n * const [content, setContent] = useState('');\n * const hasError = content.length < 10;\n *\n * <TextArea\n * value={content}\n * onChange={(e) => setContent(e.target.value)}\n * variant={hasError ? InputVariant.ERROR : InputVariant.SUCCESS}\n * validationStyleEnabled={true}\n * placeholder=\"Minimum 10 characters required\"\n * className=\"min-h-[100px]\"\n * />\n * ```\n */\nexport const TextArea: FC<TextAreaProps> = ({\n className,\n variant,\n validationStyleEnabled = false,\n ...props\n}) => (\n <textarea\n className={cn(\n 'resize-none',\n inputVariants({\n variant,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })\n )}\n {...props}\n />\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8FA,MAAa,YAA+B,EAC1C,WACA,SACA,yBAAyB,OACzB,GAAG,YAEH,oBAAC;CACC,WAAW,GACT,eACA,cAAc;EACZ;EACA,wBAAwB,yBAAyB,YAAY;EAC7D;EACD,CAAC,CACH;CACD,GAAI;EACJ"}
1
+ {"version":3,"file":"TextArea.mjs","names":[],"sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { DetailedHTMLProps, FC, TextareaHTMLAttributes } from 'react';\nimport { type InputVariant, inputVariants } from '../Input';\n\n/**\n * Props for the TextArea component.\n *\n * Extends standard HTML textarea attributes with additional design system variants\n * and validation styling options.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextArea placeholder=\"Enter your message...\" />\n *\n * // With error validation styling\n * <TextArea\n * value={message}\n * onChange={handleChange}\n * variant={InputVariant.ERROR}\n * validationStyleEnabled={true}\n * placeholder=\"Message is required\"\n * />\n *\n * // Large multiline input\n * <TextArea\n * rows={6}\n * cols={50}\n * variant={InputVariant.DEFAULT}\n * className=\"min-h-[120px]\"\n * placeholder=\"Write a detailed description...\"\n * />\n * ```\n */\nexport type TextAreaProps = DetailedHTMLProps<\n DetailedHTMLProps<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n >,\n HTMLTextAreaElement\n> & {\n /** Enable validation styling based on the variant prop */\n validationStyleEnabled?: boolean;\n} & Omit<\n VariantProps<typeof inputVariants>,\n 'validationStyleEnabled' | 'variant'\n > & {\n /** Visual variant of the textarea (default, success, error, warning, etc.) */\n variant?: InputVariant | `${InputVariant}`;\n };\n\n/**\n * TextArea Component\n *\n * A flexible textarea component that extends the standard HTML textarea with\n * design system styling variants, validation states, and consistent visual appearance.\n *\n * ## Features\n * - **Variant Support**: Multiple visual states (default, error, success, warning)\n * - **Validation Styling**: Optional validation feedback styling\n * - **Resize Control**: Disabled by default for consistent layout\n * - **Design System Integration**: Uses shared input variants for consistency\n * - **Accessibility**: Maintains all standard textarea accessibility features\n *\n * ## Use Cases\n * - Multi-line text input forms\n * - Comment and message composition\n * - Description and content fields\n * - Feedback and review forms\n * - Code snippet input (when combined with monospace styling)\n *\n * @example\n * ```tsx\n * // Basic textarea\n * <TextArea\n * placeholder=\"Enter your thoughts...\"\n * rows={4}\n * />\n *\n * // Controlled with validation\n * const [content, setContent] = useState('');\n * const hasError = content.length < 10;\n *\n * <TextArea\n * value={content}\n * onChange={(e) => setContent(e.target.value)}\n * variant={hasError ? InputVariant.ERROR : InputVariant.SUCCESS}\n * validationStyleEnabled={true}\n * placeholder=\"Minimum 10 characters required\"\n * className=\"min-h-[100px]\"\n * />\n * ```\n */\nexport const TextArea: FC<TextAreaProps> = ({\n className,\n variant,\n validationStyleEnabled = false,\n ...props\n}) => (\n <textarea\n className={cn(\n 'resize-none',\n inputVariants({\n variant,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })\n )}\n {...props}\n />\n);\n"],"mappings":"mIA8FA,MAAa,GAA+B,CAC1C,YACA,UACA,yBAAyB,GACzB,GAAG,KAEH,EAAC,WAAA,CACC,UAAW,EACT,cACA,EAAc,CACZ,UACA,uBAAwB,EAAyB,UAAY,WAC7D,YACD,CAAC,CACH,CACD,GAAI,GACJ"}
@@ -1,5 +1 @@
1
- import { TextArea } from "./TextArea.mjs";
2
- import { AutoSizedTextArea } from "./AutoSizeTextArea.mjs";
3
- import { AutoCompleteTextarea, useDebounce } from "./AutocompleteTextArea.mjs";
4
-
5
- export { AutoCompleteTextarea, AutoSizedTextArea, TextArea, useDebounce };
1
+ import{TextArea as e}from"./TextArea.mjs";import{AutoSizedTextArea as t}from"./AutoSizeTextArea.mjs";import{AutoCompleteTextarea as n,useDebounce as r}from"./AutocompleteTextArea.mjs";export{n as AutoCompleteTextarea,t as AutoSizedTextArea,e as TextArea,r as useDebounce};