@intlayer/design-system 5.1.5 → 5.1.7

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 (493) hide show
  1. package/dist/.vite/manifest.json +181 -66
  2. package/dist/{Form-yi0CMK-a.cjs → Form-BpxW17v4.cjs} +3 -3
  3. package/dist/Form-BpxW17v4.cjs.map +1 -0
  4. package/dist/{Form-BZUDRfoN.js → Form-MjLzPGze.js} +3 -3
  5. package/dist/Form-MjLzPGze.js.map +1 -0
  6. package/dist/components/Accordion/Accordion.cjs +1 -1
  7. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  8. package/dist/components/Accordion/Accordion.mjs +1 -1
  9. package/dist/components/Accordion/Accordion.mjs.map +1 -1
  10. package/dist/components/Auth/AuthModal/index.cjs +1 -10
  11. package/dist/components/Auth/AuthModal/index.cjs.map +1 -1
  12. package/dist/components/Auth/AuthModal/index.d.ts.map +1 -1
  13. package/dist/components/Auth/AuthModal/index.mjs +1 -10
  14. package/dist/components/Auth/AuthModal/index.mjs.map +1 -1
  15. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +4 -16
  16. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +1 -1
  17. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts +0 -1
  18. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts.map +1 -1
  19. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +4 -16
  20. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +1 -1
  21. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.cjs +0 -32
  22. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.cjs.map +1 -1
  23. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts +0 -32
  24. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.d.ts.map +1 -1
  25. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.mjs +0 -32
  26. package/dist/components/Auth/ChangePasswordForm/changePasswordForm.content.mjs.map +1 -1
  27. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.cjs +81 -0
  28. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.cjs.map +1 -0
  29. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.d.ts +9 -0
  30. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.d.ts.map +1 -0
  31. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.mjs +81 -0
  32. package/dist/components/Auth/DefineNewPasswordForm/DefineNewPasswordForm.mjs.map +1 -0
  33. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs +106 -0
  34. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.cjs.map +1 -0
  35. package/dist/components/{DictionaryEditor/validDictionaryChangeButtons.content.d.ts → Auth/DefineNewPasswordForm/defineNewPasswordForm.content.d.ts} +15 -41
  36. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.d.ts.map +1 -0
  37. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.mjs +106 -0
  38. package/dist/components/Auth/DefineNewPasswordForm/defineNewPasswordForm.content.mjs.map +1 -0
  39. package/dist/components/Auth/DefineNewPasswordForm/index.cjs +7 -0
  40. package/dist/components/Auth/DefineNewPasswordForm/index.cjs.map +1 -0
  41. package/dist/components/Auth/DefineNewPasswordForm/index.d.ts +3 -0
  42. package/dist/components/Auth/DefineNewPasswordForm/index.d.ts.map +1 -0
  43. package/dist/components/Auth/DefineNewPasswordForm/index.mjs +7 -0
  44. package/dist/components/Auth/DefineNewPasswordForm/index.mjs.map +1 -0
  45. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.cjs +31 -0
  46. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.cjs.map +1 -0
  47. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs +101 -0
  48. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.cjs.map +1 -0
  49. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.d.ts +97 -0
  50. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.d.ts.map +1 -0
  51. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.mjs +101 -0
  52. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.content.mjs.map +1 -0
  53. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.d.ts +19 -0
  54. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.d.ts.map +1 -0
  55. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.mjs +31 -0
  56. package/dist/components/Auth/DefineNewPasswordForm/useDefineNewPasswordSchema.mjs.map +1 -0
  57. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +27 -9
  58. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
  59. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts +7 -3
  60. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts.map +1 -1
  61. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +27 -9
  62. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
  63. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +2 -1
  64. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +1 -1
  65. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts.map +1 -1
  66. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +2 -1
  67. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +1 -1
  68. package/dist/components/Auth/SignInForm/SignInForm.cjs +2 -2
  69. package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
  70. package/dist/components/Auth/SignInForm/SignInForm.mjs +2 -2
  71. package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
  72. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +2 -2
  73. package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +1 -1
  74. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +2 -2
  75. package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +1 -1
  76. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs +3 -3
  77. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.cjs.map +1 -1
  78. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.d.ts.map +1 -1
  79. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs +3 -3
  80. package/dist/components/Auth/VerifyEmailForm/VerifyEmailForm.mjs.map +1 -1
  81. package/dist/components/Auth/index.cjs +4 -0
  82. package/dist/components/Auth/index.cjs.map +1 -1
  83. package/dist/components/Auth/index.d.ts +1 -0
  84. package/dist/components/Auth/index.d.ts.map +1 -1
  85. package/dist/components/Auth/index.mjs +4 -0
  86. package/dist/components/Auth/index.mjs.map +1 -1
  87. package/dist/components/Auth/useAuth/index.cjs +1 -0
  88. package/dist/components/Auth/useAuth/index.cjs.map +1 -1
  89. package/dist/components/Auth/useAuth/index.d.ts +1 -0
  90. package/dist/components/Auth/useAuth/index.d.ts.map +1 -1
  91. package/dist/components/Auth/useAuth/index.mjs +1 -0
  92. package/dist/components/Auth/useAuth/index.mjs.map +1 -1
  93. package/dist/components/Avatar/index.cjs +2 -2
  94. package/dist/components/Avatar/index.cjs.map +1 -1
  95. package/dist/components/Avatar/index.mjs +2 -2
  96. package/dist/components/Avatar/index.mjs.map +1 -1
  97. package/dist/components/Badge/index.cjs +11 -11
  98. package/dist/components/Badge/index.cjs.map +1 -1
  99. package/dist/components/Badge/index.d.ts +2 -2
  100. package/dist/components/Badge/index.d.ts.map +1 -1
  101. package/dist/components/Badge/index.mjs +11 -11
  102. package/dist/components/Badge/index.mjs.map +1 -1
  103. package/dist/components/Button/Button.cjs +25 -25
  104. package/dist/components/Button/Button.cjs.map +1 -1
  105. package/dist/components/Button/Button.d.ts +3 -3
  106. package/dist/components/Button/Button.d.ts.map +1 -1
  107. package/dist/components/Button/Button.mjs +25 -25
  108. package/dist/components/Button/Button.mjs.map +1 -1
  109. package/dist/components/Command/index.cjs +2 -2
  110. package/dist/components/Command/index.cjs.map +1 -1
  111. package/dist/components/Command/index.d.ts.map +1 -1
  112. package/dist/components/Command/index.mjs +2 -2
  113. package/dist/components/Command/index.mjs.map +1 -1
  114. package/dist/components/Container/index.cjs +67 -82
  115. package/dist/components/Container/index.cjs.map +1 -1
  116. package/dist/components/Container/index.d.ts +5 -6
  117. package/dist/components/Container/index.d.ts.map +1 -1
  118. package/dist/components/Container/index.mjs +67 -82
  119. package/dist/components/Container/index.mjs.map +1 -1
  120. package/dist/components/ContentEditor/ContentEditor.cjs +1 -1
  121. package/dist/components/ContentEditor/ContentEditor.cjs.map +1 -1
  122. package/dist/components/ContentEditor/ContentEditor.mjs +1 -1
  123. package/dist/components/ContentEditor/ContentEditor.mjs.map +1 -1
  124. package/dist/components/ContentEditor/ContentEditorTextArea.cjs +32 -2
  125. package/dist/components/ContentEditor/ContentEditorTextArea.cjs.map +1 -1
  126. package/dist/components/ContentEditor/ContentEditorTextArea.d.ts.map +1 -1
  127. package/dist/components/ContentEditor/ContentEditorTextArea.mjs +32 -2
  128. package/dist/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  129. package/dist/components/DictionaryEditor/DictionaryEditor.cjs +1 -1
  130. package/dist/components/DictionaryEditor/DictionaryEditor.mjs +1 -1
  131. package/dist/components/DictionaryEditor/ItemLayout.cjs +3 -3
  132. package/dist/components/DictionaryEditor/ItemLayout.cjs.map +1 -1
  133. package/dist/components/DictionaryEditor/ItemLayout.mjs +3 -3
  134. package/dist/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  135. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs +1 -1
  136. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
  137. package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.cjs +1 -1
  138. package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
  139. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.cjs +1 -1
  140. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
  141. package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.cjs +1 -1
  142. package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
  143. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs +1 -1
  144. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
  145. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs +2 -2
  146. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.map +1 -1
  147. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts.map +1 -1
  148. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +2 -2
  149. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  150. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.cjs +1 -1
  151. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
  152. package/dist/components/DictionaryEditor/NodeWrapper/index.cjs +1 -1
  153. package/dist/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  154. package/dist/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  155. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs +2 -1
  156. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs.map +1 -1
  157. package/dist/components/DictionaryFieldEditor/ContentEditor.d.ts.map +1 -1
  158. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs +2 -1
  159. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  160. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +5 -2
  161. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs.map +1 -1
  162. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  163. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +5 -2
  164. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  165. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +13 -9
  166. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  167. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  168. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +13 -9
  169. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  170. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +6 -18
  171. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  172. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +0 -1
  173. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  174. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +8 -20
  175. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  176. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +2 -2
  177. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  178. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -2
  179. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  180. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +37 -18
  181. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  182. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  183. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +39 -20
  184. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  185. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +8 -2
  186. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs.map +1 -1
  187. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +8 -2
  188. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  189. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs +3 -3
  190. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs.map +1 -1
  191. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +3 -3
  192. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  193. package/dist/components/EditableField/EditableFieldTextArea.cjs +7 -0
  194. package/dist/components/EditableField/EditableFieldTextArea.cjs.map +1 -1
  195. package/dist/components/EditableField/EditableFieldTextArea.mjs +7 -0
  196. package/dist/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  197. package/dist/components/Footer/index.cjs +1 -1
  198. package/dist/components/Footer/index.cjs.map +1 -1
  199. package/dist/components/Footer/index.mjs +1 -1
  200. package/dist/components/Footer/index.mjs.map +1 -1
  201. package/dist/components/Form/Form.cjs +1 -1
  202. package/dist/components/Form/Form.mjs +1 -1
  203. package/dist/components/Form/FormDescription.cjs +1 -8
  204. package/dist/components/Form/FormDescription.cjs.map +1 -1
  205. package/dist/components/Form/FormDescription.d.ts.map +1 -1
  206. package/dist/components/Form/FormDescription.mjs +1 -8
  207. package/dist/components/Form/FormDescription.mjs.map +1 -1
  208. package/dist/components/Form/FormItem.cjs +1 -1
  209. package/dist/components/Form/FormItem.cjs.map +1 -1
  210. package/dist/components/Form/FormItem.mjs +1 -1
  211. package/dist/components/Form/FormItem.mjs.map +1 -1
  212. package/dist/components/Form/FormLabel.cjs +1 -5
  213. package/dist/components/Form/FormLabel.cjs.map +1 -1
  214. package/dist/components/Form/FormLabel.d.ts.map +1 -1
  215. package/dist/components/Form/FormLabel.mjs +1 -5
  216. package/dist/components/Form/FormLabel.mjs.map +1 -1
  217. package/dist/components/Form/FormMessage.cjs +1 -1
  218. package/dist/components/Form/FormMessage.cjs.map +1 -1
  219. package/dist/components/Form/FormMessage.mjs +1 -1
  220. package/dist/components/Form/FormMessage.mjs.map +1 -1
  221. package/dist/components/Form/elements/AutoSizeTextAreaElement.cjs +1 -1
  222. package/dist/components/Form/elements/AutoSizeTextAreaElement.mjs +1 -1
  223. package/dist/components/Form/elements/CheckboxElement.cjs +1 -1
  224. package/dist/components/Form/elements/CheckboxElement.mjs +1 -1
  225. package/dist/components/Form/elements/EditableFieldInputElement.cjs +1 -1
  226. package/dist/components/Form/elements/EditableFieldInputElement.mjs +1 -1
  227. package/dist/components/Form/elements/EditableFieldTextAreaElement.cjs +1 -1
  228. package/dist/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -1
  229. package/dist/components/Form/elements/FormElement.cjs +1 -1
  230. package/dist/components/Form/elements/FormElement.mjs +1 -1
  231. package/dist/components/Form/elements/InputElement.cjs +1 -1
  232. package/dist/components/Form/elements/InputElement.mjs +1 -1
  233. package/dist/components/Form/elements/InputPasswordElement.cjs +1 -1
  234. package/dist/components/Form/elements/InputPasswordElement.mjs +1 -1
  235. package/dist/components/Form/elements/MultiselectElement.cjs +1 -1
  236. package/dist/components/Form/elements/MultiselectElement.mjs +1 -1
  237. package/dist/components/Form/elements/SelectElement.cjs +1 -1
  238. package/dist/components/Form/elements/SelectElement.mjs +1 -1
  239. package/dist/components/Form/elements/SwitchSelectorElement.cjs +1 -1
  240. package/dist/components/Form/elements/SwitchSelectorElement.mjs +1 -1
  241. package/dist/components/Form/elements/TextAreaElement.cjs +1 -1
  242. package/dist/components/Form/elements/TextAreaElement.mjs +1 -1
  243. package/dist/components/Form/elements/index.cjs +1 -1
  244. package/dist/components/Form/elements/index.mjs +1 -1
  245. package/dist/components/Form/index.cjs +1 -1
  246. package/dist/components/Form/index.mjs +1 -1
  247. package/dist/components/Form/layout/FormItemLayout.cjs +1 -1
  248. package/dist/components/Form/layout/FormItemLayout.mjs +1 -1
  249. package/dist/components/Form/layout/index.cjs +1 -1
  250. package/dist/components/Form/layout/index.mjs +1 -1
  251. package/dist/components/Headers/index.cjs +1 -1
  252. package/dist/components/Headers/index.cjs.map +1 -1
  253. package/dist/components/Headers/index.mjs +1 -1
  254. package/dist/components/Headers/index.mjs.map +1 -1
  255. package/dist/components/IDE/Code.cjs +1 -1
  256. package/dist/components/IDE/Code.cjs.map +1 -1
  257. package/dist/components/IDE/Code.mjs +1 -1
  258. package/dist/components/IDE/Code.mjs.map +1 -1
  259. package/dist/components/IDE/CodeBlockClient.cjs +8 -1
  260. package/dist/components/IDE/CodeBlockClient.cjs.map +1 -1
  261. package/dist/components/IDE/CodeBlockClient.d.ts.map +1 -1
  262. package/dist/components/IDE/CodeBlockClient.mjs +8 -1
  263. package/dist/components/IDE/CodeBlockClient.mjs.map +1 -1
  264. package/dist/components/IDE/CodeBlockServer.cjs +8 -1
  265. package/dist/components/IDE/CodeBlockServer.cjs.map +1 -1
  266. package/dist/components/IDE/CodeBlockServer.d.ts.map +1 -1
  267. package/dist/components/IDE/CodeBlockServer.mjs +8 -1
  268. package/dist/components/IDE/CodeBlockServer.mjs.map +1 -1
  269. package/dist/components/IDE/FileList.cjs +1 -1
  270. package/dist/components/IDE/FileList.cjs.map +1 -1
  271. package/dist/components/IDE/FileList.mjs +1 -1
  272. package/dist/components/IDE/FileList.mjs.map +1 -1
  273. package/dist/components/IDE/FileTree.cjs +1 -1
  274. package/dist/components/IDE/FileTree.cjs.map +1 -1
  275. package/dist/components/IDE/FileTree.mjs +1 -1
  276. package/dist/components/IDE/FileTree.mjs.map +1 -1
  277. package/dist/components/IDE/IDE.cjs +7 -3
  278. package/dist/components/IDE/IDE.cjs.map +1 -1
  279. package/dist/components/IDE/IDE.d.ts +1 -0
  280. package/dist/components/IDE/IDE.d.ts.map +1 -1
  281. package/dist/components/IDE/IDE.mjs +8 -4
  282. package/dist/components/IDE/IDE.mjs.map +1 -1
  283. package/dist/components/Input/Checkbox.cjs +10 -10
  284. package/dist/components/Input/Checkbox.cjs.map +1 -1
  285. package/dist/components/Input/Checkbox.d.ts +1 -1
  286. package/dist/components/Input/Checkbox.mjs +10 -10
  287. package/dist/components/Input/Checkbox.mjs.map +1 -1
  288. package/dist/components/Input/Input.cjs +7 -7
  289. package/dist/components/Input/Input.cjs.map +1 -1
  290. package/dist/components/Input/Input.d.ts.map +1 -1
  291. package/dist/components/Input/Input.mjs +7 -7
  292. package/dist/components/Input/Input.mjs.map +1 -1
  293. package/dist/components/Input/InputPassword.cjs +1 -1
  294. package/dist/components/Input/InputPassword.cjs.map +1 -1
  295. package/dist/components/Input/InputPassword.mjs +1 -1
  296. package/dist/components/Input/InputPassword.mjs.map +1 -1
  297. package/dist/components/Link/Link.cjs +26 -20
  298. package/dist/components/Link/Link.cjs.map +1 -1
  299. package/dist/components/Link/Link.d.ts +1 -1
  300. package/dist/components/Link/Link.d.ts.map +1 -1
  301. package/dist/components/Link/Link.mjs +26 -20
  302. package/dist/components/Link/Link.mjs.map +1 -1
  303. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +4 -4
  304. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs.map +1 -1
  305. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +4 -4
  306. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  307. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs +4 -4
  308. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.map +1 -1
  309. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +4 -4
  310. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  311. package/dist/components/MarkDownRender/index.cjs +115 -114
  312. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  313. package/dist/components/MarkDownRender/index.d.ts +1 -1
  314. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  315. package/dist/components/MarkDownRender/index.mjs +115 -114
  316. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  317. package/dist/components/MaxHeightSmoother/index.cjs +1 -1
  318. package/dist/components/MaxHeightSmoother/index.cjs.map +1 -1
  319. package/dist/components/MaxHeightSmoother/index.mjs +1 -1
  320. package/dist/components/MaxHeightSmoother/index.mjs.map +1 -1
  321. package/dist/components/Modal/Modal.cjs +2 -2
  322. package/dist/components/Modal/Modal.cjs.map +1 -1
  323. package/dist/components/Modal/Modal.mjs +2 -2
  324. package/dist/components/Modal/Modal.mjs.map +1 -1
  325. package/dist/components/Navbar/Burger.cjs +1 -1
  326. package/dist/components/Navbar/Burger.cjs.map +1 -1
  327. package/dist/components/Navbar/Burger.mjs +1 -1
  328. package/dist/components/Navbar/Burger.mjs.map +1 -1
  329. package/dist/components/Navbar/DesktopNavbar.cjs +2 -2
  330. package/dist/components/Navbar/DesktopNavbar.cjs.map +1 -1
  331. package/dist/components/Navbar/DesktopNavbar.mjs +2 -2
  332. package/dist/components/Navbar/DesktopNavbar.mjs.map +1 -1
  333. package/dist/components/Navbar/MobileNavbar.cjs +2 -2
  334. package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
  335. package/dist/components/Navbar/MobileNavbar.mjs +2 -2
  336. package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
  337. package/dist/components/Pattern/DotPattern.cjs +1 -1
  338. package/dist/components/Pattern/DotPattern.cjs.map +1 -1
  339. package/dist/components/Pattern/DotPattern.mjs +1 -1
  340. package/dist/components/Pattern/DotPattern.mjs.map +1 -1
  341. package/dist/components/Pattern/GridPattern.cjs +1 -1
  342. package/dist/components/Pattern/GridPattern.cjs.map +1 -1
  343. package/dist/components/Pattern/GridPattern.mjs +1 -1
  344. package/dist/components/Pattern/GridPattern.mjs.map +1 -1
  345. package/dist/components/Popover/index.cjs +1 -1
  346. package/dist/components/Popover/index.cjs.map +1 -1
  347. package/dist/components/Popover/index.mjs +1 -1
  348. package/dist/components/Popover/index.mjs.map +1 -1
  349. package/dist/components/RightDrawer/RightDrawer.cjs +1 -1
  350. package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
  351. package/dist/components/RightDrawer/RightDrawer.d.ts.map +1 -1
  352. package/dist/components/RightDrawer/RightDrawer.mjs +1 -1
  353. package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
  354. package/dist/components/Select/Multiselect.cjs +8 -8
  355. package/dist/components/Select/Multiselect.cjs.map +1 -1
  356. package/dist/components/Select/Multiselect.d.ts.map +1 -1
  357. package/dist/components/Select/Multiselect.mjs +8 -8
  358. package/dist/components/Select/Multiselect.mjs.map +1 -1
  359. package/dist/components/Select/Select.cjs +7 -7
  360. package/dist/components/Select/Select.cjs.map +1 -1
  361. package/dist/components/Select/Select.d.ts.map +1 -1
  362. package/dist/components/Select/Select.mjs +7 -7
  363. package/dist/components/Select/Select.mjs.map +1 -1
  364. package/dist/components/SwitchSelector/index.cjs +11 -11
  365. package/dist/components/SwitchSelector/index.cjs.map +1 -1
  366. package/dist/components/SwitchSelector/index.d.ts +1 -1
  367. package/dist/components/SwitchSelector/index.d.ts.map +1 -1
  368. package/dist/components/SwitchSelector/index.mjs +11 -11
  369. package/dist/components/SwitchSelector/index.mjs.map +1 -1
  370. package/dist/components/TabSelector/TabSelector.cjs +15 -13
  371. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  372. package/dist/components/TabSelector/TabSelector.d.ts +1 -1
  373. package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
  374. package/dist/components/TabSelector/TabSelector.mjs +15 -13
  375. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  376. package/dist/components/Tag/index.cjs +6 -7
  377. package/dist/components/Tag/index.cjs.map +1 -1
  378. package/dist/components/Tag/index.d.ts +2 -2
  379. package/dist/components/Tag/index.d.ts.map +1 -1
  380. package/dist/components/Tag/index.mjs +6 -7
  381. package/dist/components/Tag/index.mjs.map +1 -1
  382. package/dist/components/TextArea/AutoSizeTextArea.cjs +1 -0
  383. package/dist/components/TextArea/AutoSizeTextArea.cjs.map +1 -1
  384. package/dist/components/TextArea/AutoSizeTextArea.d.ts.map +1 -1
  385. package/dist/components/TextArea/AutoSizeTextArea.mjs +1 -0
  386. package/dist/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  387. package/dist/components/TextArea/AutocompleteTextArea.cjs +105 -0
  388. package/dist/components/TextArea/AutocompleteTextArea.cjs.map +1 -0
  389. package/dist/components/TextArea/AutocompleteTextArea.d.ts +9 -0
  390. package/dist/components/TextArea/AutocompleteTextArea.d.ts.map +1 -0
  391. package/dist/components/TextArea/AutocompleteTextArea.mjs +105 -0
  392. package/dist/components/TextArea/AutocompleteTextArea.mjs.map +1 -0
  393. package/dist/components/TextArea/index.cjs +3 -0
  394. package/dist/components/TextArea/index.cjs.map +1 -1
  395. package/dist/components/TextArea/index.d.ts +1 -0
  396. package/dist/components/TextArea/index.d.ts.map +1 -1
  397. package/dist/components/TextArea/index.mjs +4 -1
  398. package/dist/components/TextArea/index.mjs.map +1 -1
  399. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs +1 -1
  400. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs.map +1 -1
  401. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
  402. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  403. package/dist/components/Toaster/Toast.cjs +5 -5
  404. package/dist/components/Toaster/Toast.cjs.map +1 -1
  405. package/dist/components/Toaster/Toast.d.ts +1 -1
  406. package/dist/components/Toaster/Toast.d.ts.map +1 -1
  407. package/dist/components/Toaster/Toast.mjs +5 -5
  408. package/dist/components/Toaster/Toast.mjs.map +1 -1
  409. package/dist/components/Toaster/Toaster.cjs +1 -1
  410. package/dist/components/Toaster/Toaster.cjs.map +1 -1
  411. package/dist/components/Toaster/Toaster.mjs +1 -1
  412. package/dist/components/Toaster/Toaster.mjs.map +1 -1
  413. package/dist/components/WithResizer/index.cjs +2 -2
  414. package/dist/components/WithResizer/index.cjs.map +1 -1
  415. package/dist/components/WithResizer/index.mjs +2 -2
  416. package/dist/components/WithResizer/index.mjs.map +1 -1
  417. package/dist/components/index.cjs +12 -1
  418. package/dist/components/index.cjs.map +1 -1
  419. package/dist/components/index.d.ts +1 -0
  420. package/dist/components/index.d.ts.map +1 -1
  421. package/dist/components/index.mjs +12 -1
  422. package/dist/components/index.mjs.map +1 -1
  423. package/dist/hooks/index.cjs +3 -0
  424. package/dist/hooks/index.cjs.map +1 -1
  425. package/dist/hooks/index.mjs +4 -1
  426. package/dist/hooks/intlayerAPIHooks.cjs +18 -4
  427. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  428. package/dist/hooks/intlayerAPIHooks.d.ts +5 -2
  429. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  430. package/dist/hooks/intlayerAPIHooks.mjs +18 -4
  431. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  432. package/dist/hooks/useGetAllDictionaries.d.ts.map +1 -1
  433. package/dist/hooks/useIntlayerAPI.d.ts +5 -2
  434. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  435. package/dist/index-BCuMWKyy.js.map +1 -1
  436. package/dist/index-BYzBot7l.cjs.map +1 -1
  437. package/dist/{index-BUe-qmA0.js → index-C57uA6Lk.js} +2 -2
  438. package/dist/{index-BUe-qmA0.js.map → index-C57uA6Lk.js.map} +1 -1
  439. package/dist/{index-cg9H6eBs.cjs → index-D02c1QrF.cjs} +2 -2
  440. package/dist/{index-cg9H6eBs.cjs.map → index-D02c1QrF.cjs.map} +1 -1
  441. package/dist/{index-B1w5h_6-.js → index-DixKT3Hi.js} +34 -5
  442. package/dist/index-DixKT3Hi.js.map +1 -0
  443. package/dist/{index-U1U6ySIn.cjs → index-a_-DkvMQ.cjs} +34 -5
  444. package/dist/index-a_-DkvMQ.cjs.map +1 -0
  445. package/dist/tailwind.config.cjs +2 -1395
  446. package/dist/tailwind.config.cjs.map +1 -1
  447. package/dist/tailwind.config.d.ts +3 -282
  448. package/dist/tailwind.config.d.ts.map +1 -1
  449. package/dist/tailwind.config.mjs +2 -1395
  450. package/dist/tailwind.config.mjs.map +1 -1
  451. package/dist/tailwind.css +2 -1
  452. package/dist/zod-BV4nCGJE.js.map +1 -1
  453. package/dist/zod-DSrtTSD_.cjs.map +1 -1
  454. package/package.json +28 -25
  455. package/dist/Form-BZUDRfoN.js.map +0 -1
  456. package/dist/Form-yi0CMK-a.cjs.map +0 -1
  457. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +0 -133
  458. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +0 -1
  459. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts +0 -9
  460. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +0 -1
  461. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +0 -133
  462. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +0 -1
  463. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs +0 -132
  464. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +0 -1
  465. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +0 -1
  466. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs +0 -132
  467. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +0 -1
  468. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs +0 -8
  469. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs.map +0 -1
  470. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts +0 -4
  471. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts.map +0 -1
  472. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs +0 -8
  473. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs.map +0 -1
  474. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +0 -45
  475. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +0 -1
  476. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts +0 -9
  477. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +0 -1
  478. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +0 -45
  479. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +0 -1
  480. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.cjs +0 -40
  481. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.cjs.map +0 -1
  482. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts +0 -36
  483. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts.map +0 -1
  484. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.mjs +0 -40
  485. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.mjs.map +0 -1
  486. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.cjs +0 -8
  487. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.cjs.map +0 -1
  488. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.d.ts +0 -4
  489. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.d.ts.map +0 -1
  490. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.mjs +0 -8
  491. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.mjs.map +0 -1
  492. package/dist/index-B1w5h_6-.js.map +0 -1
  493. package/dist/index-U1U6ySIn.cjs.map +0 -1
