@intlayer/design-system 5.1.4 → 5.1.6

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 (557) hide show
  1. package/dist/.vite/manifest.json +173 -132
  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 +1 -1
  112. package/dist/components/Command/index.d.ts.map +1 -1
  113. package/dist/components/Command/index.mjs +2 -2
  114. package/dist/components/Command/index.mjs.map +1 -1
  115. package/dist/components/Container/index.cjs +67 -83
  116. package/dist/components/Container/index.cjs.map +1 -1
  117. package/dist/components/Container/index.d.ts +5 -6
  118. package/dist/components/Container/index.d.ts.map +1 -1
  119. package/dist/components/Container/index.mjs +67 -83
  120. package/dist/components/Container/index.mjs.map +1 -1
  121. package/dist/components/ContentEditor/ContentEditor.cjs +1 -1
  122. package/dist/components/ContentEditor/ContentEditor.cjs.map +1 -1
  123. package/dist/components/ContentEditor/ContentEditor.mjs +1 -1
  124. package/dist/components/ContentEditor/ContentEditor.mjs.map +1 -1
  125. package/dist/components/ContentEditor/ContentEditorTextArea.cjs +2 -2
  126. package/dist/components/ContentEditor/ContentEditorTextArea.cjs.map +1 -1
  127. package/dist/components/ContentEditor/ContentEditorTextArea.d.ts.map +1 -1
  128. package/dist/components/ContentEditor/ContentEditorTextArea.mjs +2 -2
  129. package/dist/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  130. package/dist/components/DictionaryEditor/DictionaryEditor.cjs +4 -4
  131. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
  132. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts +1 -1
  133. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  134. package/dist/components/DictionaryEditor/DictionaryEditor.mjs +4 -4
  135. package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  136. package/dist/components/DictionaryEditor/ItemLayout.cjs +3 -3
  137. package/dist/components/DictionaryEditor/ItemLayout.cjs.map +1 -1
  138. package/dist/components/DictionaryEditor/ItemLayout.mjs +3 -3
  139. package/dist/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  140. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs +1 -1
  141. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
  142. package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.cjs +1 -1
  143. package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
  144. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.cjs +1 -1
  145. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
  146. package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.cjs +1 -1
  147. package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
  148. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs +1 -1
  149. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
  150. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs +2 -2
  151. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.map +1 -1
  152. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +2 -2
  153. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  154. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.cjs +1 -1
  155. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
  156. package/dist/components/DictionaryEditor/NodeWrapper/index.cjs +1 -1
  157. package/dist/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  158. package/dist/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  159. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs +4 -3
  160. package/dist/components/DictionaryFieldEditor/ContentEditor.cjs.map +1 -1
  161. package/dist/components/DictionaryFieldEditor/ContentEditor.d.ts.map +1 -1
  162. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs +5 -4
  163. package/dist/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  164. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +15 -9
  165. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs.map +1 -1
  166. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  167. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +15 -9
  168. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  169. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +13 -9
  170. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  171. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  172. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +13 -9
  173. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  174. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +94 -134
  175. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  176. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +0 -1
  177. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  178. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +98 -138
  179. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  180. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs +0 -143
  181. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
  182. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +0 -143
  183. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  184. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +0 -143
  185. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  186. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs +1 -2
  187. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.cjs.map +1 -1
  188. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts +0 -3
  189. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.d.ts.map +1 -1
  190. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +1 -2
  191. package/dist/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  192. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +52 -71
  193. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  194. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -1
  195. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  196. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +52 -71
  197. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  198. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +65 -97
  199. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  200. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +3 -3
  201. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  202. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +68 -100
  203. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  204. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +0 -32
  205. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  206. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +0 -32
  207. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  208. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +0 -32
  209. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  210. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +9 -2
  211. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs.map +1 -1
  212. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  213. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +9 -2
  214. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  215. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs +3 -3
  216. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.cjs.map +1 -1
  217. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +3 -3
  218. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  219. package/dist/components/DictionaryFieldEditor/index.cjs +0 -2
  220. package/dist/components/DictionaryFieldEditor/index.cjs.map +1 -1
  221. package/dist/components/DictionaryFieldEditor/index.d.ts +0 -1
  222. package/dist/components/DictionaryFieldEditor/index.d.ts.map +1 -1
  223. package/dist/components/DictionaryFieldEditor/index.mjs +0 -2
  224. package/dist/components/DictionaryFieldEditor/index.mjs.map +1 -1
  225. package/dist/components/EditableField/EditableFieldTextArea.cjs +7 -0
  226. package/dist/components/EditableField/EditableFieldTextArea.cjs.map +1 -1
  227. package/dist/components/EditableField/EditableFieldTextArea.mjs +7 -0
  228. package/dist/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  229. package/dist/components/Footer/index.cjs +1 -1
  230. package/dist/components/Footer/index.cjs.map +1 -1
  231. package/dist/components/Footer/index.mjs +1 -1
  232. package/dist/components/Footer/index.mjs.map +1 -1
  233. package/dist/components/Form/Form.cjs +1 -1
  234. package/dist/components/Form/Form.mjs +1 -1
  235. package/dist/components/Form/FormBase.cjs +0 -1
  236. package/dist/components/Form/FormBase.cjs.map +1 -1
  237. package/dist/components/Form/FormBase.d.ts +1 -4
  238. package/dist/components/Form/FormBase.d.ts.map +1 -1
  239. package/dist/components/Form/FormBase.mjs +0 -1
  240. package/dist/components/Form/FormBase.mjs.map +1 -1
  241. package/dist/components/Form/FormDescription.cjs +1 -8
  242. package/dist/components/Form/FormDescription.cjs.map +1 -1
  243. package/dist/components/Form/FormDescription.d.ts.map +1 -1
  244. package/dist/components/Form/FormDescription.mjs +1 -8
  245. package/dist/components/Form/FormDescription.mjs.map +1 -1
  246. package/dist/components/Form/FormItem.cjs +1 -1
  247. package/dist/components/Form/FormItem.cjs.map +1 -1
  248. package/dist/components/Form/FormItem.mjs +1 -1
  249. package/dist/components/Form/FormItem.mjs.map +1 -1
  250. package/dist/components/Form/FormLabel.cjs +1 -5
  251. package/dist/components/Form/FormLabel.cjs.map +1 -1
  252. package/dist/components/Form/FormLabel.d.ts.map +1 -1
  253. package/dist/components/Form/FormLabel.mjs +1 -5
  254. package/dist/components/Form/FormLabel.mjs.map +1 -1
  255. package/dist/components/Form/FormMessage.cjs +1 -1
  256. package/dist/components/Form/FormMessage.cjs.map +1 -1
  257. package/dist/components/Form/FormMessage.mjs +1 -1
  258. package/dist/components/Form/FormMessage.mjs.map +1 -1
  259. package/dist/components/Form/elements/AutoSizeTextAreaElement.cjs +1 -1
  260. package/dist/components/Form/elements/AutoSizeTextAreaElement.mjs +1 -1
  261. package/dist/components/Form/elements/CheckboxElement.cjs +1 -1
  262. package/dist/components/Form/elements/CheckboxElement.mjs +1 -1
  263. package/dist/components/Form/elements/EditableFieldInputElement.cjs +1 -1
  264. package/dist/components/Form/elements/EditableFieldInputElement.d.ts +1 -1
  265. package/dist/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
  266. package/dist/components/Form/elements/EditableFieldInputElement.mjs +1 -1
  267. package/dist/components/Form/elements/EditableFieldTextAreaElement.cjs +1 -1
  268. package/dist/components/Form/elements/EditableFieldTextAreaElement.d.ts +1 -1
  269. package/dist/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
  270. package/dist/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -1
  271. package/dist/components/Form/elements/FormElement.cjs +1 -1
  272. package/dist/components/Form/elements/FormElement.mjs +1 -1
  273. package/dist/components/Form/elements/InputElement.cjs +1 -1
  274. package/dist/components/Form/elements/InputElement.mjs +1 -1
  275. package/dist/components/Form/elements/InputPasswordElement.cjs +1 -1
  276. package/dist/components/Form/elements/InputPasswordElement.mjs +1 -1
  277. package/dist/components/Form/elements/MultiselectElement.cjs +1 -1
  278. package/dist/components/Form/elements/MultiselectElement.mjs +1 -1
  279. package/dist/components/Form/elements/SelectElement.cjs +1 -1
  280. package/dist/components/Form/elements/SelectElement.mjs +1 -1
  281. package/dist/components/Form/elements/SwitchSelectorElement.cjs +1 -1
  282. package/dist/components/Form/elements/SwitchSelectorElement.mjs +1 -1
  283. package/dist/components/Form/elements/TextAreaElement.cjs +1 -1
  284. package/dist/components/Form/elements/TextAreaElement.mjs +1 -1
  285. package/dist/components/Form/elements/index.cjs +1 -1
  286. package/dist/components/Form/elements/index.mjs +1 -1
  287. package/dist/components/Form/index.cjs +1 -1
  288. package/dist/components/Form/index.mjs +1 -1
  289. package/dist/components/Form/layout/FormItemLayout.cjs +1 -1
  290. package/dist/components/Form/layout/FormItemLayout.mjs +1 -1
  291. package/dist/components/Form/layout/index.cjs +1 -1
  292. package/dist/components/Form/layout/index.mjs +1 -1
  293. package/dist/components/Headers/index.cjs +1 -1
  294. package/dist/components/Headers/index.cjs.map +1 -1
  295. package/dist/components/Headers/index.mjs +1 -1
  296. package/dist/components/Headers/index.mjs.map +1 -1
  297. package/dist/components/IDE/Code.cjs +1 -1
  298. package/dist/components/IDE/Code.cjs.map +1 -1
  299. package/dist/components/IDE/Code.mjs +1 -1
  300. package/dist/components/IDE/Code.mjs.map +1 -1
  301. package/dist/components/IDE/CodeBlockClient.cjs +8 -1
  302. package/dist/components/IDE/CodeBlockClient.cjs.map +1 -1
  303. package/dist/components/IDE/CodeBlockClient.d.ts.map +1 -1
  304. package/dist/components/IDE/CodeBlockClient.mjs +8 -1
  305. package/dist/components/IDE/CodeBlockClient.mjs.map +1 -1
  306. package/dist/components/IDE/CodeBlockServer.cjs +8 -1
  307. package/dist/components/IDE/CodeBlockServer.cjs.map +1 -1
  308. package/dist/components/IDE/CodeBlockServer.d.ts.map +1 -1
  309. package/dist/components/IDE/CodeBlockServer.mjs +8 -1
  310. package/dist/components/IDE/CodeBlockServer.mjs.map +1 -1
  311. package/dist/components/IDE/FileList.cjs +1 -1
  312. package/dist/components/IDE/FileList.cjs.map +1 -1
  313. package/dist/components/IDE/FileList.mjs +1 -1
  314. package/dist/components/IDE/FileList.mjs.map +1 -1
  315. package/dist/components/IDE/FileTree.cjs +1 -1
  316. package/dist/components/IDE/FileTree.cjs.map +1 -1
  317. package/dist/components/IDE/FileTree.mjs +1 -1
  318. package/dist/components/IDE/FileTree.mjs.map +1 -1
  319. package/dist/components/IDE/IDE.cjs +7 -3
  320. package/dist/components/IDE/IDE.cjs.map +1 -1
  321. package/dist/components/IDE/IDE.d.ts +1 -0
  322. package/dist/components/IDE/IDE.d.ts.map +1 -1
  323. package/dist/components/IDE/IDE.mjs +8 -4
  324. package/dist/components/IDE/IDE.mjs.map +1 -1
  325. package/dist/components/Input/Checkbox.cjs +10 -11
  326. package/dist/components/Input/Checkbox.cjs.map +1 -1
  327. package/dist/components/Input/Checkbox.d.ts +1 -1
  328. package/dist/components/Input/Checkbox.mjs +10 -11
  329. package/dist/components/Input/Checkbox.mjs.map +1 -1
  330. package/dist/components/Input/Input.cjs +7 -7
  331. package/dist/components/Input/Input.cjs.map +1 -1
  332. package/dist/components/Input/Input.d.ts.map +1 -1
  333. package/dist/components/Input/Input.mjs +7 -7
  334. package/dist/components/Input/Input.mjs.map +1 -1
  335. package/dist/components/Input/InputPassword.cjs +1 -1
  336. package/dist/components/Input/InputPassword.cjs.map +1 -1
  337. package/dist/components/Input/InputPassword.mjs +1 -1
  338. package/dist/components/Input/InputPassword.mjs.map +1 -1
  339. package/dist/components/KeyboardScreenAdapter/index.cjs +25 -0
  340. package/dist/components/KeyboardScreenAdapter/index.cjs.map +1 -0
  341. package/dist/components/KeyboardScreenAdapter/index.d.ts +3 -0
  342. package/dist/components/KeyboardScreenAdapter/index.d.ts.map +1 -0
  343. package/dist/components/KeyboardScreenAdapter/index.mjs +25 -0
  344. package/dist/components/KeyboardScreenAdapter/index.mjs.map +1 -0
  345. package/dist/components/Link/Link.cjs +26 -20
  346. package/dist/components/Link/Link.cjs.map +1 -1
  347. package/dist/components/Link/Link.d.ts +1 -1
  348. package/dist/components/Link/Link.d.ts.map +1 -1
  349. package/dist/components/Link/Link.mjs +26 -20
  350. package/dist/components/Link/Link.mjs.map +1 -1
  351. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +4 -4
  352. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs.map +1 -1
  353. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +4 -4
  354. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  355. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs +4 -4
  356. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.map +1 -1
  357. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +4 -4
  358. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  359. package/dist/components/MarkDownRender/index.cjs +115 -114
  360. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  361. package/dist/components/MarkDownRender/index.d.ts +1 -1
  362. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  363. package/dist/components/MarkDownRender/index.mjs +115 -114
  364. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  365. package/dist/components/MaxHeightSmoother/index.cjs +3 -1
  366. package/dist/components/MaxHeightSmoother/index.cjs.map +1 -1
  367. package/dist/components/MaxHeightSmoother/index.d.ts.map +1 -1
  368. package/dist/components/MaxHeightSmoother/index.mjs +3 -1
  369. package/dist/components/MaxHeightSmoother/index.mjs.map +1 -1
  370. package/dist/components/Modal/Modal.cjs +16 -14
  371. package/dist/components/Modal/Modal.cjs.map +1 -1
  372. package/dist/components/Modal/Modal.d.ts.map +1 -1
  373. package/dist/components/Modal/Modal.mjs +16 -14
  374. package/dist/components/Modal/Modal.mjs.map +1 -1
  375. package/dist/components/Navbar/Burger.cjs +1 -1
  376. package/dist/components/Navbar/Burger.cjs.map +1 -1
  377. package/dist/components/Navbar/Burger.mjs +1 -1
  378. package/dist/components/Navbar/Burger.mjs.map +1 -1
  379. package/dist/components/Navbar/DesktopNavbar.cjs +2 -2
  380. package/dist/components/Navbar/DesktopNavbar.cjs.map +1 -1
  381. package/dist/components/Navbar/DesktopNavbar.mjs +2 -2
  382. package/dist/components/Navbar/DesktopNavbar.mjs.map +1 -1
  383. package/dist/components/Navbar/MobileNavbar.cjs +2 -2
  384. package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
  385. package/dist/components/Navbar/MobileNavbar.mjs +2 -2
  386. package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
  387. package/dist/components/Pattern/DotPattern.cjs +1 -1
  388. package/dist/components/Pattern/DotPattern.cjs.map +1 -1
  389. package/dist/components/Pattern/DotPattern.mjs +1 -1
  390. package/dist/components/Pattern/DotPattern.mjs.map +1 -1
  391. package/dist/components/Pattern/GridPattern.cjs +1 -1
  392. package/dist/components/Pattern/GridPattern.cjs.map +1 -1
  393. package/dist/components/Pattern/GridPattern.mjs +1 -1
  394. package/dist/components/Pattern/GridPattern.mjs.map +1 -1
  395. package/dist/components/Popover/index.cjs +1 -1
  396. package/dist/components/Popover/index.cjs.map +1 -1
  397. package/dist/components/Popover/index.mjs +1 -1
  398. package/dist/components/Popover/index.mjs.map +1 -1
  399. package/dist/components/RightDrawer/RightDrawer.cjs +2 -2
  400. package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
  401. package/dist/components/RightDrawer/RightDrawer.d.ts.map +1 -1
  402. package/dist/components/RightDrawer/RightDrawer.mjs +2 -2
  403. package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
  404. package/dist/components/Select/Multiselect.cjs +8 -9
  405. package/dist/components/Select/Multiselect.cjs.map +1 -1
  406. package/dist/components/Select/Multiselect.d.ts.map +1 -1
  407. package/dist/components/Select/Multiselect.mjs +9 -10
  408. package/dist/components/Select/Multiselect.mjs.map +1 -1
  409. package/dist/components/Select/Select.cjs +7 -8
  410. package/dist/components/Select/Select.cjs.map +1 -1
  411. package/dist/components/Select/Select.d.ts.map +1 -1
  412. package/dist/components/Select/Select.mjs +7 -8
  413. package/dist/components/Select/Select.mjs.map +1 -1
  414. package/dist/components/SwitchSelector/index.cjs +11 -11
  415. package/dist/components/SwitchSelector/index.cjs.map +1 -1
  416. package/dist/components/SwitchSelector/index.d.ts +1 -1
  417. package/dist/components/SwitchSelector/index.d.ts.map +1 -1
  418. package/dist/components/SwitchSelector/index.mjs +11 -11
  419. package/dist/components/SwitchSelector/index.mjs.map +1 -1
  420. package/dist/components/TabSelector/TabSelector.cjs +15 -13
  421. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  422. package/dist/components/TabSelector/TabSelector.d.ts +1 -1
  423. package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
  424. package/dist/components/TabSelector/TabSelector.mjs +15 -13
  425. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  426. package/dist/components/Tag/index.cjs +6 -7
  427. package/dist/components/Tag/index.cjs.map +1 -1
  428. package/dist/components/Tag/index.d.ts +2 -2
  429. package/dist/components/Tag/index.d.ts.map +1 -1
  430. package/dist/components/Tag/index.mjs +6 -7
  431. package/dist/components/Tag/index.mjs.map +1 -1
  432. package/dist/components/TextArea/AutoSizeTextArea.cjs +1 -0
  433. package/dist/components/TextArea/AutoSizeTextArea.cjs.map +1 -1
  434. package/dist/components/TextArea/AutoSizeTextArea.d.ts.map +1 -1
  435. package/dist/components/TextArea/AutoSizeTextArea.mjs +1 -0
  436. package/dist/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  437. package/dist/components/TextArea/AutocompleteTextArea.cjs +105 -0
  438. package/dist/components/TextArea/AutocompleteTextArea.cjs.map +1 -0
  439. package/dist/components/TextArea/AutocompleteTextArea.d.ts +9 -0
  440. package/dist/components/TextArea/AutocompleteTextArea.d.ts.map +1 -0
  441. package/dist/components/TextArea/AutocompleteTextArea.mjs +105 -0
  442. package/dist/components/TextArea/AutocompleteTextArea.mjs.map +1 -0
  443. package/dist/components/TextArea/index.cjs +3 -0
  444. package/dist/components/TextArea/index.cjs.map +1 -1
  445. package/dist/components/TextArea/index.d.ts +1 -0
  446. package/dist/components/TextArea/index.d.ts.map +1 -1
  447. package/dist/components/TextArea/index.mjs +4 -1
  448. package/dist/components/TextArea/index.mjs.map +1 -1
  449. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs +1 -1
  450. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs.map +1 -1
  451. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
  452. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  453. package/dist/components/Toaster/Toast.cjs +5 -5
  454. package/dist/components/Toaster/Toast.cjs.map +1 -1
  455. package/dist/components/Toaster/Toast.d.ts +1 -1
  456. package/dist/components/Toaster/Toast.d.ts.map +1 -1
  457. package/dist/components/Toaster/Toast.mjs +5 -5
  458. package/dist/components/Toaster/Toast.mjs.map +1 -1
  459. package/dist/components/Toaster/Toaster.cjs +1 -1
  460. package/dist/components/Toaster/Toaster.cjs.map +1 -1
  461. package/dist/components/Toaster/Toaster.mjs +1 -1
  462. package/dist/components/Toaster/Toaster.mjs.map +1 -1
  463. package/dist/components/WithResizer/index.cjs +2 -2
  464. package/dist/components/WithResizer/index.cjs.map +1 -1
  465. package/dist/components/WithResizer/index.mjs +2 -2
  466. package/dist/components/WithResizer/index.mjs.map +1 -1
  467. package/dist/components/index.cjs +14 -3
  468. package/dist/components/index.cjs.map +1 -1
  469. package/dist/components/index.d.ts +2 -0
  470. package/dist/components/index.d.ts.map +1 -1
  471. package/dist/components/index.mjs +14 -3
  472. package/dist/components/index.mjs.map +1 -1
  473. package/dist/hooks/index.cjs +5 -0
  474. package/dist/hooks/index.cjs.map +1 -1
  475. package/dist/hooks/index.d.ts +1 -0
  476. package/dist/hooks/index.d.ts.map +1 -1
  477. package/dist/hooks/index.mjs +6 -1
  478. package/dist/hooks/index.mjs.map +1 -1
  479. package/dist/hooks/intlayerAPIHooks.cjs +18 -4
  480. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  481. package/dist/hooks/intlayerAPIHooks.d.ts +5 -2
  482. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  483. package/dist/hooks/intlayerAPIHooks.mjs +18 -4
  484. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  485. package/dist/hooks/useAsync/useAsyncStateStore.cjs +8 -14
  486. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  487. package/dist/hooks/useAsync/useAsyncStateStore.d.ts.map +1 -1
  488. package/dist/hooks/useAsync/useAsyncStateStore.mjs +8 -14
  489. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  490. package/dist/hooks/useGetAllDictionaries.d.ts.map +1 -1
  491. package/dist/hooks/useIntlayerAPI.d.ts +5 -2
  492. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  493. package/dist/hooks/useKeyboardDetector.cjs +27 -0
  494. package/dist/hooks/useKeyboardDetector.cjs.map +1 -0
  495. package/dist/hooks/useKeyboardDetector.d.ts +5 -0
  496. package/dist/hooks/useKeyboardDetector.d.ts.map +1 -0
  497. package/dist/hooks/useKeyboardDetector.mjs +27 -0
  498. package/dist/hooks/useKeyboardDetector.mjs.map +1 -0
  499. package/dist/index-BCuMWKyy.js.map +1 -1
  500. package/dist/index-BYzBot7l.cjs.map +1 -1
  501. package/dist/{index-BUe-qmA0.js → index-C57uA6Lk.js} +2 -2
  502. package/dist/{index-BUe-qmA0.js.map → index-C57uA6Lk.js.map} +1 -1
  503. package/dist/{index-cg9H6eBs.cjs → index-D02c1QrF.cjs} +2 -2
  504. package/dist/{index-cg9H6eBs.cjs.map → index-D02c1QrF.cjs.map} +1 -1
  505. package/dist/{index-BTDHuTxL.js → index-DixKT3Hi.js} +40 -11
  506. package/dist/index-DixKT3Hi.js.map +1 -0
  507. package/dist/{index-Db5Dym4h.cjs → index-a_-DkvMQ.cjs} +40 -11
  508. package/dist/index-a_-DkvMQ.cjs.map +1 -0
  509. package/dist/tailwind.config.cjs +2 -1395
  510. package/dist/tailwind.config.cjs.map +1 -1
  511. package/dist/tailwind.config.d.ts +3 -282
  512. package/dist/tailwind.config.d.ts.map +1 -1
  513. package/dist/tailwind.config.mjs +2 -1395
  514. package/dist/tailwind.config.mjs.map +1 -1
  515. package/dist/tailwind.css +2 -1
  516. package/dist/zod-BV4nCGJE.js.map +1 -1
  517. package/dist/zod-DSrtTSD_.cjs.map +1 -1
  518. package/package.json +28 -25
  519. package/dist/Form-BZUDRfoN.js.map +0 -1
  520. package/dist/Form-yi0CMK-a.cjs.map +0 -1
  521. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +0 -120
  522. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +0 -1
  523. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts +0 -9
  524. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +0 -1
  525. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +0 -120
  526. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +0 -1
  527. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs +0 -132
  528. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +0 -1
  529. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +0 -1
  530. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs +0 -132
  531. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +0 -1
  532. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs +0 -8
  533. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs.map +0 -1
  534. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts +0 -4
  535. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts.map +0 -1
  536. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs +0 -8
  537. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs.map +0 -1
  538. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +0 -45
  539. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +0 -1
  540. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts +0 -9
  541. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +0 -1
  542. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +0 -45
  543. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +0 -1
  544. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.cjs +0 -40
  545. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.cjs.map +0 -1
  546. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts +0 -36
  547. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.d.ts.map +0 -1
  548. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.mjs +0 -40
  549. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.mjs.map +0 -1
  550. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.cjs +0 -8
  551. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.cjs.map +0 -1
  552. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.d.ts +0 -4
  553. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.d.ts.map +0 -1
  554. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.mjs +0 -8
  555. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.mjs.map +0 -1
  556. package/dist/index-BTDHuTxL.js.map +0 -1
  557. package/dist/index-Db5Dym4h.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileTree.cjs","sources":["../../../src/components/IDE/FileTree.tsx"],"sourcesContent":["'use client';\n\nimport { ChevronRight } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport { createFileTree, type FilePath } from './createFileTree';\n\ntype FileTreeProps = {\n filesPaths: string[];\n activeFile?: string;\n onClickFile?: (filePath: string) => void;\n prePaths?: string[];\n};\n\nconst concatFilePath = (paths: string[]) => paths.join('/');\n\ntype FileItemProps = {\n filesPaths: string[];\n subPath?: FilePath[];\n path: string;\n onClickFile?: (title: string) => void;\n activeFile?: string;\n prePaths: string[];\n isFile: boolean;\n};\n\nconst FileItem: FC<FileItemProps> = ({\n filesPaths,\n path,\n subPath,\n onClickFile,\n activeFile,\n prePaths,\n isFile,\n}) => {\n const [subPathOpen, setSubPathOpen] = useState(true);\n\n const level = prePaths.length + 1;\n const currentPath = concatFilePath([\n ...prePaths.slice(level - 1, level),\n path,\n ]);\n const totalPath = concatFilePath([...prePaths, path]);\n\n const filteredFilePaths = filesPaths\n .map(\n (path) => path.replace(/^\\/?/, '') // This regex matches the first slash, if it exists, at the start of the string)\n )\n .filter((filePath) => filePath.startsWith(currentPath));\n\n const newPath = filteredFilePaths.map((path) =>\n path.replace(currentPath, '').replace(/^\\/?/, '')\n );\n\n const isActive = totalPath === activeFile;\n\n const indentation = new Array(level).fill(' ').join('');\n\n return (\n <>\n <button\n className={cn(\n 'flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition',\n isActive\n ? 'bg-neutral-200 dark:bg-neutral-700'\n : 'cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900'\n )}\n key={path}\n onClick={() => {\n if (isFile) {\n onClickFile?.(totalPath);\n } else {\n setSubPathOpen(!subPathOpen);\n }\n }}\n >\n <span className={cn('whitespace-pre', isFile && 'ml-2')}>\n {indentation}\n </span>\n\n {!isFile && (\n <ChevronRight\n className={cn(`transition`, subPathOpen && `rotate-90 transform`)}\n size={16}\n />\n )}\n {path}\n </button>\n {subPath && (\n <MaxHeightSmoother\n isHidden={!subPathOpen}\n className=\"overflow-x-hidden\"\n >\n <FileTree\n filesPaths={newPath}\n activeFile={activeFile}\n onClickFile={onClickFile}\n prePaths={[...prePaths, path]}\n />\n </MaxHeightSmoother>\n )}\n </>\n );\n};\n\nexport const FileTree: FC<FileTreeProps> = ({\n filesPaths,\n activeFile,\n onClickFile,\n prePaths = [],\n}) => {\n const fileTree = createFileTree(filesPaths);\n\n return (\n <div className=\"text-neutral dark:text-neutral-dark flex size-full flex-col items-start justify-start py-1\">\n {fileTree.map(({ path, subPath, isFile }) => (\n <FileItem\n key={path}\n isFile={isFile}\n subPath={subPath}\n path={path}\n onClickFile={onClickFile}\n activeFile={activeFile}\n prePaths={prePaths}\n filesPaths={filesPaths}\n />\n ))}\n </div>\n );\n};\n"],"names":["useState","path","jsxs","Fragment","cn","jsx","ChevronRight","MaxHeightSmoother","createFileTree"],"mappings":";;;;;;;;;AAeA,MAAM,iBAAiB,CAAC,UAAoB,MAAM,KAAK,GAAG;AAY1D,MAAM,WAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAIA,aAAAA,SAAS,IAAI;AAE7C,QAAA,QAAQ,SAAS,SAAS;AAChC,QAAM,cAAc,eAAe;AAAA,IACjC,GAAG,SAAS,MAAM,QAAQ,GAAG,KAAK;AAAA,IAClC;AAAA,EAAA,CACD;AACD,QAAM,YAAY,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC;AAEpD,QAAM,oBAAoB,WACvB;AAAA,IACC,CAACC,UAASA,MAAK,QAAQ,QAAQ,EAAE;AAAA;AAAA,EAAA,EAElC,OAAO,CAAC,aAAa,SAAS,WAAW,WAAW,CAAC;AAExD,QAAM,UAAU,kBAAkB;AAAA,IAAI,CAACA,UACrCA,MAAK,QAAQ,aAAa,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAEA,QAAM,WAAW,cAAc;AAEzB,QAAA,cAAc,IAAI,MAAM,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE;AAEvD,SAEIC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAD,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE,SAAA;AAAA,UACT;AAAA,UACA,WACI,uCACA;AAAA,QACN;AAAA,QAEA,SAAS,MAAM;AACb,cAAI,QAAQ;AACV,0BAAc,SAAS;AAAA,UAAA,OAClB;AACL,2BAAe,CAAC,WAAW;AAAA,UAAA;AAAA,QAE/B;AAAA,QAEA,UAAA;AAAA,UAAAC,2BAAAA,IAAC,UAAK,WAAWD,YAAG,kBAAkB,UAAU,MAAM,GACnD,UACH,aAAA;AAAA,UAEC,CAAC,UACAC,2BAAA;AAAA,YAACC,YAAA;AAAA,YAAA;AAAA,cACC,WAAWF,SAAA,GAAG,cAAc,eAAe,qBAAqB;AAAA,cAChE,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAED;AAAA,QAAA;AAAA,MAAA;AAAA,MAnBI;AAAA,IAoBP;AAAA,IACC,WACCC,2BAAA;AAAA,MAACE,mCAAA;AAAA,MAAA;AAAA,QACC,UAAU,CAAC;AAAA,QACX,WAAU;AAAA,QAEV,UAAAF,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,UAAU,CAAC,GAAG,UAAU,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;AAEO,MAAM,WAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAA;AACb,MAAM;AACE,QAAA,WAAWG,6CAAe,UAAU;AAGxC,SAAAH,2BAAA,IAAC,OAAI,EAAA,WAAU,8FACZ,UAAA,SAAS,IAAI,CAAC,EAAE,MAAM,SAAS,OAC9B,MAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPK;AAAA,EASR,CAAA,GACH;AAEJ;;"}
1
+ {"version":3,"file":"FileTree.cjs","sources":["../../../src/components/IDE/FileTree.tsx"],"sourcesContent":["'use client';\n\nimport { ChevronRight } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport { createFileTree, type FilePath } from './createFileTree';\n\ntype FileTreeProps = {\n filesPaths: string[];\n activeFile?: string;\n onClickFile?: (filePath: string) => void;\n prePaths?: string[];\n};\n\nconst concatFilePath = (paths: string[]) => paths.join('/');\n\ntype FileItemProps = {\n filesPaths: string[];\n subPath?: FilePath[];\n path: string;\n onClickFile?: (title: string) => void;\n activeFile?: string;\n prePaths: string[];\n isFile: boolean;\n};\n\nconst FileItem: FC<FileItemProps> = ({\n filesPaths,\n path,\n subPath,\n onClickFile,\n activeFile,\n prePaths,\n isFile,\n}) => {\n const [subPathOpen, setSubPathOpen] = useState(true);\n\n const level = prePaths.length + 1;\n const currentPath = concatFilePath([\n ...prePaths.slice(level - 1, level),\n path,\n ]);\n const totalPath = concatFilePath([...prePaths, path]);\n\n const filteredFilePaths = filesPaths\n .map(\n (path) => path.replace(/^\\/?/, '') // This regex matches the first slash, if it exists, at the start of the string)\n )\n .filter((filePath) => filePath.startsWith(currentPath));\n\n const newPath = filteredFilePaths.map((path) =>\n path.replace(currentPath, '').replace(/^\\/?/, '')\n );\n\n const isActive = totalPath === activeFile;\n\n const indentation = new Array(level).fill(' ').join('');\n\n return (\n <>\n <button\n className={cn(\n 'flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition',\n isActive\n ? 'bg-neutral-200 dark:bg-neutral-700'\n : 'cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900'\n )}\n key={path}\n onClick={() => {\n if (isFile) {\n onClickFile?.(totalPath);\n } else {\n setSubPathOpen(!subPathOpen);\n }\n }}\n >\n <span className={cn('whitespace-pre', isFile && 'ml-2')}>\n {indentation}\n </span>\n\n {!isFile && (\n <ChevronRight\n className={cn(`transition`, subPathOpen && `rotate-90 transform`)}\n size={16}\n />\n )}\n {path}\n </button>\n {subPath && (\n <MaxHeightSmoother\n isHidden={!subPathOpen}\n className=\"overflow-x-hidden\"\n >\n <FileTree\n filesPaths={newPath}\n activeFile={activeFile}\n onClickFile={onClickFile}\n prePaths={[...prePaths, path]}\n />\n </MaxHeightSmoother>\n )}\n </>\n );\n};\n\nexport const FileTree: FC<FileTreeProps> = ({\n filesPaths,\n activeFile,\n onClickFile,\n prePaths = [],\n}) => {\n const fileTree = createFileTree(filesPaths);\n\n return (\n <div className=\"text-neutral flex size-full flex-col items-start justify-start py-1\">\n {fileTree.map(({ path, subPath, isFile }) => (\n <FileItem\n key={path}\n isFile={isFile}\n subPath={subPath}\n path={path}\n onClickFile={onClickFile}\n activeFile={activeFile}\n prePaths={prePaths}\n filesPaths={filesPaths}\n />\n ))}\n </div>\n );\n};\n"],"names":["useState","path","jsxs","Fragment","cn","jsx","ChevronRight","MaxHeightSmoother","createFileTree"],"mappings":";;;;;;;;;AAeA,MAAM,iBAAiB,CAAC,UAAoB,MAAM,KAAK,GAAG;AAY1D,MAAM,WAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAIA,aAAAA,SAAS,IAAI;AAE7C,QAAA,QAAQ,SAAS,SAAS;AAChC,QAAM,cAAc,eAAe;AAAA,IACjC,GAAG,SAAS,MAAM,QAAQ,GAAG,KAAK;AAAA,IAClC;AAAA,EAAA,CACD;AACD,QAAM,YAAY,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC;AAEpD,QAAM,oBAAoB,WACvB;AAAA,IACC,CAACC,UAASA,MAAK,QAAQ,QAAQ,EAAE;AAAA;AAAA,EAAA,EAElC,OAAO,CAAC,aAAa,SAAS,WAAW,WAAW,CAAC;AAExD,QAAM,UAAU,kBAAkB;AAAA,IAAI,CAACA,UACrCA,MAAK,QAAQ,aAAa,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAEA,QAAM,WAAW,cAAc;AAEzB,QAAA,cAAc,IAAI,MAAM,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE;AAEvD,SAEIC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAD,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE,SAAA;AAAA,UACT;AAAA,UACA,WACI,uCACA;AAAA,QACN;AAAA,QAEA,SAAS,MAAM;AACb,cAAI,QAAQ;AACV,0BAAc,SAAS;AAAA,UAAA,OAClB;AACL,2BAAe,CAAC,WAAW;AAAA,UAAA;AAAA,QAE/B;AAAA,QAEA,UAAA;AAAA,UAAAC,2BAAAA,IAAC,UAAK,WAAWD,YAAG,kBAAkB,UAAU,MAAM,GACnD,UACH,aAAA;AAAA,UAEC,CAAC,UACAC,2BAAA;AAAA,YAACC,YAAA;AAAA,YAAA;AAAA,cACC,WAAWF,SAAA,GAAG,cAAc,eAAe,qBAAqB;AAAA,cAChE,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAED;AAAA,QAAA;AAAA,MAAA;AAAA,MAnBI;AAAA,IAoBP;AAAA,IACC,WACCC,2BAAA;AAAA,MAACE,mCAAA;AAAA,MAAA;AAAA,QACC,UAAU,CAAC;AAAA,QACX,WAAU;AAAA,QAEV,UAAAF,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,UAAU,CAAC,GAAG,UAAU,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;AAEO,MAAM,WAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAA;AACb,MAAM;AACE,QAAA,WAAWG,6CAAe,UAAU;AAGxC,SAAAH,2BAAA,IAAC,OAAI,EAAA,WAAU,uEACZ,UAAA,SAAS,IAAI,CAAC,EAAE,MAAM,SAAS,OAC9B,MAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPK;AAAA,EASR,CAAA,GACH;AAEJ;;"}
@@ -85,7 +85,7 @@ const FileTree = ({
85
85
  prePaths = []
86
86
  }) => {
87
87
  const fileTree = createFileTree(filesPaths);
88
- return /* @__PURE__ */ jsx("div", { className: "text-neutral dark:text-neutral-dark flex size-full flex-col items-start justify-start py-1", children: fileTree.map(({ path, subPath, isFile }) => /* @__PURE__ */ jsx(
88
+ return /* @__PURE__ */ jsx("div", { className: "text-neutral flex size-full flex-col items-start justify-start py-1", children: fileTree.map(({ path, subPath, isFile }) => /* @__PURE__ */ jsx(
89
89
  FileItem,
90
90
  {
91
91
  isFile,
@@ -1 +1 @@
1
- {"version":3,"file":"FileTree.mjs","sources":["../../../src/components/IDE/FileTree.tsx"],"sourcesContent":["'use client';\n\nimport { ChevronRight } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport { createFileTree, type FilePath } from './createFileTree';\n\ntype FileTreeProps = {\n filesPaths: string[];\n activeFile?: string;\n onClickFile?: (filePath: string) => void;\n prePaths?: string[];\n};\n\nconst concatFilePath = (paths: string[]) => paths.join('/');\n\ntype FileItemProps = {\n filesPaths: string[];\n subPath?: FilePath[];\n path: string;\n onClickFile?: (title: string) => void;\n activeFile?: string;\n prePaths: string[];\n isFile: boolean;\n};\n\nconst FileItem: FC<FileItemProps> = ({\n filesPaths,\n path,\n subPath,\n onClickFile,\n activeFile,\n prePaths,\n isFile,\n}) => {\n const [subPathOpen, setSubPathOpen] = useState(true);\n\n const level = prePaths.length + 1;\n const currentPath = concatFilePath([\n ...prePaths.slice(level - 1, level),\n path,\n ]);\n const totalPath = concatFilePath([...prePaths, path]);\n\n const filteredFilePaths = filesPaths\n .map(\n (path) => path.replace(/^\\/?/, '') // This regex matches the first slash, if it exists, at the start of the string)\n )\n .filter((filePath) => filePath.startsWith(currentPath));\n\n const newPath = filteredFilePaths.map((path) =>\n path.replace(currentPath, '').replace(/^\\/?/, '')\n );\n\n const isActive = totalPath === activeFile;\n\n const indentation = new Array(level).fill(' ').join('');\n\n return (\n <>\n <button\n className={cn(\n 'flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition',\n isActive\n ? 'bg-neutral-200 dark:bg-neutral-700'\n : 'cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900'\n )}\n key={path}\n onClick={() => {\n if (isFile) {\n onClickFile?.(totalPath);\n } else {\n setSubPathOpen(!subPathOpen);\n }\n }}\n >\n <span className={cn('whitespace-pre', isFile && 'ml-2')}>\n {indentation}\n </span>\n\n {!isFile && (\n <ChevronRight\n className={cn(`transition`, subPathOpen && `rotate-90 transform`)}\n size={16}\n />\n )}\n {path}\n </button>\n {subPath && (\n <MaxHeightSmoother\n isHidden={!subPathOpen}\n className=\"overflow-x-hidden\"\n >\n <FileTree\n filesPaths={newPath}\n activeFile={activeFile}\n onClickFile={onClickFile}\n prePaths={[...prePaths, path]}\n />\n </MaxHeightSmoother>\n )}\n </>\n );\n};\n\nexport const FileTree: FC<FileTreeProps> = ({\n filesPaths,\n activeFile,\n onClickFile,\n prePaths = [],\n}) => {\n const fileTree = createFileTree(filesPaths);\n\n return (\n <div className=\"text-neutral dark:text-neutral-dark flex size-full flex-col items-start justify-start py-1\">\n {fileTree.map(({ path, subPath, isFile }) => (\n <FileItem\n key={path}\n isFile={isFile}\n subPath={subPath}\n path={path}\n onClickFile={onClickFile}\n activeFile={activeFile}\n prePaths={prePaths}\n filesPaths={filesPaths}\n />\n ))}\n </div>\n );\n};\n"],"names":["path"],"mappings":";;;;;;;AAeA,MAAM,iBAAiB,CAAC,UAAoB,MAAM,KAAK,GAAG;AAY1D,MAAM,WAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,IAAI;AAE7C,QAAA,QAAQ,SAAS,SAAS;AAChC,QAAM,cAAc,eAAe;AAAA,IACjC,GAAG,SAAS,MAAM,QAAQ,GAAG,KAAK;AAAA,IAClC;AAAA,EAAA,CACD;AACD,QAAM,YAAY,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC;AAEpD,QAAM,oBAAoB,WACvB;AAAA,IACC,CAACA,UAASA,MAAK,QAAQ,QAAQ,EAAE;AAAA;AAAA,EAAA,EAElC,OAAO,CAAC,aAAa,SAAS,WAAW,WAAW,CAAC;AAExD,QAAM,UAAU,kBAAkB;AAAA,IAAI,CAACA,UACrCA,MAAK,QAAQ,aAAa,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAEA,QAAM,WAAW,cAAc;AAEzB,QAAA,cAAc,IAAI,MAAM,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE;AAEvD,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,WACI,uCACA;AAAA,QACN;AAAA,QAEA,SAAS,MAAM;AACb,cAAI,QAAQ;AACV,0BAAc,SAAS;AAAA,UAAA,OAClB;AACL,2BAAe,CAAC,WAAW;AAAA,UAAA;AAAA,QAE/B;AAAA,QAEA,UAAA;AAAA,UAAA,oBAAC,UAAK,WAAW,GAAG,kBAAkB,UAAU,MAAM,GACnD,UACH,aAAA;AAAA,UAEC,CAAC,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,GAAG,cAAc,eAAe,qBAAqB;AAAA,cAChE,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAED;AAAA,QAAA;AAAA,MAAA;AAAA,MAnBI;AAAA,IAoBP;AAAA,IACC,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,CAAC;AAAA,QACX,WAAU;AAAA,QAEV,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,UAAU,CAAC,GAAG,UAAU,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;AAEO,MAAM,WAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAA;AACb,MAAM;AACE,QAAA,WAAW,eAAe,UAAU;AAGxC,SAAA,oBAAC,OAAI,EAAA,WAAU,8FACZ,UAAA,SAAS,IAAI,CAAC,EAAE,MAAM,SAAS,OAC9B,MAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPK;AAAA,EASR,CAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"FileTree.mjs","sources":["../../../src/components/IDE/FileTree.tsx"],"sourcesContent":["'use client';\n\nimport { ChevronRight } from 'lucide-react';\nimport { useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport { createFileTree, type FilePath } from './createFileTree';\n\ntype FileTreeProps = {\n filesPaths: string[];\n activeFile?: string;\n onClickFile?: (filePath: string) => void;\n prePaths?: string[];\n};\n\nconst concatFilePath = (paths: string[]) => paths.join('/');\n\ntype FileItemProps = {\n filesPaths: string[];\n subPath?: FilePath[];\n path: string;\n onClickFile?: (title: string) => void;\n activeFile?: string;\n prePaths: string[];\n isFile: boolean;\n};\n\nconst FileItem: FC<FileItemProps> = ({\n filesPaths,\n path,\n subPath,\n onClickFile,\n activeFile,\n prePaths,\n isFile,\n}) => {\n const [subPathOpen, setSubPathOpen] = useState(true);\n\n const level = prePaths.length + 1;\n const currentPath = concatFilePath([\n ...prePaths.slice(level - 1, level),\n path,\n ]);\n const totalPath = concatFilePath([...prePaths, path]);\n\n const filteredFilePaths = filesPaths\n .map(\n (path) => path.replace(/^\\/?/, '') // This regex matches the first slash, if it exists, at the start of the string)\n )\n .filter((filePath) => filePath.startsWith(currentPath));\n\n const newPath = filteredFilePaths.map((path) =>\n path.replace(currentPath, '').replace(/^\\/?/, '')\n );\n\n const isActive = totalPath === activeFile;\n\n const indentation = new Array(level).fill(' ').join('');\n\n return (\n <>\n <button\n className={cn(\n 'flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition',\n isActive\n ? 'bg-neutral-200 dark:bg-neutral-700'\n : 'cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900'\n )}\n key={path}\n onClick={() => {\n if (isFile) {\n onClickFile?.(totalPath);\n } else {\n setSubPathOpen(!subPathOpen);\n }\n }}\n >\n <span className={cn('whitespace-pre', isFile && 'ml-2')}>\n {indentation}\n </span>\n\n {!isFile && (\n <ChevronRight\n className={cn(`transition`, subPathOpen && `rotate-90 transform`)}\n size={16}\n />\n )}\n {path}\n </button>\n {subPath && (\n <MaxHeightSmoother\n isHidden={!subPathOpen}\n className=\"overflow-x-hidden\"\n >\n <FileTree\n filesPaths={newPath}\n activeFile={activeFile}\n onClickFile={onClickFile}\n prePaths={[...prePaths, path]}\n />\n </MaxHeightSmoother>\n )}\n </>\n );\n};\n\nexport const FileTree: FC<FileTreeProps> = ({\n filesPaths,\n activeFile,\n onClickFile,\n prePaths = [],\n}) => {\n const fileTree = createFileTree(filesPaths);\n\n return (\n <div className=\"text-neutral flex size-full flex-col items-start justify-start py-1\">\n {fileTree.map(({ path, subPath, isFile }) => (\n <FileItem\n key={path}\n isFile={isFile}\n subPath={subPath}\n path={path}\n onClickFile={onClickFile}\n activeFile={activeFile}\n prePaths={prePaths}\n filesPaths={filesPaths}\n />\n ))}\n </div>\n );\n};\n"],"names":["path"],"mappings":";;;;;;;AAeA,MAAM,iBAAiB,CAAC,UAAoB,MAAM,KAAK,GAAG;AAY1D,MAAM,WAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,IAAI;AAE7C,QAAA,QAAQ,SAAS,SAAS;AAChC,QAAM,cAAc,eAAe;AAAA,IACjC,GAAG,SAAS,MAAM,QAAQ,GAAG,KAAK;AAAA,IAClC;AAAA,EAAA,CACD;AACD,QAAM,YAAY,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC;AAEpD,QAAM,oBAAoB,WACvB;AAAA,IACC,CAACA,UAASA,MAAK,QAAQ,QAAQ,EAAE;AAAA;AAAA,EAAA,EAElC,OAAO,CAAC,aAAa,SAAS,WAAW,WAAW,CAAC;AAExD,QAAM,UAAU,kBAAkB;AAAA,IAAI,CAACA,UACrCA,MAAK,QAAQ,aAAa,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAEA,QAAM,WAAW,cAAc;AAEzB,QAAA,cAAc,IAAI,MAAM,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE;AAEvD,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,WACI,uCACA;AAAA,QACN;AAAA,QAEA,SAAS,MAAM;AACb,cAAI,QAAQ;AACV,0BAAc,SAAS;AAAA,UAAA,OAClB;AACL,2BAAe,CAAC,WAAW;AAAA,UAAA;AAAA,QAE/B;AAAA,QAEA,UAAA;AAAA,UAAA,oBAAC,UAAK,WAAW,GAAG,kBAAkB,UAAU,MAAM,GACnD,UACH,aAAA;AAAA,UAEC,CAAC,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,GAAG,cAAc,eAAe,qBAAqB;AAAA,cAChE,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAED;AAAA,QAAA;AAAA,MAAA;AAAA,MAnBI;AAAA,IAoBP;AAAA,IACC,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,CAAC;AAAA,QACX,WAAU;AAAA,QAEV,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,UAAU,CAAC,GAAG,UAAU,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;AAEO,MAAM,WAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAA;AACb,MAAM;AACE,QAAA,WAAW,eAAe,UAAU;AAGxC,SAAA,oBAAC,OAAI,EAAA,WAAU,uEACZ,UAAA,SAAS,IAAI,CAAC,EAAE,MAAM,SAAS,OAC9B,MAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPK;AAAA,EASR,CAAA,GACH;AAEJ;"}
@@ -12,12 +12,16 @@ const IDE = ({
12
12
  pages: initialPages,
13
13
  isDarkMode,
14
14
  className,
15
+ activeTab: defaultActiveTab,
15
16
  ...props
16
17
  }) => {
17
18
  const [pages, setPages] = ReactExports.useState(initialPages);
18
19
  const tabs = pages.filter(({ isOpen }) => isOpen);
19
20
  const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);
20
- const [activeTab, setActiveTab] = ReactExports.useState(firstTabIndex);
21
+ const [activeTab, setActiveTab] = ReactExports.useState(defaultActiveTab ?? firstTabIndex);
22
+ ReactExports.useEffect(() => {
23
+ setActiveTab(defaultActiveTab ?? firstTabIndex);
24
+ }, [initialPages, defaultActiveTab]);
21
25
  const { content, path } = pages[activeTab];
22
26
  const filePaths = initialPages.map(({ path: title }) => title);
23
27
  const handleClickFile = (title) => {
@@ -46,7 +50,7 @@ const IDE = ({
46
50
  transparency: "none",
47
51
  ...props,
48
52
  children: [
49
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-neutral dark:text-neutral-dark flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950", children: [
53
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-neutral flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950", children: [
50
54
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-2 flex items-center justify-start gap-2 p-1", children: [
51
55
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-3 rounded-full bg-red-500" }),
52
56
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-3 rounded-full bg-yellow-500" }),
@@ -61,7 +65,7 @@ const IDE = ({
61
65
  {
62
66
  className: utils_cn.cn(
63
67
  "flex h-8 min-w-20 items-center justify-start px-3 py-1 transition",
64
- isActive ? "bg-card dark:bg-card-dark" : "dark:hover:bg-card-dark cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950"
68
+ isActive ? "bg-card" : "cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950"
65
69
  ),
66
70
  onClick: () => setActiveTab(index),
67
71
  children: title
@@ -1 +1 @@
1
- {"version":3,"file":"IDE.cjs","sources":["../../../src/components/IDE/IDE.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { WithResizer } from '../WithResizer';\nimport { FileTree } from './FileTree';\nimport { MarkdownRenderer } from './MarkDownRender';\n\nexport type IDEProps = {\n pages: {\n path: string;\n content: string;\n isOpen?: boolean;\n }[];\n isDarkMode?: boolean;\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const IDE: FC<IDEProps> = ({\n pages: initialPages,\n isDarkMode,\n className,\n ...props\n}) => {\n const [pages, setPages] = useState(initialPages);\n const tabs = pages.filter(({ isOpen }) => isOpen);\n\n const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);\n const [activeTab, setActiveTab] = useState(firstTabIndex);\n\n const { content, path } = pages[activeTab];\n const filePaths = initialPages.map(({ path: title }) => title);\n\n const handleClickFile = (title: string) => {\n const page = pages.find(({ path: tabTitle }) => tabTitle === title);\n if (!page) return;\n\n const newPages = pages.map((page) => {\n if (page.path === title) {\n return { ...page, isOpen: true };\n }\n return page;\n });\n\n setPages(newPages);\n\n const newPageIndex = newPages.findIndex(\n ({ path: tabTitle }) => tabTitle === title\n );\n\n setActiveTab(newPageIndex);\n };\n\n return (\n <Container\n className={cn(\n 'flex size-full flex-col justify-start overflow-hidden shadow-lg',\n className\n )}\n roundedSize=\"3xl\"\n transparency=\"none\"\n {...props}\n >\n <div className=\"text-neutral dark:text-neutral-dark flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950\">\n <div className=\"mx-2 flex items-center justify-start gap-2 p-1\">\n <div className=\"size-3 rounded-full bg-red-500\" />\n <div className=\"size-3 rounded-full bg-yellow-500\" />\n <div className=\"size-3 rounded-full bg-green-500\" />\n </div>\n <div className=\"flex size-full overflow-y-auto\">\n {tabs.map(({ path }, index) => {\n const fullPath = path.split('/');\n const title = fullPath[fullPath.length - 1];\n const isActive = index === activeTab;\n\n return (\n <button\n className={cn(\n 'flex h-8 min-w-20 items-center justify-start px-3 py-1 transition',\n isActive\n ? 'bg-card dark:bg-card-dark'\n : 'dark:hover:bg-card-dark cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950'\n )}\n key={title}\n onClick={() => setActiveTab(index)}\n >\n {title}\n </button>\n );\n })}\n </div>\n </div>\n <div className=\"relative flex size-full flex-1 flex-row justify-start\">\n <div className=\"absolute left-0 top-0 size-full\">\n <div className=\"flex size-full\">\n <WithResizer initialWidth={150}>\n <FileTree\n filesPaths={filePaths}\n activeFile={path}\n onClickFile={handleClickFile}\n />\n </WithResizer>\n\n <div className=\"size-full flex-1 overflow-auto pt-2 text-xs\">\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n </div>\n </div>\n </div>\n </div>\n </Container>\n );\n};\n"],"names":["useState","page","jsxs","Container","cn","jsx","path","WithResizer","FileTree","MarkdownRenderer"],"mappings":";;;;;;;;;;AAkBO,MAAM,MAAoB,CAAC;AAAA,EAChC,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAIA,aAAAA,SAAS,YAAY;AAC/C,QAAM,OAAO,MAAM,OAAO,CAAC,EAAE,aAAa,MAAM;AAEhD,QAAM,gBAAgB,KAAK,UAAU,CAAC,EAAE,aAAa,MAAM;AAC3D,QAAM,CAAC,WAAW,YAAY,IAAIA,aAAAA,SAAS,aAAa;AAExD,QAAM,EAAE,SAAS,SAAS,MAAM,SAAS;AACnC,QAAA,YAAY,aAAa,IAAI,CAAC,EAAE,MAAM,YAAY,KAAK;AAEvD,QAAA,kBAAkB,CAAC,UAAkB;AACnC,UAAA,OAAO,MAAM,KAAK,CAAC,EAAE,MAAM,SAAA,MAAe,aAAa,KAAK;AAClE,QAAI,CAAC,KAAM;AAEX,UAAM,WAAW,MAAM,IAAI,CAACC,UAAS;AAC/BA,UAAAA,MAAK,SAAS,OAAO;AACvB,eAAO,EAAE,GAAGA,OAAM,QAAQ,KAAK;AAAA,MAAA;AAE1BA,aAAAA;AAAAA,IAAA,CACR;AAED,aAAS,QAAQ;AAEjB,UAAM,eAAe,SAAS;AAAA,MAC5B,CAAC,EAAE,MAAM,eAAe,aAAa;AAAA,IACvC;AAEA,iBAAa,YAAY;AAAA,EAC3B;AAGE,SAAAC,2BAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,WAAWC,SAAA;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAY;AAAA,MACZ,cAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAACF,2BAAAA,KAAA,OAAA,EAAI,WAAU,sJACb,UAAA;AAAA,UAACA,2BAAAA,KAAA,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,YAACG,2BAAAA,IAAA,OAAA,EAAI,WAAU,iCAAiC,CAAA;AAAA,YAChDA,2BAAAA,IAAC,OAAI,EAAA,WAAU,oCAAoC,CAAA;AAAA,YACnDA,2BAAAA,IAAC,OAAI,EAAA,WAAU,mCAAmC,CAAA;AAAA,UAAA,GACpD;AAAA,UACAA,2BAAAA,IAAC,OAAI,EAAA,WAAU,kCACZ,UAAA,KAAK,IAAI,CAAC,EAAE,MAAAC,MAAK,GAAG,UAAU;AACvB,kBAAA,WAAWA,MAAK,MAAM,GAAG;AAC/B,kBAAM,QAAQ,SAAS,SAAS,SAAS,CAAC;AAC1C,kBAAM,WAAW,UAAU;AAGzB,mBAAAD,2BAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWD,SAAA;AAAA,kBACT;AAAA,kBACA,WACI,8BACA;AAAA,gBACN;AAAA,gBAEA,SAAS,MAAM,aAAa,KAAK;AAAA,gBAEhC,UAAA;AAAA,cAAA;AAAA,cAHI;AAAA,YAIP;AAAA,UAAA,CAEH,EACH,CAAA;AAAA,QAAA,GACF;AAAA,QACAC,2BAAA,IAAC,OAAI,EAAA,WAAU,yDACb,UAAAA,2BAAA,IAAC,OAAI,EAAA,WAAU,mCACb,UAAAH,gCAAC,OAAI,EAAA,WAAU,kBACb,UAAA;AAAA,UAACG,2BAAAA,IAAAE,6BAAAA,aAAA,EAAY,cAAc,KACzB,UAAAF,2BAAA;AAAA,YAACG,wBAAA;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,aAAa;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,UAEAH,2BAAAA,IAAC,SAAI,WAAU,+CACb,yCAACI,8BAAAA,kBAAiB,EAAA,YACf,kBACH,CAAA,EACF,CAAA;AAAA,QAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
1
+ {"version":3,"file":"IDE.cjs","sources":["../../../src/components/IDE/IDE.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useState, type FC, useEffect } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { WithResizer } from '../WithResizer';\nimport { FileTree } from './FileTree';\nimport { MarkdownRenderer } from './MarkDownRender';\n\nexport type IDEProps = {\n pages: {\n path: string;\n content: string;\n isOpen?: boolean;\n }[];\n isDarkMode?: boolean;\n activeTab?: number;\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const IDE: FC<IDEProps> = ({\n pages: initialPages,\n isDarkMode,\n className,\n activeTab: defaultActiveTab,\n ...props\n}) => {\n const [pages, setPages] = useState(initialPages);\n const tabs = pages.filter(({ isOpen }) => isOpen);\n\n const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);\n const [activeTab, setActiveTab] = useState(defaultActiveTab ?? firstTabIndex);\n\n useEffect(() => {\n setActiveTab(defaultActiveTab ?? firstTabIndex);\n }, [initialPages, defaultActiveTab]);\n\n const { content, path } = pages[activeTab];\n const filePaths = initialPages.map(({ path: title }) => title);\n\n const handleClickFile = (title: string) => {\n const page = pages.find(({ path: tabTitle }) => tabTitle === title);\n if (!page) return;\n\n const newPages = pages.map((page) => {\n if (page.path === title) {\n return { ...page, isOpen: true };\n }\n return page;\n });\n\n setPages(newPages);\n\n const newPageIndex = newPages.findIndex(\n ({ path: tabTitle }) => tabTitle === title\n );\n\n setActiveTab(newPageIndex);\n };\n\n return (\n <Container\n className={cn(\n 'flex size-full flex-col justify-start overflow-hidden shadow-lg',\n className\n )}\n roundedSize=\"3xl\"\n transparency=\"none\"\n {...props}\n >\n <div className=\"text-neutral flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950\">\n <div className=\"mx-2 flex items-center justify-start gap-2 p-1\">\n <div className=\"size-3 rounded-full bg-red-500\" />\n <div className=\"size-3 rounded-full bg-yellow-500\" />\n <div className=\"size-3 rounded-full bg-green-500\" />\n </div>\n <div className=\"flex size-full overflow-y-auto\">\n {tabs.map(({ path }, index) => {\n const fullPath = path.split('/');\n const title = fullPath[fullPath.length - 1];\n const isActive = index === activeTab;\n\n return (\n <button\n className={cn(\n 'flex h-8 min-w-20 items-center justify-start px-3 py-1 transition',\n isActive\n ? 'bg-card'\n : 'cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950'\n )}\n key={title}\n onClick={() => setActiveTab(index)}\n >\n {title}\n </button>\n );\n })}\n </div>\n </div>\n <div className=\"relative flex size-full flex-1 flex-row justify-start\">\n <div className=\"absolute left-0 top-0 size-full\">\n <div className=\"flex size-full\">\n <WithResizer initialWidth={150}>\n <FileTree\n filesPaths={filePaths}\n activeFile={path}\n onClickFile={handleClickFile}\n />\n </WithResizer>\n\n <div className=\"size-full flex-1 overflow-auto pt-2 text-xs\">\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n </div>\n </div>\n </div>\n </div>\n </Container>\n );\n};\n"],"names":["useState","useEffect","page","jsxs","Container","cn","jsx","path","WithResizer","FileTree","MarkdownRenderer"],"mappings":";;;;;;;;;;AAmBO,MAAM,MAAoB,CAAC;AAAA,EAChC,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAIA,aAAAA,SAAS,YAAY;AAC/C,QAAM,OAAO,MAAM,OAAO,CAAC,EAAE,aAAa,MAAM;AAEhD,QAAM,gBAAgB,KAAK,UAAU,CAAC,EAAE,aAAa,MAAM;AAC3D,QAAM,CAAC,WAAW,YAAY,IAAIA,aAAAA,SAAS,oBAAoB,aAAa;AAE5EC,eAAAA,UAAU,MAAM;AACd,iBAAa,oBAAoB,aAAa;AAAA,EAAA,GAC7C,CAAC,cAAc,gBAAgB,CAAC;AAEnC,QAAM,EAAE,SAAS,SAAS,MAAM,SAAS;AACnC,QAAA,YAAY,aAAa,IAAI,CAAC,EAAE,MAAM,YAAY,KAAK;AAEvD,QAAA,kBAAkB,CAAC,UAAkB;AACnC,UAAA,OAAO,MAAM,KAAK,CAAC,EAAE,MAAM,SAAA,MAAe,aAAa,KAAK;AAClE,QAAI,CAAC,KAAM;AAEX,UAAM,WAAW,MAAM,IAAI,CAACC,UAAS;AAC/BA,UAAAA,MAAK,SAAS,OAAO;AACvB,eAAO,EAAE,GAAGA,OAAM,QAAQ,KAAK;AAAA,MAAA;AAE1BA,aAAAA;AAAAA,IAAA,CACR;AAED,aAAS,QAAQ;AAEjB,UAAM,eAAe,SAAS;AAAA,MAC5B,CAAC,EAAE,MAAM,eAAe,aAAa;AAAA,IACvC;AAEA,iBAAa,YAAY;AAAA,EAC3B;AAGE,SAAAC,2BAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,WAAWC,SAAA;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAY;AAAA,MACZ,cAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAACF,2BAAAA,KAAA,OAAA,EAAI,WAAU,+HACb,UAAA;AAAA,UAACA,2BAAAA,KAAA,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,YAACG,2BAAAA,IAAA,OAAA,EAAI,WAAU,iCAAiC,CAAA;AAAA,YAChDA,2BAAAA,IAAC,OAAI,EAAA,WAAU,oCAAoC,CAAA;AAAA,YACnDA,2BAAAA,IAAC,OAAI,EAAA,WAAU,mCAAmC,CAAA;AAAA,UAAA,GACpD;AAAA,UACAA,2BAAAA,IAAC,OAAI,EAAA,WAAU,kCACZ,UAAA,KAAK,IAAI,CAAC,EAAE,MAAAC,MAAK,GAAG,UAAU;AACvB,kBAAA,WAAWA,MAAK,MAAM,GAAG;AAC/B,kBAAM,QAAQ,SAAS,SAAS,SAAS,CAAC;AAC1C,kBAAM,WAAW,UAAU;AAGzB,mBAAAD,2BAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWD,SAAA;AAAA,kBACT;AAAA,kBACA,WACI,YACA;AAAA,gBACN;AAAA,gBAEA,SAAS,MAAM,aAAa,KAAK;AAAA,gBAEhC,UAAA;AAAA,cAAA;AAAA,cAHI;AAAA,YAIP;AAAA,UAAA,CAEH,EACH,CAAA;AAAA,QAAA,GACF;AAAA,QACAC,2BAAA,IAAC,OAAI,EAAA,WAAU,yDACb,UAAAA,2BAAA,IAAC,OAAI,EAAA,WAAU,mCACb,UAAAH,gCAAC,OAAI,EAAA,WAAU,kBACb,UAAA;AAAA,UAACG,2BAAAA,IAAAE,6BAAAA,aAAA,EAAY,cAAc,KACzB,UAAAF,2BAAA;AAAA,YAACG,wBAAA;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,aAAa;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,UAEAH,2BAAAA,IAAC,SAAI,WAAU,+CACb,yCAACI,8BAAAA,kBAAiB,EAAA,YACf,kBACH,CAAA,EACF,CAAA;AAAA,QAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
@@ -6,6 +6,7 @@ export type IDEProps = {
6
6
  isOpen?: boolean;
7
7
  }[];
8
8
  isDarkMode?: boolean;
9
+ activeTab?: number;
9
10
  } & HTMLAttributes<HTMLDivElement>;
10
11
  export declare const IDE: FC<IDEProps>;
11
12
  //# sourceMappingURL=IDE.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDE.d.ts","sourceRoot":"","sources":["../../../src/components/IDE/IDE.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAO/D,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CA+F5B,CAAC"}
1
+ {"version":3,"file":"IDE.d.ts","sourceRoot":"","sources":["../../../src/components/IDE/IDE.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAY,KAAK,EAAE,EAAa,MAAM,OAAO,CAAC;AAO1E,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAoG5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
- import { useState } from "react";
3
+ import { useState, useEffect } from "react";
4
4
  import { cn } from "../../utils/cn.mjs";
5
5
  import { Container } from "../Container/index.mjs";
6
6
  import { WithResizer } from "../WithResizer/index.mjs";
@@ -10,12 +10,16 @@ const IDE = ({
10
10
  pages: initialPages,
11
11
  isDarkMode,
12
12
  className,
13
+ activeTab: defaultActiveTab,
13
14
  ...props
14
15
  }) => {
15
16
  const [pages, setPages] = useState(initialPages);
16
17
  const tabs = pages.filter(({ isOpen }) => isOpen);
17
18
  const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);
18
- const [activeTab, setActiveTab] = useState(firstTabIndex);
19
+ const [activeTab, setActiveTab] = useState(defaultActiveTab ?? firstTabIndex);
20
+ useEffect(() => {
21
+ setActiveTab(defaultActiveTab ?? firstTabIndex);
22
+ }, [initialPages, defaultActiveTab]);
19
23
  const { content, path } = pages[activeTab];
20
24
  const filePaths = initialPages.map(({ path: title }) => title);
21
25
  const handleClickFile = (title) => {
@@ -44,7 +48,7 @@ const IDE = ({
44
48
  transparency: "none",
45
49
  ...props,
46
50
  children: [
47
- /* @__PURE__ */ jsxs("div", { className: "text-neutral dark:text-neutral-dark flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950", children: [
51
+ /* @__PURE__ */ jsxs("div", { className: "text-neutral flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950", children: [
48
52
  /* @__PURE__ */ jsxs("div", { className: "mx-2 flex items-center justify-start gap-2 p-1", children: [
49
53
  /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-red-500" }),
50
54
  /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-yellow-500" }),
@@ -59,7 +63,7 @@ const IDE = ({
59
63
  {
60
64
  className: cn(
61
65
  "flex h-8 min-w-20 items-center justify-start px-3 py-1 transition",
62
- isActive ? "bg-card dark:bg-card-dark" : "dark:hover:bg-card-dark cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950"
66
+ isActive ? "bg-card" : "cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950"
63
67
  ),
64
68
  onClick: () => setActiveTab(index),
65
69
  children: title
@@ -1 +1 @@
1
- {"version":3,"file":"IDE.mjs","sources":["../../../src/components/IDE/IDE.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { WithResizer } from '../WithResizer';\nimport { FileTree } from './FileTree';\nimport { MarkdownRenderer } from './MarkDownRender';\n\nexport type IDEProps = {\n pages: {\n path: string;\n content: string;\n isOpen?: boolean;\n }[];\n isDarkMode?: boolean;\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const IDE: FC<IDEProps> = ({\n pages: initialPages,\n isDarkMode,\n className,\n ...props\n}) => {\n const [pages, setPages] = useState(initialPages);\n const tabs = pages.filter(({ isOpen }) => isOpen);\n\n const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);\n const [activeTab, setActiveTab] = useState(firstTabIndex);\n\n const { content, path } = pages[activeTab];\n const filePaths = initialPages.map(({ path: title }) => title);\n\n const handleClickFile = (title: string) => {\n const page = pages.find(({ path: tabTitle }) => tabTitle === title);\n if (!page) return;\n\n const newPages = pages.map((page) => {\n if (page.path === title) {\n return { ...page, isOpen: true };\n }\n return page;\n });\n\n setPages(newPages);\n\n const newPageIndex = newPages.findIndex(\n ({ path: tabTitle }) => tabTitle === title\n );\n\n setActiveTab(newPageIndex);\n };\n\n return (\n <Container\n className={cn(\n 'flex size-full flex-col justify-start overflow-hidden shadow-lg',\n className\n )}\n roundedSize=\"3xl\"\n transparency=\"none\"\n {...props}\n >\n <div className=\"text-neutral dark:text-neutral-dark flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950\">\n <div className=\"mx-2 flex items-center justify-start gap-2 p-1\">\n <div className=\"size-3 rounded-full bg-red-500\" />\n <div className=\"size-3 rounded-full bg-yellow-500\" />\n <div className=\"size-3 rounded-full bg-green-500\" />\n </div>\n <div className=\"flex size-full overflow-y-auto\">\n {tabs.map(({ path }, index) => {\n const fullPath = path.split('/');\n const title = fullPath[fullPath.length - 1];\n const isActive = index === activeTab;\n\n return (\n <button\n className={cn(\n 'flex h-8 min-w-20 items-center justify-start px-3 py-1 transition',\n isActive\n ? 'bg-card dark:bg-card-dark'\n : 'dark:hover:bg-card-dark cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950'\n )}\n key={title}\n onClick={() => setActiveTab(index)}\n >\n {title}\n </button>\n );\n })}\n </div>\n </div>\n <div className=\"relative flex size-full flex-1 flex-row justify-start\">\n <div className=\"absolute left-0 top-0 size-full\">\n <div className=\"flex size-full\">\n <WithResizer initialWidth={150}>\n <FileTree\n filesPaths={filePaths}\n activeFile={path}\n onClickFile={handleClickFile}\n />\n </WithResizer>\n\n <div className=\"size-full flex-1 overflow-auto pt-2 text-xs\">\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n </div>\n </div>\n </div>\n </div>\n </Container>\n );\n};\n"],"names":["page","path"],"mappings":";;;;;;;;AAkBO,MAAM,MAAoB,CAAC;AAAA,EAChC,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAC/C,QAAM,OAAO,MAAM,OAAO,CAAC,EAAE,aAAa,MAAM;AAEhD,QAAM,gBAAgB,KAAK,UAAU,CAAC,EAAE,aAAa,MAAM;AAC3D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,aAAa;AAExD,QAAM,EAAE,SAAS,SAAS,MAAM,SAAS;AACnC,QAAA,YAAY,aAAa,IAAI,CAAC,EAAE,MAAM,YAAY,KAAK;AAEvD,QAAA,kBAAkB,CAAC,UAAkB;AACnC,UAAA,OAAO,MAAM,KAAK,CAAC,EAAE,MAAM,SAAA,MAAe,aAAa,KAAK;AAClE,QAAI,CAAC,KAAM;AAEX,UAAM,WAAW,MAAM,IAAI,CAACA,UAAS;AAC/BA,UAAAA,MAAK,SAAS,OAAO;AACvB,eAAO,EAAE,GAAGA,OAAM,QAAQ,KAAK;AAAA,MAAA;AAE1BA,aAAAA;AAAAA,IAAA,CACR;AAED,aAAS,QAAQ;AAEjB,UAAM,eAAe,SAAS;AAAA,MAC5B,CAAC,EAAE,MAAM,eAAe,aAAa;AAAA,IACvC;AAEA,iBAAa,YAAY;AAAA,EAC3B;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAY;AAAA,MACZ,cAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,qBAAA,OAAA,EAAI,WAAU,sJACb,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,YAAC,oBAAA,OAAA,EAAI,WAAU,iCAAiC,CAAA;AAAA,YAChD,oBAAC,OAAI,EAAA,WAAU,oCAAoC,CAAA;AAAA,YACnD,oBAAC,OAAI,EAAA,WAAU,mCAAmC,CAAA;AAAA,UAAA,GACpD;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,kCACZ,UAAA,KAAK,IAAI,CAAC,EAAE,MAAAC,MAAK,GAAG,UAAU;AACvB,kBAAA,WAAWA,MAAK,MAAM,GAAG;AAC/B,kBAAM,QAAQ,SAAS,SAAS,SAAS,CAAC;AAC1C,kBAAM,WAAW,UAAU;AAGzB,mBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW;AAAA,kBACT;AAAA,kBACA,WACI,8BACA;AAAA,gBACN;AAAA,gBAEA,SAAS,MAAM,aAAa,KAAK;AAAA,gBAEhC,UAAA;AAAA,cAAA;AAAA,cAHI;AAAA,YAIP;AAAA,UAAA,CAEH,EACH,CAAA;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAI,EAAA,WAAU,yDACb,UAAA,oBAAC,OAAI,EAAA,WAAU,mCACb,UAAA,qBAAC,OAAI,EAAA,WAAU,kBACb,UAAA;AAAA,UAAC,oBAAA,aAAA,EAAY,cAAc,KACzB,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,aAAa;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,UAEA,oBAAC,SAAI,WAAU,+CACb,8BAAC,kBAAiB,EAAA,YACf,kBACH,CAAA,EACF,CAAA;AAAA,QAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"IDE.mjs","sources":["../../../src/components/IDE/IDE.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useState, type FC, useEffect } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { WithResizer } from '../WithResizer';\nimport { FileTree } from './FileTree';\nimport { MarkdownRenderer } from './MarkDownRender';\n\nexport type IDEProps = {\n pages: {\n path: string;\n content: string;\n isOpen?: boolean;\n }[];\n isDarkMode?: boolean;\n activeTab?: number;\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const IDE: FC<IDEProps> = ({\n pages: initialPages,\n isDarkMode,\n className,\n activeTab: defaultActiveTab,\n ...props\n}) => {\n const [pages, setPages] = useState(initialPages);\n const tabs = pages.filter(({ isOpen }) => isOpen);\n\n const firstTabIndex = tabs.findIndex(({ isOpen }) => isOpen);\n const [activeTab, setActiveTab] = useState(defaultActiveTab ?? firstTabIndex);\n\n useEffect(() => {\n setActiveTab(defaultActiveTab ?? firstTabIndex);\n }, [initialPages, defaultActiveTab]);\n\n const { content, path } = pages[activeTab];\n const filePaths = initialPages.map(({ path: title }) => title);\n\n const handleClickFile = (title: string) => {\n const page = pages.find(({ path: tabTitle }) => tabTitle === title);\n if (!page) return;\n\n const newPages = pages.map((page) => {\n if (page.path === title) {\n return { ...page, isOpen: true };\n }\n return page;\n });\n\n setPages(newPages);\n\n const newPageIndex = newPages.findIndex(\n ({ path: tabTitle }) => tabTitle === title\n );\n\n setActiveTab(newPageIndex);\n };\n\n return (\n <Container\n className={cn(\n 'flex size-full flex-col justify-start overflow-hidden shadow-lg',\n className\n )}\n roundedSize=\"3xl\"\n transparency=\"none\"\n {...props}\n >\n <div className=\"text-neutral flex w-auto flex-row items-center justify-start gap-1 rounded-t-3xl bg-neutral-200 text-xs dark:bg-neutral-950\">\n <div className=\"mx-2 flex items-center justify-start gap-2 p-1\">\n <div className=\"size-3 rounded-full bg-red-500\" />\n <div className=\"size-3 rounded-full bg-yellow-500\" />\n <div className=\"size-3 rounded-full bg-green-500\" />\n </div>\n <div className=\"flex size-full overflow-y-auto\">\n {tabs.map(({ path }, index) => {\n const fullPath = path.split('/');\n const title = fullPath[fullPath.length - 1];\n const isActive = index === activeTab;\n\n return (\n <button\n className={cn(\n 'flex h-8 min-w-20 items-center justify-start px-3 py-1 transition',\n isActive\n ? 'bg-card'\n : 'cursor-pointer bg-neutral-200 hover:bg-neutral-300 dark:bg-neutral-950'\n )}\n key={title}\n onClick={() => setActiveTab(index)}\n >\n {title}\n </button>\n );\n })}\n </div>\n </div>\n <div className=\"relative flex size-full flex-1 flex-row justify-start\">\n <div className=\"absolute left-0 top-0 size-full\">\n <div className=\"flex size-full\">\n <WithResizer initialWidth={150}>\n <FileTree\n filesPaths={filePaths}\n activeFile={path}\n onClickFile={handleClickFile}\n />\n </WithResizer>\n\n <div className=\"size-full flex-1 overflow-auto pt-2 text-xs\">\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n </div>\n </div>\n </div>\n </div>\n </Container>\n );\n};\n"],"names":["page","path"],"mappings":";;;;;;;;AAmBO,MAAM,MAAoB,CAAC;AAAA,EAChC,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAC/C,QAAM,OAAO,MAAM,OAAO,CAAC,EAAE,aAAa,MAAM;AAEhD,QAAM,gBAAgB,KAAK,UAAU,CAAC,EAAE,aAAa,MAAM;AAC3D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,oBAAoB,aAAa;AAE5E,YAAU,MAAM;AACd,iBAAa,oBAAoB,aAAa;AAAA,EAAA,GAC7C,CAAC,cAAc,gBAAgB,CAAC;AAEnC,QAAM,EAAE,SAAS,SAAS,MAAM,SAAS;AACnC,QAAA,YAAY,aAAa,IAAI,CAAC,EAAE,MAAM,YAAY,KAAK;AAEvD,QAAA,kBAAkB,CAAC,UAAkB;AACnC,UAAA,OAAO,MAAM,KAAK,CAAC,EAAE,MAAM,SAAA,MAAe,aAAa,KAAK;AAClE,QAAI,CAAC,KAAM;AAEX,UAAM,WAAW,MAAM,IAAI,CAACA,UAAS;AAC/BA,UAAAA,MAAK,SAAS,OAAO;AACvB,eAAO,EAAE,GAAGA,OAAM,QAAQ,KAAK;AAAA,MAAA;AAE1BA,aAAAA;AAAAA,IAAA,CACR;AAED,aAAS,QAAQ;AAEjB,UAAM,eAAe,SAAS;AAAA,MAC5B,CAAC,EAAE,MAAM,eAAe,aAAa;AAAA,IACvC;AAEA,iBAAa,YAAY;AAAA,EAC3B;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAY;AAAA,MACZ,cAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,qBAAA,OAAA,EAAI,WAAU,+HACb,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,YAAC,oBAAA,OAAA,EAAI,WAAU,iCAAiC,CAAA;AAAA,YAChD,oBAAC,OAAI,EAAA,WAAU,oCAAoC,CAAA;AAAA,YACnD,oBAAC,OAAI,EAAA,WAAU,mCAAmC,CAAA;AAAA,UAAA,GACpD;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,kCACZ,UAAA,KAAK,IAAI,CAAC,EAAE,MAAAC,MAAK,GAAG,UAAU;AACvB,kBAAA,WAAWA,MAAK,MAAM,GAAG;AAC/B,kBAAM,QAAQ,SAAS,SAAS,SAAS,CAAC;AAC1C,kBAAM,WAAW,UAAU;AAGzB,mBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW;AAAA,kBACT;AAAA,kBACA,WACI,YACA;AAAA,gBACN;AAAA,gBAEA,SAAS,MAAM,aAAa,KAAK;AAAA,gBAEhC,UAAA;AAAA,cAAA;AAAA,cAHI;AAAA,YAIP;AAAA,UAAA,CAEH,EACH,CAAA;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAI,EAAA,WAAU,yDACb,UAAA,oBAAC,OAAI,EAAA,WAAU,mCACb,UAAA,qBAAC,OAAI,EAAA,WAAU,kBACb,UAAA;AAAA,UAAC,oBAAA,aAAA,EAAY,cAAc,KACzB,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,aAAa;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,UAEA,oBAAC,SAAI,WAAU,+CACb,8BAAC,kBAAiB,EAAA,YACf,kBACH,CAAA,EACF,CAAA;AAAA,QAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -19,16 +19,16 @@ const checkboxVariants = classVarianceAuthority.cva("", {
19
19
  lg: "size-6"
20
20
  },
21
21
  color: {
22
- primary: "accent-primary dark:accent-primary-dark",
23
- secondary: "accent-secondary dark:accent-secondary-dark",
24
- destructive: "accent-destructive dark:accent-destructive-dark",
25
- neutral: "accent-neutral dark:accent-neutral-dark",
26
- light: "accent-light dark:accent-light-dark",
27
- text: "accent-text dark:accent-text-dark",
28
- dark: "accent-dark dark:accent-dark-dark",
29
- error: "accent-error dark:accent-error-dark",
30
- success: "accent-success dark:accent-success-dark",
31
- custom: "accent-custom dark:accent-custom-dark"
22
+ primary: "accent-primary",
23
+ secondary: "accent-secondary",
24
+ destructive: "accent-destructive",
25
+ neutral: "accent-neutral",
26
+ light: "accent-light",
27
+ text: "accent-text",
28
+ dark: "accent-dark",
29
+ error: "accent-error",
30
+ success: "accent-success",
31
+ custom: "accent-custom"
32
32
  },
33
33
  validationStyleEnabled: {
34
34
  disabled: "",
@@ -71,7 +71,6 @@ const Checkbox = ({
71
71
  /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: id, children: label })
72
72
  ] });
73
73
  };
74
- Checkbox.displayName = "Checkbox";
75
74
  exports.Checkbox = Checkbox;
76
75
  exports.checkboxVariants = checkboxVariants;
77
76
  //# sourceMappingURL=Checkbox.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.cjs","sources":["../../../src/components/Input/Checkbox.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n useId,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const checkboxVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'pointer rounded border-2 bg-input-background text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'checked:bg-checkbox-checked checked:border-checkbox-checked-border',\n 'disabled:opacity-50',\n ],\n },\n size: {\n sm: 'size-4',\n md: 'size-5',\n lg: 'size-6',\n },\n color: {\n primary: 'accent-primary dark:accent-primary-dark',\n secondary: 'accent-secondary dark:accent-secondary-dark',\n destructive: 'accent-destructive dark:accent-destructive-dark',\n neutral: 'accent-neutral dark:accent-neutral-dark',\n light: 'accent-light dark:accent-light-dark',\n text: 'accent-text dark:accent-text-dark',\n dark: 'accent-dark dark:accent-dark-dark',\n error: 'accent-error dark:accent-error-dark',\n success: 'accent-success dark:accent-success-dark',\n custom: 'accent-custom dark:accent-custom-dark',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n validationStyleEnabled: 'disabled',\n size: 'md',\n },\n});\n\nexport type CheckboxProps = Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n 'size'\n> & {\n validationStyleEnabled?: boolean;\n label?: string;\n} & Omit<VariantProps<typeof checkboxVariants>, 'validationStyleEnabled'>;\n\nexport const Checkbox: FC<CheckboxProps> = ({\n validationStyleEnabled = false,\n label,\n size,\n color,\n variant,\n className,\n ...props\n}) => {\n const id = useId();\n return (\n <>\n <input\n type=\"checkbox\"\n className={checkboxVariants({\n variant,\n size,\n color,\n validationStyleEnabled: validationStyleEnabled\n ? 'enabled'\n : 'disabled',\n className,\n })}\n id={id}\n {...props}\n />\n <label htmlFor={id}>{label}</label>\n </>\n );\n};\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["cva","useId","jsxs","Fragment","jsx"],"mappings":";;;;;AAQa,MAAA,mBAAmBA,2BAAI,IAAI;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,IACP,wBAAwB;AAAA,IACxB,MAAM;AAAA,EAAA;AAEV,CAAC;AAUM,MAAM,WAA8B,CAAC;AAAA,EAC1C,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,KAAKC,aAAAA,MAAM;AACjB,SAEIC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW,iBAAiB;AAAA,UAC1B;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAwB,yBACpB,YACA;AAAA,UACJ;AAAA,QAAA,CACD;AAAA,QACD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IACCA,2BAAA,IAAA,SAAA,EAAM,SAAS,IAAK,UAAM,MAAA,CAAA;AAAA,EAAA,GAC7B;AAEJ;AAEA,SAAS,cAAc;;;"}
1
+ {"version":3,"file":"Checkbox.cjs","sources":["../../../src/components/Input/Checkbox.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n useId,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const checkboxVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'pointer rounded border-2 bg-input-background text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'checked:bg-checkbox-checked checked:border-checkbox-checked-border',\n 'disabled:opacity-50',\n ],\n },\n size: {\n sm: 'size-4',\n md: 'size-5',\n lg: 'size-6',\n },\n color: {\n primary: 'accent-primary',\n secondary: 'accent-secondary',\n destructive: 'accent-destructive',\n neutral: 'accent-neutral',\n light: 'accent-light',\n text: 'accent-text',\n dark: 'accent-dark',\n error: 'accent-error',\n success: 'accent-success',\n custom: 'accent-custom',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n validationStyleEnabled: 'disabled',\n size: 'md',\n },\n});\n\nexport type CheckboxProps = Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n 'size'\n> & {\n validationStyleEnabled?: boolean;\n label?: string;\n} & Omit<VariantProps<typeof checkboxVariants>, 'validationStyleEnabled'>;\n\nexport const Checkbox: FC<CheckboxProps> = ({\n validationStyleEnabled = false,\n label,\n size,\n color,\n variant,\n className,\n ...props\n}) => {\n const id = useId();\n return (\n <>\n <input\n type=\"checkbox\"\n className={checkboxVariants({\n variant,\n size,\n color,\n validationStyleEnabled: validationStyleEnabled\n ? 'enabled'\n : 'disabled',\n className,\n })}\n id={id}\n {...props}\n />\n <label htmlFor={id}>{label}</label>\n </>\n );\n};\n"],"names":["cva","useId","jsxs","Fragment","jsx"],"mappings":";;;;;AAQa,MAAA,mBAAmBA,2BAAI,IAAI;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,IACP,wBAAwB;AAAA,IACxB,MAAM;AAAA,EAAA;AAEV,CAAC;AAUM,MAAM,WAA8B,CAAC;AAAA,EAC1C,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,KAAKC,aAAAA,MAAM;AACjB,SAEIC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW,iBAAiB;AAAA,UAC1B;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAwB,yBACpB,YACA;AAAA,UACJ;AAAA,QAAA,CACD;AAAA,QACD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IACCA,2BAAA,IAAA,SAAA,EAAM,SAAS,IAAK,UAAM,MAAA,CAAA;AAAA,EAAA,GAC7B;AAEJ;;;"}
@@ -3,7 +3,7 @@ import { FC, DetailedHTMLProps, InputHTMLAttributes } from 'react';
3
3
  export declare const checkboxVariants: (props?: ({
4
4
  variant?: "default" | null | undefined;
5
5
  size?: "sm" | "md" | "lg" | null | undefined;
6
- color?: "text" | "light" | "dark" | "success" | "error" | "primary" | "secondary" | "destructive" | "neutral" | "custom" | null | undefined;
6
+ color?: "text" | "error" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "success" | "custom" | null | undefined;
7
7
  validationStyleEnabled?: "disabled" | "enabled" | null | undefined;
8
8
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
9
  export type CheckboxProps = Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'size'> & {
@@ -17,16 +17,16 @@ const checkboxVariants = cva("", {
17
17
  lg: "size-6"
18
18
  },
19
19
  color: {
20
- primary: "accent-primary dark:accent-primary-dark",
21
- secondary: "accent-secondary dark:accent-secondary-dark",
22
- destructive: "accent-destructive dark:accent-destructive-dark",
23
- neutral: "accent-neutral dark:accent-neutral-dark",
24
- light: "accent-light dark:accent-light-dark",
25
- text: "accent-text dark:accent-text-dark",
26
- dark: "accent-dark dark:accent-dark-dark",
27
- error: "accent-error dark:accent-error-dark",
28
- success: "accent-success dark:accent-success-dark",
29
- custom: "accent-custom dark:accent-custom-dark"
20
+ primary: "accent-primary",
21
+ secondary: "accent-secondary",
22
+ destructive: "accent-destructive",
23
+ neutral: "accent-neutral",
24
+ light: "accent-light",
25
+ text: "accent-text",
26
+ dark: "accent-dark",
27
+ error: "accent-error",
28
+ success: "accent-success",
29
+ custom: "accent-custom"
30
30
  },
31
31
  validationStyleEnabled: {
32
32
  disabled: "",
@@ -69,7 +69,6 @@ const Checkbox = ({
69
69
  /* @__PURE__ */ jsx("label", { htmlFor: id, children: label })
70
70
  ] });
71
71
  };
72
- Checkbox.displayName = "Checkbox";
73
72
  export {
74
73
  Checkbox,
75
74
  checkboxVariants
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.mjs","sources":["../../../src/components/Input/Checkbox.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n useId,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const checkboxVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'pointer rounded border-2 bg-input-background text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'checked:bg-checkbox-checked checked:border-checkbox-checked-border',\n 'disabled:opacity-50',\n ],\n },\n size: {\n sm: 'size-4',\n md: 'size-5',\n lg: 'size-6',\n },\n color: {\n primary: 'accent-primary dark:accent-primary-dark',\n secondary: 'accent-secondary dark:accent-secondary-dark',\n destructive: 'accent-destructive dark:accent-destructive-dark',\n neutral: 'accent-neutral dark:accent-neutral-dark',\n light: 'accent-light dark:accent-light-dark',\n text: 'accent-text dark:accent-text-dark',\n dark: 'accent-dark dark:accent-dark-dark',\n error: 'accent-error dark:accent-error-dark',\n success: 'accent-success dark:accent-success-dark',\n custom: 'accent-custom dark:accent-custom-dark',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n validationStyleEnabled: 'disabled',\n size: 'md',\n },\n});\n\nexport type CheckboxProps = Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n 'size'\n> & {\n validationStyleEnabled?: boolean;\n label?: string;\n} & Omit<VariantProps<typeof checkboxVariants>, 'validationStyleEnabled'>;\n\nexport const Checkbox: FC<CheckboxProps> = ({\n validationStyleEnabled = false,\n label,\n size,\n color,\n variant,\n className,\n ...props\n}) => {\n const id = useId();\n return (\n <>\n <input\n type=\"checkbox\"\n className={checkboxVariants({\n variant,\n size,\n color,\n validationStyleEnabled: validationStyleEnabled\n ? 'enabled'\n : 'disabled',\n className,\n })}\n id={id}\n {...props}\n />\n <label htmlFor={id}>{label}</label>\n </>\n );\n};\n\nCheckbox.displayName = 'Checkbox';\n"],"names":[],"mappings":";;;AAQa,MAAA,mBAAmB,IAAI,IAAI;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,IACP,wBAAwB;AAAA,IACxB,MAAM;AAAA,EAAA;AAEV,CAAC;AAUM,MAAM,WAA8B,CAAC;AAAA,EAC1C,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,KAAK,MAAM;AACjB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW,iBAAiB;AAAA,UAC1B;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAwB,yBACpB,YACA;AAAA,UACJ;AAAA,QAAA,CACD;AAAA,QACD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IACC,oBAAA,SAAA,EAAM,SAAS,IAAK,UAAM,MAAA,CAAA;AAAA,EAAA,GAC7B;AAEJ;AAEA,SAAS,cAAc;"}
1
+ {"version":3,"file":"Checkbox.mjs","sources":["../../../src/components/Input/Checkbox.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n useId,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const checkboxVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'pointer rounded border-2 bg-input-background text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'checked:bg-checkbox-checked checked:border-checkbox-checked-border',\n 'disabled:opacity-50',\n ],\n },\n size: {\n sm: 'size-4',\n md: 'size-5',\n lg: 'size-6',\n },\n color: {\n primary: 'accent-primary',\n secondary: 'accent-secondary',\n destructive: 'accent-destructive',\n neutral: 'accent-neutral',\n light: 'accent-light',\n text: 'accent-text',\n dark: 'accent-dark',\n error: 'accent-error',\n success: 'accent-success',\n custom: 'accent-custom',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n validationStyleEnabled: 'disabled',\n size: 'md',\n },\n});\n\nexport type CheckboxProps = Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n 'size'\n> & {\n validationStyleEnabled?: boolean;\n label?: string;\n} & Omit<VariantProps<typeof checkboxVariants>, 'validationStyleEnabled'>;\n\nexport const Checkbox: FC<CheckboxProps> = ({\n validationStyleEnabled = false,\n label,\n size,\n color,\n variant,\n className,\n ...props\n}) => {\n const id = useId();\n return (\n <>\n <input\n type=\"checkbox\"\n className={checkboxVariants({\n variant,\n size,\n color,\n validationStyleEnabled: validationStyleEnabled\n ? 'enabled'\n : 'disabled',\n className,\n })}\n id={id}\n {...props}\n />\n <label htmlFor={id}>{label}</label>\n </>\n );\n};\n"],"names":[],"mappings":";;;AAQa,MAAA,mBAAmB,IAAI,IAAI;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,IACP,wBAAwB;AAAA,IACxB,MAAM;AAAA,EAAA;AAEV,CAAC;AAUM,MAAM,WAA8B,CAAC;AAAA,EAC1C,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,KAAK,MAAM;AACjB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW,iBAAiB;AAAA,UAC1B;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAwB,yBACpB,YACA;AAAA,UACJ;AAAA,QAAA,CACD;AAAA,QACD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IACC,oBAAA,SAAA,EAAM,SAAS,IAAK,UAAM,MAAA,CAAA;AAAA,EAAA,GAC7B;AAEJ;"}
@@ -6,22 +6,22 @@ const inputVariants = classVarianceAuthority.cva("", {
6
6
  variants: {
7
7
  variant: {
8
8
  default: [
9
- "w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark",
10
- "border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus",
11
- "aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark",
9
+ "w-full select-text resize-none rounded-xl border-2 bg-input-background text-base md:text-sm text-input-text shadow-none outline-0 transition-all",
10
+ "border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]",
11
+ "aria-[invalid=true]:border-error",
12
12
  "disabled:opacity-50"
13
13
  ],
14
14
  invisible: [
15
- "w-full border-none bg-inherit text-inherit outline-none ring-0"
15
+ "w-full border-none bg-inherit text-inherit outline-hidden ring-0"
16
16
  ]
17
17
  },
18
18
  size: {
19
- md: "px-2 py-1 max-md:py-3",
20
- lg: "px-4 py-2 max-md:py-4"
19
+ md: "px-2 md:py-1 py-3",
20
+ lg: "p-4 md:py-2"
21
21
  },
22
22
  validationStyleEnabled: {
23
23
  disabled: "",
24
- enabled: "valid:border-success invalid:border-error dark:valid:border-success-dark dark:invalid:border-error-dark"
24
+ enabled: "valid:border-success invalid:border-error"
25
25
  }
26
26
  },
27
27
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.cjs","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const inputVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n invisible: [\n 'w-full border-none bg-inherit text-inherit outline-none ring-0',\n ],\n },\n size: {\n md: 'px-2 py-1 max-md:py-3',\n lg: 'px-4 py-2 max-md:py-4',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled:\n 'valid:border-success invalid:border-error dark:valid:border-success-dark dark:invalid:border-error-dark',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n validationStyleEnabled: 'disabled',\n },\n});\n\nexport type InputProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n validationStyleEnabled?: boolean;\n} & Omit<VariantProps<typeof inputVariants>, 'validationStyleEnabled'>;\n\nexport const Input: FC<InputProps> = ({\n validationStyleEnabled = false,\n variant,\n size,\n className,\n ...props\n}) => (\n <input\n className={inputVariants({\n variant,\n size,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })}\n {...props}\n />\n);\n"],"names":["cva","jsx"],"mappings":";;;;AAOa,MAAA,gBAAgBA,2BAAI,IAAI;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SACE;AAAA,IAAA;AAAA,EAEN;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,EAAA;AAE5B,CAAC;AASM,MAAM,QAAwB,CAAC;AAAA,EACpC,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEC,2BAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,MACA,wBAAwB,yBAAyB,YAAY;AAAA,MAC7D;AAAA,IAAA,CACD;AAAA,IACA,GAAG;AAAA,EAAA;AACN;;;"}
1
+ {"version":3,"file":"Input.cjs","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const inputVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-base md:text-sm text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'aria-[invalid=true]:border-error',\n 'disabled:opacity-50',\n ],\n invisible: [\n 'w-full border-none bg-inherit text-inherit outline-hidden ring-0',\n ],\n },\n size: {\n md: 'px-2 md:py-1 py-3',\n lg: 'p-4 md:py-2',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n validationStyleEnabled: 'disabled',\n },\n});\n\nexport type InputProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n validationStyleEnabled?: boolean;\n} & Omit<VariantProps<typeof inputVariants>, 'validationStyleEnabled'>;\n\nexport const Input: FC<InputProps> = ({\n validationStyleEnabled = false,\n variant,\n size,\n className,\n ...props\n}) => (\n <input\n className={inputVariants({\n variant,\n size,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })}\n {...props}\n />\n);\n"],"names":["cva","jsx"],"mappings":";;;;AAOa,MAAA,gBAAgBA,2BAAI,IAAI;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,EAAA;AAE5B,CAAC;AASM,MAAM,QAAwB,CAAC;AAAA,EACpC,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEC,2BAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,MACA,wBAAwB,yBAAyB,YAAY;AAAA,MAC7D;AAAA,IAAA,CACD;AAAA,IACA,GAAG;AAAA,EAAA;AACN;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,KAAK,EAAE,EACP,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,aAAa;;;;8EA4BxB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,iBAAiB,CACxC,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,gBAAgB,CACjB,GAAG;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE,wBAAwB,CAAC,CAAC;AAEvE,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAgBhC,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,KAAK,EAAE,EACP,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,aAAa;;;;8EA2BxB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,iBAAiB,CACxC,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,gBAAgB,CACjB,GAAG;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE,wBAAwB,CAAC,CAAC;AAEvE,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAgBhC,CAAC"}
@@ -4,22 +4,22 @@ const inputVariants = cva("", {
4
4
  variants: {
5
5
  variant: {
6
6
  default: [
7
- "w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark",
8
- "border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus",
9
- "aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark",
7
+ "w-full select-text resize-none rounded-xl border-2 bg-input-background text-base md:text-sm text-input-text shadow-none outline-0 transition-all",
8
+ "border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]",
9
+ "aria-[invalid=true]:border-error",
10
10
  "disabled:opacity-50"
11
11
  ],
12
12
  invisible: [
13
- "w-full border-none bg-inherit text-inherit outline-none ring-0"
13
+ "w-full border-none bg-inherit text-inherit outline-hidden ring-0"
14
14
  ]
15
15
  },
16
16
  size: {
17
- md: "px-2 py-1 max-md:py-3",
18
- lg: "px-4 py-2 max-md:py-4"
17
+ md: "px-2 md:py-1 py-3",
18
+ lg: "p-4 md:py-2"
19
19
  },
20
20
  validationStyleEnabled: {
21
21
  disabled: "",
22
- enabled: "valid:border-success invalid:border-error dark:valid:border-success-dark dark:invalid:border-error-dark"
22
+ enabled: "valid:border-success invalid:border-error"
23
23
  }
24
24
  },
25
25
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.mjs","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const inputVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n invisible: [\n 'w-full border-none bg-inherit text-inherit outline-none ring-0',\n ],\n },\n size: {\n md: 'px-2 py-1 max-md:py-3',\n lg: 'px-4 py-2 max-md:py-4',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled:\n 'valid:border-success invalid:border-error dark:valid:border-success-dark dark:invalid:border-error-dark',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n validationStyleEnabled: 'disabled',\n },\n});\n\nexport type InputProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n validationStyleEnabled?: boolean;\n} & Omit<VariantProps<typeof inputVariants>, 'validationStyleEnabled'>;\n\nexport const Input: FC<InputProps> = ({\n validationStyleEnabled = false,\n variant,\n size,\n className,\n ...props\n}) => (\n <input\n className={inputVariants({\n variant,\n size,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })}\n {...props}\n />\n);\n"],"names":[],"mappings":";;AAOa,MAAA,gBAAgB,IAAI,IAAI;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SACE;AAAA,IAAA;AAAA,EAEN;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,EAAA;AAE5B,CAAC;AASM,MAAM,QAAwB,CAAC;AAAA,EACpC,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,MACA,wBAAwB,yBAAyB,YAAY;AAAA,MAC7D;AAAA,IAAA,CACD;AAAA,IACA,GAAG;AAAA,EAAA;AACN;"}
1
+ {"version":3,"file":"Input.mjs","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type FC,\n type DetailedHTMLProps,\n type InputHTMLAttributes,\n} from 'react';\n\nexport const inputVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-base md:text-sm text-input-text shadow-none outline-0 transition-all',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]',\n 'aria-[invalid=true]:border-error',\n 'disabled:opacity-50',\n ],\n invisible: [\n 'w-full border-none bg-inherit text-inherit outline-hidden ring-0',\n ],\n },\n size: {\n md: 'px-2 md:py-1 py-3',\n lg: 'p-4 md:py-2',\n },\n validationStyleEnabled: {\n disabled: '',\n enabled: 'valid:border-success invalid:border-error',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n validationStyleEnabled: 'disabled',\n },\n});\n\nexport type InputProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n validationStyleEnabled?: boolean;\n} & Omit<VariantProps<typeof inputVariants>, 'validationStyleEnabled'>;\n\nexport const Input: FC<InputProps> = ({\n validationStyleEnabled = false,\n variant,\n size,\n className,\n ...props\n}) => (\n <input\n className={inputVariants({\n variant,\n size,\n validationStyleEnabled: validationStyleEnabled ? 'enabled' : 'disabled',\n className,\n })}\n {...props}\n />\n);\n"],"names":[],"mappings":";;AAOa,MAAA,gBAAgB,IAAI,IAAI;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,EAAA;AAE5B,CAAC;AASM,MAAM,QAAwB,CAAC;AAAA,EACpC,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,MACA,wBAAwB,yBAAyB,YAAY;AAAA,MAC7D;AAAA,IAAA,CACD;AAAA,IACA,GAAG;AAAA,EAAA;AACN;"}
@@ -25,7 +25,7 @@ const InputPassword = (props) => {
25
25
  children: /* @__PURE__ */ jsxRuntime.jsx(
26
26
  EyeIconComponent,
27
27
  {
28
- className: "text-neutral dark:text-neutral-dark mr-2 inline-block",
28
+ className: "text-neutral mr-2 inline-block",
29
29
  size: 20
30
30
  }
31
31
  )
@@ -1 +1 @@
1
- {"version":3,"file":"InputPassword.cjs","sources":["../../../src/components/Input/InputPassword.tsx"],"sourcesContent":["'use client';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { type FC, useState, type MouseEventHandler } from 'react';\nimport { Input, type InputProps } from './Input';\n\ntype InputPasswordProps = Omit<InputProps, 'type'>;\n\nexport const InputPassword: FC<InputPasswordProps> = (props) => {\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n\n const handlePasswordReveal: MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsPasswordRevealed((isPasswordRevealed) => !isPasswordRevealed);\n };\n\n const EyeIconComponent = isPasswordRevealed ? EyeIcon : EyeOffIcon;\n\n return (\n <div className=\"relative\">\n <Input {...props} type={isPasswordRevealed ? 'text' : 'password'} />\n\n <button\n data-testid=\"eye-icon\"\n className=\"absolute right-2 h-full flex-row items-center\"\n onClick={handlePasswordReveal}\n aria-label={isPasswordRevealed ? 'Hide password' : 'Show password'}\n >\n <EyeIconComponent\n className=\"text-neutral dark:text-neutral-dark mr-2 inline-block\"\n size={20}\n />\n </button>\n </div>\n );\n};\n"],"names":["useState","isPasswordRevealed","EyeIcon","EyeOffIcon","jsxs","jsx","Input"],"mappings":";;;;;;;AAQa,MAAA,gBAAwC,CAAC,UAAU;AAC9D,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,aAAAA,SAAS,KAAK;AAE5D,QAAA,uBAA6D,CAAC,MAAM;AACxE,MAAE,eAAe;AACjB,MAAE,gBAAgB;AACI,0BAAA,CAACC,wBAAuB,CAACA,mBAAkB;AAAA,EACnE;AAEM,QAAA,mBAAmB,qBAAqBC,YAAAA,UAAUC,YAAA;AAGtD,SAAAC,2BAAA,KAAC,OAAI,EAAA,WAAU,YACb,UAAA;AAAA,IAAAC,+BAACC,uBAAAA,SAAO,GAAG,OAAO,MAAM,qBAAqB,SAAS,YAAY;AAAA,IAElED,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAY,qBAAqB,kBAAkB;AAAA,QAEnD,UAAAA,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;"}
1
+ {"version":3,"file":"InputPassword.cjs","sources":["../../../src/components/Input/InputPassword.tsx"],"sourcesContent":["'use client';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { type FC, useState, type MouseEventHandler } from 'react';\nimport { Input, type InputProps } from './Input';\n\ntype InputPasswordProps = Omit<InputProps, 'type'>;\n\nexport const InputPassword: FC<InputPasswordProps> = (props) => {\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n\n const handlePasswordReveal: MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsPasswordRevealed((isPasswordRevealed) => !isPasswordRevealed);\n };\n\n const EyeIconComponent = isPasswordRevealed ? EyeIcon : EyeOffIcon;\n\n return (\n <div className=\"relative\">\n <Input {...props} type={isPasswordRevealed ? 'text' : 'password'} />\n\n <button\n data-testid=\"eye-icon\"\n className=\"absolute right-2 h-full flex-row items-center\"\n onClick={handlePasswordReveal}\n aria-label={isPasswordRevealed ? 'Hide password' : 'Show password'}\n >\n <EyeIconComponent\n className=\"text-neutral mr-2 inline-block\"\n size={20}\n />\n </button>\n </div>\n );\n};\n"],"names":["useState","isPasswordRevealed","EyeIcon","EyeOffIcon","jsxs","jsx","Input"],"mappings":";;;;;;;AAQa,MAAA,gBAAwC,CAAC,UAAU;AAC9D,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,aAAAA,SAAS,KAAK;AAE5D,QAAA,uBAA6D,CAAC,MAAM;AACxE,MAAE,eAAe;AACjB,MAAE,gBAAgB;AACI,0BAAA,CAACC,wBAAuB,CAACA,mBAAkB;AAAA,EACnE;AAEM,QAAA,mBAAmB,qBAAqBC,YAAAA,UAAUC,YAAA;AAGtD,SAAAC,2BAAA,KAAC,OAAI,EAAA,WAAU,YACb,UAAA;AAAA,IAAAC,+BAACC,uBAAAA,SAAO,GAAG,OAAO,MAAM,qBAAqB,SAAS,YAAY;AAAA,IAElED,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAY,qBAAqB,kBAAkB;AAAA,QAEnD,UAAAA,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;"}
@@ -23,7 +23,7 @@ const InputPassword = (props) => {
23
23
  children: /* @__PURE__ */ jsx(
24
24
  EyeIconComponent,
25
25
  {
26
- className: "text-neutral dark:text-neutral-dark mr-2 inline-block",
26
+ className: "text-neutral mr-2 inline-block",
27
27
  size: 20
28
28
  }
29
29
  )
@@ -1 +1 @@
1
- {"version":3,"file":"InputPassword.mjs","sources":["../../../src/components/Input/InputPassword.tsx"],"sourcesContent":["'use client';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { type FC, useState, type MouseEventHandler } from 'react';\nimport { Input, type InputProps } from './Input';\n\ntype InputPasswordProps = Omit<InputProps, 'type'>;\n\nexport const InputPassword: FC<InputPasswordProps> = (props) => {\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n\n const handlePasswordReveal: MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsPasswordRevealed((isPasswordRevealed) => !isPasswordRevealed);\n };\n\n const EyeIconComponent = isPasswordRevealed ? EyeIcon : EyeOffIcon;\n\n return (\n <div className=\"relative\">\n <Input {...props} type={isPasswordRevealed ? 'text' : 'password'} />\n\n <button\n data-testid=\"eye-icon\"\n className=\"absolute right-2 h-full flex-row items-center\"\n onClick={handlePasswordReveal}\n aria-label={isPasswordRevealed ? 'Hide password' : 'Show password'}\n >\n <EyeIconComponent\n className=\"text-neutral dark:text-neutral-dark mr-2 inline-block\"\n size={20}\n />\n </button>\n </div>\n );\n};\n"],"names":["isPasswordRevealed"],"mappings":";;;;;AAQa,MAAA,gBAAwC,CAAC,UAAU;AAC9D,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAE5D,QAAA,uBAA6D,CAAC,MAAM;AACxE,MAAE,eAAe;AACjB,MAAE,gBAAgB;AACI,0BAAA,CAACA,wBAAuB,CAACA,mBAAkB;AAAA,EACnE;AAEM,QAAA,mBAAmB,qBAAqB,UAAU;AAGtD,SAAA,qBAAC,OAAI,EAAA,WAAU,YACb,UAAA;AAAA,IAAA,oBAAC,SAAO,GAAG,OAAO,MAAM,qBAAqB,SAAS,YAAY;AAAA,IAElE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAY,qBAAqB,kBAAkB;AAAA,QAEnD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"InputPassword.mjs","sources":["../../../src/components/Input/InputPassword.tsx"],"sourcesContent":["'use client';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { type FC, useState, type MouseEventHandler } from 'react';\nimport { Input, type InputProps } from './Input';\n\ntype InputPasswordProps = Omit<InputProps, 'type'>;\n\nexport const InputPassword: FC<InputPasswordProps> = (props) => {\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n\n const handlePasswordReveal: MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsPasswordRevealed((isPasswordRevealed) => !isPasswordRevealed);\n };\n\n const EyeIconComponent = isPasswordRevealed ? EyeIcon : EyeOffIcon;\n\n return (\n <div className=\"relative\">\n <Input {...props} type={isPasswordRevealed ? 'text' : 'password'} />\n\n <button\n data-testid=\"eye-icon\"\n className=\"absolute right-2 h-full flex-row items-center\"\n onClick={handlePasswordReveal}\n aria-label={isPasswordRevealed ? 'Hide password' : 'Show password'}\n >\n <EyeIconComponent\n className=\"text-neutral mr-2 inline-block\"\n size={20}\n />\n </button>\n </div>\n );\n};\n"],"names":["isPasswordRevealed"],"mappings":";;;;;AAQa,MAAA,gBAAwC,CAAC,UAAU;AAC9D,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAE5D,QAAA,uBAA6D,CAAC,MAAM;AACxE,MAAE,eAAe;AACjB,MAAE,gBAAgB;AACI,0BAAA,CAACA,wBAAuB,CAACA,mBAAkB;AAAA,EACnE;AAEM,QAAA,mBAAmB,qBAAqB,UAAU;AAGtD,SAAA,qBAAC,OAAI,EAAA,WAAU,YACb,UAAA;AAAA,IAAA,oBAAC,SAAO,GAAG,OAAO,MAAM,qBAAqB,SAAS,YAAY;AAAA,IAElE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAY,qBAAqB,kBAAkB;AAAA,QAEnD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const hooks_useKeyboardDetector = require("../../hooks/useKeyboardDetector.cjs");
6
+ const utils_cn = require("../../utils/cn.cjs");
7
+ const KeyboardScreenAdapter = ({ children, className, ...props }) => {
8
+ const { windowHeight } = hooks_useKeyboardDetector.useKeyboardDetector();
9
+ return /* @__PURE__ */ jsxRuntime.jsx(
10
+ "div",
11
+ {
12
+ className: utils_cn.cn(
13
+ "h-screen w-screen overflow-scroll scroll-smooth transition",
14
+ className
15
+ ),
16
+ style: {
17
+ maxHeight: windowHeight ? `${windowHeight}px` : void 0
18
+ },
19
+ ...props,
20
+ children
21
+ }
22
+ );
23
+ };
24
+ exports.KeyboardScreenAdapter = KeyboardScreenAdapter;
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/KeyboardScreenAdapter/index.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\nimport { useKeyboardDetector } from '../../hooks/useKeyboardDetector';\nimport { cn } from '../../utils/cn';\n\nexport const KeyboardScreenAdapter: FC<\n PropsWithChildren<HTMLAttributes<HTMLDivElement>>\n> = ({ children, className, ...props }) => {\n const { windowHeight } = useKeyboardDetector();\n\n return (\n <div\n className={cn(\n 'h-screen w-screen overflow-scroll scroll-smooth transition',\n className\n )}\n style={{\n maxHeight: windowHeight ? `${windowHeight}px` : undefined,\n }}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":["useKeyboardDetector","jsx","cn"],"mappings":";;;;;;AAMO,MAAM,wBAET,CAAC,EAAE,UAAU,WAAW,GAAG,YAAY;AACnC,QAAA,EAAE,aAAa,IAAIA,8CAAoB;AAG3C,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,SAAA;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,WAAW,eAAe,GAAG,YAAY,OAAO;AAAA,MAClD;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
@@ -0,0 +1,3 @@
1
+ import { FC, HTMLAttributes, PropsWithChildren } from 'react';
2
+ export declare const KeyboardScreenAdapter: FC<PropsWithChildren<HTMLAttributes<HTMLDivElement>>>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/KeyboardScreenAdapter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAInE,eAAO,MAAM,qBAAqB,EAAE,EAAE,CACpC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAkBlD,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useKeyboardDetector } from "../../hooks/useKeyboardDetector.mjs";
4
+ import { cn } from "../../utils/cn.mjs";
5
+ const KeyboardScreenAdapter = ({ children, className, ...props }) => {
6
+ const { windowHeight } = useKeyboardDetector();
7
+ return /* @__PURE__ */ jsx(
8
+ "div",
9
+ {
10
+ className: cn(
11
+ "h-screen w-screen overflow-scroll scroll-smooth transition",
12
+ className
13
+ ),
14
+ style: {
15
+ maxHeight: windowHeight ? `${windowHeight}px` : void 0
16
+ },
17
+ ...props,
18
+ children
19
+ }
20
+ );
21
+ };
22
+ export {
23
+ KeyboardScreenAdapter
24
+ };
25
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/KeyboardScreenAdapter/index.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes, PropsWithChildren } from 'react';\nimport { useKeyboardDetector } from '../../hooks/useKeyboardDetector';\nimport { cn } from '../../utils/cn';\n\nexport const KeyboardScreenAdapter: FC<\n PropsWithChildren<HTMLAttributes<HTMLDivElement>>\n> = ({ children, className, ...props }) => {\n const { windowHeight } = useKeyboardDetector();\n\n return (\n <div\n className={cn(\n 'h-screen w-screen overflow-scroll scroll-smooth transition',\n className\n )}\n style={{\n maxHeight: windowHeight ? `${windowHeight}px` : undefined,\n }}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;AAMO,MAAM,wBAET,CAAC,EAAE,UAAU,WAAW,GAAG,YAAY;AACnC,QAAA,EAAE,aAAa,IAAI,oBAAoB;AAG3C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,WAAW,eAAe,GAAG,YAAY,OAAO;AAAA,MAClD;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;"}