@intlayer/design-system 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/Form-BDcoNTLV.cjs.map +1 -1
  2. package/dist/Form-DhsgC7kB.js.map +1 -1
  3. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  4. package/dist/components/Accordion/Accordion.mjs.map +1 -1
  5. package/dist/components/Auth/AuthModal/index.cjs.map +1 -1
  6. package/dist/components/Auth/AuthModal/index.mjs.map +1 -1
  7. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs.map +1 -1
  8. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs.map +1 -1
  9. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.cjs.map +1 -1
  10. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.mjs.map +1 -1
  11. package/dist/components/Auth/AuthenticationBarrier/accessValidation.cjs.map +1 -1
  12. package/dist/components/Auth/AuthenticationBarrier/accessValidation.mjs.map +1 -1
  13. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +1 -1
  14. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +1 -1
  15. package/dist/components/Auth/ChangePasswordForm/ChangePasswordSchema.cjs.map +1 -1
  16. package/dist/components/Auth/ChangePasswordForm/ChangePasswordSchema.mjs.map +1 -1
  17. package/dist/components/Auth/ChangePasswordForm/index.content.cjs.map +1 -1
  18. package/dist/components/Auth/ChangePasswordForm/index.content.d.ts +10 -10
  19. package/dist/components/Auth/ChangePasswordForm/index.content.mjs.map +1 -1
  20. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
  21. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
  22. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.cjs.map +1 -1
  23. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.mjs.map +1 -1
  24. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs.map +1 -1
  25. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +5 -5
  26. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs.map +1 -1
  27. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +1 -1
  28. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +1 -1
  29. package/dist/components/Auth/ResetPasswordForm/ResetPasswordSchema.cjs.map +1 -1
  30. package/dist/components/Auth/ResetPasswordForm/ResetPasswordSchema.mjs.map +1 -1
  31. package/dist/components/Auth/ResetPasswordForm/index.content.cjs.map +1 -1
  32. package/dist/components/Auth/ResetPasswordForm/index.content.d.ts +7 -7
  33. package/dist/components/Auth/ResetPasswordForm/index.content.mjs.map +1 -1
  34. package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
  35. package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
  36. package/dist/components/Auth/SignInForm/SignInSchema.cjs.map +1 -1
  37. package/dist/components/Auth/SignInForm/SignInSchema.mjs.map +1 -1
  38. package/dist/components/Auth/SignInForm/index.content.cjs.map +1 -1
  39. package/dist/components/Auth/SignInForm/index.content.d.ts +13 -13
  40. package/dist/components/Auth/SignInForm/index.content.mjs.map +1 -1
  41. package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +1 -1
  42. package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +1 -1
  43. package/dist/components/Auth/SignUpForm/SignUpSchema.cjs.map +1 -1
  44. package/dist/components/Auth/SignUpForm/SignUpSchema.mjs.map +1 -1
  45. package/dist/components/Auth/SignUpForm/index.content.cjs.map +1 -1
  46. package/dist/components/Auth/SignUpForm/index.content.d.ts +11 -11
  47. package/dist/components/Auth/SignUpForm/index.content.mjs.map +1 -1
  48. package/dist/components/Auth/useAuth/index.cjs.map +1 -1
  49. package/dist/components/Auth/useAuth/index.mjs.map +1 -1
  50. package/dist/components/Auth/useAuth/useCSRF.cjs.map +1 -1
  51. package/dist/components/Auth/useAuth/useCSRF.mjs.map +1 -1
  52. package/dist/components/Auth/useAuth/useOAuth2.cjs.map +1 -1
  53. package/dist/components/Auth/useAuth/useOAuth2.mjs.map +1 -1
  54. package/dist/components/Auth/useAuth/useSession.cjs.map +1 -1
  55. package/dist/components/Auth/useAuth/useSession.mjs.map +1 -1
  56. package/dist/components/Auth/useUser/index.cjs.map +1 -1
  57. package/dist/components/Auth/useUser/index.mjs.map +1 -1
  58. package/dist/components/Avatar/index.cjs.map +1 -1
  59. package/dist/components/Avatar/index.mjs.map +1 -1
  60. package/dist/components/Badge/index.cjs.map +1 -1
  61. package/dist/components/Badge/index.mjs.map +1 -1
  62. package/dist/components/Breadcrumb/index.cjs.map +1 -1
  63. package/dist/components/Breadcrumb/index.mjs.map +1 -1
  64. package/dist/components/Button/Button.cjs.map +1 -1
  65. package/dist/components/Button/Button.mjs.map +1 -1
  66. package/dist/components/Command/index.cjs.map +1 -1
  67. package/dist/components/Command/index.mjs.map +1 -1
  68. package/dist/components/Container/index.cjs.map +1 -1
  69. package/dist/components/Container/index.mjs.map +1 -1
  70. package/dist/components/ContentEditor/ContentEditor.cjs.map +1 -1
  71. package/dist/components/ContentEditor/ContentEditor.mjs.map +1 -1
  72. package/dist/components/ContentEditor/ContentEditorTextArea.cjs.map +1 -1
  73. package/dist/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  74. package/dist/components/CopyToClipboard/index.cjs.map +1 -1
  75. package/dist/components/CopyToClipboard/index.mjs.map +1 -1
  76. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
  77. package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  78. package/dist/components/DictionaryEditor/ItemLayout.cjs.map +1 -1
  79. package/dist/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  80. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.map +1 -1
  81. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  82. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  83. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  84. package/dist/components/DictionaryEditor/useEditedContentStore.cjs.map +1 -1
  85. package/dist/components/DictionaryEditor/useEditedContentStore.mjs.map +1 -1
  86. package/dist/components/DictionaryEditor/useEditionPanelStore.cjs.map +1 -1
  87. package/dist/components/DictionaryEditor/useEditionPanelStore.mjs.map +1 -1
  88. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +1 -1
  89. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +1 -1
  90. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs.map +1 -1
  91. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs.map +1 -1
  92. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  93. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  94. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.cjs.map +1 -1
  95. package/dist/components/DictionaryFieldEditor/DictionariesSelector/dictionariesSelector.content.mjs.map +1 -1
  96. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  97. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  98. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.cjs.map +1 -1
  99. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  100. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.cjs.map +1 -1
  101. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.mjs.map +1 -1
  102. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  103. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  104. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.cjs.map +1 -1
  105. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.mjs.map +1 -1
  106. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
  107. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  108. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  109. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  110. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
  111. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
  112. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
  113. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
  114. package/dist/components/DictionaryFieldEditor/EnumKeyInput.cjs.map +1 -1
  115. package/dist/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  116. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs.map +1 -1
  117. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  118. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.cjs.map +1 -1
  119. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  120. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  121. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  122. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.cjs.map +1 -1
  123. package/dist/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  124. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs.map +1 -1
  125. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs.map +1 -1
  126. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs.map +1 -1
  127. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  128. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  129. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  130. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.cjs.map +1 -1
  131. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.mjs.map +1 -1
  132. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  133. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  134. package/dist/components/DictionaryFieldEditor/dictionaryFieldEditor.content.cjs.map +1 -1
  135. package/dist/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  136. package/dist/components/DictionaryFieldEditor/editorView.content.cjs.map +1 -1
  137. package/dist/components/DictionaryFieldEditor/editorView.content.mjs.map +1 -1
  138. package/dist/components/DictionaryFieldEditor/getIsEditableSection.cjs.map +1 -1
  139. package/dist/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  140. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.cjs.map +1 -1
  141. package/dist/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  142. package/dist/components/DropDown/index.cjs.map +1 -1
  143. package/dist/components/DropDown/index.mjs.map +1 -1
  144. package/dist/components/EditableField/EditableFieldInput.cjs.map +1 -1
  145. package/dist/components/EditableField/EditableFieldInput.mjs.map +1 -1
  146. package/dist/components/EditableField/EditableFieldLayout.cjs.map +1 -1
  147. package/dist/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  148. package/dist/components/EditableField/EditableFieldTextArea.cjs.map +1 -1
  149. package/dist/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  150. package/dist/components/Footer/index.cjs.map +1 -1
  151. package/dist/components/Footer/index.mjs.map +1 -1
  152. package/dist/components/Form/FormBase.cjs.map +1 -1
  153. package/dist/components/Form/FormBase.mjs.map +1 -1
  154. package/dist/components/Form/FormControl.cjs.map +1 -1
  155. package/dist/components/Form/FormControl.mjs.map +1 -1
  156. package/dist/components/Form/FormDescription.cjs.map +1 -1
  157. package/dist/components/Form/FormDescription.mjs.map +1 -1
  158. package/dist/components/Form/FormField.cjs.map +1 -1
  159. package/dist/components/Form/FormField.mjs.map +1 -1
  160. package/dist/components/Form/FormItem.cjs.map +1 -1
  161. package/dist/components/Form/FormItem.mjs.map +1 -1
  162. package/dist/components/Form/FormLabel.cjs.map +1 -1
  163. package/dist/components/Form/FormLabel.mjs.map +1 -1
  164. package/dist/components/Form/FormMessage.cjs.map +1 -1
  165. package/dist/components/Form/FormMessage.mjs.map +1 -1
  166. package/dist/components/Form/elements/FormElementWrapper.cjs.map +1 -1
  167. package/dist/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  168. package/dist/components/Form/layout/FormLabelLayout.cjs.map +1 -1
  169. package/dist/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  170. package/dist/components/Headers/SectionScroller.cjs.map +1 -1
  171. package/dist/components/Headers/SectionScroller.mjs.map +1 -1
  172. package/dist/components/Headers/index.cjs.map +1 -1
  173. package/dist/components/Headers/index.mjs.map +1 -1
  174. package/dist/components/IDE/CodeRender.cjs.map +1 -1
  175. package/dist/components/IDE/CodeRender.mjs.map +1 -1
  176. package/dist/components/IDE/FileList.cjs.map +1 -1
  177. package/dist/components/IDE/FileList.mjs.map +1 -1
  178. package/dist/components/IDE/FileTree.cjs.map +1 -1
  179. package/dist/components/IDE/FileTree.mjs.map +1 -1
  180. package/dist/components/IDE/IDE.cjs +1 -1
  181. package/dist/components/IDE/IDE.cjs.map +1 -1
  182. package/dist/components/IDE/IDE.mjs +1 -1
  183. package/dist/components/IDE/IDE.mjs.map +1 -1
  184. package/dist/components/IDE/MarkDownRender.cjs.map +1 -1
  185. package/dist/components/IDE/MarkDownRender.mjs.map +1 -1
  186. package/dist/components/IDE/createFileTree.cjs.map +1 -1
  187. package/dist/components/IDE/createFileTree.mjs.map +1 -1
  188. package/dist/components/Input/Checkbox.cjs.map +1 -1
  189. package/dist/components/Input/Checkbox.mjs.map +1 -1
  190. package/dist/components/Input/Input.cjs.map +1 -1
  191. package/dist/components/Input/Input.mjs.map +1 -1
  192. package/dist/components/Input/InputPassword.cjs.map +1 -1
  193. package/dist/components/Input/InputPassword.mjs.map +1 -1
  194. package/dist/components/Link/Link.cjs.map +1 -1
  195. package/dist/components/Link/Link.mjs.map +1 -1
  196. package/dist/components/Loader/spinner.cjs.map +1 -1
  197. package/dist/components/Loader/spinner.mjs.map +1 -1
  198. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.map +1 -1
  199. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  200. package/dist/components/Logo/LogoCircle.cjs.map +1 -1
  201. package/dist/components/Logo/LogoCircle.mjs.map +1 -1
  202. package/dist/components/Logo/LogoNoFrame.cjs.map +1 -1
  203. package/dist/components/Logo/LogoNoFrame.mjs.map +1 -1
  204. package/dist/components/Logo/LogoSquare.cjs.map +1 -1
  205. package/dist/components/Logo/LogoSquare.mjs.map +1 -1
  206. package/dist/components/Logo/LogoSquircle.cjs.map +1 -1
  207. package/dist/components/Logo/LogoSquircle.mjs.map +1 -1
  208. package/dist/components/Logo/LogoTextOnly.cjs.map +1 -1
  209. package/dist/components/Logo/LogoTextOnly.mjs.map +1 -1
  210. package/dist/components/Logo/LogoWithTextBelowCircle.cjs.map +1 -1
  211. package/dist/components/Logo/LogoWithTextBelowCircle.mjs.map +1 -1
  212. package/dist/components/Logo/LogoWithTextBelowNoFrame.cjs.map +1 -1
  213. package/dist/components/Logo/LogoWithTextBelowNoFrame.mjs.map +1 -1
  214. package/dist/components/Logo/LogoWithTextBelowSquircle.cjs.map +1 -1
  215. package/dist/components/Logo/LogoWithTextBelowSquircle.mjs.map +1 -1
  216. package/dist/components/Logo/LogoWithTextCircle.cjs.map +1 -1
  217. package/dist/components/Logo/LogoWithTextCircle.mjs.map +1 -1
  218. package/dist/components/Logo/LogoWithTextNoFrame.cjs.map +1 -1
  219. package/dist/components/Logo/LogoWithTextNoFrame.mjs.map +1 -1
  220. package/dist/components/Logo/LogoWithTextSquircle.cjs.map +1 -1
  221. package/dist/components/Logo/LogoWithTextSquircle.mjs.map +1 -1
  222. package/dist/components/Logo/index.cjs.map +1 -1
  223. package/dist/components/Logo/index.mjs.map +1 -1
  224. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  225. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  226. package/dist/components/MaxHeightSmoother/index.cjs.map +1 -1
  227. package/dist/components/MaxHeightSmoother/index.mjs.map +1 -1
  228. package/dist/components/MaxWidthSmoother/index.cjs.map +1 -1
  229. package/dist/components/MaxWidthSmoother/index.mjs.map +1 -1
  230. package/dist/components/Modal/Modal.cjs.map +1 -1
  231. package/dist/components/Modal/Modal.mjs.map +1 -1
  232. package/dist/components/Navbar/Burger.cjs.map +1 -1
  233. package/dist/components/Navbar/Burger.mjs.map +1 -1
  234. package/dist/components/Navbar/DesktopNavbar.cjs.map +1 -1
  235. package/dist/components/Navbar/DesktopNavbar.mjs.map +1 -1
  236. package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
  237. package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
  238. package/dist/components/Navbar/index.cjs.map +1 -1
  239. package/dist/components/Navbar/index.mjs.map +1 -1
  240. package/dist/components/Navbar/useNavigation.cjs.map +1 -1
  241. package/dist/components/Navbar/useNavigation.mjs.map +1 -1
  242. package/dist/components/Pattern/DotPattern.cjs.map +1 -1
  243. package/dist/components/Pattern/DotPattern.mjs.map +1 -1
  244. package/dist/components/Pattern/GridPattern.cjs.map +1 -1
  245. package/dist/components/Pattern/GridPattern.mjs.map +1 -1
  246. package/dist/components/Pattern/SpotLight.cjs.map +1 -1
  247. package/dist/components/Pattern/SpotLight.mjs.map +1 -1
  248. package/dist/components/Popover/index.cjs.map +1 -1
  249. package/dist/components/Popover/index.mjs.map +1 -1
  250. package/dist/components/PressableSpan/PressableSpan.cjs.map +1 -1
  251. package/dist/components/PressableSpan/PressableSpan.mjs.map +1 -1
  252. package/dist/components/ProfileDropDown/index.cjs.map +1 -1
  253. package/dist/components/ProfileDropDown/index.mjs.map +1 -1
  254. package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
  255. package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
  256. package/dist/components/RightDrawer/useRightDrawerStore.cjs.map +1 -1
  257. package/dist/components/RightDrawer/useRightDrawerStore.mjs.map +1 -1
  258. package/dist/components/Select/Multiselect.cjs.map +1 -1
  259. package/dist/components/Select/Multiselect.mjs.map +1 -1
  260. package/dist/components/Select/Select.cjs.map +1 -1
  261. package/dist/components/Select/Select.mjs.map +1 -1
  262. package/dist/components/SwitchSelector/index.cjs.map +1 -1
  263. package/dist/components/SwitchSelector/index.mjs.map +1 -1
  264. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  265. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  266. package/dist/components/Tag/index.cjs.map +1 -1
  267. package/dist/components/Tag/index.mjs.map +1 -1
  268. package/dist/components/TextArea/AutoSizeTextArea.cjs.map +1 -1
  269. package/dist/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  270. package/dist/components/TextArea/TextArea.cjs.map +1 -1
  271. package/dist/components/TextArea/TextArea.mjs.map +1 -1
  272. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs.map +1 -1
  273. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  274. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.cjs.map +1 -1
  275. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  276. package/dist/components/Toaster/Toast.cjs.map +1 -1
  277. package/dist/components/Toaster/Toast.mjs.map +1 -1
  278. package/dist/components/Toaster/Toaster.cjs.map +1 -1
  279. package/dist/components/Toaster/Toaster.mjs.map +1 -1
  280. package/dist/components/Toaster/useToast.cjs.map +1 -1
  281. package/dist/components/Toaster/useToast.mjs.map +1 -1
  282. package/dist/components/WithResizer/index.cjs.map +1 -1
  283. package/dist/components/WithResizer/index.mjs.map +1 -1
  284. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  285. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  286. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  287. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  288. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  289. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  290. package/dist/hooks/useDevice.cjs.map +1 -1
  291. package/dist/hooks/useDevice.mjs.map +1 -1
  292. package/dist/hooks/useGetAllDictionaries.cjs.map +1 -1
  293. package/dist/hooks/useGetAllDictionaries.mjs.map +1 -1
  294. package/dist/hooks/useGetElementOrWindow.cjs.map +1 -1
  295. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  296. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  297. package/dist/hooks/useIsMounted.cjs.map +1 -1
  298. package/dist/hooks/useIsMounted.mjs.map +1 -1
  299. package/dist/hooks/useItemSelector.cjs.map +1 -1
  300. package/dist/hooks/useItemSelector.mjs.map +1 -1
  301. package/dist/hooks/usePersistedStore.cjs.map +1 -1
  302. package/dist/hooks/usePersistedStore.mjs.map +1 -1
  303. package/dist/hooks/useScrollBlockage/index.cjs.map +1 -1
  304. package/dist/hooks/useScrollBlockage/index.mjs.map +1 -1
  305. package/dist/hooks/useScrollBlockage/useScrollBlockageStore.cjs.map +1 -1
  306. package/dist/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  307. package/dist/hooks/useScrollDetection.cjs.map +1 -1
  308. package/dist/hooks/useScrollDetection.mjs.map +1 -1
  309. package/dist/index-BtZWYJhL.cjs.map +1 -1
  310. package/dist/index-D9oaKvKC.js.map +1 -1
  311. package/dist/jsx-runtime-DaNGiM0W.js.map +1 -1
  312. package/dist/jsx-runtime-XHKiWCTo.cjs.map +1 -1
  313. package/dist/libs/intlayer-api/auth.cjs.map +1 -1
  314. package/dist/libs/intlayer-api/auth.mjs.map +1 -1
  315. package/dist/libs/intlayer-api/dictionary.cjs.map +1 -1
  316. package/dist/libs/intlayer-api/dictionary.mjs.map +1 -1
  317. package/dist/libs/intlayer-api/fetcher.cjs.map +1 -1
  318. package/dist/libs/intlayer-api/fetcher.mjs.map +1 -1
  319. package/dist/libs/intlayer-api/organization.cjs.map +1 -1
  320. package/dist/libs/intlayer-api/organization.mjs.map +1 -1
  321. package/dist/libs/intlayer-api/project.cjs.map +1 -1
  322. package/dist/libs/intlayer-api/project.mjs.map +1 -1
  323. package/dist/libs/intlayer-api/stripe.cjs.map +1 -1
  324. package/dist/libs/intlayer-api/stripe.mjs.map +1 -1
  325. package/dist/libs/intlayer-api/user.cjs.map +1 -1
  326. package/dist/libs/intlayer-api/user.mjs.map +1 -1
  327. package/dist/shallow-lhDIFtEp.cjs.map +1 -1
  328. package/dist/shallow-m9BpCkKh.js.map +1 -1
  329. package/dist/tailwind.config.cjs.map +1 -1
  330. package/dist/tailwind.config.mjs.map +1 -1
  331. package/dist/tailwind.css +1 -1
  332. package/dist/utils/camelCase.cjs.map +1 -1
  333. package/dist/utils/camelCase.mjs.map +1 -1
  334. package/dist/utils/capitalize.cjs.map +1 -1
  335. package/dist/utils/capitalize.mjs.map +1 -1
  336. package/dist/utils/dictionary.cjs.map +1 -1
  337. package/dist/utils/dictionary.mjs.map +1 -1
  338. package/dist/utils/isElementAtTopAndNotCovered.cjs.map +1 -1
  339. package/dist/utils/isElementAtTopAndNotCovered.mjs.map +1 -1
  340. package/dist/utils/object.cjs.map +1 -1
  341. package/dist/utils/object.mjs.map +1 -1
  342. package/dist/zod-BV4nCGJE.js.map +1 -1
  343. package/dist/zod-DSrtTSD_.cjs.map +1 -1
  344. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/DropDown/index.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport type { DropDownType, PanelProps, TriggerProps } from './types';\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown identifier=\"dropdown\">\n * <DropDown.Trigger>\n * Open dropdown\n * </DropDown.Trigger>\n *\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * </DropDown>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nexport const DropDown: DropDownType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/dropdown relative flex`, className)}\n aria-label={`DropDown ${identifier}`}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown.Trigger identifier=\"dropdown\">\n * <div>Open dropdown</div>\n * </DropDown.Trigger>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nconst Trigger: FC<TriggerProps> = ({\n children,\n identifier,\n className,\n ...props\n}) => (\n <button\n className={cn('w-full cursor-pointer', className)}\n aria-label={`Open panel ${identifier}`}\n {...props}\n >\n {children}\n </button>\n);\n\n/**\n * Component that opens a dropdown menu when the trigger is clicked.\n *\n * Example:\n * ```jsx\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * ```\n */\nconst Panel: FC<PanelProps> = ({\n children,\n isHidden = undefined,\n isOverable = false,\n isFocusable = false,\n align = 'start',\n identifier,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'absolute top-[calc(100%+0.5rem)] z-[1000] min-w-full',\n align === 'start' && 'left-0',\n align === 'end' && 'right-0',\n className\n )}\n aria-hidden={isHidden}\n role=\"region\"\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n >\n <MaxHeightSmoother\n isHidden={isHidden}\n className={cn(\n 'overflow-x-visible',\n isHidden !== false ? 'invisible' : 'visible',\n isOverable &&\n 'group-hover/dropdown:visible group-hover/dropdown:grid-rows-[1fr]',\n isFocusable &&\n 'group-focus-within/dropdown:visible group-focus-within/dropdown:grid-rows-[1fr]'\n )}\n {...props}\n >\n {children}\n </MaxHeightSmoother>\n </div>\n);\n\nDropDown.Trigger = Trigger;\nDropDown.Panel = Panel;\n"],"names":["jsx","cn","MaxHeightSmoother"],"mappings":";;;;;AAuBO,MAAM,WAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAG,GAAA,gCAAgC,SAAS;AAAA,IACvD,cAAY,YAAY,UAAU;AAAA,IAClC,IAAI,2BAA2B,UAAU;AAAA,IACzC,iBAAa;AAAA,IACZ,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAeF,MAAM,UAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACED,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAAA,GAAG,yBAAyB,SAAS;AAAA,IAChD,cAAY,cAAc,UAAU;AAAA,IACnC,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAaF,MAAM,QAAwB,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACED,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAA;AAAA,MACT;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,UAAU,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAa;AAAA,IACb,MAAK;AAAA,IACL,mBAAiB,2BAA2B,UAAU;AAAA,IACtD,IAAI,oBAAoB,UAAU;AAAA,IAElC,UAAAD,2BAAA,kBAAA;AAAA,MAACE,mCAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWD,SAAA;AAAA,UACT;AAAA,UACA,aAAa,QAAQ,cAAc;AAAA,UACnC,cACE;AAAA,UACF,eACE;AAAA,QACJ;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AACF;AAGF,SAAS,UAAU;AACnB,SAAS,QAAQ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/DropDown/index.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport type { DropDownType, PanelProps, TriggerProps } from './types';\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown identifier=\"dropdown\">\n * <DropDown.Trigger>\n * Open dropdown\n * </DropDown.Trigger>\n *\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * </DropDown>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nexport const DropDown: DropDownType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/dropdown relative flex`, className)}\n aria-label={`DropDown ${identifier}`}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown.Trigger identifier=\"dropdown\">\n * <div>Open dropdown</div>\n * </DropDown.Trigger>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nconst Trigger: FC<TriggerProps> = ({\n children,\n identifier,\n className,\n ...props\n}) => (\n <button\n className={cn('w-full cursor-pointer', className)}\n aria-label={`Open panel ${identifier}`}\n {...props}\n >\n {children}\n </button>\n);\n\n/**\n * Component that opens a dropdown menu when the trigger is clicked.\n *\n * Example:\n * ```jsx\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * ```\n */\nconst Panel: FC<PanelProps> = ({\n children,\n isHidden = undefined,\n isOverable = false,\n isFocusable = false,\n align = 'start',\n identifier,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'absolute top-[calc(100%+0.5rem)] z-[1000] min-w-full',\n align === 'start' && 'left-0',\n align === 'end' && 'right-0',\n className\n )}\n aria-hidden={isHidden}\n role=\"region\"\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n >\n <MaxHeightSmoother\n isHidden={isHidden}\n className={cn(\n 'overflow-x-visible',\n isHidden !== false ? 'invisible' : 'visible',\n isOverable &&\n 'group-hover/dropdown:visible group-hover/dropdown:grid-rows-[1fr]',\n isFocusable &&\n 'group-focus-within/dropdown:visible group-focus-within/dropdown:grid-rows-[1fr]'\n )}\n {...props}\n >\n {children}\n </MaxHeightSmoother>\n </div>\n);\n\nDropDown.Trigger = Trigger;\nDropDown.Panel = Panel;\n"],"names":["jsx","cn","MaxHeightSmoother"],"mappings":";;;;;AAuBO,MAAM,WAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAG,GAAA,gCAAgC,SAAS;AAAA,IACvD,cAAY,YAAY,UAAU;AAAA,IAClC,IAAI,2BAA2B,UAAU;AAAA,IACzC,iBAAa;AAAA,IACZ,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAeF,MAAM,UAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACED,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAAA,GAAG,yBAAyB,SAAS;AAAA,IAChD,cAAY,cAAc,UAAU;AAAA,IACnC,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAaF,MAAM,QAAwB,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACED,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAA;AAAA,MACT;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,UAAU,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAa;AAAA,IACb,MAAK;AAAA,IACL,mBAAiB,2BAA2B,UAAU;AAAA,IACtD,IAAI,oBAAoB,UAAU;AAAA,IAElC,UAAAD,2BAAA,kBAAA;AAAA,MAACE,mCAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWD,SAAA;AAAA,UACT;AAAA,UACA,aAAa,QAAQ,cAAc;AAAA,UACnC,cACE;AAAA,UACF,eACE;AAAA,QACJ;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;AAGF,SAAS,UAAU;AACnB,SAAS,QAAQ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/DropDown/index.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport type { DropDownType, PanelProps, TriggerProps } from './types';\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown identifier=\"dropdown\">\n * <DropDown.Trigger>\n * Open dropdown\n * </DropDown.Trigger>\n *\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * </DropDown>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nexport const DropDown: DropDownType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/dropdown relative flex`, className)}\n aria-label={`DropDown ${identifier}`}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown.Trigger identifier=\"dropdown\">\n * <div>Open dropdown</div>\n * </DropDown.Trigger>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nconst Trigger: FC<TriggerProps> = ({\n children,\n identifier,\n className,\n ...props\n}) => (\n <button\n className={cn('w-full cursor-pointer', className)}\n aria-label={`Open panel ${identifier}`}\n {...props}\n >\n {children}\n </button>\n);\n\n/**\n * Component that opens a dropdown menu when the trigger is clicked.\n *\n * Example:\n * ```jsx\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * ```\n */\nconst Panel: FC<PanelProps> = ({\n children,\n isHidden = undefined,\n isOverable = false,\n isFocusable = false,\n align = 'start',\n identifier,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'absolute top-[calc(100%+0.5rem)] z-[1000] min-w-full',\n align === 'start' && 'left-0',\n align === 'end' && 'right-0',\n className\n )}\n aria-hidden={isHidden}\n role=\"region\"\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n >\n <MaxHeightSmoother\n isHidden={isHidden}\n className={cn(\n 'overflow-x-visible',\n isHidden !== false ? 'invisible' : 'visible',\n isOverable &&\n 'group-hover/dropdown:visible group-hover/dropdown:grid-rows-[1fr]',\n isFocusable &&\n 'group-focus-within/dropdown:visible group-focus-within/dropdown:grid-rows-[1fr]'\n )}\n {...props}\n >\n {children}\n </MaxHeightSmoother>\n </div>\n);\n\nDropDown.Trigger = Trigger;\nDropDown.Panel = Panel;\n"],"names":["jsx"],"mappings":";;;AAuBO,MAAM,WAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,GAAG,gCAAgC,SAAS;AAAA,IACvD,cAAY,YAAY,UAAU;AAAA,IAClC,IAAI,2BAA2B,UAAU;AAAA,IACzC,iBAAa;AAAA,IACZ,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAeF,MAAM,UAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,GAAG,yBAAyB,SAAS;AAAA,IAChD,cAAY,cAAc,UAAU;AAAA,IACnC,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAaF,MAAM,QAAwB,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,UAAU,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAa;AAAA,IACb,MAAK;AAAA,IACL,mBAAiB,2BAA2B,UAAU;AAAA,IACtD,IAAI,oBAAoB,UAAU;AAAA,IAElC,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,aAAa,QAAQ,cAAc;AAAA,UACnC,cACE;AAAA,UACF,eACE;AAAA,QACJ;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AACF;AAGF,SAAS,UAAU;AACnB,SAAS,QAAQ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/DropDown/index.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\nimport type { DropDownType, PanelProps, TriggerProps } from './types';\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown identifier=\"dropdown\">\n * <DropDown.Trigger>\n * Open dropdown\n * </DropDown.Trigger>\n *\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * </DropDown>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nexport const DropDown: DropDownType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/dropdown relative flex`, className)}\n aria-label={`DropDown ${identifier}`}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Trigger allowing to open a dropdown menu.\n *\n * Example:\n * ```jsx\n * <DropDown.Trigger identifier=\"dropdown\">\n * <div>Open dropdown</div>\n * </DropDown.Trigger>\n * ```\n *\n * > Note DropDown.Trigger can be replaced by a button. Don't add a button inside the trigger.\n */\nconst Trigger: FC<TriggerProps> = ({\n children,\n identifier,\n className,\n ...props\n}) => (\n <button\n className={cn('w-full cursor-pointer', className)}\n aria-label={`Open panel ${identifier}`}\n {...props}\n >\n {children}\n </button>\n);\n\n/**\n * Component that opens a dropdown menu when the trigger is clicked.\n *\n * Example:\n * ```jsx\n * <DropDown.Panel identifier=\"dropdown\">\n * <div>Content</div>\n * </DropDown.Panel>\n * ```\n */\nconst Panel: FC<PanelProps> = ({\n children,\n isHidden = undefined,\n isOverable = false,\n isFocusable = false,\n align = 'start',\n identifier,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'absolute top-[calc(100%+0.5rem)] z-[1000] min-w-full',\n align === 'start' && 'left-0',\n align === 'end' && 'right-0',\n className\n )}\n aria-hidden={isHidden}\n role=\"region\"\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n >\n <MaxHeightSmoother\n isHidden={isHidden}\n className={cn(\n 'overflow-x-visible',\n isHidden !== false ? 'invisible' : 'visible',\n isOverable &&\n 'group-hover/dropdown:visible group-hover/dropdown:grid-rows-[1fr]',\n isFocusable &&\n 'group-focus-within/dropdown:visible group-focus-within/dropdown:grid-rows-[1fr]'\n )}\n {...props}\n >\n {children}\n </MaxHeightSmoother>\n </div>\n);\n\nDropDown.Trigger = Trigger;\nDropDown.Panel = Panel;\n"],"names":["jsx"],"mappings":";;;AAuBO,MAAM,WAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,GAAG,gCAAgC,SAAS;AAAA,IACvD,cAAY,YAAY,UAAU;AAAA,IAClC,IAAI,2BAA2B,UAAU;AAAA,IACzC,iBAAa;AAAA,IACZ,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAeF,MAAM,UAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,GAAG,yBAAyB,SAAS;AAAA,IAChD,cAAY,cAAc,UAAU;AAAA,IACnC,GAAG;AAAA,IAEH;AAAA,EAAA;AACH;AAaF,MAAM,QAAwB,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,UAAU,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAa;AAAA,IACb,MAAK;AAAA,IACL,mBAAiB,2BAA2B,UAAU;AAAA,IACtD,IAAI,oBAAoB,UAAU;AAAA,IAElC,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,aAAa,QAAQ,cAAc;AAAA,UACnC,cACE;AAAA,UACF,eACE;AAAA,QACJ;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;AAGF,SAAS,UAAU;AACnB,SAAS,QAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldInput.cjs","sources":["../../../src/components/EditableField/EditableFieldInput.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { Input, type InputProps } from '../Input';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldInputProps = InputProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldInput = forwardRef<\n HTMLInputElement,\n EditableFieldInputProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(inputRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (inputRef.current) {\n inputRef.current.value = inputRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n // Expose the input ref to parent components\n useImperativeHandle(ref, () => inputRef.current!);\n\n const value =\n inputRef.current?.value ??\n inputRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string);\n\n return (\n <EditableFieldLayout\n value={value}\n onCancel={handleCancel}\n onSave={handleSave}\n >\n <Input ref={inputRef} {...props} />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldInput.displayName = 'EditableFieldInput';\n"],"names":["forwardRef","useRef","useImperativeHandle","jsx","EditableFieldLayout","Input"],"mappings":";;;;;;;;;AAWa,MAAA,qBAAqBA,sBAGhC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,WAAWC,kBAAyB,IAAI;AAE9C,QAAM,aAAa,MAAM;AAEd,aAAA,SAAS,SAAS,SAAS,EAAE;AAAA,EAAA;AAGxC,QAAM,eAAe,MAAM;AACzB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ,SAAS,QAAQ,gBAAgB;AAAA,IAC5D;AACW;EAAA;AAIOC,aAAAA,oBAAA,KAAK,MAAM,SAAS,OAAQ;AAE1C,QAAA,QACJ,SAAS,SAAS,SAClB,SAAS,SAAS,gBACjB,MAAM,SACN,MAAM;AAGP,SAAAC,2BAAA,kBAAA;AAAA,IAACC,6CAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,UAACD,2BAAA,kBAAA,IAAAE,8BAAA,EAAM,KAAK,UAAW,GAAG,OAAO;AAAA,IAAA;AAAA,EAAA;AAGvC,CAAC;AAED,mBAAmB,cAAc;;"}