@@ -16,13 +16,13 @@ const tabSelectorVariant = cva(
16
16
  {
17
17
  variants: {
18
18
  color: {
19
- primary: "border-primary text-primary dark:border-primary-dark dark:text-primary-dark",
20
- secondary: "border-secondary text-secondary dark:border-secondary-dark dark:text-secondary-dark",
21
- destructive: "border-destructive bg-destructive text-destructive dark:border-destructive-dark dark:bg-destructive-dark",
22
- neutral: "border-neutral text-neutral dark:border-neutral-dark dark:text-neutral-dark",
19
+ primary: "border-primary text-primary",
20
+ secondary: "border-secondary text-secondary",
21
+ destructive: "border-destructive bg-destructive text-destructive",
22
+ neutral: "border-neutral text-neutral ",
23
23
  light: "border-white text-white",
24
24
  dark: "border-neutral-800 text-neutral-800",
25
- text: "border-text text-text dark:border-text-dark dark:text-text-dark"
25
+ text: "border-text text-text"
26
26
  }
27
27
  },
28
28
  defaultVariants: {
@@ -35,13 +35,13 @@ const indicatorVariant = cva(
35
35
  {
36
36
  variants: {
37
37
  color: {
38
- primary: "bg-primary/10 aria-selected:text-text dark:bg-primary-dark/10 dark:aria-selected:text-text-dark",
39
- secondary: "bg-secondary/10 aria-selected:text-text dark:bg-secondary-dark/10 dark:aria-selected:text-text-dark",
40
- destructive: "bg-destructive/10 aria-selected:text-text dark:bg-destructive-dark/10 dark:aria-selected:text-text-dark",
41
- neutral: "bg-neutral/10 aria-selected:text-white dark:bg-neutral-dark/10 dark:aria-selected:text-text",
38
+ primary: "bg-primary/10 aria-selected:text-text",
39
+ secondary: "bg-secondary/10 aria-selected:text-text",
40
+ destructive: "bg-destructive/10 aria-selected:text-text",
41
+ neutral: "bg-neutral/10 aria-selected:text-white/10",
42
42
  light: "bg-white/10 aria-selected:text-black",
43
43
  dark: "bg-neutral-800/10 aria-selected:text-white",
44
- text: "bg-text/10 aria-selected:text-text-dark dark:bg-text-dark/10 dark:aria-selected:text-text"
44
+ text: "bg-text/10 aria-selected:text-text-opposite"
45
45
  }
46
46
  }
47
47
  }
@@ -90,9 +90,11 @@ const TabSelector = ({
90
90
  choiceIndicatorPosition && /* @__PURE__ */ jsx(
91
91
  "div",
92
92
  {
93
- className: indicatorVariant({
94
- color
95
- }),
93
+ className: cn(
94
+ indicatorVariant({
95
+ color
96
+ })
97
+ ),
96
98
  style: choiceIndicatorPosition,
97
99
  ref: indicatorRef
98
100
  },
@@ -1 +1 @@
1
- {"version":3,"file":"TabSelector.mjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n useRef,\n type HTMLAttributes,\n type ReactElement,\n cloneElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary:\n 'border-primary text-primary dark:border-primary-dark dark:text-primary-dark',\n secondary:\n 'border-secondary text-secondary dark:border-secondary-dark dark:text-secondary-dark',\n destructive:\n 'border-destructive bg-destructive text-destructive dark:border-destructive-dark dark:bg-destructive-dark',\n neutral:\n 'border-neutral text-neutral dark:border-neutral-dark dark:text-neutral-dark',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text dark:border-text-dark dark:text-text-dark',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary:\n 'bg-primary/10 aria-selected:text-text dark:bg-primary-dark/10 dark:aria-selected:text-text-dark',\n secondary:\n 'bg-secondary/10 aria-selected:text-text dark:bg-secondary-dark/10 dark:aria-selected:text-text-dark',\n destructive:\n 'bg-destructive/10 aria-selected:text-text dark:bg-destructive-dark/10 dark:aria-selected:text-text-dark',\n neutral:\n 'bg-neutral/10 aria-selected:text-white dark:bg-neutral-dark/10 dark:aria-selected:text-text',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-dark dark:bg-text-dark/10 dark:aria-selected:text-text',\n },\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n VariantProps<typeof tabSelectorVariant>;\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = 'primary',\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: () => onTabClick?.(key),\n 'aria-selected': isSelected,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={indicatorVariant({\n color,\n })}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYA,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AA+BO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACnB,QAAA,cAAc,OAAsB,EAAE;AACtC,QAAA,eAAe,OAA8B,IAAI;AACjD,QAAA,EAAE,4BAA4B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MACF;AAAA,MACA,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAK,KAAA,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAO,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,GAAG;AAAA,YAC/B,iBAAiB;AAAA,YACjB,KAAK,CAAC,OAAoB;AACZ,0BAAA,QAAQ,KAAK,IAAI;AAAA,YAAA;AAAA,UAC/B,CACe;AAAA,QAAA,CAClB;AAAA,QACA,2BACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,iBAAiB;AAAA,cAC1B;AAAA,YAAA,CACD;AAAA,YACD,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
1
+ {"version":3,"file":"TabSelector.mjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n useRef,\n type HTMLAttributes,\n type ReactElement,\n cloneElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary: 'border-primary text-primary',\n secondary: 'border-secondary text-secondary',\n destructive: 'border-destructive bg-destructive text-destructive',\n neutral: 'border-neutral text-neutral ',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary: 'bg-primary/10 aria-selected:text-text',\n secondary: 'bg-secondary/10 aria-selected:text-text',\n destructive: 'bg-destructive/10 aria-selected:text-text',\n neutral: 'bg-neutral/10 aria-selected:text-white/10',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-opposite',\n },\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n VariantProps<typeof tabSelectorVariant>;\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = 'primary',\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: () => onTabClick?.(key),\n 'aria-selected': isSelected,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYA,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AA+BO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACnB,QAAA,cAAc,OAAsB,EAAE;AACtC,QAAA,eAAe,OAA8B,IAAI;AACjD,QAAA,EAAE,4BAA4B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MACF;AAAA,MACA,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAK,KAAA,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAO,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,GAAG;AAAA,YAC/B,iBAAiB;AAAA,YACjB,KAAK,CAAC,OAAoB;AACZ,0BAAA,QAAQ,KAAK,IAAI;AAAA,YAAA;AAAA,UAC/B,CACe;AAAA,QAAA,CAClB;AAAA,QACA,2BACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT,iBAAiB;AAAA,gBACf;AAAA,cACD,CAAA;AAAA,YACH;AAAA,YACA,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
@@ -15,12 +15,11 @@ const containerVariants = classVarianceAuthority.cva("backdrop-blur w-fit", {
15
15
  full: "rounded-full"
16
16
  },
17
17
  color: {
18
- success: "bg-success/10 dark:bg-success-dark/10 border-success dark:border-success-dark text-success dark:text-success-dark",
19
- error: "bg-error/10 dark:bg-error-dark/10 border-error dark:border-error-dark text-error dark:text-error-dark",
20
- warning: "bg-warning/10 dark:bg-warning-dark/10 border-warning dark:border-warning-dark text-warning dark:text-warning-dark",
21
- neutral: "bg-neutral/10 dark:bg-neutral-dark/10 border-neutral dark:border-neutral-dark text-neutral dark:text-neutral-dark",
22
- info: "bg-info/10 dark:bg-info-dark/10 border-info dark:border-info-dark text-info dark:text-info-dark",
23
- text: "bg-text/10 dark:bg-text-dark/10 border-text dark:border-text-dark text-text dark:text-text-dark"
18
+ success: "bg-success/10 border-success text-success ",
19
+ error: "bg-error/10 border-error text-error",
20
+ warning: "bg-warning/10 border-warning text-warning",
21
+ neutral: "bg-neutral/10 /10 border-neutral text-neutral ",
22
+ text: "bg-text/10 border-text text-text"
24
23
  },
25
24
  size: {
26
25
  xs: "py-0.5 px-2 text-xs border-[1.2px]",
@@ -31,7 +30,7 @@ const containerVariants = classVarianceAuthority.cva("backdrop-blur w-fit", {
31
30
  },
32
31
  border: {
33
32
  none: "border-none",
34
- with: "border-text dark:border-text-dark border-[1.5px]"
33
+ with: "border-text border-[1.5px]"
35
34
  },
36
35
  background: {
37
36
  none: "bg-none",
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/Tag/index.tsx"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\n\ntype TagProps = PropsWithChildren<VariantProps<typeof containerVariants>> &\n HTMLAttributes<HTMLDivElement>;\n\nconst containerVariants = cva('backdrop-blur w-fit', {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n color: {\n success:\n 'bg-success/10 dark:bg-success-dark/10 border-success dark:border-success-dark text-success dark:text-success-dark',\n error:\n 'bg-error/10 dark:bg-error-dark/10 border-error dark:border-error-dark text-error dark:text-error-dark',\n warning:\n 'bg-warning/10 dark:bg-warning-dark/10 border-warning dark:border-warning-dark text-warning dark:text-warning-dark',\n neutral:\n 'bg-neutral/10 dark:bg-neutral-dark/10 border-neutral dark:border-neutral-dark text-neutral dark:text-neutral-dark',\n info: 'bg-info/10 dark:bg-info-dark/10 border-info dark:border-info-dark text-info dark:text-info-dark',\n text: 'bg-text/10 dark:bg-text-dark/10 border-text dark:border-text-dark text-text dark:text-text-dark',\n },\n size: {\n xs: 'py-0.5 px-2 text-xs border-[1.2px]',\n sm: 'py-0.5 px-2 text-sm border-[1.5px]',\n md: 'py-1 px-2 text-base border-2',\n lg: 'py-2 px-3 text-lg border-2',\n xl: 'py-4 px-5 text-xl border-2',\n },\n border: {\n none: 'border-none',\n with: 'border-text dark:border-text-dark border-[1.5px]',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n },\n\n defaultVariants: {\n roundedSize: 'full',\n border: 'none',\n color: 'text',\n size: 'md',\n },\n});\n\nexport const Tag: FC<TagProps> = ({\n children,\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n ...props\n}) => {\n return (\n <div\n className={containerVariants({\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n })}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":["cva","jsx"],"mappings":";;;;AAMA,MAAM,oBAAoBA,2BAAI,uBAAuB;AAAA,EACnD,UAAU;AAAA,IACR,aAAa;AAAA,MACX,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,SACE;AAAA,MACF,OACE;AAAA,MACF,SACE;AAAA,MACF,SACE;AAAA,MACF,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EAEA,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAEV,CAAC;AAEM,MAAM,MAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AAEF,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,MACA,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/Tag/index.tsx"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\n\ntype TagProps = PropsWithChildren<VariantProps<typeof containerVariants>> &\n HTMLAttributes<HTMLDivElement>;\n\nconst containerVariants = cva('backdrop-blur w-fit', {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n color: {\n success: 'bg-success/10 border-success text-success ',\n error: 'bg-error/10 border-error text-error',\n warning: 'bg-warning/10 border-warning text-warning',\n neutral: 'bg-neutral/10 /10 border-neutral text-neutral ',\n text: 'bg-text/10 border-text text-text',\n },\n size: {\n xs: 'py-0.5 px-2 text-xs border-[1.2px]',\n sm: 'py-0.5 px-2 text-sm border-[1.5px]',\n md: 'py-1 px-2 text-base border-2',\n lg: 'py-2 px-3 text-lg border-2',\n xl: 'py-4 px-5 text-xl border-2',\n },\n border: {\n none: 'border-none',\n with: 'border-text border-[1.5px]',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n },\n\n defaultVariants: {\n roundedSize: 'full',\n border: 'none',\n color: 'text',\n size: 'md',\n },\n});\n\nexport const Tag: FC<TagProps> = ({\n children,\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n ...props\n}) => {\n return (\n <div\n className={containerVariants({\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n })}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":["cva","jsx"],"mappings":";;;;AAMA,MAAM,oBAAoBA,2BAAI,uBAAuB;AAAA,EACnD,UAAU;AAAA,IACR,aAAa;AAAA,MACX,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EAEA,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAEV,CAAC;AAEM,MAAM,MAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AAEF,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,MACA,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
@@ -2,8 +2,8 @@ import { VariantProps } from 'class-variance-authority';
2
2
  import { FC, HTMLAttributes, PropsWithChildren } from 'react';
3
3
  type TagProps = PropsWithChildren<VariantProps<typeof containerVariants>> & HTMLAttributes<HTMLDivElement>;
4
4
  declare const containerVariants: (props?: ({
5
- roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "3xl" | "full" | null | undefined;
6
- color?: "text" | "success" | "warning" | "error" | "neutral" | "info" | null | undefined;
5
+ roundedSize?: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full" | null | undefined;
6
+ color?: "text" | "error" | "neutral" | "success" | "warning" | null | undefined;
7
7
  size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
8
8
  border?: "none" | "with" | null | undefined;
9
9
  background?: "none" | "with" | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Tag/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnE,KAAK,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC,GACvE,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC,QAAA,MAAM,iBAAiB;;;;;;8EA+CrB,CAAC;AAEH,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAyB5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Tag/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnE,KAAK,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC,GACvE,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC,QAAA,MAAM,iBAAiB;;;;;;8EA0CrB,CAAC;AAEH,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAyB5B,CAAC"}
@@ -13,12 +13,11 @@ const containerVariants = cva("backdrop-blur w-fit", {
13
13
  full: "rounded-full"
14
14
  },
15
15
  color: {
16
- success: "bg-success/10 dark:bg-success-dark/10 border-success dark:border-success-dark text-success dark:text-success-dark",
17
- error: "bg-error/10 dark:bg-error-dark/10 border-error dark:border-error-dark text-error dark:text-error-dark",
18
- warning: "bg-warning/10 dark:bg-warning-dark/10 border-warning dark:border-warning-dark text-warning dark:text-warning-dark",
19
- neutral: "bg-neutral/10 dark:bg-neutral-dark/10 border-neutral dark:border-neutral-dark text-neutral dark:text-neutral-dark",
20
- info: "bg-info/10 dark:bg-info-dark/10 border-info dark:border-info-dark text-info dark:text-info-dark",
21
- text: "bg-text/10 dark:bg-text-dark/10 border-text dark:border-text-dark text-text dark:text-text-dark"
16
+ success: "bg-success/10 border-success text-success ",
17
+ error: "bg-error/10 border-error text-error",
18
+ warning: "bg-warning/10 border-warning text-warning",
19
+ neutral: "bg-neutral/10 /10 border-neutral text-neutral ",
20
+ text: "bg-text/10 border-text text-text"
22
21
  },
23
22
  size: {
24
23
  xs: "py-0.5 px-2 text-xs border-[1.2px]",
@@ -29,7 +28,7 @@ const containerVariants = cva("backdrop-blur w-fit", {
29
28
  },
30
29
  border: {
31
30
  none: "border-none",
32
- with: "border-text dark:border-text-dark border-[1.5px]"
31
+ with: "border-text border-[1.5px]"
33
32
  },
34
33
  background: {
35
34
  none: "bg-none",
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/Tag/index.tsx"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\n\ntype TagProps = PropsWithChildren<VariantProps<typeof containerVariants>> &\n HTMLAttributes<HTMLDivElement>;\n\nconst containerVariants = cva('backdrop-blur w-fit', {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n color: {\n success:\n 'bg-success/10 dark:bg-success-dark/10 border-success dark:border-success-dark text-success dark:text-success-dark',\n error:\n 'bg-error/10 dark:bg-error-dark/10 border-error dark:border-error-dark text-error dark:text-error-dark',\n warning:\n 'bg-warning/10 dark:bg-warning-dark/10 border-warning dark:border-warning-dark text-warning dark:text-warning-dark',\n neutral:\n 'bg-neutral/10 dark:bg-neutral-dark/10 border-neutral dark:border-neutral-dark text-neutral dark:text-neutral-dark',\n info: 'bg-info/10 dark:bg-info-dark/10 border-info dark:border-info-dark text-info dark:text-info-dark',\n text: 'bg-text/10 dark:bg-text-dark/10 border-text dark:border-text-dark text-text dark:text-text-dark',\n },\n size: {\n xs: 'py-0.5 px-2 text-xs border-[1.2px]',\n sm: 'py-0.5 px-2 text-sm border-[1.5px]',\n md: 'py-1 px-2 text-base border-2',\n lg: 'py-2 px-3 text-lg border-2',\n xl: 'py-4 px-5 text-xl border-2',\n },\n border: {\n none: 'border-none',\n with: 'border-text dark:border-text-dark border-[1.5px]',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n },\n\n defaultVariants: {\n roundedSize: 'full',\n border: 'none',\n color: 'text',\n size: 'md',\n },\n});\n\nexport const Tag: FC<TagProps> = ({\n children,\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n ...props\n}) => {\n return (\n <div\n className={containerVariants({\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n })}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;AAMA,MAAM,oBAAoB,IAAI,uBAAuB;AAAA,EACnD,UAAU;AAAA,IACR,aAAa;AAAA,MACX,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,SACE;AAAA,MACF,OACE;AAAA,MACF,SACE;AAAA,MACF,SACE;AAAA,MACF,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EAEA,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAEV,CAAC;AAEM,MAAM,MAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AAEF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,MACA,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/Tag/index.tsx"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\n\ntype TagProps = PropsWithChildren<VariantProps<typeof containerVariants>> &\n HTMLAttributes<HTMLDivElement>;\n\nconst containerVariants = cva('backdrop-blur w-fit', {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n color: {\n success: 'bg-success/10 border-success text-success ',\n error: 'bg-error/10 border-error text-error',\n warning: 'bg-warning/10 border-warning text-warning',\n neutral: 'bg-neutral/10 /10 border-neutral text-neutral ',\n text: 'bg-text/10 border-text text-text',\n },\n size: {\n xs: 'py-0.5 px-2 text-xs border-[1.2px]',\n sm: 'py-0.5 px-2 text-sm border-[1.5px]',\n md: 'py-1 px-2 text-base border-2',\n lg: 'py-2 px-3 text-lg border-2',\n xl: 'py-4 px-5 text-xl border-2',\n },\n border: {\n none: 'border-none',\n with: 'border-text border-[1.5px]',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n },\n\n defaultVariants: {\n roundedSize: 'full',\n border: 'none',\n color: 'text',\n size: 'md',\n },\n});\n\nexport const Tag: FC<TagProps> = ({\n children,\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n ...props\n}) => {\n return (\n <div\n className={containerVariants({\n color,\n roundedSize,\n size,\n border,\n background,\n className,\n })}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;AAMA,MAAM,oBAAoB,IAAI,uBAAuB;AAAA,EACnD,UAAU;AAAA,IACR,aAAa;AAAA,MACX,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EAEA,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAEV,CAAC;AAEM,MAAM,MAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AAEF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,MACA,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  "use strict";
2
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
4
  const jsxRuntime = require("react/jsx-runtime");
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSizeTextArea.cjs","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["import {\n type FC,\n useRef,\n useEffect,\n type ChangeEventHandler,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { type TextAreaProps, TextArea } from './TextArea';\n\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n autoSize?: boolean;\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\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 = useCallback(() => {\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 =\n Math.max(Math.min(scrollHeight, maxHeight), minHeight) + 'px';\n }, [autoSize, maxRows]);\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 = useCallback(\n (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n },\n [adjustHeight]\n );\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn(\n 'overflow-y-scroll',\n autoSize ? 'resize-none' : '',\n className\n )}\n {...props}\n />\n );\n};\n"],"names":["useRef","useImperativeHandle","useCallback","useEffect","jsx","TextArea","cn"],"mappings":";;;;;;AAgBA,MAAM,cAAc;AACpB,MAAM,eAAe;AAEd,MAAM,oBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,cAAcA,oBAAmC,IAAI;AAEvCC,eAAAA,oBAAA,KAAK,MAAM,YAAY,OAAQ;AAE7C,QAAA,eAAeC,aAAAA,YAAY,MAAM;AACrC,UAAM,aAAa,YAAY;AAE3B,QAAA,CAAC,cAAc,CAAC,SAAU;AAE9B,UAAM,gBAAgB,WAAW;AAGjC,kBAAc,SAAS;AACvB,UAAM,eAAe,WAAW;AAC1B,UAAA,YAAY,cAAc,UAAU;AAC1C,UAAM,YAAY,cAAc;AAGlB,kBAAA,SACZ,KAAK,IAAI,KAAK,IAAI,cAAc,SAAS,GAAG,SAAS,IAAI;AAAA,EAAA,GAC1D,CAAC,UAAU,OAAO,CAAC;AAEtBC,eAAAA,UAAU,MAAM;AACD,iBAAA;AAAA,EAAA,GACZ,CAAC,MAAM,OAAO,MAAM,cAAc,YAAY,CAAC;AAE5C,QAAA,eAAwD,CAAC,MAAM;AACnE,eAAW,CAAC;AACC,iBAAA;AAAA,EACf;AAEA,QAAM,SAASD,aAAA;AAAA,IACb,CAAC,OAAmC;AAClC,kBAAY,UAAU;AACtB,UAAI,IAAI;AACO,qBAAA;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAGE,SAAAE,2BAAA;AAAA,IAACC,6BAAA;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAWC,SAAA;AAAA,QACT;AAAA,QACA,WAAW,gBAAgB;AAAA,QAC3B;AAAA,MACF;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ;;"}
1
+ {"version":3,"file":"AutoSizeTextArea.cjs","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["'use client';\n\nimport {\n type FC,\n useRef,\n useEffect,\n type ChangeEventHandler,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { type TextAreaProps, TextArea } from './TextArea';\n\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n autoSize?: boolean;\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\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 = useCallback(() => {\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 =\n Math.max(Math.min(scrollHeight, maxHeight), minHeight) + 'px';\n }, [autoSize, maxRows]);\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 = useCallback(\n (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n },\n [adjustHeight]\n );\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn(\n 'overflow-y-scroll',\n autoSize ? 'resize-none' : '',\n className\n )}\n {...props}\n />\n );\n};\n"],"names":["useRef","useImperativeHandle","useCallback","useEffect","jsx","TextArea","cn"],"mappings":";;;;;;;AAkBA,MAAM,cAAc;AACpB,MAAM,eAAe;AAEd,MAAM,oBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,cAAcA,oBAAmC,IAAI;AAEvCC,eAAAA,oBAAA,KAAK,MAAM,YAAY,OAAQ;AAE7C,QAAA,eAAeC,aAAAA,YAAY,MAAM;AACrC,UAAM,aAAa,YAAY;AAE3B,QAAA,CAAC,cAAc,CAAC,SAAU;AAE9B,UAAM,gBAAgB,WAAW;AAGjC,kBAAc,SAAS;AACvB,UAAM,eAAe,WAAW;AAC1B,UAAA,YAAY,cAAc,UAAU;AAC1C,UAAM,YAAY,cAAc;AAGlB,kBAAA,SACZ,KAAK,IAAI,KAAK,IAAI,cAAc,SAAS,GAAG,SAAS,IAAI;AAAA,EAAA,GAC1D,CAAC,UAAU,OAAO,CAAC;AAEtBC,eAAAA,UAAU,MAAM;AACD,iBAAA;AAAA,EAAA,GACZ,CAAC,MAAM,OAAO,MAAM,cAAc,YAAY,CAAC;AAE5C,QAAA,eAAwD,CAAC,MAAM;AACnE,eAAW,CAAC;AACC,iBAAA;AAAA,EACf;AAEA,QAAM,SAASD,aAAA;AAAA,IACb,CAAC,OAAmC;AAClC,kBAAY,UAAU;AACtB,UAAI,IAAI;AACO,qBAAA;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAGE,SAAAE,2BAAA;AAAA,IAACC,6BAAA;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAWC,SAAA;AAAA,QACT;AAAA,QACA,WAAW,gBAAgB;AAAA,QAC3B;AAAA,MACF;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSizeTextArea.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA6DxD,CAAC"}
1
+ {"version":3,"file":"AutoSizeTextArea.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA6DxD,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx } from "react/jsx-runtime";
2
3
  import { useRef, useImperativeHandle, useCallback, useEffect } from "react";
3
4
  import { cn } from "../../utils/cn.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSizeTextArea.mjs","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["import {\n type FC,\n useRef,\n useEffect,\n type ChangeEventHandler,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { type TextAreaProps, TextArea } from './TextArea';\n\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n autoSize?: boolean;\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\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 = useCallback(() => {\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 =\n Math.max(Math.min(scrollHeight, maxHeight), minHeight) + 'px';\n }, [autoSize, maxRows]);\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 = useCallback(\n (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n },\n [adjustHeight]\n );\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn(\n 'overflow-y-scroll',\n autoSize ? 'resize-none' : '',\n className\n )}\n {...props}\n />\n );\n};\n"],"names":[],"mappings":";;;;AAgBA,MAAM,cAAc;AACpB,MAAM,eAAe;AAEd,MAAM,oBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,cAAc,OAAmC,IAAI;AAEvC,sBAAA,KAAK,MAAM,YAAY,OAAQ;AAE7C,QAAA,eAAe,YAAY,MAAM;AACrC,UAAM,aAAa,YAAY;AAE3B,QAAA,CAAC,cAAc,CAAC,SAAU;AAE9B,UAAM,gBAAgB,WAAW;AAGjC,kBAAc,SAAS;AACvB,UAAM,eAAe,WAAW;AAC1B,UAAA,YAAY,cAAc,UAAU;AAC1C,UAAM,YAAY,cAAc;AAGlB,kBAAA,SACZ,KAAK,IAAI,KAAK,IAAI,cAAc,SAAS,GAAG,SAAS,IAAI;AAAA,EAAA,GAC1D,CAAC,UAAU,OAAO,CAAC;AAEtB,YAAU,MAAM;AACD,iBAAA;AAAA,EAAA,GACZ,CAAC,MAAM,OAAO,MAAM,cAAc,YAAY,CAAC;AAE5C,QAAA,eAAwD,CAAC,MAAM;AACnE,eAAW,CAAC;AACC,iBAAA;AAAA,EACf;AAEA,QAAM,SAAS;AAAA,IACb,CAAC,OAAmC;AAClC,kBAAY,UAAU;AACtB,UAAI,IAAI;AACO,qBAAA;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,WAAW,gBAAgB;AAAA,QAC3B;AAAA,MACF;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ;"}
1
+ {"version":3,"file":"AutoSizeTextArea.mjs","sources":["../../../src/components/TextArea/AutoSizeTextArea.tsx"],"sourcesContent":["'use client';\n\nimport {\n type FC,\n useRef,\n useEffect,\n type ChangeEventHandler,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { type TextAreaProps, TextArea } from './TextArea';\n\nexport type AutoSizedTextAreaProps = TextAreaProps & {\n autoSize?: boolean;\n maxRows?: number;\n};\n\nconst LINE_HEIGHT = 24; // px\nconst LINE_PADDING = 12; // px\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 = useCallback(() => {\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 =\n Math.max(Math.min(scrollHeight, maxHeight), minHeight) + 'px';\n }, [autoSize, maxRows]);\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 = useCallback(\n (el: HTMLTextAreaElement | null) => {\n textAreaRef.current = el;\n if (el) {\n adjustHeight();\n }\n },\n [adjustHeight]\n );\n\n return (\n <TextArea\n ref={setRef}\n onChange={handleChange}\n className={cn(\n 'overflow-y-scroll',\n autoSize ? 'resize-none' : '',\n className\n )}\n {...props}\n />\n );\n};\n"],"names":[],"mappings":";;;;;AAkBA,MAAM,cAAc;AACpB,MAAM,eAAe;AAEd,MAAM,oBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,cAAc,OAAmC,IAAI;AAEvC,sBAAA,KAAK,MAAM,YAAY,OAAQ;AAE7C,QAAA,eAAe,YAAY,MAAM;AACrC,UAAM,aAAa,YAAY;AAE3B,QAAA,CAAC,cAAc,CAAC,SAAU;AAE9B,UAAM,gBAAgB,WAAW;AAGjC,kBAAc,SAAS;AACvB,UAAM,eAAe,WAAW;AAC1B,UAAA,YAAY,cAAc,UAAU;AAC1C,UAAM,YAAY,cAAc;AAGlB,kBAAA,SACZ,KAAK,IAAI,KAAK,IAAI,cAAc,SAAS,GAAG,SAAS,IAAI;AAAA,EAAA,GAC1D,CAAC,UAAU,OAAO,CAAC;AAEtB,YAAU,MAAM;AACD,iBAAA;AAAA,EAAA,GACZ,CAAC,MAAM,OAAO,MAAM,cAAc,YAAY,CAAC;AAE5C,QAAA,eAAwD,CAAC,MAAM;AACnE,eAAW,CAAC;AACC,iBAAA;AAAA,EACf;AAEA,QAAM,SAAS;AAAA,IACb,CAAC,OAAmC;AAClC,kBAAY,UAAU;AACtB,UAAI,IAAI;AACO,qBAAA;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,WAAW,gBAAgB;AAAA,QAC3B;AAAA,MACF;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ;"}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const editorReact = require("@intlayer/editor-react");
6
+ const ReactExports = require("react");
7
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
+ const hooks_intlayerAPIHooks = require("../../hooks/intlayerAPIHooks.cjs");
10
+ require("deepmerge");
11
+ const components_TextArea_AutoSizeTextArea = require("./AutoSizeTextArea.cjs");
12
+ const useDebounce = (value, delay) => {
13
+ const [debouncedValue, setDebouncedValue] = ReactExports.useState(value);
14
+ ReactExports.useEffect(() => {
15
+ const timer = setTimeout(() => {
16
+ setDebouncedValue(value);
17
+ }, delay);
18
+ return () => clearTimeout(timer);
19
+ }, [value, delay]);
20
+ return debouncedValue;
21
+ };
22
+ const AutoCompleteTextarea = ({
23
+ isActive = true,
24
+ suggestion: suggestionProp,
25
+ ...props
26
+ }) => {
27
+ const defaultValue = String(props.value ?? props.defaultValue ?? "");
28
+ const { autocomplete } = hooks_intlayerAPIHooks.useAutocomplete();
29
+ const configuration = editorReact.useConfiguration();
30
+ const [isTyped, setIsTyped] = ReactExports.useState(false);
31
+ const [text, setText] = ReactExports.useState(defaultValue);
32
+ const [suggestion, setSuggestion] = ReactExports.useState("");
33
+ const debouncedText = useDebounce(text, 200);
34
+ ReactExports.useEffect(() => {
35
+ if (typeof props.value === "undefined") return;
36
+ setText(defaultValue);
37
+ }, [props.value, props.defaultValue]);
38
+ ReactExports.useEffect(() => {
39
+ if (!isActive) return;
40
+ if (!isTyped) return;
41
+ const fetchSuggestion = async () => {
42
+ try {
43
+ const response = await autocomplete({
44
+ text: debouncedText,
45
+ openAiApiKey: configuration.editor.openAiApiKey,
46
+ model: configuration.editor.openAiApiModel,
47
+ temperature: configuration.editor.openAiApiTemperature
48
+ });
49
+ const autocompletion = response?.data?.autocompletion ?? "";
50
+ if (autocompletion.startsWith(debouncedText)) {
51
+ const remaining = autocompletion.slice(debouncedText.length);
52
+ return setSuggestion(remaining);
53
+ }
54
+ return setSuggestion(autocompletion);
55
+ } catch (err) {
56
+ console.error("Autocomplete error:", err);
57
+ }
58
+ };
59
+ if (debouncedText.length > 3) {
60
+ setSuggestion("");
61
+ fetchSuggestion();
62
+ } else {
63
+ setSuggestion("");
64
+ }
65
+ }, [debouncedText, isActive]);
66
+ const acceptSuggestion = () => {
67
+ setText((prevText) => prevText + suggestion);
68
+ setSuggestion("");
69
+ };
70
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
71
+ /* @__PURE__ */ jsxRuntime.jsxs(
72
+ "div",
73
+ {
74
+ 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]",
75
+ "aria-hidden": "true",
76
+ children: [
77
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "align-text-top text-transparent", children: text }),
78
+ (suggestion || suggestionProp) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-neutral ml-3 align-text-top", children: suggestionProp ?? suggestion })
79
+ ]
80
+ }
81
+ ),
82
+ /* @__PURE__ */ jsxRuntime.jsx(
83
+ components_TextArea_AutoSizeTextArea.AutoSizedTextArea,
84
+ {
85
+ ...props,
86
+ value: text,
87
+ onChange: (e) => {
88
+ setIsTyped(true);
89
+ setText(e.target.value);
90
+ props.onChange?.(e);
91
+ },
92
+ onKeyDown: (e) => {
93
+ if (e.key === "Tab" && suggestion) {
94
+ e.preventDefault();
95
+ acceptSuggestion();
96
+ }
97
+ props.onKeyDown?.(e);
98
+ }
99
+ }
100
+ )
101
+ ] });
102
+ };
103
+ exports.AutoCompleteTextarea = AutoCompleteTextarea;
104
+ exports.useDebounce = useDebounce;
105
+ //# sourceMappingURL=AutocompleteTextArea.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutocompleteTextArea.cjs","sources":["../../../src/components/TextArea/AutocompleteTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { useConfiguration } from '@intlayer/editor-react';\nimport { type FC, useState, useEffect } from 'react';\nimport { useAutocomplete } from '../../hooks';\nimport {\n type AutoSizedTextAreaProps,\n AutoSizedTextArea,\n} from './AutoSizeTextArea';\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\nexport type AutocompleteTextAreaProps = AutoSizedTextAreaProps & {\n isActive?: boolean;\n suggestion?: string;\n};\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 { autocomplete } = useAutocomplete();\n const configuration = useConfiguration();\n const [isTyped, setIsTyped] = useState(false);\n const [text, setText] = useState(defaultValue);\n const [suggestion, setSuggestion] = useState('');\n\n // Only update this “debouncedText” after the user stops typing for 500ms\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 response = await autocomplete({\n text: debouncedText,\n openAiApiKey: configuration.editor.openAiApiKey,\n model: configuration.editor.openAiApiModel,\n temperature: configuration.editor.openAiApiTemperature,\n });\n // e.g. response.data.autocompletion = \"Hello World\"\n const autocompletion = response?.data?.autocompletion ?? '';\n\n // If the suggested text starts with what the user typed,\n // we only store the *remaining* part as the suggestion\n // so that we can render \"ghost\" text appropriately.\n if (autocompletion.startsWith(debouncedText)) {\n const remaining = autocompletion.slice(debouncedText.length);\n return setSuggestion(remaining);\n }\n\n return setSuggestion(autocompletion);\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 fetchSuggestion();\n } else {\n // If typed less than threshold, clear the suggestion\n setSuggestion('');\n }\n }, [debouncedText, isActive]);\n\n const acceptSuggestion = () => {\n // Merge the typed text with the suggestion\n setText((prevText) => prevText + suggestion);\n setSuggestion('');\n };\n\n return (\n <div className=\"relative w-full\">\n {/*\n --- Background/Ghost layer ---\n Mirrors user's typed text and shows suggestion as ghosted/gray\n */}\n <div\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 <span className=\"align-text-top text-transparent\">{text}</span>\n {(suggestion || suggestionProp) && (\n <span className=\"text-neutral ml-3 align-text-top\">\n {suggestionProp ?? suggestion}\n </span>\n )}\n </div>\n {/*\n --- Actual editable textarea ---\n Must share the same styling (font size, line-height, etc.) so\n text lines up exactly underneath the background layer.\n */}\n <AutoSizedTextArea\n {...props}\n value={text}\n onChange={(e) => {\n setIsTyped(true);\n setText(e.target.value);\n props.onChange?.(e);\n }}\n onKeyDown={(e) => {\n // If user presses Tab and we have a suggestion, accept it\n if (e.key === 'Tab' && suggestion) {\n e.preventDefault();\n acceptSuggestion();\n }\n props.onKeyDown?.(e);\n }}\n />\n </div>\n );\n};\n"],"names":["useState","useEffect","useAutocomplete","useConfiguration","jsxs","jsx","AutoSizedTextArea"],"mappings":";;;;;;;;;;;AAUa,MAAA,cAAc,CAAK,OAAU,UAAqB;AAC7D,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,aAAAA,SAAY,KAAK;AAE7DC,eAAAA,UAAU,MAAM;AACR,UAAA,QAAQ,WAAW,MAAM;AAC7B,wBAAkB,KAAK;AAAA,OACtB,KAAK;AAGD,WAAA,MAAM,aAAa,KAAK;AAAA,EAAA,GAC9B,CAAC,OAAO,KAAK,CAAC;AAEV,SAAA;AACT;AAOO,MAAM,uBAAsD,CAAC;AAAA,EAClE,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,GAAG;AACL,MAAM;AACJ,QAAM,eAAe,OAAO,MAAM,SAAS,MAAM,gBAAgB,EAAE;AAC7D,QAAA,EAAE,aAAa,IAAIC,uCAAgB;AACzC,QAAM,gBAAgBC,YAAAA,iBAAiB;AACvC,QAAM,CAAC,SAAS,UAAU,IAAIH,aAAAA,SAAS,KAAK;AAC5C,QAAM,CAAC,MAAM,OAAO,IAAIA,aAAAA,SAAS,YAAY;AAC7C,QAAM,CAAC,YAAY,aAAa,IAAIA,aAAAA,SAAS,EAAE;AAGzC,QAAA,gBAAgB,YAAY,MAAM,GAAG;AAE3CC,eAAAA,UAAU,MAAM;AACV,QAAA,OAAO,MAAM,UAAU,YAAa;AACxC,YAAQ,YAAY;AAAA,KACnB,CAAC,MAAM,OAAO,MAAM,YAAY,CAAC;AAEpCA,eAAAA,UAAU,MAAM;AACd,QAAI,CAAC,SAAU;AACf,QAAI,CAAC,QAAS;AAEd,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AACI,cAAA,WAAW,MAAM,aAAa;AAAA,UAClC,MAAM;AAAA,UACN,cAAc,cAAc,OAAO;AAAA,UACnC,OAAO,cAAc,OAAO;AAAA,UAC5B,aAAa,cAAc,OAAO;AAAA,QAAA,CACnC;AAEK,cAAA,iBAAiB,UAAU,MAAM,kBAAkB;AAKrD,YAAA,eAAe,WAAW,aAAa,GAAG;AAC5C,gBAAM,YAAY,eAAe,MAAM,cAAc,MAAM;AAC3D,iBAAO,cAAc,SAAS;AAAA,QAAA;AAGhC,eAAO,cAAc,cAAc;AAAA,eAC5B,KAAK;AACJ,gBAAA,MAAM,uBAAuB,GAAG;AAAA,MAAA;AAAA,IAE5C;AAEI,QAAA,cAAc,SAAS,GAAG;AAE5B,oBAAc,EAAE;AACA,sBAAA;AAAA,IAAA,OACX;AAEL,oBAAc,EAAE;AAAA,IAAA;AAAA,EAClB,GACC,CAAC,eAAe,QAAQ,CAAC;AAE5B,QAAM,mBAAmB,MAAM;AAErB,YAAA,CAAC,aAAa,WAAW,UAAU;AAC3C,kBAAc,EAAE;AAAA,EAClB;AAGE,SAAAG,2BAAA,KAAC,OAAI,EAAA,WAAU,mBAKb,UAAA;AAAA,IAAAA,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ,UAAA;AAAA,UAACC,2BAAA,IAAA,QAAA,EAAK,WAAU,mCAAmC,UAAK,MAAA;AAAA,WACtD,cAAc,mBACdA,2BAAAA,IAAC,UAAK,WAAU,oCACb,4BAAkB,WACrB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IAMAA,2BAAA;AAAA,MAACC,qCAAA;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ,OAAO;AAAA,QACP,UAAU,CAAC,MAAM;AACf,qBAAW,IAAI;AACP,kBAAA,EAAE,OAAO,KAAK;AACtB,gBAAM,WAAW,CAAC;AAAA,QACpB;AAAA,QACA,WAAW,CAAC,MAAM;AAEZ,cAAA,EAAE,QAAQ,SAAS,YAAY;AACjC,cAAE,eAAe;AACA,6BAAA;AAAA,UAAA;AAEnB,gBAAM,YAAY,CAAC;AAAA,QAAA;AAAA,MACrB;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;;"}
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ import { AutoSizedTextAreaProps } from './AutoSizeTextArea';
3
+ export declare const useDebounce: <T>(value: T, delay: number) => T;
4
+ export type AutocompleteTextAreaProps = AutoSizedTextAreaProps & {
5
+ isActive?: boolean;
6
+ suggestion?: string;
7
+ };
8
+ export declare const AutoCompleteTextarea: FC<AutocompleteTextAreaProps>;
9
+ //# sourceMappingURL=AutocompleteTextArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutocompleteTextArea.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/AutocompleteTextArea.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,EAAuB,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,WAAW,GAAI,CAAC,SAAU,CAAC,SAAS,MAAM,KAAG,CAazD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,GAAG;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA0G9D,CAAC"}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { useConfiguration } from "@intlayer/editor-react";
4
+ import { useState, useEffect } from "react";
5
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
+ import { useAutocomplete } from "../../hooks/intlayerAPIHooks.mjs";
8
+ import "deepmerge";
9
+ import { AutoSizedTextArea } from "./AutoSizeTextArea.mjs";
10
+ const useDebounce = (value, delay) => {
11
+ const [debouncedValue, setDebouncedValue] = useState(value);
12
+ useEffect(() => {
13
+ const timer = setTimeout(() => {
14
+ setDebouncedValue(value);
15
+ }, delay);
16
+ return () => clearTimeout(timer);
17
+ }, [value, delay]);
18
+ return debouncedValue;
19
+ };
20
+ const AutoCompleteTextarea = ({
21
+ isActive = true,
22
+ suggestion: suggestionProp,
23
+ ...props
24
+ }) => {
25
+ const defaultValue = String(props.value ?? props.defaultValue ?? "");
26
+ const { autocomplete } = useAutocomplete();
27
+ const configuration = useConfiguration();
28
+ const [isTyped, setIsTyped] = useState(false);
29
+ const [text, setText] = useState(defaultValue);
30
+ const [suggestion, setSuggestion] = useState("");
31
+ const debouncedText = useDebounce(text, 200);
32
+ useEffect(() => {
33
+ if (typeof props.value === "undefined") return;
34
+ setText(defaultValue);
35
+ }, [props.value, props.defaultValue]);
36
+ useEffect(() => {
37
+ if (!isActive) return;
38
+ if (!isTyped) return;
39
+ const fetchSuggestion = async () => {
40
+ try {
41
+ const response = await autocomplete({
42
+ text: debouncedText,
43
+ openAiApiKey: configuration.editor.openAiApiKey,
44
+ model: configuration.editor.openAiApiModel,
45
+ temperature: configuration.editor.openAiApiTemperature
46
+ });
47
+ const autocompletion = response?.data?.autocompletion ?? "";
48
+ if (autocompletion.startsWith(debouncedText)) {
49
+ const remaining = autocompletion.slice(debouncedText.length);
50
+ return setSuggestion(remaining);
51
+ }
52
+ return setSuggestion(autocompletion);
53
+ } catch (err) {
54
+ console.error("Autocomplete error:", err);
55
+ }
56
+ };
57
+ if (debouncedText.length > 3) {
58
+ setSuggestion("");
59
+ fetchSuggestion();
60
+ } else {
61
+ setSuggestion("");
62
+ }
63
+ }, [debouncedText, isActive]);
64
+ const acceptSuggestion = () => {
65
+ setText((prevText) => prevText + suggestion);
66
+ setSuggestion("");
67
+ };
68
+ return /* @__PURE__ */ jsxs("div", { className: "relative w-full", children: [
69
+ /* @__PURE__ */ jsxs(
70
+ "div",
71
+ {
72
+ 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]",
73
+ "aria-hidden": "true",
74
+ children: [
75
+ /* @__PURE__ */ jsx("span", { className: "align-text-top text-transparent", children: text }),
76
+ (suggestion || suggestionProp) && /* @__PURE__ */ jsx("span", { className: "text-neutral ml-3 align-text-top", children: suggestionProp ?? suggestion })
77
+ ]
78
+ }
79
+ ),
80
+ /* @__PURE__ */ jsx(
81
+ AutoSizedTextArea,
82
+ {
83
+ ...props,
84
+ value: text,
85
+ onChange: (e) => {
86
+ setIsTyped(true);
87
+ setText(e.target.value);
88
+ props.onChange?.(e);
89
+ },
90
+ onKeyDown: (e) => {
91
+ if (e.key === "Tab" && suggestion) {
92
+ e.preventDefault();
93
+ acceptSuggestion();
94
+ }
95
+ props.onKeyDown?.(e);
96
+ }
97
+ }
98
+ )
99
+ ] });
100
+ };
101
+ export {
102
+ AutoCompleteTextarea,
103
+ useDebounce
104
+ };
105
+ //# sourceMappingURL=AutocompleteTextArea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutocompleteTextArea.mjs","sources":["../../../src/components/TextArea/AutocompleteTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { useConfiguration } from '@intlayer/editor-react';\nimport { type FC, useState, useEffect } from 'react';\nimport { useAutocomplete } from '../../hooks';\nimport {\n type AutoSizedTextAreaProps,\n AutoSizedTextArea,\n} from './AutoSizeTextArea';\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\nexport type AutocompleteTextAreaProps = AutoSizedTextAreaProps & {\n isActive?: boolean;\n suggestion?: string;\n};\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 { autocomplete } = useAutocomplete();\n const configuration = useConfiguration();\n const [isTyped, setIsTyped] = useState(false);\n const [text, setText] = useState(defaultValue);\n const [suggestion, setSuggestion] = useState('');\n\n // Only update this “debouncedText” after the user stops typing for 500ms\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 response = await autocomplete({\n text: debouncedText,\n openAiApiKey: configuration.editor.openAiApiKey,\n model: configuration.editor.openAiApiModel,\n temperature: configuration.editor.openAiApiTemperature,\n });\n // e.g. response.data.autocompletion = \"Hello World\"\n const autocompletion = response?.data?.autocompletion ?? '';\n\n // If the suggested text starts with what the user typed,\n // we only store the *remaining* part as the suggestion\n // so that we can render \"ghost\" text appropriately.\n if (autocompletion.startsWith(debouncedText)) {\n const remaining = autocompletion.slice(debouncedText.length);\n return setSuggestion(remaining);\n }\n\n return setSuggestion(autocompletion);\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 fetchSuggestion();\n } else {\n // If typed less than threshold, clear the suggestion\n setSuggestion('');\n }\n }, [debouncedText, isActive]);\n\n const acceptSuggestion = () => {\n // Merge the typed text with the suggestion\n setText((prevText) => prevText + suggestion);\n setSuggestion('');\n };\n\n return (\n <div className=\"relative w-full\">\n {/*\n --- Background/Ghost layer ---\n Mirrors user's typed text and shows suggestion as ghosted/gray\n */}\n <div\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 <span className=\"align-text-top text-transparent\">{text}</span>\n {(suggestion || suggestionProp) && (\n <span className=\"text-neutral ml-3 align-text-top\">\n {suggestionProp ?? suggestion}\n </span>\n )}\n </div>\n {/*\n --- Actual editable textarea ---\n Must share the same styling (font size, line-height, etc.) so\n text lines up exactly underneath the background layer.\n */}\n <AutoSizedTextArea\n {...props}\n value={text}\n onChange={(e) => {\n setIsTyped(true);\n setText(e.target.value);\n props.onChange?.(e);\n }}\n onKeyDown={(e) => {\n // If user presses Tab and we have a suggestion, accept it\n if (e.key === 'Tab' && suggestion) {\n e.preventDefault();\n acceptSuggestion();\n }\n props.onKeyDown?.(e);\n }}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAUa,MAAA,cAAc,CAAK,OAAU,UAAqB;AAC7D,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAY,KAAK;AAE7D,YAAU,MAAM;AACR,UAAA,QAAQ,WAAW,MAAM;AAC7B,wBAAkB,KAAK;AAAA,OACtB,KAAK;AAGD,WAAA,MAAM,aAAa,KAAK;AAAA,EAAA,GAC9B,CAAC,OAAO,KAAK,CAAC;AAEV,SAAA;AACT;AAOO,MAAM,uBAAsD,CAAC;AAAA,EAClE,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,GAAG;AACL,MAAM;AACJ,QAAM,eAAe,OAAO,MAAM,SAAS,MAAM,gBAAgB,EAAE;AAC7D,QAAA,EAAE,aAAa,IAAI,gBAAgB;AACzC,QAAM,gBAAgB,iBAAiB;AACvC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,YAAY;AAC7C,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAGzC,QAAA,gBAAgB,YAAY,MAAM,GAAG;AAE3C,YAAU,MAAM;AACV,QAAA,OAAO,MAAM,UAAU,YAAa;AACxC,YAAQ,YAAY;AAAA,KACnB,CAAC,MAAM,OAAO,MAAM,YAAY,CAAC;AAEpC,YAAU,MAAM;AACd,QAAI,CAAC,SAAU;AACf,QAAI,CAAC,QAAS;AAEd,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AACI,cAAA,WAAW,MAAM,aAAa;AAAA,UAClC,MAAM;AAAA,UACN,cAAc,cAAc,OAAO;AAAA,UACnC,OAAO,cAAc,OAAO;AAAA,UAC5B,aAAa,cAAc,OAAO;AAAA,QAAA,CACnC;AAEK,cAAA,iBAAiB,UAAU,MAAM,kBAAkB;AAKrD,YAAA,eAAe,WAAW,aAAa,GAAG;AAC5C,gBAAM,YAAY,eAAe,MAAM,cAAc,MAAM;AAC3D,iBAAO,cAAc,SAAS;AAAA,QAAA;AAGhC,eAAO,cAAc,cAAc;AAAA,eAC5B,KAAK;AACJ,gBAAA,MAAM,uBAAuB,GAAG;AAAA,MAAA;AAAA,IAE5C;AAEI,QAAA,cAAc,SAAS,GAAG;AAE5B,oBAAc,EAAE;AACA,sBAAA;AAAA,IAAA,OACX;AAEL,oBAAc,EAAE;AAAA,IAAA;AAAA,EAClB,GACC,CAAC,eAAe,QAAQ,CAAC;AAE5B,QAAM,mBAAmB,MAAM;AAErB,YAAA,CAAC,aAAa,WAAW,UAAU;AAC3C,kBAAc,EAAE;AAAA,EAClB;AAGE,SAAA,qBAAC,OAAI,EAAA,WAAU,mBAKb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ,UAAA;AAAA,UAAC,oBAAA,QAAA,EAAK,WAAU,mCAAmC,UAAK,MAAA;AAAA,WACtD,cAAc,mBACd,oBAAC,UAAK,WAAU,oCACb,4BAAkB,WACrB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IAMA;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ,OAAO;AAAA,QACP,UAAU,CAAC,MAAM;AACf,qBAAW,IAAI;AACP,kBAAA,EAAE,OAAO,KAAK;AACtB,gBAAM,WAAW,CAAC;AAAA,QACpB;AAAA,QACA,WAAW,CAAC,MAAM;AAEZ,cAAA,EAAE,QAAQ,SAAS,YAAY;AACjC,cAAE,eAAe;AACA,6BAAA;AAAA,UAAA;AAEnB,gBAAM,YAAY,CAAC;AAAA,QAAA;AAAA,MACrB;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const components_TextArea_AutoSizeTextArea = require("./AutoSizeTextArea.cjs");
4
4
  const components_TextArea_TextArea = require("./TextArea.cjs");
5
+ const components_TextArea_AutocompleteTextArea = require("./AutocompleteTextArea.cjs");
5
6
  exports.AutoSizedTextArea = components_TextArea_AutoSizeTextArea.AutoSizedTextArea;
6
7
  exports.TextArea = components_TextArea_TextArea.TextArea;
8
+ exports.AutoCompleteTextarea = components_TextArea_AutocompleteTextArea.AutoCompleteTextarea;
9
+ exports.useDebounce = components_TextArea_AutocompleteTextArea.useDebounce;
7
10
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,3 +1,4 @@
1
1
  export * from './AutoSizeTextArea';
2
2
  export * from './TextArea';
3
+ export * from './AutocompleteTextArea';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { AutoSizedTextArea } from "./AutoSizeTextArea.mjs";
2
2
  import { TextArea } from "./TextArea.mjs";
3
+ import { AutoCompleteTextarea, useDebounce } from "./AutocompleteTextArea.mjs";
3
4
  export {
5
+ AutoCompleteTextarea,
4
6
  AutoSizedTextArea,
5
- TextArea
7
+ TextArea,
8
+ useDebounce
6
9
  };
7
10
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -11,7 +11,7 @@ const components_ThemeSwitcherDropDown_types = require("./types.cjs");
11
11
  const ButtonItem = ({ Icon, children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full p-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(
12
12
  components_Button_Button.Button,
13
13
  {
14
- className: "hover:bg-text/10 focus:bg-text-opposite/20 dark:hover:bg-text-opposite/10 dark:focus:bg-text-opposite/20 w-full cursor-pointer rounded-lg p-1 text-left focus:outline-none disabled:text-white/25",
14
+ className: "hover:bg-text/10 focus:bg-text-opposite/20 focus:outline-hidden w-full cursor-pointer rounded-lg p-1 text-left disabled:text-white/25",
15
15
  Icon,
16
16
  "data-mode": "system",
17
17
  role: "option",
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopThemeSwitcher.cjs","sources":["../../../src/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.tsx"],"sourcesContent":["'use client';\n\nimport { Moon, Sun, CircleDashed } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { type ButtonProps, Button } from '../Button';\nimport { Container } from '../Container';\nimport { DropDown } from '../DropDown';\nimport { Modes } from './types';\n\nconst ButtonItem: FC<ButtonProps> = ({ Icon, children, ...props }) => (\n <div className=\"relative w-full p-0.5\">\n <Button\n className=\"hover:bg-text/10 focus:bg-text-opposite/20 dark:hover:bg-text-opposite/10 dark:focus:bg-text-opposite/20 w-full cursor-pointer rounded-lg p-1 text-left focus:outline-none disabled:text-white/25\"\n Icon={Icon}\n data-mode=\"system\"\n role=\"option\"\n variant=\"none\"\n {...props}\n >\n {children}\n </Button>\n </div>\n);\n\ntype DesktopThemeSwitcherProps = {\n theme: Modes;\n setTheme: (theme: Modes) => void;\n systemTheme: Modes;\n};\n\nexport const DesktopThemeSwitcher: FC<DesktopThemeSwitcherProps> = ({\n theme,\n setTheme,\n systemTheme,\n}) => {\n const isThemeSystemTheme = systemTheme === theme;\n const defaultMode = isThemeSystemTheme ? Modes.system : theme;\n\n const [mode, setMode] = useState<Modes>(defaultMode);\n\n const switchMode = (mode: Modes) => {\n if (mode === Modes.system) {\n setTheme(systemTheme ?? Modes.light);\n } else {\n setTheme(mode);\n }\n setMode(mode);\n };\n\n const panelIdentifier = 'theme-switcher';\n\n return (\n <DropDown identifier={panelIdentifier}>\n <DropDown.Trigger\n className=\"p-2\"\n identifier={panelIdentifier}\n aria-label=\"Theme selector\"\n >\n {mode === Modes.system && <CircleDashed data-mode=\"system\" />}\n {mode === Modes.light && <Sun data-mode=\"light\" />}\n {mode === Modes.dark && <Moon data-mode=\"dark\" />}\n </DropDown.Trigger>\n\n <DropDown.Panel identifier={panelIdentifier} isFocusable isOverable>\n <Container className=\"min-w-[100px] items-start p-1\" separator=\"y\">\n <ButtonItem\n Icon={CircleDashed}\n onClick={() => switchMode(Modes.system)}\n isActive={mode === Modes.system}\n label=\"Restore to system mode\"\n >\n System\n </ButtonItem>\n <ButtonItem\n Icon={Sun}\n onClick={() => switchMode(Modes.light)}\n isActive={mode === Modes.light}\n label=\"Switch to light mode\"\n >\n Light\n </ButtonItem>\n <ButtonItem\n Icon={Moon}\n onClick={() => switchMode(Modes.dark)}\n isActive={mode === Modes.dark}\n label=\"Switch to dark mode\"\n >\n Dark\n </ButtonItem>\n </Container>\n </DropDown.Panel>\n </DropDown>\n );\n};\n"],"names":["jsx","Button","Modes","useState","mode","jsxs","DropDown","CircleDashed","Sun","Moon","Container"],"mappings":";;;;;;;;;;AASA,MAAM,aAA8B,CAAC,EAAE,MAAM,UAAU,GAAG,MAAA,MACxDA,2BAAA,IAAC,OAAI,EAAA,WAAU,yBACb,UAAAA,2BAAA;AAAA,EAACC,yBAAA;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV;AAAA,IACA,aAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACP,GAAG;AAAA,IAEH;AAAA,EAAA;AACH,GACF;AASK,MAAM,uBAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,qBAAqB,gBAAgB;AACrC,QAAA,cAAc,qBAAqBC,uCAAA,MAAM,SAAS;AAExD,QAAM,CAAC,MAAM,OAAO,IAAIC,aAAAA,SAAgB,WAAW;AAE7C,QAAA,aAAa,CAACC,UAAgB;AAC9BA,QAAAA,UAASF,6CAAM,QAAQ;AAChB,eAAA,eAAeA,6CAAM,KAAK;AAAA,IAAA,OAC9B;AACL,eAASE,KAAI;AAAA,IAAA;AAEf,YAAQA,KAAI;AAAA,EACd;AAEA,QAAM,kBAAkB;AAGtB,SAAAC,2BAAA,KAACC,0BAAS,UAAA,EAAA,YAAY,iBACpB,UAAA;AAAA,IAAAD,2BAAA;AAAA,MAACC,0BAAAA,SAAS;AAAA,MAAT;AAAA,QACC,WAAU;AAAA,QACV,YAAY;AAAA,QACZ,cAAW;AAAA,QAEV,UAAA;AAAA,UAAA,SAASJ,uCAAM,MAAA,UAAWF,2BAAAA,IAAAO,YAAAA,cAAA,EAAa,aAAU,UAAS;AAAA,UAC1D,SAASL,uCAAM,MAAA,SAAUF,2BAAAA,IAAAQ,YAAAA,KAAA,EAAI,aAAU,SAAQ;AAAA,UAC/C,SAASN,uCAAM,MAAA,QAASF,2BAAAA,IAAAS,YAAAA,MAAA,EAAK,aAAU,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjD;AAAA,IAECT,2BAAA,IAAAM,0BAAA,SAAS,OAAT,EAAe,YAAY,iBAAiB,aAAW,MAAC,YAAU,MACjE,UAACD,2BAAAA,KAAAK,2BAAAA,WAAA,EAAU,WAAU,iCAAgC,WAAU,KAC7D,UAAA;AAAA,MAAAV,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMO,YAAA;AAAA,UACN,SAAS,MAAM,WAAWL,uCAAA,MAAM,MAAM;AAAA,UACtC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,MACAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMQ,YAAA;AAAA,UACN,SAAS,MAAM,WAAWN,uCAAA,MAAM,KAAK;AAAA,UACrC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,MACAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMS,YAAA;AAAA,UACN,SAAS,MAAM,WAAWP,uCAAA,MAAM,IAAI;AAAA,UACpC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,EAAA,CACF,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
1
+ {"version":3,"file":"DesktopThemeSwitcher.cjs","sources":["../../../src/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.tsx"],"sourcesContent":["'use client';\n\nimport { Moon, Sun, CircleDashed } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { type ButtonProps, Button } from '../Button';\nimport { Container } from '../Container';\nimport { DropDown } from '../DropDown';\nimport { Modes } from './types';\n\nconst ButtonItem: FC<ButtonProps> = ({ Icon, children, ...props }) => (\n <div className=\"relative w-full p-0.5\">\n <Button\n className=\"hover:bg-text/10 focus:bg-text-opposite/20 focus:outline-hidden w-full cursor-pointer rounded-lg p-1 text-left disabled:text-white/25\"\n Icon={Icon}\n data-mode=\"system\"\n role=\"option\"\n variant=\"none\"\n {...props}\n >\n {children}\n </Button>\n </div>\n);\n\ntype DesktopThemeSwitcherProps = {\n theme: Modes;\n setTheme: (theme: Modes) => void;\n systemTheme: Modes;\n};\n\nexport const DesktopThemeSwitcher: FC<DesktopThemeSwitcherProps> = ({\n theme,\n setTheme,\n systemTheme,\n}) => {\n const isThemeSystemTheme = systemTheme === theme;\n const defaultMode = isThemeSystemTheme ? Modes.system : theme;\n\n const [mode, setMode] = useState<Modes>(defaultMode);\n\n const switchMode = (mode: Modes) => {\n if (mode === Modes.system) {\n setTheme(systemTheme ?? Modes.light);\n } else {\n setTheme(mode);\n }\n setMode(mode);\n };\n\n const panelIdentifier = 'theme-switcher';\n\n return (\n <DropDown identifier={panelIdentifier}>\n <DropDown.Trigger\n className=\"p-2\"\n identifier={panelIdentifier}\n aria-label=\"Theme selector\"\n >\n {mode === Modes.system && <CircleDashed data-mode=\"system\" />}\n {mode === Modes.light && <Sun data-mode=\"light\" />}\n {mode === Modes.dark && <Moon data-mode=\"dark\" />}\n </DropDown.Trigger>\n\n <DropDown.Panel identifier={panelIdentifier} isFocusable isOverable>\n <Container className=\"min-w-[100px] items-start p-1\" separator=\"y\">\n <ButtonItem\n Icon={CircleDashed}\n onClick={() => switchMode(Modes.system)}\n isActive={mode === Modes.system}\n label=\"Restore to system mode\"\n >\n System\n </ButtonItem>\n <ButtonItem\n Icon={Sun}\n onClick={() => switchMode(Modes.light)}\n isActive={mode === Modes.light}\n label=\"Switch to light mode\"\n >\n Light\n </ButtonItem>\n <ButtonItem\n Icon={Moon}\n onClick={() => switchMode(Modes.dark)}\n isActive={mode === Modes.dark}\n label=\"Switch to dark mode\"\n >\n Dark\n </ButtonItem>\n </Container>\n </DropDown.Panel>\n </DropDown>\n );\n};\n"],"names":["jsx","Button","Modes","useState","mode","jsxs","DropDown","CircleDashed","Sun","Moon","Container"],"mappings":";;;;;;;;;;AASA,MAAM,aAA8B,CAAC,EAAE,MAAM,UAAU,GAAG,MAAA,MACxDA,2BAAA,IAAC,OAAI,EAAA,WAAU,yBACb,UAAAA,2BAAA;AAAA,EAACC,yBAAA;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV;AAAA,IACA,aAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACP,GAAG;AAAA,IAEH;AAAA,EAAA;AACH,GACF;AASK,MAAM,uBAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,qBAAqB,gBAAgB;AACrC,QAAA,cAAc,qBAAqBC,uCAAA,MAAM,SAAS;AAExD,QAAM,CAAC,MAAM,OAAO,IAAIC,aAAAA,SAAgB,WAAW;AAE7C,QAAA,aAAa,CAACC,UAAgB;AAC9BA,QAAAA,UAASF,6CAAM,QAAQ;AAChB,eAAA,eAAeA,6CAAM,KAAK;AAAA,IAAA,OAC9B;AACL,eAASE,KAAI;AAAA,IAAA;AAEf,YAAQA,KAAI;AAAA,EACd;AAEA,QAAM,kBAAkB;AAGtB,SAAAC,2BAAA,KAACC,0BAAS,UAAA,EAAA,YAAY,iBACpB,UAAA;AAAA,IAAAD,2BAAA;AAAA,MAACC,0BAAAA,SAAS;AAAA,MAAT;AAAA,QACC,WAAU;AAAA,QACV,YAAY;AAAA,QACZ,cAAW;AAAA,QAEV,UAAA;AAAA,UAAA,SAASJ,uCAAM,MAAA,UAAWF,2BAAAA,IAAAO,YAAAA,cAAA,EAAa,aAAU,UAAS;AAAA,UAC1D,SAASL,uCAAM,MAAA,SAAUF,2BAAAA,IAAAQ,YAAAA,KAAA,EAAI,aAAU,SAAQ;AAAA,UAC/C,SAASN,uCAAM,MAAA,QAASF,2BAAAA,IAAAS,YAAAA,MAAA,EAAK,aAAU,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjD;AAAA,IAECT,2BAAA,IAAAM,0BAAA,SAAS,OAAT,EAAe,YAAY,iBAAiB,aAAW,MAAC,YAAU,MACjE,UAACD,2BAAAA,KAAAK,2BAAAA,WAAA,EAAU,WAAU,iCAAgC,WAAU,KAC7D,UAAA;AAAA,MAAAV,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMO,YAAA;AAAA,UACN,SAAS,MAAM,WAAWL,uCAAA,MAAM,MAAM;AAAA,UACtC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,MACAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMQ,YAAA;AAAA,UACN,SAAS,MAAM,WAAWN,uCAAA,MAAM,KAAK;AAAA,UACrC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,MACAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMS,YAAA;AAAA,UACN,SAAS,MAAM,WAAWP,uCAAA,MAAM,IAAI;AAAA,UACpC,UAAU,SAASA,uCAAAA,MAAM;AAAA,UACzB,OAAM;AAAA,UACP,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,EAAA,CACF,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
@@ -9,7 +9,7 @@ import { Modes } from "./types.mjs";
9
9
  const ButtonItem = ({ Icon, children, ...props }) => /* @__PURE__ */ jsx("div", { className: "relative w-full p-0.5", children: /* @__PURE__ */ jsx(
10
10
  Button,
11
11
  {
12
- className: "hover:bg-text/10 focus:bg-text-opposite/20 dark:hover:bg-text-opposite/10 dark:focus:bg-text-opposite/20 w-full cursor-pointer rounded-lg p-1 text-left focus:outline-none disabled:text-white/25",
12
+ className: "hover:bg-text/10 focus:bg-text-opposite/20 focus:outline-hidden w-full cursor-pointer rounded-lg p-1 text-left disabled:text-white/25",
13
13
  Icon,
14
14
  "data-mode": "system",
15
15
  role: "option",