1
+ {"version":3,"file":"EditableFieldInput.cjs","sources":["../../../src/components/EditableField/EditableFieldInput.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { Input, type InputProps } from '../Input';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldInputProps = InputProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldInput = forwardRef<\n HTMLInputElement,\n EditableFieldInputProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(inputRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (inputRef.current) {\n inputRef.current.value = inputRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n // Expose the input ref to parent components\n useImperativeHandle(ref, () => inputRef.current!);\n\n const value =\n inputRef.current?.value ??\n inputRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string);\n\n return (\n <EditableFieldLayout\n value={value}\n onCancel={handleCancel}\n onSave={handleSave}\n >\n <Input ref={inputRef} {...props} />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldInput.displayName = 'EditableFieldInput';\n"],"names":["forwardRef","useRef","useImperativeHandle","jsx","EditableFieldLayout","Input"],"mappings":";;;;;;;;;AAWa,MAAA,qBAAqBA,sBAGhC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,WAAWC,kBAAyB,IAAI;AAE9C,QAAM,aAAa,MAAM;AAEd,aAAA,SAAS,SAAS,SAAS,EAAE;AAAA,EACxC;AAEA,QAAM,eAAe,MAAM;AACzB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ,SAAS,QAAQ,gBAAgB;AAAA,IAAA;AAEjD,eAAA;AAAA,EACb;AAGoBC,aAAAA,oBAAA,KAAK,MAAM,SAAS,OAAQ;AAE1C,QAAA,QACJ,SAAS,SAAS,SAClB,SAAS,SAAS,gBACjB,MAAM,SACN,MAAM;AAGP,SAAAC,2BAAA,kBAAA;AAAA,IAACC,6CAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,UAACD,2BAAA,kBAAA,IAAAE,uBAAA,OAAA,EAAM,KAAK,UAAW,GAAG,MAAO,CAAA;AAAA,IAAA;AAAA,EACnC;AAEJ,CAAC;AAED,mBAAmB,cAAc;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldInput.mjs","sources":["../../../src/components/EditableField/EditableFieldInput.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { Input, type InputProps } from '../Input';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldInputProps = InputProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldInput = forwardRef<\n HTMLInputElement,\n EditableFieldInputProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(inputRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (inputRef.current) {\n inputRef.current.value = inputRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n // Expose the input ref to parent components\n useImperativeHandle(ref, () => inputRef.current!);\n\n const value =\n inputRef.current?.value ??\n inputRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string);\n\n return (\n <EditableFieldLayout\n value={value}\n onCancel={handleCancel}\n onSave={handleSave}\n >\n <Input ref={inputRef} {...props} />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldInput.displayName = 'EditableFieldInput';\n"],"names":["jsx"],"mappings":";;;;;;;AAWa,MAAA,qBAAqB,WAGhC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,WAAW,OAAyB,IAAI;AAE9C,QAAM,aAAa,MAAM;AAEd,aAAA,SAAS,SAAS,SAAS,EAAE;AAAA,EAAA;AAGxC,QAAM,eAAe,MAAM;AACzB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ,SAAS,QAAQ,gBAAgB;AAAA,IAC5D;AACW;EAAA;AAIO,sBAAA,KAAK,MAAM,SAAS,OAAQ;AAE1C,QAAA,QACJ,SAAS,SAAS,SAClB,SAAS,SAAS,gBACjB,MAAM,SACN,MAAM;AAGP,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,UAACA,kCAAA,IAAA,OAAA,EAAM,KAAK,UAAW,GAAG,OAAO;AAAA,IAAA;AAAA,EAAA;AAGvC,CAAC;AAED,mBAAmB,cAAc;"}
1
+ {"version":3,"file":"EditableFieldInput.mjs","sources":["../../../src/components/EditableField/EditableFieldInput.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { Input, type InputProps } from '../Input';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldInputProps = InputProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldInput = forwardRef<\n HTMLInputElement,\n EditableFieldInputProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(inputRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (inputRef.current) {\n inputRef.current.value = inputRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n // Expose the input ref to parent components\n useImperativeHandle(ref, () => inputRef.current!);\n\n const value =\n inputRef.current?.value ??\n inputRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string);\n\n return (\n <EditableFieldLayout\n value={value}\n onCancel={handleCancel}\n onSave={handleSave}\n >\n <Input ref={inputRef} {...props} />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldInput.displayName = 'EditableFieldInput';\n"],"names":["jsx"],"mappings":";;;;;;;AAWa,MAAA,qBAAqB,WAGhC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,WAAW,OAAyB,IAAI;AAE9C,QAAM,aAAa,MAAM;AAEd,aAAA,SAAS,SAAS,SAAS,EAAE;AAAA,EACxC;AAEA,QAAM,eAAe,MAAM;AACzB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ,SAAS,QAAQ,gBAAgB;AAAA,IAAA;AAEjD,eAAA;AAAA,EACb;AAGoB,sBAAA,KAAK,MAAM,SAAS,OAAQ;AAE1C,QAAA,QACJ,SAAS,SAAS,SAClB,SAAS,SAAS,gBACjB,MAAM,SACN,MAAM;AAGP,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,UAACA,kCAAA,IAAA,OAAA,EAAM,KAAK,UAAW,GAAG,MAAO,CAAA;AAAA,IAAA;AAAA,EACnC;AAEJ,CAAC;AAED,mBAAmB,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldLayout.cjs","sources":["../../../src/components/EditableField/EditableFieldLayout.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n\n'use client';\n\nimport { Pencil, Check, X } from 'lucide-react';\nimport {\n type FC,\n type ReactNode,\n useState,\n useEffect,\n useRef,\n useCallback,\n HTMLAttributes,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\n\ntype EditableFieldLayoutProps = {\n value?: string | null | undefined;\n onCancel: () => void;\n onSave: () => void;\n children: ReactNode;\n isDisabled?: boolean;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const EditableFieldLayout: FC<EditableFieldLayoutProps> = ({\n value = '',\n onCancel,\n onSave,\n onClick,\n children,\n isDisabled,\n ...props\n}) => {\n const [isEditing, setIsEditing] = useState(false);\n const editableFieldRef = useRef<HTMLSpanElement>(null);\n\n const handleSave = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onSave();\n };\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onCancel();\n };\n\n const result = !value || value === '' ? '-' : value;\n\n const handleClickOutside = useCallback(\n (e: MouseEvent) => {\n if (\n editableFieldRef.current &&\n !editableFieldRef.current.contains(e.target as Node)\n ) {\n setIsEditing(false);\n onSave();\n }\n },\n [onSave]\n );\n\n useEffect(() => {\n if (isEditing) {\n document.addEventListener('click', handleClickOutside);\n } else {\n document.removeEventListener('click', handleClickOutside);\n }\n\n return () => document.removeEventListener('click', handleClickOutside);\n }, [handleClickOutside, isEditing]);\n\n return (\n <span\n className=\"group/editable-field flex gap-2\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n setIsEditing(true);\n onClick?.(e);\n }}\n ref={editableFieldRef}\n {...props}\n >\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'display' : 'hidden')}\n key={String(isEditing)}\n >\n {children}\n <Button\n label=\"Save\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"custom\"\n Icon={Check}\n onClick={handleSave}\n disabled={isDisabled}\n className=\"!text-current\"\n />\n <Button\n label=\"Cancel\"\n color=\"custom\"\n variant=\"hoverable\"\n className=\"!text-current\"\n size=\"icon-sm\"\n Icon={X}\n onClick={handleCancel}\n disabled={isDisabled}\n />\n </div>\n\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'hidden' : 'display')}\n >\n <span className=\"ml-2 whitespace-pre-wrap p-1 text-sm leading-6\">\n {result}\n </span>\n <Button\n label=\"Edit\"\n Icon={Pencil}\n color=\"custom\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n className=\"invisible !text-current group-hover/editable-field:visible\"\n disabled={isDisabled}\n onClick={(e) => {\n e.stopPropagation();\n setIsEditing(true);\n }}\n />\n </div>\n </span>\n );\n};\n"],"names":["useState","useRef","useCallback","useEffect","jsxs","cn","jsx","Button","Check","X","Pencil"],"mappings":"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"}
1
+ {"version":3,"file":"EditableFieldLayout.cjs","sources":["../../../src/components/EditableField/EditableFieldLayout.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n\n'use client';\n\nimport { Pencil, Check, X } from 'lucide-react';\nimport {\n type FC,\n type ReactNode,\n useState,\n useEffect,\n useRef,\n useCallback,\n HTMLAttributes,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\n\ntype EditableFieldLayoutProps = {\n value?: string | null | undefined;\n onCancel: () => void;\n onSave: () => void;\n children: ReactNode;\n isDisabled?: boolean;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const EditableFieldLayout: FC<EditableFieldLayoutProps> = ({\n value = '',\n onCancel,\n onSave,\n onClick,\n children,\n isDisabled,\n ...props\n}) => {\n const [isEditing, setIsEditing] = useState(false);\n const editableFieldRef = useRef<HTMLSpanElement>(null);\n\n const handleSave = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onSave();\n };\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onCancel();\n };\n\n const result = !value || value === '' ? '-' : value;\n\n const handleClickOutside = useCallback(\n (e: MouseEvent) => {\n if (\n editableFieldRef.current &&\n !editableFieldRef.current.contains(e.target as Node)\n ) {\n setIsEditing(false);\n onSave();\n }\n },\n [onSave]\n );\n\n useEffect(() => {\n if (isEditing) {\n document.addEventListener('click', handleClickOutside);\n } else {\n document.removeEventListener('click', handleClickOutside);\n }\n\n return () => document.removeEventListener('click', handleClickOutside);\n }, [handleClickOutside, isEditing]);\n\n return (\n <span\n className=\"group/editable-field flex gap-2\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n setIsEditing(true);\n onClick?.(e);\n }}\n ref={editableFieldRef}\n {...props}\n >\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'display' : 'hidden')}\n key={String(isEditing)}\n >\n {children}\n <Button\n label=\"Save\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"custom\"\n Icon={Check}\n onClick={handleSave}\n disabled={isDisabled}\n className=\"!text-current\"\n />\n <Button\n label=\"Cancel\"\n color=\"custom\"\n variant=\"hoverable\"\n className=\"!text-current\"\n size=\"icon-sm\"\n Icon={X}\n onClick={handleCancel}\n disabled={isDisabled}\n />\n </div>\n\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'hidden' : 'display')}\n >\n <span className=\"ml-2 whitespace-pre-wrap p-1 text-sm leading-6\">\n {result}\n </span>\n <Button\n label=\"Edit\"\n Icon={Pencil}\n color=\"custom\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n className=\"invisible !text-current group-hover/editable-field:visible\"\n disabled={isDisabled}\n onClick={(e) => {\n e.stopPropagation();\n setIsEditing(true);\n }}\n />\n </div>\n </span>\n );\n};\n"],"names":["useState","useRef","useCallback","useEffect","jsxs","cn","jsx","Button","Check","X","Pencil"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldLayout.mjs","sources":["../../../src/components/EditableField/EditableFieldLayout.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n\n'use client';\n\nimport { Pencil, Check, X } from 'lucide-react';\nimport {\n type FC,\n type ReactNode,\n useState,\n useEffect,\n useRef,\n useCallback,\n HTMLAttributes,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\n\ntype EditableFieldLayoutProps = {\n value?: string | null | undefined;\n onCancel: () => void;\n onSave: () => void;\n children: ReactNode;\n isDisabled?: boolean;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const EditableFieldLayout: FC<EditableFieldLayoutProps> = ({\n value = '',\n onCancel,\n onSave,\n onClick,\n children,\n isDisabled,\n ...props\n}) => {\n const [isEditing, setIsEditing] = useState(false);\n const editableFieldRef = useRef<HTMLSpanElement>(null);\n\n const handleSave = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onSave();\n };\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onCancel();\n };\n\n const result = !value || value === '' ? '-' : value;\n\n const handleClickOutside = useCallback(\n (e: MouseEvent) => {\n if (\n editableFieldRef.current &&\n !editableFieldRef.current.contains(e.target as Node)\n ) {\n setIsEditing(false);\n onSave();\n }\n },\n [onSave]\n );\n\n useEffect(() => {\n if (isEditing) {\n document.addEventListener('click', handleClickOutside);\n } else {\n document.removeEventListener('click', handleClickOutside);\n }\n\n return () => document.removeEventListener('click', handleClickOutside);\n }, [handleClickOutside, isEditing]);\n\n return (\n <span\n className=\"group/editable-field flex gap-2\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n setIsEditing(true);\n onClick?.(e);\n }}\n ref={editableFieldRef}\n {...props}\n >\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'display' : 'hidden')}\n key={String(isEditing)}\n >\n {children}\n <Button\n label=\"Save\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"custom\"\n Icon={Check}\n onClick={handleSave}\n disabled={isDisabled}\n className=\"!text-current\"\n />\n <Button\n label=\"Cancel\"\n color=\"custom\"\n variant=\"hoverable\"\n className=\"!text-current\"\n size=\"icon-sm\"\n Icon={X}\n onClick={handleCancel}\n disabled={isDisabled}\n />\n </div>\n\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'hidden' : 'display')}\n >\n <span className=\"ml-2 whitespace-pre-wrap p-1 text-sm leading-6\">\n {result}\n </span>\n <Button\n label=\"Edit\"\n Icon={Pencil}\n color=\"custom\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n className=\"invisible !text-current group-hover/editable-field:visible\"\n disabled={isDisabled}\n onClick={(e) => {\n e.stopPropagation();\n setIsEditing(true);\n }}\n />\n </div>\n </span>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":";;;;;;AAyBO,MAAM,sBAAoD,CAAC;AAAA,EAChE,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAC1C,QAAA,mBAAmB,OAAwB,IAAI;AAE/C,QAAA,aAAa,CAAC,MAA2C;AAC7D,MAAE,gBAAgB;AAClB,iBAAa,KAAK;AACX;EAAA;AAGH,QAAA,eAAe,CAAC,MAA2C;AAC/D,MAAE,gBAAgB;AAClB,iBAAa,KAAK;AACT;EAAA;AAGX,QAAM,SAAS,CAAC,SAAS,UAAU,KAAK,MAAM;AAE9C,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAAkB;AAEf,UAAA,iBAAiB,WACjB,CAAC,iBAAiB,QAAQ,SAAS,EAAE,MAAc,GACnD;AACA,qBAAa,KAAK;AACX;MACT;AAAA,IACF;AAAA,IACA,CAAC,MAAM;AAAA,EAAA;AAGT,YAAU,MAAM;AACd,QAAI,WAAW;AACJ,eAAA,iBAAiB,SAAS,kBAAkB;AAAA,IAAA,OAChD;AACI,eAAA,oBAAoB,SAAS,kBAAkB;AAAA,IAC1D;AAEA,WAAO,MAAM,SAAS,oBAAoB,SAAS,kBAAkB;AAAA,EAAA,GACpE,CAAC,oBAAoB,SAAS,CAAC;AAGhC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,UAAU;AAAA,MACV,SAAS,CAAC,MAAM;AACd,qBAAa,IAAI;AACjB,kBAAU,CAAC;AAAA,MACb;AAAA,MACA,KAAK;AAAA,MACJ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAA,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,YAAY,YAAY,QAAQ;AAAA,YAGlE,UAAA;AAAA,cAAA;AAAA,cACDC,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,OAAM;AAAA,kBACN,MAAM;AAAA,kBACN,SAAS;AAAA,kBACT,UAAU;AAAA,kBACV,WAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cACAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,MAAM;AAAA,kBACN,SAAS;AAAA,kBACT,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,YAAA;AAAA,UAAA;AAAA,UAtBK,OAAO,SAAS;AAAA,QAuBvB;AAAA,QAEAD,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,YAAY,WAAW,SAAS;AAAA,YAEnE,UAAA;AAAA,cAACC,kCAAA,IAAA,QAAA,EAAK,WAAU,kDACb,UACH,QAAA;AAAA,cACAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,MAAM;AAAA,kBACN,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,UAAU;AAAA,kBACV,SAAS,CAAC,MAAM;AACd,sBAAE,gBAAgB;AAClB,iCAAa,IAAI;AAAA,kBACnB;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"EditableFieldLayout.mjs","sources":["../../../src/components/EditableField/EditableFieldLayout.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n\n'use client';\n\nimport { Pencil, Check, X } from 'lucide-react';\nimport {\n type FC,\n type ReactNode,\n useState,\n useEffect,\n useRef,\n useCallback,\n HTMLAttributes,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\n\ntype EditableFieldLayoutProps = {\n value?: string | null | undefined;\n onCancel: () => void;\n onSave: () => void;\n children: ReactNode;\n isDisabled?: boolean;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const EditableFieldLayout: FC<EditableFieldLayoutProps> = ({\n value = '',\n onCancel,\n onSave,\n onClick,\n children,\n isDisabled,\n ...props\n}) => {\n const [isEditing, setIsEditing] = useState(false);\n const editableFieldRef = useRef<HTMLSpanElement>(null);\n\n const handleSave = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onSave();\n };\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setIsEditing(false);\n onCancel();\n };\n\n const result = !value || value === '' ? '-' : value;\n\n const handleClickOutside = useCallback(\n (e: MouseEvent) => {\n if (\n editableFieldRef.current &&\n !editableFieldRef.current.contains(e.target as Node)\n ) {\n setIsEditing(false);\n onSave();\n }\n },\n [onSave]\n );\n\n useEffect(() => {\n if (isEditing) {\n document.addEventListener('click', handleClickOutside);\n } else {\n document.removeEventListener('click', handleClickOutside);\n }\n\n return () => document.removeEventListener('click', handleClickOutside);\n }, [handleClickOutside, isEditing]);\n\n return (\n <span\n className=\"group/editable-field flex gap-2\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n setIsEditing(true);\n onClick?.(e);\n }}\n ref={editableFieldRef}\n {...props}\n >\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'display' : 'hidden')}\n key={String(isEditing)}\n >\n {children}\n <Button\n label=\"Save\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n color=\"custom\"\n Icon={Check}\n onClick={handleSave}\n disabled={isDisabled}\n className=\"!text-current\"\n />\n <Button\n label=\"Cancel\"\n color=\"custom\"\n variant=\"hoverable\"\n className=\"!text-current\"\n size=\"icon-sm\"\n Icon={X}\n onClick={handleCancel}\n disabled={isDisabled}\n />\n </div>\n\n <div\n className={cn('flex flex-1 gap-2', isEditing ? 'hidden' : 'display')}\n >\n <span className=\"ml-2 whitespace-pre-wrap p-1 text-sm leading-6\">\n {result}\n </span>\n <Button\n label=\"Edit\"\n Icon={Pencil}\n color=\"custom\"\n variant=\"hoverable\"\n size=\"icon-sm\"\n className=\"invisible !text-current group-hover/editable-field:visible\"\n disabled={isDisabled}\n onClick={(e) => {\n e.stopPropagation();\n setIsEditing(true);\n }}\n />\n </div>\n </span>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":";;;;;;AAyBO,MAAM,sBAAoD,CAAC;AAAA,EAChE,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAC1C,QAAA,mBAAmB,OAAwB,IAAI;AAE/C,QAAA,aAAa,CAAC,MAA2C;AAC7D,MAAE,gBAAgB;AAClB,iBAAa,KAAK;AACX,WAAA;AAAA,EACT;AAEM,QAAA,eAAe,CAAC,MAA2C;AAC/D,MAAE,gBAAgB;AAClB,iBAAa,KAAK;AACT,aAAA;AAAA,EACX;AAEA,QAAM,SAAS,CAAC,SAAS,UAAU,KAAK,MAAM;AAE9C,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAAkB;AAEf,UAAA,iBAAiB,WACjB,CAAC,iBAAiB,QAAQ,SAAS,EAAE,MAAc,GACnD;AACA,qBAAa,KAAK;AACX,eAAA;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AAEA,YAAU,MAAM;AACd,QAAI,WAAW;AACJ,eAAA,iBAAiB,SAAS,kBAAkB;AAAA,IAAA,OAChD;AACI,eAAA,oBAAoB,SAAS,kBAAkB;AAAA,IAAA;AAG1D,WAAO,MAAM,SAAS,oBAAoB,SAAS,kBAAkB;AAAA,EAAA,GACpE,CAAC,oBAAoB,SAAS,CAAC;AAGhC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,UAAU;AAAA,MACV,SAAS,CAAC,MAAM;AACd,qBAAa,IAAI;AACjB,kBAAU,CAAC;AAAA,MACb;AAAA,MACA,KAAK;AAAA,MACJ,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAA,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,YAAY,YAAY,QAAQ;AAAA,YAGlE,UAAA;AAAA,cAAA;AAAA,cACDC,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,OAAM;AAAA,kBACN,MAAM;AAAA,kBACN,SAAS;AAAA,kBACT,UAAU;AAAA,kBACV,WAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cACAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,MAAM;AAAA,kBACN,SAAS;AAAA,kBACT,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,UAtBK,OAAO,SAAS;AAAA,QAuBvB;AAAA,QAEAD,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,YAAY,WAAW,SAAS;AAAA,YAEnE,UAAA;AAAA,cAACC,kCAAA,IAAA,QAAA,EAAK,WAAU,kDACb,UACH,QAAA;AAAA,cACAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,MAAM;AAAA,kBACN,OAAM;AAAA,kBACN,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,UAAU;AAAA,kBACV,SAAS,CAAC,MAAM;AACd,sBAAE,gBAAgB;AAClB,iCAAa,IAAI;AAAA,kBAAA;AAAA,gBACnB;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldTextArea.cjs","sources":["../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useRef, useImperativeHandle, useMemo } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldTextArea = forwardRef<\n HTMLTextAreaElement,\n EditableFieldTextAreaProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue = useMemo(\n () =>\n textAreaRef.current?.value ??\n textAreaRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string) ??\n '',\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n props.value,\n props.defaultValue,\n textAreaRef.current?.value,\n textAreaRef.current?.defaultValue,\n ]\n );\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n defaultValue={memoValue}\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldTextArea.displayName = 'EditableFieldTextArea';\n"],"names":["forwardRef","useRef","useImperativeHandle","useMemo","jsx","EditableFieldLayout","AutoSizedTextArea"],"mappings":";;;;;;;;AAWa,MAAA,wBAAwBA,sBAGnC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,cAAcC,kBAA4B,IAAI;AAGhCC,aAAAA,oBAAA,KAAK,MAAM,YAAY,OAAQ;AAEnD,QAAM,aAAa,MAAM;AAEd,aAAA,YAAY,SAAS,SAAS,EAAE;AAAA,EAAA;AAG3C,QAAM,eAAe,MAAM;AACzB,QAAI,YAAY,SAAS;AACvB,kBAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAAA,IAClE;AACW;EAAA;AAGb,QAAM,YAAYC,WAAA;AAAA,IAChB,MACE,YAAY,SAAS,SACrB,YAAY,SAAS,gBACpB,MAAM,SACN,MAAM,gBACP;AAAA;AAAA,IAEF;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,IACvB;AAAA,EAAA;AAIA,SAAAC,2BAAA,kBAAA;AAAA,IAACC,6CAAA;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAAA,MACpB;AAAA,MAEA,UAAAD,2BAAA,kBAAA;AAAA,QAACE,qCAAA;AAAA,QAAA;AAAA,UACC,cAAc;AAAA,UACd,WAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS,CAAC,MAAM;AACd,cAAE,eAAe;AACjB,cAAE,gBAAgB;AAAA,UACpB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AAED,sBAAsB,cAAc;;"}
1
+ {"version":3,"file":"EditableFieldTextArea.cjs","sources":["../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useRef, useImperativeHandle, useMemo } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldTextArea = forwardRef<\n HTMLTextAreaElement,\n EditableFieldTextAreaProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue = useMemo(\n () =>\n textAreaRef.current?.value ??\n textAreaRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string) ??\n '',\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n props.value,\n props.defaultValue,\n textAreaRef.current?.value,\n textAreaRef.current?.defaultValue,\n ]\n );\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n defaultValue={memoValue}\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldTextArea.displayName = 'EditableFieldTextArea';\n"],"names":["forwardRef","useRef","useImperativeHandle","useMemo","jsx","EditableFieldLayout","AutoSizedTextArea"],"mappings":";;;;;;;;AAWa,MAAA,wBAAwBA,sBAGnC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,cAAcC,kBAA4B,IAAI;AAGhCC,aAAAA,oBAAA,KAAK,MAAM,YAAY,OAAQ;AAEnD,QAAM,aAAa,MAAM;AAEd,aAAA,YAAY,SAAS,SAAS,EAAE;AAAA,EAC3C;AAEA,QAAM,eAAe,MAAM;AACzB,QAAI,YAAY,SAAS;AACvB,kBAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAAA,IAAA;AAEvD,eAAA;AAAA,EACb;AAEA,QAAM,YAAYC,WAAA;AAAA,IAChB,MACE,YAAY,SAAS,SACrB,YAAY,SAAS,gBACpB,MAAM,SACN,MAAM,gBACP;AAAA;AAAA,IAEF;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,IAAA;AAAA,EAEzB;AAGE,SAAAC,2BAAA,kBAAA;AAAA,IAACC,6CAAA;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAAA,MACpB;AAAA,MAEA,UAAAD,2BAAA,kBAAA;AAAA,QAACE,qCAAA;AAAA,QAAA;AAAA,UACC,cAAc;AAAA,UACd,WAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS,CAAC,MAAM;AACd,cAAE,eAAe;AACjB,cAAE,gBAAgB;AAAA,UACpB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EACF;AAEJ,CAAC;AAED,sBAAsB,cAAc;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldTextArea.mjs","sources":["../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useRef, useImperativeHandle, useMemo } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldTextArea = forwardRef<\n HTMLTextAreaElement,\n EditableFieldTextAreaProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue = useMemo(\n () =>\n textAreaRef.current?.value ??\n textAreaRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string) ??\n '',\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n props.value,\n props.defaultValue,\n textAreaRef.current?.value,\n textAreaRef.current?.defaultValue,\n ]\n );\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n defaultValue={memoValue}\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldTextArea.displayName = 'EditableFieldTextArea';\n"],"names":["jsx"],"mappings":";;;;;;AAWa,MAAA,wBAAwB,WAGnC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,cAAc,OAA4B,IAAI;AAGhC,sBAAA,KAAK,MAAM,YAAY,OAAQ;AAEnD,QAAM,aAAa,MAAM;AAEd,aAAA,YAAY,SAAS,SAAS,EAAE;AAAA,EAAA;AAG3C,QAAM,eAAe,MAAM;AACzB,QAAI,YAAY,SAAS;AACvB,kBAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAAA,IAClE;AACW;EAAA;AAGb,QAAM,YAAY;AAAA,IAChB,MACE,YAAY,SAAS,SACrB,YAAY,SAAS,gBACpB,MAAM,SACN,MAAM,gBACP;AAAA;AAAA,IAEF;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,IACvB;AAAA,EAAA;AAIA,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAAA,MACpB;AAAA,MAEA,UAAAA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAc;AAAA,UACd,WAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS,CAAC,MAAM;AACd,cAAE,eAAe;AACjB,cAAE,gBAAgB;AAAA,UACpB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AAED,sBAAsB,cAAc;"}
1
+ {"version":3,"file":"EditableFieldTextArea.mjs","sources":["../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useRef, useImperativeHandle, useMemo } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n onSave?: (value: string) => void;\n onCancel?: () => void;\n};\n\nexport const EditableFieldTextArea = forwardRef<\n HTMLTextAreaElement,\n EditableFieldTextAreaProps\n>(({ onSave, onCancel, ...props }, ref) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue = useMemo(\n () =>\n textAreaRef.current?.value ??\n textAreaRef.current?.defaultValue ??\n (props.value as string) ??\n (props.defaultValue as string) ??\n '',\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n props.value,\n props.defaultValue,\n textAreaRef.current?.value,\n textAreaRef.current?.defaultValue,\n ]\n );\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n defaultValue={memoValue}\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n});\n\nEditableFieldTextArea.displayName = 'EditableFieldTextArea';\n"],"names":["jsx"],"mappings":";;;;;;AAWa,MAAA,wBAAwB,WAGnC,CAAC,EAAE,QAAQ,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnC,QAAA,cAAc,OAA4B,IAAI;AAGhC,sBAAA,KAAK,MAAM,YAAY,OAAQ;AAEnD,QAAM,aAAa,MAAM;AAEd,aAAA,YAAY,SAAS,SAAS,EAAE;AAAA,EAC3C;AAEA,QAAM,eAAe,MAAM;AACzB,QAAI,YAAY,SAAS;AACvB,kBAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAAA,IAAA;AAEvD,eAAA;AAAA,EACb;AAEA,QAAM,YAAY;AAAA,IAChB,MACE,YAAY,SAAS,SACrB,YAAY,SAAS,gBACpB,MAAM,SACN,MAAM,gBACP;AAAA;AAAA,IAEF;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,IAAA;AAAA,EAEzB;AAGE,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAAA,MACpB;AAAA,MAEA,UAAAA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAc;AAAA,UACd,WAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS,CAAC,MAAM;AACd,cAAE,eAAe;AACjB,cAAE,gBAAgB;AAAA,UACpB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EACF;AAEJ,CAAC;AAED,sBAAsB,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Logo } from '../Logo';\n\nexport type FooterLink = {\n href: string;\n text: ReactNode;\n onClick?: () => void;\n label: string;\n};\n\nexport type LinkGroup = { title: ReactNode; links: FooterLink[] };\n\ntype FooterProps = { links?: LinkGroup[] };\n\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between md:w-1/4\">\n <Logo type=\"logoWithTextBelow\" width={80} height={80} />\n <span className=\"text-neutral dark:text-neutral-dark text-center text-xs\">\n © 2024 Intlayer, Inc.\n </span>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"names":["jsxs","jsx","Logo","links"],"mappings":";;;;AAca,MAAA,SAA0B,CAAC,EAAE,YACvCA,2BAAAA,kBAAAA,KAAA,UAAA,EAAO,WAAU,4EAChB,UAAA;AAAA,EAACA,2BAAAA,kBAAAA,KAAA,SAAA,EAAM,WAAU,uDACf,UAAA;AAAA,IAAAC,iDAACC,sBAAAA,QAAK,MAAK,qBAAoB,OAAO,IAAI,QAAQ,IAAI;AAAA,IACrDD,2BAAA,kBAAA,IAAA,QAAA,EAAK,WAAU,2DAA0D,UAE1E,yBAAA;AAAA,EAAA,GACF;AAAA,EACCA,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,iFACX,WAAS,SAAA,CAAA,GAAI,IAAI,CAAC,EAAE,OAAO,OAAAE,OAC3B,MAAAH,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAGV,UAAA;AAAA,QAAAC,2BAAAA,kBAAAA,IAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,QACfA,2BAAAA,kBAAAA,IAAC,SAAI,WAAU,+BACZ,UAAAE,OAAM,IAAI,CAAC,SACTF,2BAAA,kBAAA,IAAA,KAAA,EAAkB,MAAM,KAAK,MAAM,cAAY,KAAK,OAClD,eAAK,QADA,KAAK,IAEb,CACD,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IATKE,OAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,EAW/C,CAAA,GACH;AAAA,EACF,CAAA;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Logo } from '../Logo';\n\nexport type FooterLink = {\n href: string;\n text: ReactNode;\n onClick?: () => void;\n label: string;\n};\n\nexport type LinkGroup = { title: ReactNode; links: FooterLink[] };\n\ntype FooterProps = { links?: LinkGroup[] };\n\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between md:w-1/4\">\n <Logo type=\"logoWithTextBelow\" width={80} height={80} />\n <span className=\"text-neutral dark:text-neutral-dark text-center text-xs\">\n © 2024 Intlayer, Inc.\n </span>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"names":["jsxs","jsx","Logo","links"],"mappings":";;;;AAca,MAAA,SAA0B,CAAC,EAAE,YACvCA,2BAAAA,kBAAAA,KAAA,UAAA,EAAO,WAAU,4EAChB,UAAA;AAAA,EAACA,2BAAAA,kBAAAA,KAAA,SAAA,EAAM,WAAU,uDACf,UAAA;AAAA,IAAAC,iDAACC,sBAAAA,QAAK,MAAK,qBAAoB,OAAO,IAAI,QAAQ,IAAI;AAAA,IACrDD,2BAAA,kBAAA,IAAA,QAAA,EAAK,WAAU,2DAA0D,UAE1E,wBAAA,CAAA;AAAA,EAAA,GACF;AAAA,EACCA,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,iFACX,WAAS,SAAA,CAAA,GAAI,IAAI,CAAC,EAAE,OAAO,OAAAE,OAC3B,MAAAH,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAGV,UAAA;AAAA,QAAAC,2BAAAA,kBAAAA,IAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,QACfA,2BAAAA,kBAAAA,IAAC,SAAI,WAAU,+BACZ,UAAAE,OAAM,IAAI,CAAC,SACTF,2BAAAA,kBAAAA,IAAA,KAAA,EAAkB,MAAM,KAAK,MAAM,cAAY,KAAK,OAClD,eAAK,KADA,GAAA,KAAK,IAEb,CACD,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IATKE,OAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,EAAA,CAW/C,EACH,CAAA;AAAA,EACF,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Logo } from '../Logo';\n\nexport type FooterLink = {\n href: string;\n text: ReactNode;\n onClick?: () => void;\n label: string;\n};\n\nexport type LinkGroup = { title: ReactNode; links: FooterLink[] };\n\ntype FooterProps = { links?: LinkGroup[] };\n\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between md:w-1/4\">\n <Logo type=\"logoWithTextBelow\" width={80} height={80} />\n <span className=\"text-neutral dark:text-neutral-dark text-center text-xs\">\n © 2024 Intlayer, Inc.\n </span>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"names":["jsxs","jsx","links"],"mappings":";;AAca,MAAA,SAA0B,CAAC,EAAE,YACvCA,kCAAAA,KAAA,UAAA,EAAO,WAAU,4EAChB,UAAA;AAAA,EAACA,kCAAAA,KAAA,SAAA,EAAM,WAAU,uDACf,UAAA;AAAA,IAAAC,sCAAC,QAAK,MAAK,qBAAoB,OAAO,IAAI,QAAQ,IAAI;AAAA,IACrDA,kCAAA,IAAA,QAAA,EAAK,WAAU,2DAA0D,UAE1E,yBAAA;AAAA,EAAA,GACF;AAAA,EACCA,kCAAAA,IAAA,OAAA,EAAI,WAAU,iFACX,WAAS,SAAA,CAAA,GAAI,IAAI,CAAC,EAAE,OAAO,OAAAC,OAC3B,MAAAF,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAGV,UAAA;AAAA,QAAAC,kCAAAA,IAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,QACfA,kCAAAA,IAAC,SAAI,WAAU,+BACZ,UAAAC,OAAM,IAAI,CAAC,SACTD,kCAAA,IAAA,KAAA,EAAkB,MAAM,KAAK,MAAM,cAAY,KAAK,OAClD,eAAK,QADA,KAAK,IAEb,CACD,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IATKC,OAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,EAW/C,CAAA,GACH;AAAA,EACF,CAAA;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Logo } from '../Logo';\n\nexport type FooterLink = {\n href: string;\n text: ReactNode;\n onClick?: () => void;\n label: string;\n};\n\nexport type LinkGroup = { title: ReactNode; links: FooterLink[] };\n\ntype FooterProps = { links?: LinkGroup[] };\n\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between md:w-1/4\">\n <Logo type=\"logoWithTextBelow\" width={80} height={80} />\n <span className=\"text-neutral dark:text-neutral-dark text-center text-xs\">\n © 2024 Intlayer, Inc.\n </span>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"names":["jsxs","jsx","links"],"mappings":";;AAca,MAAA,SAA0B,CAAC,EAAE,YACvCA,kCAAAA,KAAA,UAAA,EAAO,WAAU,4EAChB,UAAA;AAAA,EAACA,kCAAAA,KAAA,SAAA,EAAM,WAAU,uDACf,UAAA;AAAA,IAAAC,sCAAC,QAAK,MAAK,qBAAoB,OAAO,IAAI,QAAQ,IAAI;AAAA,IACrDA,kCAAA,IAAA,QAAA,EAAK,WAAU,2DAA0D,UAE1E,wBAAA,CAAA;AAAA,EAAA,GACF;AAAA,EACCA,kCAAAA,IAAA,OAAA,EAAI,WAAU,iFACX,WAAS,SAAA,CAAA,GAAI,IAAI,CAAC,EAAE,OAAO,OAAAC,OAC3B,MAAAF,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAGV,UAAA;AAAA,QAAAC,kCAAAA,IAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,QACfA,kCAAAA,IAAC,SAAI,WAAU,+BACZ,UAAAC,OAAM,IAAI,CAAC,SACTD,kCAAAA,IAAA,KAAA,EAAkB,MAAM,KAAK,MAAM,cAAY,KAAK,OAClD,eAAK,KADA,GAAA,KAAK,IAEb,CACD,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IATKC,OAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,EAAA,CAW/C,EACH,CAAA;AAAA,EACF,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBase.cjs","sources":["../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { forwardRef, type Ref, type HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n useForm as useFormReactHookForm,\n type UseFormProps,\n} from 'react-hook-form';\nimport type { ZodType, z } from 'zod';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodType> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n await fn;\n }\n // If not a Promise, it will just execute without awaiting\n};\n\nexport const Form = forwardRef(\n <T extends ZodType>(\n {\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n }: FormProps<T>,\n ref: Ref<HTMLFormElement>\n ) => {\n const onSubmit = async (values: T) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.errors.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex size-full flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n ref={ref}\n >\n {children}\n </form>\n </FormProvider>\n );\n }\n);\n\nForm.displayName = 'Form';\n\nexport const useForm = <T extends ZodType>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema),\n ...props,\n });\n\n const isSubmitting = form.formState.isSubmitting;\n const isSubmitted = form.formState.isSubmitted;\n const isLoading = form.formState.isLoading;\n const isValid = form.formState.isValid;\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"names":["forwardRef","jsx","FormProvider","cn","useFormReactHookForm","zodResolver"],"mappings":";;;;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;AAGvC,MAAI,MAAM,OAAO,GAAG,SAAS,YAAY;AAEjC,UAAA;AAAA,EACR;AAEF;AAEO,MAAM,OAAOA,WAAA;AAAA,EAClB,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QACG;AACG,UAAA,WAAW,OAAO,WAAc;AACpC,YAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;AAAA,QAChD,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAIF,YAAA,cAAc,eAAe,MAAM,CAAC;AAE1C,UAAI,aAAa,SAAS;AACxB,cAAM,cAAc,sBAAsB,aAAa,IAAI,CAAC;AAAA,MAAA,OACvD;AACC,cAAA;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,cACF,aAAa,MAAM,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI;AAAA,YACnE;AAAA,UACF;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAIA,WAAAC,2BAAA,kBAAA,IAACC,cAAc,cAAA,EAAA,GAAG,OAChB,UAAAD,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE,SAAAA,GAAG,mCAAmC,SAAS;AAAA,QAC1D,UAAU,MAAM,aAAa,QAAQ;AAAA,QACrC,cAAc,eAAe,OAAO;AAAA,QACpC;AAAA,QAEC;AAAA,MAAA;AAAA,IAEL,EAAA,CAAA;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;AAEN,MAAA,UAAU,CACrB,QACA,UACG;AACH,QAAM,OAAOC,cAAAA,QAAiC;AAAA,IAC5C,UAAUC,MAAY,MAAM;AAAA,IAC5B,GAAG;AAAA,EAAA,CACJ;AAEK,QAAA,eAAe,KAAK,UAAU;AAC9B,QAAA,cAAc,KAAK,UAAU;AAC7B,QAAA,YAAY,KAAK,UAAU;AAC3B,QAAA,UAAU,KAAK,UAAU;AAExB,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;;"}
1
+ {"version":3,"file":"FormBase.cjs","sources":["../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { forwardRef, type Ref, type HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n useForm as useFormReactHookForm,\n type UseFormProps,\n} from 'react-hook-form';\nimport type { ZodType, z } from 'zod';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodType> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n await fn;\n }\n // If not a Promise, it will just execute without awaiting\n};\n\nexport const Form = forwardRef(\n <T extends ZodType>(\n {\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n }: FormProps<T>,\n ref: Ref<HTMLFormElement>\n ) => {\n const onSubmit = async (values: T) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.errors.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex size-full flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n ref={ref}\n >\n {children}\n </form>\n </FormProvider>\n );\n }\n);\n\nForm.displayName = 'Form';\n\nexport const useForm = <T extends ZodType>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema),\n ...props,\n });\n\n const isSubmitting = form.formState.isSubmitting;\n const isSubmitted = form.formState.isSubmitted;\n const isLoading = form.formState.isLoading;\n const isValid = form.formState.isValid;\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"names":["forwardRef","jsx","FormProvider","cn","useFormReactHookForm","zodResolver"],"mappings":";;;;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;AAGvC,MAAI,MAAM,OAAO,GAAG,SAAS,YAAY;AAEjC,UAAA;AAAA,EAAA;AAGV;AAEO,MAAM,OAAOA,WAAA;AAAA,EAClB,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QACG;AACG,UAAA,WAAW,OAAO,WAAc;AACpC,YAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;AAAA,QAChD,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAGM,YAAA,cAAc,eAAe,MAAM,CAAC;AAE1C,UAAI,aAAa,SAAS;AACxB,cAAM,cAAc,sBAAsB,aAAa,IAAI,CAAC;AAAA,MAAA,OACvD;AACC,cAAA;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,cACF,aAAa,MAAM,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI;AAAA,YAAA;AAAA,UACnE;AAAA,QAEJ;AAAA,MAAA;AAAA,IAEJ;AAGE,WAAAC,2BAAA,kBAAA,IAACC,cAAc,cAAA,EAAA,GAAG,OAChB,UAAAD,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE,SAAAA,GAAG,mCAAmC,SAAS;AAAA,QAC1D,UAAU,MAAM,aAAa,QAAQ;AAAA,QACrC,cAAc,eAAe,OAAO;AAAA,QACpC;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,EAAA;AAGN;AAEA,KAAK,cAAc;AAEN,MAAA,UAAU,CACrB,QACA,UACG;AACH,QAAM,OAAOC,cAAAA,QAAiC;AAAA,IAC5C,UAAUC,MAAY,MAAM;AAAA,IAC5B,GAAG;AAAA,EAAA,CACJ;AAEK,QAAA,eAAe,KAAK,UAAU;AAC9B,QAAA,cAAc,KAAK,UAAU;AAC7B,QAAA,YAAY,KAAK,UAAU;AAC3B,QAAA,UAAU,KAAK,UAAU;AAExB,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBase.mjs","sources":["../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { forwardRef, type Ref, type HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n useForm as useFormReactHookForm,\n type UseFormProps,\n} from 'react-hook-form';\nimport type { ZodType, z } from 'zod';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodType> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n await fn;\n }\n // If not a Promise, it will just execute without awaiting\n};\n\nexport const Form = forwardRef(\n <T extends ZodType>(\n {\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n }: FormProps<T>,\n ref: Ref<HTMLFormElement>\n ) => {\n const onSubmit = async (values: T) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.errors.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex size-full flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n ref={ref}\n >\n {children}\n </form>\n </FormProvider>\n );\n }\n);\n\nForm.displayName = 'Form';\n\nexport const useForm = <T extends ZodType>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema),\n ...props,\n });\n\n const isSubmitting = form.formState.isSubmitting;\n const isSubmitted = form.formState.isSubmitted;\n const isLoading = form.formState.isLoading;\n const isValid = form.formState.isValid;\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"names":["jsx","useFormReactHookForm","zodResolver"],"mappings":";;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;AAGvC,MAAI,MAAM,OAAO,GAAG,SAAS,YAAY;AAEjC,UAAA;AAAA,EACR;AAEF;AAEO,MAAM,OAAO;AAAA,EAClB,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QACG;AACG,UAAA,WAAW,OAAO,WAAc;AACpC,YAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;AAAA,QAChD,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAIF,YAAA,cAAc,eAAe,MAAM,CAAC;AAE1C,UAAI,aAAa,SAAS;AACxB,cAAM,cAAc,sBAAsB,aAAa,IAAI,CAAC;AAAA,MAAA,OACvD;AACC,cAAA;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,cACF,aAAa,MAAM,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI;AAAA,YACnE;AAAA,UACF;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAIA,WAAAA,kCAAA,IAAC,cAAc,EAAA,GAAG,OAChB,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,mCAAmC,SAAS;AAAA,QAC1D,UAAU,MAAM,aAAa,QAAQ;AAAA,QACrC,cAAc,eAAe,OAAO;AAAA,QACpC;AAAA,QAEC;AAAA,MAAA;AAAA,IAEL,EAAA,CAAA;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;AAEN,MAAA,UAAU,CACrB,QACA,UACG;AACH,QAAM,OAAOC,UAAiC;AAAA,IAC5C,UAAUC,EAAY,MAAM;AAAA,IAC5B,GAAG;AAAA,EAAA,CACJ;AAEK,QAAA,eAAe,KAAK,UAAU;AAC9B,QAAA,cAAc,KAAK,UAAU;AAC7B,QAAA,YAAY,KAAK,UAAU;AAC3B,QAAA,UAAU,KAAK,UAAU;AAExB,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"FormBase.mjs","sources":["../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { forwardRef, type Ref, type HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n useForm as useFormReactHookForm,\n type UseFormProps,\n} from 'react-hook-form';\nimport type { ZodType, z } from 'zod';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodType> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n await fn;\n }\n // If not a Promise, it will just execute without awaiting\n};\n\nexport const Form = forwardRef(\n <T extends ZodType>(\n {\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n }: FormProps<T>,\n ref: Ref<HTMLFormElement>\n ) => {\n const onSubmit = async (values: T) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.errors.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex size-full flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n ref={ref}\n >\n {children}\n </form>\n </FormProvider>\n );\n }\n);\n\nForm.displayName = 'Form';\n\nexport const useForm = <T extends ZodType>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema),\n ...props,\n });\n\n const isSubmitting = form.formState.isSubmitting;\n const isSubmitted = form.formState.isSubmitted;\n const isLoading = form.formState.isLoading;\n const isValid = form.formState.isValid;\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"names":["jsx","useFormReactHookForm","zodResolver"],"mappings":";;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;AAGvC,MAAI,MAAM,OAAO,GAAG,SAAS,YAAY;AAEjC,UAAA;AAAA,EAAA;AAGV;AAEO,MAAM,OAAO;AAAA,EAClB,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QACG;AACG,UAAA,WAAW,OAAO,WAAc;AACpC,YAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;AAAA,QAChD,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAGM,YAAA,cAAc,eAAe,MAAM,CAAC;AAE1C,UAAI,aAAa,SAAS;AACxB,cAAM,cAAc,sBAAsB,aAAa,IAAI,CAAC;AAAA,MAAA,OACvD;AACC,cAAA;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,cACF,aAAa,MAAM,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI;AAAA,YAAA;AAAA,UACnE;AAAA,QAEJ;AAAA,MAAA;AAAA,IAEJ;AAGE,WAAAA,kCAAA,IAAC,cAAc,EAAA,GAAG,OAChB,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,mCAAmC,SAAS;AAAA,QAC1D,UAAU,MAAM,aAAa,QAAQ;AAAA,QACrC,cAAc,eAAe,OAAO;AAAA,QACpC;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,EAAA;AAGN;AAEA,KAAK,cAAc;AAEN,MAAA,UAAU,CACrB,QACA,UACG;AACH,QAAM,OAAOC,UAAiC;AAAA,IAC5C,UAAUC,EAAY,MAAM;AAAA,IAC5B,GAAG;AAAA,EAAA,CACJ;AAEK,QAAA,eAAe,KAAK,UAAU;AAC9B,QAAA,cAAc,KAAK,UAAU;AAC7B,QAAA,YAAY,KAAK,UAAU;AAC3B,QAAA,UAAU,KAAK,UAAU;AAExB,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.cjs","sources":["../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>((props, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n"],"names":["forwardRef","useFormField","jsx","Slot"],"mappings":";;;;;;;AAUO,MAAM,cAAcA,WAAA,WAGzB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,YAAY,mBAAmB,cAAA,IAC5CC,0BAAAA;AAGA,SAAAC,2BAAA,kBAAA;AAAA,IAACC,UAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,oBACE,CAAC,QACG,GAAG,iBAAiB,KACpB,GAAG,iBAAiB,IAAI,aAAa;AAAA,MAE3C,gBAAc,CAAC,CAAC;AAAA,MACf,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD,YAAY,cAAc;;"}
1
+ {"version":3,"file":"FormControl.cjs","sources":["../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>((props, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n"],"names":["forwardRef","useFormField","jsx","Slot"],"mappings":";;;;;;;AAUO,MAAM,cAAcA,WAAA,WAGzB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,YAAY,mBAAmB,cAAA,IAC5CC,0BAAAA,aAAa;AAGb,SAAAC,2BAAA,kBAAA;AAAA,IAACC,UAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,oBACE,CAAC,QACG,GAAG,iBAAiB,KACpB,GAAG,iBAAiB,IAAI,aAAa;AAAA,MAE3C,gBAAc,CAAC,CAAC;AAAA,MACf,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AACD,YAAY,cAAc;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.mjs","sources":["../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>((props, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n"],"names":["jsx"],"mappings":";;;;;AAUO,MAAM,cAAc,WAGzB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,YAAY,mBAAmB,cAAA,IAC5C;AAGA,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,oBACE,CAAC,QACG,GAAG,iBAAiB,KACpB,GAAG,iBAAiB,IAAI,aAAa;AAAA,MAE3C,gBAAc,CAAC,CAAC;AAAA,MACf,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD,YAAY,cAAc;"}
1
+ {"version":3,"file":"FormControl.mjs","sources":["../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>((props, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n"],"names":["jsx"],"mappings":";;;;;AAUO,MAAM,cAAc,WAGzB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,YAAY,mBAAmB,cAAA,IAC5C,aAAa;AAGb,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,oBACE,CAAC,QACG,GAAG,iBAAiB,KACpB,GAAG,iBAAiB,IAAI,aAAa;AAAA,MAE3C,gBAAc,CAAC,CAAC;AAAA,MACf,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AACD,YAAY,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDescription.cjs","sources":["../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes<HTMLParagraphElement>\n>((props, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n className=\"text-neutral dark:text-neutral-dark text-sm\"\n ref={ref}\n id={formDescriptionId}\n {...props}\n />\n );\n});\n\nFormDescription.displayName = 'FormDescription';\n"],"names":["forwardRef","useFormField","jsx"],"mappings":";;;;;;AAKO,MAAM,kBAAkBA,WAAA,WAG7B,CAAC,OAAO,QAAQ;AACV,QAAA,EAAE,sBAAsBC,0BAAAA;AAG5B,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AAED,gBAAgB,cAAc;;"}
1
+ {"version":3,"file":"FormDescription.cjs","sources":["../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes<HTMLParagraphElement>\n>((props, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n className=\"text-neutral dark:text-neutral-dark text-sm\"\n ref={ref}\n id={formDescriptionId}\n {...props}\n />\n );\n});\n\nFormDescription.displayName = 'FormDescription';\n"],"names":["forwardRef","useFormField","jsx"],"mappings":";;;;;;AAKO,MAAM,kBAAkBA,WAAA,WAG7B,CAAC,OAAO,QAAQ;AACV,QAAA,EAAE,kBAAkB,IAAIC,uCAAa;AAGzC,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AAED,gBAAgB,cAAc;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDescription.mjs","sources":["../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes<HTMLParagraphElement>\n>((props, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n className=\"text-neutral dark:text-neutral-dark text-sm\"\n ref={ref}\n id={formDescriptionId}\n {...props}\n />\n );\n});\n\nFormDescription.displayName = 'FormDescription';\n"],"names":["jsx"],"mappings":";;;;AAKO,MAAM,kBAAkB,WAG7B,CAAC,OAAO,QAAQ;AACV,QAAA,EAAE,sBAAsB;AAG5B,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AAED,gBAAgB,cAAc;"}
1
+ {"version":3,"file":"FormDescription.mjs","sources":["../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes<HTMLParagraphElement>\n>((props, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n className=\"text-neutral dark:text-neutral-dark text-sm\"\n ref={ref}\n id={formDescriptionId}\n {...props}\n />\n );\n});\n\nFormDescription.displayName = 'FormDescription';\n"],"names":["jsx"],"mappings":";;;;AAKO,MAAM,kBAAkB,WAG7B,CAAC,OAAO,QAAQ;AACV,QAAA,EAAE,kBAAkB,IAAI,aAAa;AAGzC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AAED,gBAAgB,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.cjs","sources":["../../../src/components/Form/FormField.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\nimport {\n type FieldValues,\n type FieldPath,\n type ControllerProps,\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport { FormItemContext } from './FormItem';\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nexport const FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n const memoValue = useMemo(\n () => ({\n name: props.name,\n }),\n [props.name]\n );\n\n return (\n <FormFieldContext.Provider value={memoValue}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nexport const useFormField = () => {\n const fieldContext = useContext(FormFieldContext);\n const itemContext = useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n"],"names":["createContext","useMemo","jsx","Controller","useContext","FormItemContext","useFormContext"],"mappings":";;;;;;;AAmBA,MAAM,mBAAmBA,WAAA;AAAA,EACvB,CAAC;AACH;AAEO,MAAM,YAAY,CAGvB;AAAA,EACA,GAAG;AACL,MAA4C;AAC1C,QAAM,YAAYC,WAAA;AAAA,IAChB,OAAO;AAAA,MACL,MAAM,MAAM;AAAA,IAAA;AAAA,IAEd,CAAC,MAAM,IAAI;AAAA,EAAA;AAIX,SAAAC,2BAAA,kBAAA,IAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAChC,UAACA,2BAAAA,kBAAAA,IAAAC,cAAAA,YAAA,EAAY,GAAG,MAAO,CAAA,EACzB,CAAA;AAEJ;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,eAAeC,sBAAW,gBAAgB;AAC1C,QAAA,cAAcA,sBAAWC,yBAAAA,eAAe;AAC9C,QAAM,EAAE,eAAe,UAAU,IAAIC,cAAe,eAAA;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACX,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEM,QAAA,EAAE,GAAO,IAAA;AAER,SAAA;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,GAAG,EAAE;AAAA,IACjB,mBAAmB,GAAG,EAAE;AAAA,IACxB,eAAe,GAAG,EAAE;AAAA,IACpB,GAAG;AAAA,EAAA;AAEP;;;"}
1
+ {"version":3,"file":"FormField.cjs","sources":["../../../src/components/Form/FormField.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\nimport {\n type FieldValues,\n type FieldPath,\n type ControllerProps,\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport { FormItemContext } from './FormItem';\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nexport const FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n const memoValue = useMemo(\n () => ({\n name: props.name,\n }),\n [props.name]\n );\n\n return (\n <FormFieldContext.Provider value={memoValue}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nexport const useFormField = () => {\n const fieldContext = useContext(FormFieldContext);\n const itemContext = useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n"],"names":["createContext","useMemo","jsx","Controller","useContext","FormItemContext","useFormContext"],"mappings":";;;;;;;AAmBA,MAAM,mBAAmBA,WAAA;AAAA,EACvB,CAAA;AACF;AAEO,MAAM,YAAY,CAGvB;AAAA,EACA,GAAG;AACL,MAA4C;AAC1C,QAAM,YAAYC,WAAA;AAAA,IAChB,OAAO;AAAA,MACL,MAAM,MAAM;AAAA,IAAA;AAAA,IAEd,CAAC,MAAM,IAAI;AAAA,EACb;AAGE,SAAAC,2BAAA,kBAAA,IAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAChC,UAACA,2BAAAA,kBAAAA,IAAAC,cAAAA,YAAA,EAAY,GAAG,MAAA,CAAO,EACzB,CAAA;AAEJ;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,eAAeC,sBAAW,gBAAgB;AAC1C,QAAA,cAAcA,sBAAWC,wCAAe;AAC9C,QAAM,EAAE,eAAe,UAAU,IAAIC,6BAAe;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACX,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAAA;AAG5D,QAAA,EAAE,OAAO;AAER,SAAA;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,GAAG,EAAE;AAAA,IACjB,mBAAmB,GAAG,EAAE;AAAA,IACxB,eAAe,GAAG,EAAE;AAAA,IACpB,GAAG;AAAA,EACL;AACF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.mjs","sources":["../../../src/components/Form/FormField.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\nimport {\n type FieldValues,\n type FieldPath,\n type ControllerProps,\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport { FormItemContext } from './FormItem';\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nexport const FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n const memoValue = useMemo(\n () => ({\n name: props.name,\n }),\n [props.name]\n );\n\n return (\n <FormFieldContext.Provider value={memoValue}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nexport const useFormField = () => {\n const fieldContext = useContext(FormFieldContext);\n const itemContext = useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n"],"names":["jsx"],"mappings":";;;;;AAmBA,MAAM,mBAAmB;AAAA,EACvB,CAAC;AACH;AAEO,MAAM,YAAY,CAGvB;AAAA,EACA,GAAG;AACL,MAA4C;AAC1C,QAAM,YAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM,MAAM;AAAA,IAAA;AAAA,IAEd,CAAC,MAAM,IAAI;AAAA,EAAA;AAIX,SAAAA,kCAAA,IAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAChC,UAACA,kCAAAA,IAAA,YAAA,EAAY,GAAG,MAAO,CAAA,EACzB,CAAA;AAEJ;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,eAAe,WAAW,gBAAgB;AAC1C,QAAA,cAAc,WAAW,eAAe;AAC9C,QAAM,EAAE,eAAe,UAAU,IAAI,eAAe;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACX,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEM,QAAA,EAAE,GAAO,IAAA;AAER,SAAA;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,GAAG,EAAE;AAAA,IACjB,mBAAmB,GAAG,EAAE;AAAA,IACxB,eAAe,GAAG,EAAE;AAAA,IACpB,GAAG;AAAA,EAAA;AAEP;"}
1
+ {"version":3,"file":"FormField.mjs","sources":["../../../src/components/Form/FormField.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\nimport {\n type FieldValues,\n type FieldPath,\n type ControllerProps,\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport { FormItemContext } from './FormItem';\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nexport const FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n const memoValue = useMemo(\n () => ({\n name: props.name,\n }),\n [props.name]\n );\n\n return (\n <FormFieldContext.Provider value={memoValue}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nexport const useFormField = () => {\n const fieldContext = useContext(FormFieldContext);\n const itemContext = useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n"],"names":["jsx"],"mappings":";;;;;AAmBA,MAAM,mBAAmB;AAAA,EACvB,CAAA;AACF;AAEO,MAAM,YAAY,CAGvB;AAAA,EACA,GAAG;AACL,MAA4C;AAC1C,QAAM,YAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM,MAAM;AAAA,IAAA;AAAA,IAEd,CAAC,MAAM,IAAI;AAAA,EACb;AAGE,SAAAA,kCAAA,IAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAChC,UAACA,kCAAAA,IAAA,YAAA,EAAY,GAAG,MAAA,CAAO,EACzB,CAAA;AAEJ;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,eAAe,WAAW,gBAAgB;AAC1C,QAAA,cAAc,WAAW,eAAe;AAC9C,QAAM,EAAE,eAAe,UAAU,IAAI,eAAe;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACX,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAAA;AAG5D,QAAA,EAAE,OAAO;AAER,SAAA;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,GAAG,EAAE;AAAA,IACjB,mBAAmB,GAAG,EAAE;AAAA,IACxB,eAAe,GAAG,EAAE;AAAA,IACpB,GAAG;AAAA,EACL;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.cjs","sources":["../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type HTMLAttributes,\n useId,\n createContext,\n useMemo,\n} from 'react';\n\nexport const FormItem = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const id = useId();\n\n const memoValue = useMemo(\n () => ({\n id,\n }),\n [id]\n );\n\n return (\n <FormItemContext.Provider value={memoValue}>\n <div className=\"space-y-2\" ref={ref} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = 'FormItem';\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"names":["forwardRef","useId","useMemo","jsx","createContext"],"mappings":";;;;;AAUO,MAAM,WAAWA,WAAA,WAGtB,CAAC,OAAO,QAAQ;AAChB,QAAM,KAAKC,WAAAA;AAEX,QAAM,YAAYC,WAAA;AAAA,IAChB,OAAO;AAAA,MACL;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE;AAAA,EAAA;AAGL,SACGC,2BAAAA,kBAAAA,IAAA,gBAAgB,UAAhB,EAAyB,OAAO,WAC/B,UAACA,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,aAAY,KAAW,GAAG,OAAO,EAClD,CAAA;AAEJ,CAAC;AACD,SAAS,cAAc;AAMhB,MAAM,kBAAkBC,WAAA;AAAA,EAC7B,CAAC;AACH;;;"}
1
+ {"version":3,"file":"FormItem.cjs","sources":["../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type HTMLAttributes,\n useId,\n createContext,\n useMemo,\n} from 'react';\n\nexport const FormItem = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const id = useId();\n\n const memoValue = useMemo(\n () => ({\n id,\n }),\n [id]\n );\n\n return (\n <FormItemContext.Provider value={memoValue}>\n <div className=\"space-y-2\" ref={ref} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = 'FormItem';\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"names":["forwardRef","useId","useMemo","jsx","createContext"],"mappings":";;;;;AAUO,MAAM,WAAWA,WAAA,WAGtB,CAAC,OAAO,QAAQ;AAChB,QAAM,KAAKC,WAAAA,MAAM;AAEjB,QAAM,YAAYC,WAAA;AAAA,IAChB,OAAO;AAAA,MACL;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE;AAAA,EACL;AAEA,SACGC,2BAAAA,kBAAAA,IAAA,gBAAgB,UAAhB,EAAyB,OAAO,WAC/B,UAACA,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,aAAY,KAAW,GAAG,MAAO,CAAA,GAClD;AAEJ,CAAC;AACD,SAAS,cAAc;AAMhB,MAAM,kBAAkBC,WAAA;AAAA,EAC7B,CAAA;AACF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.mjs","sources":["../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type HTMLAttributes,\n useId,\n createContext,\n useMemo,\n} from 'react';\n\nexport const FormItem = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const id = useId();\n\n const memoValue = useMemo(\n () => ({\n id,\n }),\n [id]\n );\n\n return (\n <FormItemContext.Provider value={memoValue}>\n <div className=\"space-y-2\" ref={ref} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = 'FormItem';\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"names":["jsx"],"mappings":";;;AAUO,MAAM,WAAW,WAGtB,CAAC,OAAO,QAAQ;AAChB,QAAM,KAAK;AAEX,QAAM,YAAY;AAAA,IAChB,OAAO;AAAA,MACL;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE;AAAA,EAAA;AAGL,SACGA,kCAAAA,IAAA,gBAAgB,UAAhB,EAAyB,OAAO,WAC/B,UAACA,kCAAAA,IAAA,OAAA,EAAI,WAAU,aAAY,KAAW,GAAG,OAAO,EAClD,CAAA;AAEJ,CAAC;AACD,SAAS,cAAc;AAMhB,MAAM,kBAAkB;AAAA,EAC7B,CAAC;AACH;"}
1
+ {"version":3,"file":"FormItem.mjs","sources":["../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type HTMLAttributes,\n useId,\n createContext,\n useMemo,\n} from 'react';\n\nexport const FormItem = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const id = useId();\n\n const memoValue = useMemo(\n () => ({\n id,\n }),\n [id]\n );\n\n return (\n <FormItemContext.Provider value={memoValue}>\n <div className=\"space-y-2\" ref={ref} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = 'FormItem';\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"names":["jsx"],"mappings":";;;AAUO,MAAM,WAAW,WAGtB,CAAC,OAAO,QAAQ;AAChB,QAAM,KAAK,MAAM;AAEjB,QAAM,YAAY;AAAA,IAChB,OAAO;AAAA,MACL;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE;AAAA,EACL;AAEA,SACGA,kCAAAA,IAAA,gBAAgB,UAAhB,EAAyB,OAAO,WAC/B,UAACA,kCAAAA,IAAA,OAAA,EAAI,WAAU,aAAY,KAAW,GAAG,MAAO,CAAA,GAClD;AAEJ,CAAC;AACD,SAAS,cAAc;AAMhB,MAAM,kBAAkB;AAAA,EAC7B,CAAA;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.cjs","sources":["../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel = forwardRef<\n ElementRef<typeof Label>,\n ComponentPropsWithoutRef<typeof Label>\n>((props, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn(error && 'text-error dark:text-error-dark')}\n ref={ref}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n"],"names":["forwardRef","useFormField","jsx","Label","cn"],"mappings":";;;;;;;;AAWO,MAAM,YAAYA,WAAA,WAGvB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,WAAW,IAAIC,0BAAa,aAAA;AAGzC,SAAAC,2BAAA,kBAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,WAAWC,SAAAA,GAAG,SAAS,iCAAiC;AAAA,MACxD;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD,UAAU,cAAc;;"}
1
+ {"version":3,"file":"FormLabel.cjs","sources":["../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel = forwardRef<\n ElementRef<typeof Label>,\n ComponentPropsWithoutRef<typeof Label>\n>((props, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn(error && 'text-error dark:text-error-dark')}\n ref={ref}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n"],"names":["forwardRef","useFormField","jsx","Label","cn"],"mappings":";;;;;;;;AAWO,MAAM,YAAYA,WAAA,WAGvB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,WAAW,IAAIC,uCAAa;AAGzC,SAAAC,2BAAA,kBAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,WAAWC,SAAAA,GAAG,SAAS,iCAAiC;AAAA,MACxD;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AACD,UAAU,cAAc;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.mjs","sources":["../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel = forwardRef<\n ElementRef<typeof Label>,\n ComponentPropsWithoutRef<typeof Label>\n>((props, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn(error && 'text-error dark:text-error-dark')}\n ref={ref}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n"],"names":["jsx"],"mappings":";;;;;;AAWO,MAAM,YAAY,WAGvB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,WAAW,IAAI,aAAa;AAGzC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,SAAS,iCAAiC;AAAA,MACxD;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD,UAAU,cAAc;"}
1
+ {"version":3,"file":"FormLabel.mjs","sources":["../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport {\n forwardRef,\n type ElementRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel = forwardRef<\n ElementRef<typeof Label>,\n ComponentPropsWithoutRef<typeof Label>\n>((props, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn(error && 'text-error dark:text-error-dark')}\n ref={ref}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n"],"names":["jsx"],"mappings":";;;;;;AAWO,MAAM,YAAY,WAGvB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,OAAO,WAAW,IAAI,aAAa;AAGzC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,SAAS,iCAAiC;AAAA,MACxD;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;AACD,UAAU,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormMessage.cjs","sources":["../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"text-error dark:text-error-dark text-xs font-medium\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"names":["useFormField","jsx"],"mappings":";;;;;AAKO,MAAM,cAAwD,CAAC;AAAA,EACpE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,OAAO,cAAc,IAAIA,0BAAa,aAAA;AAC9C,QAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,EAAE,IAAI;AAEpD,MAAI,CAAC,MAAM;AACF,WAAA;AAAA,EACT;AAGE,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,IAAI;AAAA,MACH,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
1
+ {"version":3,"file":"FormMessage.cjs","sources":["../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"text-error dark:text-error-dark text-xs font-medium\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"names":["useFormField","jsx"],"mappings":";;;;;AAKO,MAAM,cAAwD,CAAC;AAAA,EACpE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,OAAO,cAAc,IAAIA,uCAAa;AAC9C,QAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,EAAE,IAAI;AAEpD,MAAI,CAAC,MAAM;AACF,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,IAAI;AAAA,MACH,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormMessage.mjs","sources":["../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"text-error dark:text-error-dark text-xs font-medium\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"names":["jsx"],"mappings":";;;AAKO,MAAM,cAAwD,CAAC;AAAA,EACpE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,OAAO,cAAc,IAAI,aAAa;AAC9C,QAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,EAAE,IAAI;AAEpD,MAAI,CAAC,MAAM;AACF,WAAA;AAAA,EACT;AAGE,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,IAAI;AAAA,MACH,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"FormMessage.mjs","sources":["../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"text-error dark:text-error-dark text-xs font-medium\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"names":["jsx"],"mappings":";;;AAKO,MAAM,cAAwD,CAAC;AAAA,EACpE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,OAAO,cAAc,IAAI,aAAa;AAC9C,QAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,EAAE,IAAI;AAEpD,MAAI,CAAC,MAAM;AACF,WAAA;AAAA,EAAA;AAIP,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,IAAI;AAAA,MACH,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormElementWrapper.cjs","sources":["../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.AnyZodObject;\n values?: z.infer<z.AnyZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"names":["z","useForm","zodResolver","jsx","FormProvider"],"mappings":";;;;;;;AAOA,MAAM,SAASA,MAAE,OAAO;AAAA,EACtB,MAAMA,IAAE,EAAA,OAAA,EAAS,IAAI,GAAG,YAAY;AACtC,CAAC;AAOY,MAAA,qBAAkD,CAAC,UAAU;AAClE,QAAA,mBAAmB,MAAM,UAAU;AAEzC,QAAM,OAAOC,cAAAA,QAA0C;AAAA,IACrD,UAAUC,QAAY,gBAAgB;AAAA,IACtC,QAAQ,MAAM;AAAA,EAAA,CACf;AAED,QAAM,EAAE,UAAU,UAAU,GAAG,SAAS;AAElC,QAAA,eAAe,CACnB,QACA,UACG;AACG,UAAA,eAAe,iBAAiB,UAAU,MAAM;AACtD,QAAI,aAAa,SAAS;AACxB,iBAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAIA,SAAAC,2BAAA,kBAAA,IAACC,cAAc,cAAA,EAAA,GAAG,MAChB,UAAAD,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAC,MAAM;AACf,UAAE,eAAe;AACjB,aAAK,aAAa,CAAC,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,MACvD;AAAA,MAEC;AAAA,IAAA;AAAA,EAEL,EAAA,CAAA;AAEJ;;"}
1
+ {"version":3,"file":"FormElementWrapper.cjs","sources":["../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.AnyZodObject;\n values?: z.infer<z.AnyZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"names":["z","useForm","zodResolver","jsx","FormProvider"],"mappings":";;;;;;;AAOA,MAAM,SAASA,MAAE,OAAO;AAAA,EACtB,MAAMA,IAAAA,EAAE,OAAS,EAAA,IAAI,GAAG,YAAY;AACtC,CAAC;AAOY,MAAA,qBAAkD,CAAC,UAAU;AAClE,QAAA,mBAAmB,MAAM,UAAU;AAEzC,QAAM,OAAOC,cAAAA,QAA0C;AAAA,IACrD,UAAUC,QAAY,gBAAgB;AAAA,IACtC,QAAQ,MAAM;AAAA,EAAA,CACf;AAED,QAAM,EAAE,UAAU,UAAU,GAAG,KAAS,IAAA;AAElC,QAAA,eAAe,CACnB,QACA,UACG;AACG,UAAA,eAAe,iBAAiB,UAAU,MAAM;AACtD,QAAI,aAAa,SAAS;AACxB,iBAAW,KAAK;AAAA,IAAA;AAAA,EAEpB;AAGE,SAAAC,2BAAA,kBAAA,IAACC,cAAc,cAAA,EAAA,GAAG,MAChB,UAAAD,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAC,MAAM;AACf,UAAE,eAAe;AACjB,aAAK,aAAa,CAAC,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,MACvD;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormElementWrapper.mjs","sources":["../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.AnyZodObject;\n values?: z.infer<z.AnyZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"names":["zodResolver","jsx"],"mappings":";;;;;AAOA,MAAM,SAAS,EAAE,OAAO;AAAA,EACtB,MAAM,EAAE,OAAA,EAAS,IAAI,GAAG,YAAY;AACtC,CAAC;AAOY,MAAA,qBAAkD,CAAC,UAAU;AAClE,QAAA,mBAAmB,MAAM,UAAU;AAEzC,QAAM,OAAO,QAA0C;AAAA,IACrD,UAAUA,EAAY,gBAAgB;AAAA,IACtC,QAAQ,MAAM;AAAA,EAAA,CACf;AAED,QAAM,EAAE,UAAU,UAAU,GAAG,SAAS;AAElC,QAAA,eAAe,CACnB,QACA,UACG;AACG,UAAA,eAAe,iBAAiB,UAAU,MAAM;AACtD,QAAI,aAAa,SAAS;AACxB,iBAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAIA,SAAAC,kCAAA,IAAC,cAAc,EAAA,GAAG,MAChB,UAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAC,MAAM;AACf,UAAE,eAAe;AACjB,aAAK,aAAa,CAAC,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,MACvD;AAAA,MAEC;AAAA,IAAA;AAAA,EAEL,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"FormElementWrapper.mjs","sources":["../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.AnyZodObject;\n values?: z.infer<z.AnyZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"names":["zodResolver","jsx"],"mappings":";;;;;AAOA,MAAM,SAAS,EAAE,OAAO;AAAA,EACtB,MAAM,EAAE,OAAS,EAAA,IAAI,GAAG,YAAY;AACtC,CAAC;AAOY,MAAA,qBAAkD,CAAC,UAAU;AAClE,QAAA,mBAAmB,MAAM,UAAU;AAEzC,QAAM,OAAO,QAA0C;AAAA,IACrD,UAAUA,EAAY,gBAAgB;AAAA,IACtC,QAAQ,MAAM;AAAA,EAAA,CACf;AAED,QAAM,EAAE,UAAU,UAAU,GAAG,KAAS,IAAA;AAElC,QAAA,eAAe,CACnB,QACA,UACG;AACG,UAAA,eAAe,iBAAiB,UAAU,MAAM;AACtD,QAAI,aAAa,SAAS;AACxB,iBAAW,KAAK;AAAA,IAAA;AAAA,EAEpB;AAGE,SAAAC,kCAAA,IAAC,cAAc,EAAA,GAAG,MAChB,UAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAC,MAAM;AACf,UAAE,eAAe;AACjB,aAAK,aAAa,CAAC,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,MACvD;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabelLayout.cjs","sources":["../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { InformationTag } from '../../InformationTag';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel htmlFor={htmlFor} className={clsx('font-bold', className)}>\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"names":["jsxs","FormLabel","clsx","jsx","RequiredStar","InformationTag"],"mappings":";;;;;;;AAcO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACEA,2BAAA,kBAAA,KAAC,OAAI,EAAA,WAAU,uDACZ,UAAA;AAAA,EAAA,8DACEC,0BAAU,WAAA,EAAA,SAAkB,WAAWC,KAAAA,KAAK,aAAa,SAAS,GAChE,UAAA;AAAA,IAAA;AAAA,IACDC,iDAACC,oCAAAA,gBAAa,YAAwB;AAAA,EAAA,GACxC;AAAA,EAED,QAAQD,2BAAAA,kBAAAA,IAACE,gCAAAA,gBAAe,EAAA,SAAS,KAAM,CAAA;AAAA,EAC1C,CAAA;;"}
1
+ {"version":3,"file":"FormLabelLayout.cjs","sources":["../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { InformationTag } from '../../InformationTag';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel htmlFor={htmlFor} className={clsx('font-bold', className)}>\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"names":["jsxs","FormLabel","clsx","jsx","RequiredStar","InformationTag"],"mappings":";;;;;;;AAcO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACEA,2BAAA,kBAAA,KAAC,OAAI,EAAA,WAAU,uDACZ,UAAA;AAAA,EAAA,8DACEC,0BAAU,WAAA,EAAA,SAAkB,WAAWC,KAAAA,KAAK,aAAa,SAAS,GAChE,UAAA;AAAA,IAAA;AAAA,IACDC,iDAACC,oCAAAA,gBAAa,WAAwB,CAAA;AAAA,EAAA,GACxC;AAAA,EAED,QAAQD,2BAAAA,kBAAAA,IAACE,gCAAAA,gBAAe,EAAA,SAAS,KAAM,CAAA;AAAA,EAC1C,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabelLayout.mjs","sources":["../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { InformationTag } from '../../InformationTag';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel htmlFor={htmlFor} className={clsx('font-bold', className)}>\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"names":["jsxs","jsx"],"mappings":";;;;;AAcO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACEA,kCAAA,KAAC,OAAI,EAAA,WAAU,uDACZ,UAAA;AAAA,EAAA,mDACE,WAAU,EAAA,SAAkB,WAAW,KAAK,aAAa,SAAS,GAChE,UAAA;AAAA,IAAA;AAAA,IACDC,sCAAC,gBAAa,YAAwB;AAAA,EAAA,GACxC;AAAA,EAED,QAAQA,kCAAAA,IAAC,gBAAe,EAAA,SAAS,KAAM,CAAA;AAAA,EAC1C,CAAA;"}
1
+ {"version":3,"file":"FormLabelLayout.mjs","sources":["../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { InformationTag } from '../../InformationTag';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel htmlFor={htmlFor} className={clsx('font-bold', className)}>\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"names":["jsxs","jsx"],"mappings":";;;;;AAcO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACEA,kCAAA,KAAC,OAAI,EAAA,WAAU,uDACZ,UAAA;AAAA,EAAA,mDACE,WAAU,EAAA,SAAkB,WAAW,KAAK,aAAa,SAAS,GAChE,UAAA;AAAA,IAAA;AAAA,IACDC,sCAAC,gBAAa,WAAwB,CAAA;AAAA,EAAA,GACxC;AAAA,EAED,QAAQA,kCAAAA,IAAC,gBAAe,EAAA,SAAS,KAAM,CAAA;AAAA,EAC1C,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionScroller.cjs","sources":["../../../src/components/Headers/SectionScroller.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nexport const SectionScroller = () => {\n const [hash, setHash] = useState<string>();\n\n const onHashChange = () => {\n setHash(window.location.hash.slice(1));\n };\n\n useEffect(() => {\n setHash(window.location.hash.slice(1));\n\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n\n useEffect(() => {\n if (hash) {\n scrollToHash(hash);\n }\n }, [hash]);\n\n return null;\n};\n"],"names":["useState","useEffect"],"mappings":";;;;AAIA,MAAM,eAAe,CAAC,OAAe;AAC7B,QAAA,UAAU,SAAS,eAAe,EAAE;AAC1C,QAAM,SAAS;AACf,QAAM,KACH,SAAS,yBAAyB,OAAO,KAAK,OAAO,UAAU;AAElE,SAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAChD;AAEO,MAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,MAAM,OAAO,IAAIA,WAAiB,SAAA;AAEzC,QAAM,eAAe,MAAM;AACzB,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,EAAA;AAGvCC,aAAAA,UAAU,MAAM;AACd,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAE9B,WAAA,iBAAiB,cAAc,YAAY;AAClD,WAAO,MAAM,OAAO,oBAAoB,cAAc,YAAY;AAAA,EACpE,GAAG,CAAE,CAAA;AAELA,aAAAA,UAAU,MAAM;AACd,QAAI,MAAM;AACR,mBAAa,IAAI;AAAA,IACnB;AAAA,EAAA,GACC,CAAC,IAAI,CAAC;AAEF,SAAA;AACT;;"}
1
+ {"version":3,"file":"SectionScroller.cjs","sources":["../../../src/components/Headers/SectionScroller.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nexport const SectionScroller = () => {\n const [hash, setHash] = useState<string>();\n\n const onHashChange = () => {\n setHash(window.location.hash.slice(1));\n };\n\n useEffect(() => {\n setHash(window.location.hash.slice(1));\n\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n\n useEffect(() => {\n if (hash) {\n scrollToHash(hash);\n }\n }, [hash]);\n\n return null;\n};\n"],"names":["useState","useEffect"],"mappings":";;;;AAIA,MAAM,eAAe,CAAC,OAAe;AAC7B,QAAA,UAAU,SAAS,eAAe,EAAE;AAC1C,QAAM,SAAS;AACf,QAAM,KACH,SAAS,sBAAA,GAAyB,OAAO,KAAK,OAAO,UAAU;AAElE,SAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAChD;AAEO,MAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,MAAM,OAAO,IAAIA,oBAAiB;AAEzC,QAAM,eAAe,MAAM;AACzB,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,EACvC;AAEAC,aAAAA,UAAU,MAAM;AACd,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAE9B,WAAA,iBAAiB,cAAc,YAAY;AAClD,WAAO,MAAM,OAAO,oBAAoB,cAAc,YAAY;AAAA,EACpE,GAAG,EAAE;AAELA,aAAAA,UAAU,MAAM;AACd,QAAI,MAAM;AACR,mBAAa,IAAI;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,IAAI,CAAC;AAEF,SAAA;AACT;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionScroller.mjs","sources":["../../../src/components/Headers/SectionScroller.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nexport const SectionScroller = () => {\n const [hash, setHash] = useState<string>();\n\n const onHashChange = () => {\n setHash(window.location.hash.slice(1));\n };\n\n useEffect(() => {\n setHash(window.location.hash.slice(1));\n\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n\n useEffect(() => {\n if (hash) {\n scrollToHash(hash);\n }\n }, [hash]);\n\n return null;\n};\n"],"names":[],"mappings":";;AAIA,MAAM,eAAe,CAAC,OAAe;AAC7B,QAAA,UAAU,SAAS,eAAe,EAAE;AAC1C,QAAM,SAAS;AACf,QAAM,KACH,SAAS,yBAAyB,OAAO,KAAK,OAAO,UAAU;AAElE,SAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAChD;AAEO,MAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,MAAM,OAAO,IAAI,SAAiB;AAEzC,QAAM,eAAe,MAAM;AACzB,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,EAAA;AAGvC,YAAU,MAAM;AACd,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAE9B,WAAA,iBAAiB,cAAc,YAAY;AAClD,WAAO,MAAM,OAAO,oBAAoB,cAAc,YAAY;AAAA,EACpE,GAAG,CAAE,CAAA;AAEL,YAAU,MAAM;AACd,QAAI,MAAM;AACR,mBAAa,IAAI;AAAA,IACnB;AAAA,EAAA,GACC,CAAC,IAAI,CAAC;AAEF,SAAA;AACT;"}
1
+ {"version":3,"file":"SectionScroller.mjs","sources":["../../../src/components/Headers/SectionScroller.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nexport const SectionScroller = () => {\n const [hash, setHash] = useState<string>();\n\n const onHashChange = () => {\n setHash(window.location.hash.slice(1));\n };\n\n useEffect(() => {\n setHash(window.location.hash.slice(1));\n\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n\n useEffect(() => {\n if (hash) {\n scrollToHash(hash);\n }\n }, [hash]);\n\n return null;\n};\n"],"names":[],"mappings":";;AAIA,MAAM,eAAe,CAAC,OAAe;AAC7B,QAAA,UAAU,SAAS,eAAe,EAAE;AAC1C,QAAM,SAAS;AACf,QAAM,KACH,SAAS,sBAAA,GAAyB,OAAO,KAAK,OAAO,UAAU;AAElE,SAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAChD;AAEO,MAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,MAAM,OAAO,IAAI,SAAiB;AAEzC,QAAM,eAAe,MAAM;AACzB,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,EACvC;AAEA,YAAU,MAAM;AACd,YAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAE9B,WAAA,iBAAiB,cAAc,YAAY;AAClD,WAAO,MAAM,OAAO,oBAAoB,cAAc,YAAY;AAAA,EACpE,GAAG,EAAE;AAEL,YAAU,MAAM;AACd,QAAI,MAAM;AACR,mBAAa,IAAI;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,IAAI,CAAC;AAEF,SAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/Headers/index.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, MouseEvent } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst styledHeading = `relative scroll-m-8 scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:hover:cursor-pointer dark:after:text-neutral-dark after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h1 className={cn('mt-5 text-2xl font-bold', className)} {...props} />\n);\n\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h2\n className={cn('mt-5 text-2xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h3\n className={cn('mt-3 text-xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h4\n className={cn('mt-3 text-lg font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5\n className={cn('mt-3 text-base font-bold', styledHeading, className)}\n {...props}\n />\n);\n\ntype HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n isClickable?: boolean;\n};\ntype HeadingGlobalProps = HeadingProps & {\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n};\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left,\n parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10),\n afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10),\n afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX,\n mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n"],"names":["jsx","cn","id"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/Headers/index.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, MouseEvent } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst styledHeading = `relative scroll-m-8 scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:hover:cursor-pointer dark:after:text-neutral-dark after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h1 className={cn('mt-5 text-2xl font-bold', className)} {...props} />\n);\n\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h2\n className={cn('mt-5 text-2xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h3\n className={cn('mt-3 text-xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h4\n className={cn('mt-3 text-lg font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5\n className={cn('mt-3 text-base font-bold', styledHeading, className)}\n {...props}\n />\n);\n\ntype HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n isClickable?: boolean;\n};\ntype HeadingGlobalProps = HeadingProps & {\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n};\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left,\n parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10),\n afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10),\n afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX,\n mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n"],"names":["jsx","cn","id"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/Headers/index.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, MouseEvent } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst styledHeading = `relative scroll-m-8 scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:hover:cursor-pointer dark:after:text-neutral-dark after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h1 className={cn('mt-5 text-2xl font-bold', className)} {...props} />\n);\n\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h2\n className={cn('mt-5 text-2xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h3\n className={cn('mt-3 text-xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h4\n className={cn('mt-3 text-lg font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5\n className={cn('mt-3 text-base font-bold', styledHeading, className)}\n {...props}\n />\n);\n\ntype HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n isClickable?: boolean;\n};\ntype HeadingGlobalProps = HeadingProps & {\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n};\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left,\n parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10),\n afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10),\n afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX,\n mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n"],"names":["jsx","id"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/Headers/index.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, MouseEvent } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst styledHeading = `relative scroll-m-8 scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:hover:cursor-pointer dark:after:text-neutral-dark after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h1 className={cn('mt-5 text-2xl font-bold', className)} {...props} />\n);\n\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h2\n className={cn('mt-5 text-2xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h3\n className={cn('mt-3 text-xl font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h4\n className={cn('mt-3 text-lg font-bold', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n // eslint-disable-next-line jsx-a11y/heading-has-content\n <h5\n className={cn('mt-3 text-base font-bold', styledHeading, className)}\n {...props}\n />\n);\n\ntype HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n isClickable?: boolean;\n};\ntype HeadingGlobalProps = HeadingProps & {\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n};\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left,\n parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10),\n afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10),\n afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX,\n mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n"],"names":["jsx","id"],"mappings":"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"}