@bigbinary/neeto-atoms 1.0.9 → 1.0.11

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 (614) hide show
  1. package/dist/Accordion-Ch9S_qd3.js +22 -0
  2. package/dist/Accordion-Ch9S_qd3.js.map +1 -0
  3. package/dist/Alert-D_FV8xxo.js +65 -0
  4. package/dist/Alert-D_FV8xxo.js.map +1 -0
  5. package/dist/Avatar-D5YGlXVF.js +50 -0
  6. package/dist/Avatar-D5YGlXVF.js.map +1 -0
  7. package/dist/Badge-8FkscqDt.js +59 -0
  8. package/dist/Badge-8FkscqDt.js.map +1 -0
  9. package/dist/Button-Q7MPG6ph.js +92 -0
  10. package/dist/Button-Q7MPG6ph.js.map +1 -0
  11. package/dist/Calendar-pDD7nRF-.js +8025 -0
  12. package/dist/Calendar-pDD7nRF-.js.map +1 -0
  13. package/dist/Callout-B0w4GQtx.js +65 -0
  14. package/dist/Callout-B0w4GQtx.js.map +1 -0
  15. package/dist/Checkbox-zCxgcZiC.js +24 -0
  16. package/dist/Checkbox-zCxgcZiC.js.map +1 -0
  17. package/dist/{ColorPicker-D-7QGnf9.js → ColorPicker-DtOvy0Gy.js} +3 -2
  18. package/dist/ColorPicker-DtOvy0Gy.js.map +1 -0
  19. package/dist/DatePicker-COxwHPIZ.js +2960 -0
  20. package/dist/DatePicker-COxwHPIZ.js.map +1 -0
  21. package/dist/Dialog-BURSzxaP.js +61 -0
  22. package/dist/Dialog-BURSzxaP.js.map +1 -0
  23. package/dist/Empty-B2JwFmru.js +26 -0
  24. package/dist/Empty-B2JwFmru.js.map +1 -0
  25. package/dist/Input-C1gcv9o2.js +147 -0
  26. package/dist/Input-C1gcv9o2.js.map +1 -0
  27. package/dist/Kbd-EqbC0bua.js +36 -0
  28. package/dist/Kbd-EqbC0bua.js.map +1 -0
  29. package/dist/Label-BVy4hy9Z.js +58 -0
  30. package/dist/Label-BVy4hy9Z.js.map +1 -0
  31. package/dist/MultiEmailInput-SCTYovtX.js +139 -0
  32. package/dist/MultiEmailInput-SCTYovtX.js.map +1 -0
  33. package/dist/Pagination-DSc9yXPy.js +61 -0
  34. package/dist/Pagination-DSc9yXPy.js.map +1 -0
  35. package/dist/Popover-BFMrtVPq.js +95 -0
  36. package/dist/Popover-BFMrtVPq.js.map +1 -0
  37. package/dist/Progress-B9NlUm6e.js +13 -0
  38. package/dist/Progress-B9NlUm6e.js.map +1 -0
  39. package/dist/RadioGroup-BNeYQAoT.js +34 -0
  40. package/dist/RadioGroup-BNeYQAoT.js.map +1 -0
  41. package/dist/Select-TlFBcxcY.js +565 -0
  42. package/dist/Select-TlFBcxcY.js.map +1 -0
  43. package/dist/{components/SelectFieldWrapper.js → SelectFieldWrapper-BJzq9aCY.js} +3 -11
  44. package/dist/SelectFieldWrapper-BJzq9aCY.js.map +1 -0
  45. package/dist/Sheet-QFC_mHyj.js +63 -0
  46. package/dist/Sheet-QFC_mHyj.js.map +1 -0
  47. package/dist/Slider-BCQXhs0Q.js +25 -0
  48. package/dist/Slider-BCQXhs0Q.js.map +1 -0
  49. package/dist/Spinner-C8HSac-2.js +17 -0
  50. package/dist/Spinner-C8HSac-2.js.map +1 -0
  51. package/dist/Stepper-BoGkmkY0.js +29 -0
  52. package/dist/Stepper-BoGkmkY0.js.map +1 -0
  53. package/dist/Switch-B83TGxJ_.js +20 -0
  54. package/dist/Switch-B83TGxJ_.js.map +1 -0
  55. package/dist/Tabs-DWfKnl3S.js +38 -0
  56. package/dist/Tabs-DWfKnl3S.js.map +1 -0
  57. package/dist/Textarea-C0z50h0N.js +73 -0
  58. package/dist/Textarea-C0z50h0N.js.map +1 -0
  59. package/dist/TimePicker-C4x62jI1.js +142 -0
  60. package/dist/TimePicker-C4x62jI1.js.map +1 -0
  61. package/dist/TimePickerPanel-CiF0RExY.js +126 -0
  62. package/dist/TimePickerPanel-CiF0RExY.js.map +1 -0
  63. package/dist/Toastr-DYqpSaMd.js +115 -0
  64. package/dist/Toastr-DYqpSaMd.js.map +1 -0
  65. package/dist/Tooltip-DhwIZnOU.js +80 -0
  66. package/dist/Tooltip-DhwIZnOU.js.map +1 -0
  67. package/dist/TranslationProvider-Ba9rn47H.js.map +1 -1
  68. package/dist/Tree-C7r10UY5.js +7977 -0
  69. package/dist/Tree-C7r10UY5.js.map +1 -0
  70. package/dist/TreeSelect-DRGcYz-6.js +168 -0
  71. package/dist/TreeSelect-DRGcYz-6.js.map +1 -0
  72. package/dist/Typography-CMJ8OveZ.js +76 -0
  73. package/dist/Typography-CMJ8OveZ.js.map +1 -0
  74. package/dist/cjs/Accordion-BoTckTBI.js +28 -0
  75. package/dist/cjs/Accordion-BoTckTBI.js.map +1 -0
  76. package/dist/cjs/Alert-BVvLyM_d.js +67 -0
  77. package/dist/cjs/Alert-BVvLyM_d.js.map +1 -0
  78. package/dist/cjs/Avatar-CNao5gvP.js +52 -0
  79. package/dist/cjs/Avatar-CNao5gvP.js.map +1 -0
  80. package/dist/cjs/Badge-STBHzYLs.js +61 -0
  81. package/dist/cjs/Badge-STBHzYLs.js.map +1 -0
  82. package/dist/cjs/Button-Bt_AElge.js +94 -0
  83. package/dist/cjs/Button-Bt_AElge.js.map +1 -0
  84. package/dist/cjs/Calendar-Nk76Y9yP.js +8066 -0
  85. package/dist/cjs/Calendar-Nk76Y9yP.js.map +1 -0
  86. package/dist/cjs/Callout-CS2U6pM7.js +67 -0
  87. package/dist/cjs/Callout-CS2U6pM7.js.map +1 -0
  88. package/dist/cjs/Checkbox-DOlS2oCD.js +26 -0
  89. package/dist/cjs/Checkbox-DOlS2oCD.js.map +1 -0
  90. package/dist/cjs/{ColorPicker-DEELmqH8.js → ColorPicker-Uxgn8U0h.js} +3 -2
  91. package/dist/cjs/ColorPicker-Uxgn8U0h.js.map +1 -0
  92. package/dist/cjs/DatePicker-DpijPndg.js +2962 -0
  93. package/dist/cjs/DatePicker-DpijPndg.js.map +1 -0
  94. package/dist/cjs/Dialog-CtI_yWsJ.js +63 -0
  95. package/dist/cjs/Dialog-CtI_yWsJ.js.map +1 -0
  96. package/dist/cjs/Empty-qzle6YvT.js +28 -0
  97. package/dist/cjs/Empty-qzle6YvT.js.map +1 -0
  98. package/dist/cjs/Input-pkugjUb0.js +149 -0
  99. package/dist/cjs/Input-pkugjUb0.js.map +1 -0
  100. package/dist/cjs/Kbd-DHirsI--.js +38 -0
  101. package/dist/cjs/Kbd-DHirsI--.js.map +1 -0
  102. package/dist/cjs/Label-DpyfZsiT.js +60 -0
  103. package/dist/cjs/Label-DpyfZsiT.js.map +1 -0
  104. package/dist/cjs/MultiEmailInput-l0_YVjbp.js +141 -0
  105. package/dist/cjs/MultiEmailInput-l0_YVjbp.js.map +1 -0
  106. package/dist/cjs/Pagination-Byzt9Kmj.js +63 -0
  107. package/dist/cjs/Pagination-Byzt9Kmj.js.map +1 -0
  108. package/dist/cjs/Popover-LIxANoTc.js +101 -0
  109. package/dist/cjs/Popover-LIxANoTc.js.map +1 -0
  110. package/dist/cjs/Progress-DoCxZ_ZH.js +15 -0
  111. package/dist/cjs/Progress-DoCxZ_ZH.js.map +1 -0
  112. package/dist/cjs/RadioGroup-1RAoe38m.js +36 -0
  113. package/dist/cjs/RadioGroup-1RAoe38m.js.map +1 -0
  114. package/dist/cjs/Select-Br1AT_wm.js +571 -0
  115. package/dist/cjs/Select-Br1AT_wm.js.map +1 -0
  116. package/dist/cjs/{components/SelectFieldWrapper.js → SelectFieldWrapper-DEA--2wj.js} +2 -10
  117. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js.map +1 -0
  118. package/dist/cjs/Sheet-CIhtNCBV.js +65 -0
  119. package/dist/cjs/Sheet-CIhtNCBV.js.map +1 -0
  120. package/dist/cjs/Slider-jNUS9vt8.js +27 -0
  121. package/dist/cjs/Slider-jNUS9vt8.js.map +1 -0
  122. package/dist/cjs/Spinner-DQutDMQq.js +19 -0
  123. package/dist/cjs/Spinner-DQutDMQq.js.map +1 -0
  124. package/dist/cjs/Stepper-DCoLl2ZS.js +35 -0
  125. package/dist/cjs/Stepper-DCoLl2ZS.js.map +1 -0
  126. package/dist/cjs/Switch-CFf8DtB_.js +22 -0
  127. package/dist/cjs/Switch-CFf8DtB_.js.map +1 -0
  128. package/dist/cjs/Tabs-D2247rd7.js +40 -0
  129. package/dist/cjs/Tabs-D2247rd7.js.map +1 -0
  130. package/dist/cjs/Textarea-BfdlAJ59.js +75 -0
  131. package/dist/cjs/Textarea-BfdlAJ59.js.map +1 -0
  132. package/dist/cjs/TimePicker-Ba2FdT1O.js +144 -0
  133. package/dist/cjs/TimePicker-Ba2FdT1O.js.map +1 -0
  134. package/dist/cjs/TimePickerPanel-DGNr97cj.js +132 -0
  135. package/dist/cjs/TimePickerPanel-DGNr97cj.js.map +1 -0
  136. package/dist/cjs/Toastr-BGp7-kmf.js +117 -0
  137. package/dist/cjs/Toastr-BGp7-kmf.js.map +1 -0
  138. package/dist/cjs/Tooltip-CtxI7QBY.js +86 -0
  139. package/dist/cjs/Tooltip-CtxI7QBY.js.map +1 -0
  140. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +1 -1
  141. package/dist/cjs/Tree-BPd0DuLh.js +7985 -0
  142. package/dist/cjs/Tree-BPd0DuLh.js.map +1 -0
  143. package/dist/cjs/TreeSelect-C9nQJKNo.js +170 -0
  144. package/dist/cjs/TreeSelect-C9nQJKNo.js.map +1 -0
  145. package/dist/cjs/Typography-PojQmdAY.js +79 -0
  146. package/dist/cjs/Typography-PojQmdAY.js.map +1 -0
  147. package/dist/cjs/components/Accordion.js +6 -28
  148. package/dist/cjs/components/Accordion.js.map +1 -1
  149. package/dist/cjs/components/Alert.js +9 -70
  150. package/dist/cjs/components/Alert.js.map +1 -1
  151. package/dist/cjs/components/Avatar.js +8 -51
  152. package/dist/cjs/components/Avatar.js.map +1 -1
  153. package/dist/cjs/components/Badge.js +10 -64
  154. package/dist/cjs/components/Badge.js.map +1 -1
  155. package/dist/cjs/components/Button.js +10 -94
  156. package/dist/cjs/components/Button.js.map +1 -1
  157. package/dist/cjs/components/Callout.js +9 -66
  158. package/dist/cjs/components/Callout.js.map +1 -1
  159. package/dist/cjs/components/Checkbox.js +8 -24
  160. package/dist/cjs/components/Checkbox.js.map +1 -1
  161. package/dist/cjs/components/ColorPicker.js +1 -1
  162. package/dist/cjs/components/DataTable.js +1 -1
  163. package/dist/cjs/components/DatePicker.js +45 -0
  164. package/dist/cjs/components/DatePicker.js.map +1 -0
  165. package/dist/cjs/components/Dialog.js +7 -63
  166. package/dist/cjs/components/Dialog.js.map +1 -1
  167. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  168. package/dist/cjs/components/Empty.js +10 -29
  169. package/dist/cjs/components/Empty.js.map +1 -1
  170. package/dist/cjs/components/Input.js +8 -151
  171. package/dist/cjs/components/Input.js.map +1 -1
  172. package/dist/cjs/components/Kbd.js +8 -41
  173. package/dist/cjs/components/Kbd.js.map +1 -1
  174. package/dist/cjs/components/Label.js +11 -59
  175. package/dist/cjs/components/Label.js.map +1 -1
  176. package/dist/cjs/components/MultiEmailInput.js +20 -0
  177. package/dist/cjs/components/MultiEmailInput.js.map +1 -0
  178. package/dist/cjs/components/Pagination.js +21 -0
  179. package/dist/cjs/components/Pagination.js.map +1 -0
  180. package/dist/cjs/components/Popover.js +7 -103
  181. package/dist/cjs/components/Popover.js.map +1 -1
  182. package/dist/cjs/components/Progress.js +7 -13
  183. package/dist/cjs/components/Progress.js.map +1 -1
  184. package/dist/cjs/components/RadioGroup.js +9 -40
  185. package/dist/cjs/components/RadioGroup.js.map +1 -1
  186. package/dist/cjs/components/Select.js +33 -0
  187. package/dist/cjs/components/Select.js.map +1 -1
  188. package/dist/cjs/components/Sheet.js +7 -65
  189. package/dist/cjs/components/Sheet.js.map +1 -1
  190. package/dist/cjs/components/Slider.js +8 -25
  191. package/dist/cjs/components/Slider.js.map +1 -1
  192. package/dist/cjs/components/Spinner.js +7 -19
  193. package/dist/cjs/components/Spinner.js.map +1 -1
  194. package/dist/cjs/components/Stepper.js +6 -32
  195. package/dist/cjs/components/Stepper.js.map +1 -1
  196. package/dist/cjs/components/Switch.js +8 -20
  197. package/dist/cjs/components/Switch.js.map +1 -1
  198. package/dist/cjs/components/Tabs.js +8 -55
  199. package/dist/cjs/components/Tabs.js.map +1 -1
  200. package/dist/cjs/components/Textarea.js +8 -77
  201. package/dist/cjs/components/Textarea.js.map +1 -1
  202. package/dist/cjs/components/TimePicker.js +42 -0
  203. package/dist/cjs/components/TimePicker.js.map +1 -0
  204. package/dist/cjs/components/Toastr.js +4 -126
  205. package/dist/cjs/components/Toastr.js.map +1 -1
  206. package/dist/cjs/components/Tooltip.js +5 -85
  207. package/dist/cjs/components/Tooltip.js.map +1 -1
  208. package/dist/cjs/components/Tree.js +34 -0
  209. package/dist/cjs/components/Tree.js.map +1 -0
  210. package/dist/cjs/components/TreeSelect.js +45 -0
  211. package/dist/cjs/components/TreeSelect.js.map +1 -0
  212. package/dist/cjs/components/Typography.js +8 -98
  213. package/dist/cjs/components/Typography.js.map +1 -1
  214. package/dist/cjs/components/index.js +180 -0
  215. package/dist/cjs/components/index.js.map +1 -0
  216. package/dist/cjs/formik/ActionBlock.js +48 -0
  217. package/dist/cjs/formik/ActionBlock.js.map +1 -0
  218. package/dist/cjs/formik/BlockNavigation.js +111 -0
  219. package/dist/cjs/formik/BlockNavigation.js.map +1 -0
  220. package/dist/cjs/formik/Button.js +45 -0
  221. package/dist/cjs/formik/Button.js.map +1 -0
  222. package/dist/cjs/formik/Checkbox.js +38 -0
  223. package/dist/cjs/formik/Checkbox.js.map +1 -0
  224. package/dist/cjs/formik/Form.js +116 -0
  225. package/dist/cjs/formik/Form.js.map +1 -0
  226. package/dist/cjs/formik/Input.js +38 -0
  227. package/dist/cjs/formik/Input.js.map +1 -0
  228. package/dist/cjs/formik/MultiEmailInput.js +31 -0
  229. package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
  230. package/dist/cjs/formik/RadioGroup.js +44 -0
  231. package/dist/cjs/formik/RadioGroup.js.map +1 -0
  232. package/dist/cjs/formik/Select.js +61 -0
  233. package/dist/cjs/formik/Select.js.map +1 -0
  234. package/dist/cjs/formik/Slider.js +39 -0
  235. package/dist/cjs/formik/Slider.js.map +1 -0
  236. package/dist/cjs/formik/Switch.js +33 -0
  237. package/dist/cjs/formik/Switch.js.map +1 -0
  238. package/dist/cjs/formik/Textarea.js +34 -0
  239. package/dist/cjs/formik/Textarea.js.map +1 -0
  240. package/dist/cjs/formik/TreeSelect.js +56 -0
  241. package/dist/cjs/formik/TreeSelect.js.map +1 -0
  242. package/dist/cjs/formik/index.js +110 -0
  243. package/dist/cjs/formik/index.js.map +1 -0
  244. package/dist/cjs/index.js +319 -428
  245. package/dist/cjs/index.js.map +1 -1
  246. package/dist/cjs/primitives/Calendar.js +10 -8020
  247. package/dist/cjs/primitives/Calendar.js.map +1 -1
  248. package/dist/cjs/primitives/Chart.js +410 -207
  249. package/dist/cjs/primitives/Chart.js.map +1 -1
  250. package/dist/cjs/primitives/Combobox.js +783 -1096
  251. package/dist/cjs/primitives/Combobox.js.map +1 -1
  252. package/dist/cjs/primitives/Pagination.js +1 -1
  253. package/dist/cjs/primitives/Resizable.js +799 -778
  254. package/dist/cjs/primitives/Resizable.js.map +1 -1
  255. package/dist/cjs/primitives/ScrollArea.js +10 -10
  256. package/dist/cjs/primitives/Select.js +77 -77
  257. package/dist/cjs/primitives/index.js +3 -2
  258. package/dist/cjs/primitives/index.js.map +1 -1
  259. package/dist/cjs/redux-DEF7lAd1.js +240 -0
  260. package/dist/cjs/redux-DEF7lAd1.js.map +1 -0
  261. package/dist/cjs/search-CfYUGi4v.js +37 -0
  262. package/dist/cjs/search-CfYUGi4v.js.map +1 -0
  263. package/dist/cjs/with-selector-DeKHbQY7.js +121 -0
  264. package/dist/cjs/with-selector-DeKHbQY7.js.map +1 -0
  265. package/dist/components/{Accordion.d.ts → Accordion/Accordion.d.ts} +3 -1
  266. package/dist/components/Accordion/index.d.ts +2 -0
  267. package/dist/components/Accordion.js +5 -27
  268. package/dist/components/Accordion.js.map +1 -1
  269. package/dist/components/{Alert.d.ts → Alert/Alert.d.ts} +2 -2
  270. package/dist/components/Alert/constants.d.ts +3 -0
  271. package/dist/components/Alert/index.d.ts +2 -0
  272. package/dist/components/Alert.js +10 -75
  273. package/dist/components/Alert.js.map +1 -1
  274. package/dist/components/{Avatar.d.ts → Avatar/Avatar.d.ts} +2 -2
  275. package/dist/components/Avatar/constants.d.ts +3 -0
  276. package/dist/components/Avatar/index.d.ts +2 -0
  277. package/dist/components/Avatar/utils.d.ts +1 -0
  278. package/dist/components/Avatar.js +9 -56
  279. package/dist/components/Avatar.js.map +1 -1
  280. package/dist/components/{Badge.d.ts → Badge/Badge.d.ts} +1 -1
  281. package/dist/components/Badge/constants.d.ts +25 -0
  282. package/dist/components/Badge/index.d.ts +2 -0
  283. package/dist/components/Badge.js +8 -66
  284. package/dist/components/Badge.js.map +1 -1
  285. package/dist/components/Button/constants.d.ts +5 -0
  286. package/dist/components/Button/index.d.ts +2 -0
  287. package/dist/components/Button.js +11 -99
  288. package/dist/components/Button.js.map +1 -1
  289. package/dist/components/{Callout.d.ts → Callout/Callout.d.ts} +1 -1
  290. package/dist/components/Callout/constants.d.ts +8 -0
  291. package/dist/components/Callout/index.d.ts +2 -0
  292. package/dist/components/Callout.js +8 -69
  293. package/dist/components/Callout.js.map +1 -1
  294. package/dist/components/Checkbox/index.d.ts +2 -0
  295. package/dist/components/Checkbox.js +6 -26
  296. package/dist/components/Checkbox.js.map +1 -1
  297. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -2
  298. package/dist/components/ColorPicker/Palette.d.ts +1 -1
  299. package/dist/components/ColorPicker/types.d.ts +6 -1
  300. package/dist/components/ColorPicker.js +3 -3
  301. package/dist/components/DataTable.js +4 -4
  302. package/dist/components/DatePicker/DatePicker.d.ts +4 -0
  303. package/dist/components/DatePicker/DatePickerFooter.d.ts +12 -0
  304. package/dist/components/DatePicker/TimezoneSelect.d.ts +8 -0
  305. package/dist/components/DatePicker/constants.d.ts +17 -0
  306. package/dist/components/DatePicker/index.d.ts +2 -0
  307. package/dist/components/DatePicker/types.d.ts +56 -0
  308. package/dist/components/DatePicker/utils.d.ts +6 -0
  309. package/dist/components/DatePicker.js +39 -0
  310. package/dist/components/DatePicker.js.map +1 -0
  311. package/dist/components/{Dialog.d.ts → Dialog/Dialog.d.ts} +1 -1
  312. package/dist/components/Dialog/constants.d.ts +2 -0
  313. package/dist/components/Dialog/index.d.ts +2 -0
  314. package/dist/components/Dialog.js +5 -65
  315. package/dist/components/Dialog.js.map +1 -1
  316. package/dist/components/DropdownMenu/MenuItemButton.d.ts +1 -2
  317. package/dist/components/DropdownMenu/index.d.ts +1 -0
  318. package/dist/components/DropdownMenu.js +3 -3
  319. package/dist/components/DropdownMenu.js.map +1 -1
  320. package/dist/components/Empty/index.d.ts +2 -0
  321. package/dist/components/Empty.js +11 -34
  322. package/dist/components/Empty.js.map +1 -1
  323. package/dist/components/{Input.d.ts → Input/Input.d.ts} +3 -1
  324. package/dist/components/Input/constants.d.ts +17 -0
  325. package/dist/components/Input/index.d.ts +2 -0
  326. package/dist/components/Input/utils.d.ts +7 -0
  327. package/dist/components/Input.js +6 -153
  328. package/dist/components/Input.js.map +1 -1
  329. package/dist/components/{Kbd.d.ts → Kbd/Kbd.d.ts} +1 -1
  330. package/dist/components/Kbd/constants.d.ts +1 -0
  331. package/dist/components/Kbd/index.d.ts +2 -0
  332. package/dist/components/Kbd.js +9 -46
  333. package/dist/components/Kbd.js.map +1 -1
  334. package/dist/components/Label/constants.d.ts +1 -0
  335. package/dist/components/Label/index.d.ts +2 -0
  336. package/dist/components/Label.js +13 -65
  337. package/dist/components/Label.js.map +1 -1
  338. package/dist/components/MultiEmailInput/MultiEmailInput.d.ts +2 -0
  339. package/dist/components/MultiEmailInput/constants.d.ts +3 -0
  340. package/dist/components/MultiEmailInput/index.d.ts +2 -0
  341. package/dist/components/MultiEmailInput/types.d.ts +53 -0
  342. package/dist/components/MultiEmailInput/useMultiEmailState.d.ts +18 -0
  343. package/dist/components/MultiEmailInput/utils.d.ts +9 -0
  344. package/dist/components/MultiEmailInput.js +14 -0
  345. package/dist/components/MultiEmailInput.js.map +1 -0
  346. package/dist/components/Pagination/Pagination.d.ts +18 -0
  347. package/dist/components/Pagination/constants.d.ts +1 -0
  348. package/dist/components/Pagination/hooks/usePaginationRange.d.ts +7 -0
  349. package/dist/components/Pagination/index.d.ts +2 -0
  350. package/dist/components/Pagination/utils.d.ts +1 -0
  351. package/dist/components/Pagination.js +15 -0
  352. package/dist/components/Pagination.js.map +1 -0
  353. package/dist/components/Popover/constants.d.ts +2 -0
  354. package/dist/components/Popover/index.d.ts +2 -0
  355. package/dist/components/Popover.js +8 -104
  356. package/dist/components/Popover.js.map +1 -1
  357. package/dist/components/Progress/index.d.ts +2 -0
  358. package/dist/components/Progress.js +5 -15
  359. package/dist/components/Progress.js.map +1 -1
  360. package/dist/components/{RadioGroup.d.ts → RadioGroup/RadioGroup.d.ts} +1 -1
  361. package/dist/components/RadioGroup/index.d.ts +2 -0
  362. package/dist/components/RadioGroup.js +7 -42
  363. package/dist/components/RadioGroup.js.map +1 -1
  364. package/dist/components/Select/MultiSelectCombobox.d.ts +2 -0
  365. package/dist/components/{MultiSelectCombobox.types.d.ts → Select/MultiSelectCombobox.types.d.ts} +3 -13
  366. package/dist/components/{OptionItem.d.ts → Select/OptionItem.d.ts} +1 -1
  367. package/dist/components/Select/Select.d.ts +4 -0
  368. package/dist/components/Select/SelectCombobox.d.ts +2 -0
  369. package/dist/components/Select/SelectCombobox.types.d.ts +73 -0
  370. package/dist/components/Select/dropdown.types.d.ts +12 -0
  371. package/dist/components/Select/index.d.ts +2 -0
  372. package/dist/components/Select/types.d.ts +148 -0
  373. package/dist/components/{MultiSelect.utils.d.ts → Select/utils.d.ts} +1 -1
  374. package/dist/components/Select.js +29 -1
  375. package/dist/components/Select.js.map +1 -1
  376. package/dist/components/Sheet/constants.d.ts +3 -0
  377. package/dist/components/Sheet/index.d.ts +2 -0
  378. package/dist/components/Sheet.js +5 -67
  379. package/dist/components/Sheet.js.map +1 -1
  380. package/dist/components/Slider/index.d.ts +2 -0
  381. package/dist/components/Slider.js +6 -27
  382. package/dist/components/Slider.js.map +1 -1
  383. package/dist/components/Spinner/constants.d.ts +1 -0
  384. package/dist/components/Spinner/index.d.ts +2 -0
  385. package/dist/components/Spinner.js +5 -21
  386. package/dist/components/Spinner.js.map +1 -1
  387. package/dist/components/Stepper/index.d.ts +2 -0
  388. package/dist/components/Stepper.js +5 -31
  389. package/dist/components/Stepper.js.map +1 -1
  390. package/dist/components/Switch/index.d.ts +2 -0
  391. package/dist/components/Switch.js +6 -22
  392. package/dist/components/Switch.js.map +1 -1
  393. package/dist/components/Tabs/constants.d.ts +5 -0
  394. package/dist/components/Tabs/index.d.ts +2 -0
  395. package/dist/components/Tabs.js +6 -57
  396. package/dist/components/Tabs.js.map +1 -1
  397. package/dist/components/{Textarea.d.ts → Textarea/Textarea.d.ts} +4 -2
  398. package/dist/components/Textarea/constants.d.ts +5 -0
  399. package/dist/components/Textarea/index.d.ts +2 -0
  400. package/dist/components/Textarea/utils.d.ts +2 -0
  401. package/dist/components/Textarea.js +6 -79
  402. package/dist/components/Textarea.js.map +1 -1
  403. package/dist/components/TimePicker/TimeColumn.d.ts +11 -0
  404. package/dist/components/TimePicker/TimePicker.d.ts +4 -0
  405. package/dist/components/TimePicker/TimePickerPanel.d.ts +3 -0
  406. package/dist/components/TimePicker/constants.d.ts +3 -0
  407. package/dist/components/TimePicker/index.d.ts +3 -0
  408. package/dist/components/TimePicker/types.d.ts +61 -0
  409. package/dist/components/TimePicker/utils.d.ts +11 -0
  410. package/dist/components/TimePicker.js +35 -0
  411. package/dist/components/TimePicker.js.map +1 -0
  412. package/dist/components/{Toastr.d.ts → Toastr/Toastr.d.ts} +2 -2
  413. package/dist/components/Toastr/index.d.ts +2 -0
  414. package/dist/components/Toastr/utils.d.ts +10 -0
  415. package/dist/components/Toastr.js +2 -128
  416. package/dist/components/Toastr.js.map +1 -1
  417. package/dist/components/Tooltip/constants.d.ts +2 -0
  418. package/dist/components/Tooltip/index.d.ts +2 -0
  419. package/dist/components/Tooltip.js +7 -87
  420. package/dist/components/Tooltip.js.map +1 -1
  421. package/dist/components/Tree/Tree.d.ts +2 -0
  422. package/dist/components/Tree/TreeContext.d.ts +26 -0
  423. package/dist/components/Tree/components/SwitcherIcon.d.ts +6 -0
  424. package/dist/components/Tree/components/TreeCheckbox.d.ts +8 -0
  425. package/dist/components/Tree/components/TreeNode.d.ts +3 -0
  426. package/dist/components/Tree/constants.d.ts +3 -0
  427. package/dist/components/Tree/hooks/useTreeCheck.d.ts +18 -0
  428. package/dist/components/Tree/hooks/useTreeExpansion.d.ts +18 -0
  429. package/dist/components/Tree/hooks/useTreeSelection.d.ts +16 -0
  430. package/dist/components/Tree/index.d.ts +3 -0
  431. package/dist/components/Tree/types.d.ts +110 -0
  432. package/dist/components/Tree/utils/adapter.d.ts +10 -0
  433. package/dist/components/Tree/utils/checkCascade.d.ts +5 -0
  434. package/dist/components/Tree/utils/search.d.ts +10 -0
  435. package/dist/components/Tree.js +25 -0
  436. package/dist/components/Tree.js.map +1 -0
  437. package/dist/components/TreeSelect/TreeSelect.d.ts +3 -0
  438. package/dist/components/TreeSelect/TreeSelectTrigger.d.ts +14 -0
  439. package/dist/components/{Select.constants.d.ts → TreeSelect/constants.d.ts} +2 -2
  440. package/dist/components/TreeSelect/hooks/useTreeSelectState.d.ts +30 -0
  441. package/dist/components/TreeSelect/hooks/useTreeSelectValue.d.ts +19 -0
  442. package/dist/components/TreeSelect/index.d.ts +2 -0
  443. package/dist/components/TreeSelect/types.d.ts +49 -0
  444. package/dist/components/TreeSelect/utils/pruneTree.d.ts +2 -0
  445. package/dist/components/TreeSelect/utils/resolveFieldNames.d.ts +5 -0
  446. package/dist/components/TreeSelect.js +39 -0
  447. package/dist/components/TreeSelect.js.map +1 -0
  448. package/dist/{shadcn/components/typography.d.ts → components/Typography/Typography.d.ts} +3 -3
  449. package/dist/components/Typography/index.d.ts +1 -0
  450. package/dist/components/Typography.js +6 -81
  451. package/dist/components/Typography.js.map +1 -1
  452. package/dist/components/index.d.ts +36 -0
  453. package/dist/components/index.js +128 -0
  454. package/dist/components/index.js.map +1 -0
  455. package/dist/{floating-ui.react-dom-CcGbtPEK.js → floating-ui.react-dom-D8_f_WWh.js} +2 -2
  456. package/dist/{floating-ui.react-dom-CcGbtPEK.js.map → floating-ui.react-dom-D8_f_WWh.js.map} +1 -1
  457. package/dist/formik/ActionBlock.d.ts +18 -0
  458. package/dist/formik/ActionBlock.js +46 -0
  459. package/dist/formik/ActionBlock.js.map +1 -0
  460. package/dist/formik/BlockNavigation/BlockNavigationAlert.d.ts +23 -0
  461. package/dist/formik/BlockNavigation/index.d.ts +11 -0
  462. package/dist/formik/BlockNavigation.js +109 -0
  463. package/dist/formik/BlockNavigation.js.map +1 -0
  464. package/dist/formik/Button.d.ts +7 -0
  465. package/dist/formik/Button.js +43 -0
  466. package/dist/formik/Button.js.map +1 -0
  467. package/dist/formik/Checkbox.d.ts +8 -0
  468. package/dist/formik/Checkbox.js +36 -0
  469. package/dist/formik/Checkbox.js.map +1 -0
  470. package/dist/formik/Form/FormWrapper.d.ts +9 -0
  471. package/dist/formik/Form/ScrollToErrorField/index.d.ts +5 -0
  472. package/dist/formik/Form/ScrollToErrorField/utils.d.ts +2 -0
  473. package/dist/formik/Form/index.d.ts +16 -0
  474. package/dist/formik/Form.js +114 -0
  475. package/dist/formik/Form.js.map +1 -0
  476. package/dist/formik/Input.d.ts +8 -0
  477. package/dist/formik/Input.js +36 -0
  478. package/dist/formik/Input.js.map +1 -0
  479. package/dist/formik/MultiEmailInput.d.ts +7 -0
  480. package/dist/formik/MultiEmailInput.js +29 -0
  481. package/dist/formik/MultiEmailInput.js.map +1 -0
  482. package/dist/formik/RadioGroup.d.ts +11 -0
  483. package/dist/formik/RadioGroup.js +42 -0
  484. package/dist/formik/RadioGroup.js.map +1 -0
  485. package/dist/formik/Select.d.ts +7 -0
  486. package/dist/formik/Select.js +59 -0
  487. package/dist/formik/Select.js.map +1 -0
  488. package/dist/formik/Slider.d.ts +8 -0
  489. package/dist/formik/Slider.js +37 -0
  490. package/dist/formik/Slider.js.map +1 -0
  491. package/dist/formik/Switch.d.ts +10 -0
  492. package/dist/formik/Switch.js +31 -0
  493. package/dist/formik/Switch.js.map +1 -0
  494. package/dist/formik/Textarea.d.ts +8 -0
  495. package/dist/formik/Textarea.js +32 -0
  496. package/dist/formik/Textarea.js.map +1 -0
  497. package/dist/formik/TreeSelect.d.ts +7 -0
  498. package/dist/formik/TreeSelect.js +54 -0
  499. package/dist/formik/TreeSelect.js.map +1 -0
  500. package/dist/formik/index.d.ts +26 -0
  501. package/dist/formik/index.js +92 -0
  502. package/dist/formik/index.js.map +1 -0
  503. package/dist/hooks/useAsyncOptions.d.ts +4 -4
  504. package/dist/hooks/useComboboxAnchor.d.ts +6 -0
  505. package/dist/hooks/useCreatableItems.d.ts +1 -1
  506. package/dist/hooks/useMultiSelectOptions.d.ts +22 -4
  507. package/dist/hooks/useMultiSelectState.d.ts +7 -4
  508. package/dist/hooks/useNavPrompt.d.ts +15 -0
  509. package/dist/hooks/useSelectState.d.ts +39 -14
  510. package/dist/{index-ByEpUy7w.js → index-C3hByjk3.js} +2 -2
  511. package/dist/{index-ByEpUy7w.js.map → index-C3hByjk3.js.map} +1 -1
  512. package/dist/{index-KzJfsx-e.js → index-DLPtgEJ_.js} +2 -2
  513. package/dist/{index-KzJfsx-e.js.map → index-DLPtgEJ_.js.map} +1 -1
  514. package/dist/index.css +2 -1
  515. package/dist/index.d.ts +13 -2
  516. package/dist/index.js +283 -403
  517. package/dist/index.js.map +1 -1
  518. package/dist/primitives/Calendar.js +8 -8003
  519. package/dist/primitives/Calendar.js.map +1 -1
  520. package/dist/primitives/Chart.js +253 -50
  521. package/dist/primitives/Chart.js.map +1 -1
  522. package/dist/primitives/Combobox.d.ts +3 -3
  523. package/dist/primitives/Combobox.js +787 -1100
  524. package/dist/primitives/Combobox.js.map +1 -1
  525. package/dist/primitives/ContextMenu.js +3 -3
  526. package/dist/primitives/DropdownMenu.js +3 -3
  527. package/dist/primitives/HoverCard.js +2 -2
  528. package/dist/primitives/Menubar.js +3 -3
  529. package/dist/primitives/Pagination.js +1 -1
  530. package/dist/primitives/Popover.js +2 -2
  531. package/dist/primitives/Resizable.js +799 -778
  532. package/dist/primitives/Resizable.js.map +1 -1
  533. package/dist/primitives/Select.js +4 -4
  534. package/dist/primitives/Sidebar.js +3 -3
  535. package/dist/primitives/Tooltip.js +3 -3
  536. package/dist/primitives/index.js +7 -6
  537. package/dist/primitives/index.js.map +1 -1
  538. package/dist/redux-BKH6DnBB.js +235 -0
  539. package/dist/redux-BKH6DnBB.js.map +1 -0
  540. package/dist/search-BK7Ozh5_.js +33 -0
  541. package/dist/search-BK7Ozh5_.js.map +1 -0
  542. package/dist/shadcn/components/combobox.d.ts +1 -1
  543. package/dist/{tooltip-DzjIJacP.js → tooltip-XkHLgxlU.js} +2 -2
  544. package/dist/{tooltip-DzjIJacP.js.map → tooltip-XkHLgxlU.js.map} +1 -1
  545. package/dist/utils/dayjs/index.d.ts +4 -0
  546. package/dist/utils/dayjs/timezonePlugin.d.ts +3 -0
  547. package/dist/with-selector-Dv0G_V_o.js +115 -0
  548. package/dist/with-selector-Dv0G_V_o.js.map +1 -0
  549. package/package.json +31 -4
  550. package/dist/ColorPicker-D-7QGnf9.js.map +0 -1
  551. package/dist/cjs/ColorPicker-DEELmqH8.js.map +0 -1
  552. package/dist/cjs/components/MultiSelect.js +0 -13
  553. package/dist/cjs/components/MultiSelect.js.map +0 -1
  554. package/dist/cjs/components/MultiSelectCombobox.js +0 -3
  555. package/dist/cjs/components/MultiSelectCombobox.js.map +0 -1
  556. package/dist/cjs/components/MultiSelectDropdown.js +0 -38
  557. package/dist/cjs/components/MultiSelectDropdown.js.map +0 -1
  558. package/dist/cjs/components/OptionItem.js +0 -34
  559. package/dist/cjs/components/OptionItem.js.map +0 -1
  560. package/dist/cjs/components/SelectFieldWrapper.js.map +0 -1
  561. package/dist/cjs/components/SelectOptions.js +0 -43
  562. package/dist/cjs/components/SelectOptions.js.map +0 -1
  563. package/dist/cjs/components/SelectTriggerContent.js +0 -47
  564. package/dist/cjs/components/SelectTriggerContent.js.map +0 -1
  565. package/dist/cjs/components/shared.js +0 -8
  566. package/dist/cjs/components/shared.js.map +0 -1
  567. package/dist/cjs/useCreatableItems-BTHtd7uo.js +0 -100
  568. package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +0 -1
  569. package/dist/cjs/with-selector-u4xTSzCv.js +0 -457
  570. package/dist/cjs/with-selector-u4xTSzCv.js.map +0 -1
  571. package/dist/components/MultiSelect.d.ts +0 -4
  572. package/dist/components/MultiSelect.js +0 -4
  573. package/dist/components/MultiSelect.js.map +0 -1
  574. package/dist/components/MultiSelect.types.d.ts +0 -121
  575. package/dist/components/MultiSelectCombobox.d.ts +0 -3
  576. package/dist/components/MultiSelectCombobox.js +0 -2
  577. package/dist/components/MultiSelectCombobox.js.map +0 -1
  578. package/dist/components/MultiSelectDropdown.js +0 -36
  579. package/dist/components/MultiSelectDropdown.js.map +0 -1
  580. package/dist/components/OptionItem.js +0 -32
  581. package/dist/components/OptionItem.js.map +0 -1
  582. package/dist/components/Select.d.ts +0 -4
  583. package/dist/components/Select.types.d.ts +0 -58
  584. package/dist/components/SelectFieldWrapper.js.map +0 -1
  585. package/dist/components/SelectOptions.d.ts +0 -2
  586. package/dist/components/SelectOptions.js +0 -41
  587. package/dist/components/SelectOptions.js.map +0 -1
  588. package/dist/components/SelectTriggerContent.d.ts +0 -18
  589. package/dist/components/SelectTriggerContent.js +0 -45
  590. package/dist/components/SelectTriggerContent.js.map +0 -1
  591. package/dist/components/Typography.d.ts +0 -10
  592. package/dist/components/shared.js +0 -6
  593. package/dist/components/shared.js.map +0 -1
  594. package/dist/components/shared.types.d.ts +0 -16
  595. package/dist/useCreatableItems-B0seQA1_.js +0 -89
  596. package/dist/useCreatableItems-B0seQA1_.js.map +0 -1
  597. package/dist/with-selector--fY1NrB9.js +0 -448
  598. package/dist/with-selector--fY1NrB9.js.map +0 -1
  599. /package/dist/components/{Button.d.ts → Button/Button.d.ts} +0 -0
  600. /package/dist/components/{Checkbox.d.ts → Checkbox/Checkbox.d.ts} +0 -0
  601. /package/dist/components/{Empty.d.ts → Empty/Empty.d.ts} +0 -0
  602. /package/dist/components/{Label.d.ts → Label/Label.d.ts} +0 -0
  603. /package/dist/components/{Popover.d.ts → Popover/Popover.d.ts} +0 -0
  604. /package/dist/components/{Progress.d.ts → Progress/Progress.d.ts} +0 -0
  605. /package/dist/components/{MultiSelectDropdown.d.ts → Select/MultiSelectDropdown.d.ts} +0 -0
  606. /package/dist/components/{SelectFieldWrapper.d.ts → Select/SelectFieldWrapper.d.ts} +0 -0
  607. /package/dist/components/{MultiSelect.constants.d.ts → Select/constants.d.ts} +0 -0
  608. /package/dist/components/{Sheet.d.ts → Sheet/Sheet.d.ts} +0 -0
  609. /package/dist/components/{Slider.d.ts → Slider/Slider.d.ts} +0 -0
  610. /package/dist/components/{Spinner.d.ts → Spinner/Spinner.d.ts} +0 -0
  611. /package/dist/components/{Stepper.d.ts → Stepper/Stepper.d.ts} +0 -0
  612. /package/dist/components/{Switch.d.ts → Switch/Switch.d.ts} +0 -0
  613. /package/dist/components/{Tabs.d.ts → Tabs/Tabs.d.ts} +0 -0
  614. /package/dist/components/{Tooltip.d.ts → Tooltip/Tooltip.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import { type ButtonProps } from "src/components/Button";
2
+ export interface FormikActionBlockProps {
3
+ /** Additional CSS class names for the wrapper. */
4
+ className?: string;
5
+ /** Props forwarded to the submit button. */
6
+ submitButtonProps?: ButtonProps;
7
+ /** Props forwarded to the cancel button. */
8
+ cancelButtonProps?: ButtonProps;
9
+ /**
10
+ * Override the auto-computed submitting state (e.g. from React Query mutation).
11
+ * Falls back to Formik's `isSubmitting` when not provided.
12
+ */
13
+ isSubmitting?: boolean;
14
+ /** Alignment of the buttons. */
15
+ position?: "left" | "right";
16
+ }
17
+ declare const FormikActionBlock: import("react").ForwardRefExoticComponent<FormikActionBlockProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ export { FormikActionBlock };
@@ -0,0 +1,46 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useFormikContext } from 'formik';
4
+ import { B as Button } from '../Button-Q7MPG6ph.js';
5
+ import { c as cn } from '../utils-DdHUxIdC.js';
6
+ import { FormikButton } from './Button.js';
7
+ import '../renderIcon-tlvMyboj.js';
8
+ import '../primitives/Button.js';
9
+ import '../button-COIbN8dg.js';
10
+ import '../index-D7Zy7P05.js';
11
+ import '../index-CfriMyrd.js';
12
+ import '../index-BtkPdosV.js';
13
+ import '../primitives/Spinner.js';
14
+ import 'react-i18next';
15
+ import '../loader-circle-DycHUAWN.js';
16
+ import '../createLucideIcon-C8ycilSN.js';
17
+ import '../primitives/Tooltip.js';
18
+ import '../tooltip-XkHLgxlU.js';
19
+ import '../index-DNzunGHb.js';
20
+ import '../index-CiyxEyB0.js';
21
+ import '../index-BNPynZWM.js';
22
+ import '../index-DhnfW8wQ.js';
23
+ import 'react-dom';
24
+ import '../index-CSUSJzOJ.js';
25
+ import '../index-zW4GjM5L.js';
26
+ import '../index-DOzu5J1s.js';
27
+ import '../index-C3hByjk3.js';
28
+ import '../floating-ui.react-dom-D8_f_WWh.js';
29
+ import '../index-BYZaLNq1.js';
30
+ import '../index-fV_U4ZJM.js';
31
+ import '../index-yFgkK_AM.js';
32
+ import '../index-Cor698lu.js';
33
+ import '../index-CSggBaQF.js';
34
+ import 'ramda';
35
+
36
+ const FormikActionBlock = forwardRef(({ className, submitButtonProps, cancelButtonProps, isSubmitting: isSubmittingProp, position = "left", }, ref) => {
37
+ const { handleReset, isSubmitting: isFormikSubmitting } = useFormikContext();
38
+ const isSubmitting = isSubmittingProp ?? isFormikSubmitting;
39
+ const cancelButton = (jsx(Button, { "data-testid": "cancel-button", disabled: isSubmitting, label: "Cancel", variant: "ghost", onClick: handleReset, onMouseDown: (e) => e.preventDefault(), ...cancelButtonProps }));
40
+ const submitButton = (jsx(FormikButton, { "data-testid": "save-changes-button", label: "Save changes", type: "submit", ...submitButtonProps }));
41
+ return (jsx("div", { ref: ref, className: cn("flex items-center gap-2", position === "right" && "justify-end", className), children: position === "right" ? (jsxs(Fragment, { children: [cancelButton, submitButton] })) : (jsxs(Fragment, { children: [submitButton, cancelButton] })) }));
42
+ });
43
+ FormikActionBlock.displayName = "FormikActionBlock";
44
+
45
+ export { FormikActionBlock };
46
+ //# sourceMappingURL=ActionBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBlock.js","sources":["../../src/formik/ActionBlock.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { Button, type ButtonProps } from \"src/components/Button\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { FormikButton } from \"./Button\";\n\nexport interface FormikActionBlockProps {\n /** Additional CSS class names for the wrapper. */\n className?: string;\n /** Props forwarded to the submit button. */\n submitButtonProps?: ButtonProps;\n /** Props forwarded to the cancel button. */\n cancelButtonProps?: ButtonProps;\n /**\n * Override the auto-computed submitting state (e.g. from React Query mutation).\n * Falls back to Formik's `isSubmitting` when not provided.\n */\n isSubmitting?: boolean;\n /** Alignment of the buttons. */\n position?: \"left\" | \"right\";\n}\n\nconst FormikActionBlock = forwardRef<HTMLDivElement, FormikActionBlockProps>(\n (\n {\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isSubmittingProp,\n position = \"left\",\n },\n ref\n ) => {\n const { handleReset, isSubmitting: isFormikSubmitting } =\n useFormikContext();\n\n const isSubmitting = isSubmittingProp ?? isFormikSubmitting;\n\n const cancelButton = (\n <Button\n data-testid=\"cancel-button\"\n disabled={isSubmitting}\n label=\"Cancel\"\n variant=\"ghost\"\n onClick={handleReset}\n onMouseDown={(e: React.MouseEvent) => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <FormikButton\n data-testid=\"save-changes-button\"\n label=\"Save changes\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center gap-2\",\n position === \"right\" && \"justify-end\",\n className\n )}\n >\n {position === \"right\" ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n }\n);\n\nFormikActionBlock.displayName = \"FormikActionBlock\";\n\nexport { FormikActionBlock };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,iBAAiB,GAAG,UAAU,CAClC,CACE,EACE,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,GAAG,MAAM,GAClB,EACD,GAAG,KACD;IACF,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,GACrD,gBAAgB,EAAE;AAEpB,IAAA,MAAM,YAAY,GAAG,gBAAgB,IAAI,kBAAkB;AAE3D,IAAA,MAAM,YAAY,IAChBA,GAAA,CAAC,MAAM,mBACO,eAAe,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,CAAmB,KAAK,CAAC,CAAC,cAAc,EAAE,KACpD,iBAAiB,EAAA,CACrB,CACH;AAED,IAAA,MAAM,YAAY,IAChBA,IAAC,YAAY,EAAA,EAAA,aAAA,EACC,qBAAqB,EACjC,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,QAAQ,KACT,iBAAiB,EAAA,CACrB,CACH;IAED,QACEA,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,QAAQ,KAAK,OAAO,IAAI,aAAa,EACrC,SAAS,CACV,EAAA,QAAA,EAEA,QAAQ,KAAK,OAAO,IACnBC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,YAAY,EACZ,YAAY,IACZ,KAEHD,4BACG,YAAY,EACZ,YAAY,CAAA,EAAA,CACZ,CACJ,EAAA,CACG;AAEV,CAAC;AAGH,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
@@ -0,0 +1,23 @@
1
+ export interface BlockNavigationAlertProps {
2
+ /** Whether the alert dialog is open. */
3
+ isOpen?: boolean;
4
+ /** Called when the dialog should close. */
5
+ onClose?: () => void;
6
+ /** Called when the user chooses to stay. */
7
+ onSubmit?: () => void;
8
+ /** Called when the user chooses to discard and leave. */
9
+ onDiscardChanges?: () => void;
10
+ /** Custom title for the alert. */
11
+ title?: string;
12
+ /** Custom message for the alert body. */
13
+ message?: string;
14
+ /** Custom label for the discard/cancel button. */
15
+ cancelButtonLabel?: string;
16
+ /** Custom label for the stay/submit button. */
17
+ submitButtonLabel?: string;
18
+ }
19
+ declare const BlockNavigationAlert: {
20
+ ({ isOpen, onClose, onSubmit, onDiscardChanges, title, message, cancelButtonLabel, submitButtonLabel, }: BlockNavigationAlertProps): import("react/jsx-runtime").JSX.Element;
21
+ displayName: string;
22
+ };
23
+ export { BlockNavigationAlert };
@@ -0,0 +1,11 @@
1
+ import { type BlockNavigationAlertProps } from "./BlockNavigationAlert";
2
+ export interface FormikBlockNavigationProps extends Omit<BlockNavigationAlertProps, "isOpen" | "onClose" | "onSubmit" | "onDiscardChanges"> {
3
+ /** Force the navigation block regardless of Formik dirty state. */
4
+ isDirty?: boolean;
5
+ }
6
+ declare const FormikBlockNavigation: {
7
+ ({ isDirty, ...otherProps }: FormikBlockNavigationProps): import("react/jsx-runtime").JSX.Element;
8
+ displayName: string;
9
+ };
10
+ export { FormikBlockNavigation };
11
+ export type { BlockNavigationAlertProps };
@@ -0,0 +1,109 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useFormikContext } from 'formik';
3
+ import { useState, useRef, useCallback, useEffect } from 'react';
4
+ import { useHistory } from 'react-router-dom';
5
+ import { B as Button } from '../Button-Q7MPG6ph.js';
6
+ import { D as Dialog } from '../Dialog-BURSzxaP.js';
7
+ import '../utils-DdHUxIdC.js';
8
+ import '../renderIcon-tlvMyboj.js';
9
+ import '../primitives/Button.js';
10
+ import '../button-COIbN8dg.js';
11
+ import '../index-D7Zy7P05.js';
12
+ import '../index-CfriMyrd.js';
13
+ import '../index-BtkPdosV.js';
14
+ import '../primitives/Spinner.js';
15
+ import 'react-i18next';
16
+ import '../loader-circle-DycHUAWN.js';
17
+ import '../createLucideIcon-C8ycilSN.js';
18
+ import '../primitives/Tooltip.js';
19
+ import '../tooltip-XkHLgxlU.js';
20
+ import '../index-DNzunGHb.js';
21
+ import '../index-CiyxEyB0.js';
22
+ import '../index-BNPynZWM.js';
23
+ import '../index-DhnfW8wQ.js';
24
+ import 'react-dom';
25
+ import '../index-CSUSJzOJ.js';
26
+ import '../index-zW4GjM5L.js';
27
+ import '../index-DOzu5J1s.js';
28
+ import '../index-C3hByjk3.js';
29
+ import '../floating-ui.react-dom-D8_f_WWh.js';
30
+ import '../index-BYZaLNq1.js';
31
+ import '../index-fV_U4ZJM.js';
32
+ import '../index-yFgkK_AM.js';
33
+ import '../index-Cor698lu.js';
34
+ import '../index-CSggBaQF.js';
35
+ import '../primitives/Dialog.js';
36
+ import '../dialog-CrB6N_2a.js';
37
+ import '../x-_o2T3n6D.js';
38
+ import '../index-9HvIbmnI.js';
39
+ import '../index-B4_fVWDx.js';
40
+
41
+ const useNavPrompt = ({ shouldBlock = true, }) => {
42
+ const [isBlocked, setIsBlocked] = useState(false);
43
+ const history = useHistory();
44
+ const unblockRef = useRef();
45
+ const navRef = useRef(null);
46
+ const handleNavigation = useCallback((action, transition) => {
47
+ switch (action) {
48
+ case "PUSH":
49
+ history.push(transition);
50
+ break;
51
+ case "REPLACE":
52
+ history.replace(transition);
53
+ break;
54
+ case "POP":
55
+ history.goBack();
56
+ break;
57
+ }
58
+ }, [history]);
59
+ const continueNavigation = useCallback(() => {
60
+ if (isBlocked && unblockRef.current) {
61
+ unblockRef.current();
62
+ setIsBlocked(false);
63
+ if (navRef.current) {
64
+ const { action, transition } = navRef.current;
65
+ handleNavigation(action, transition);
66
+ }
67
+ }
68
+ }, [isBlocked, handleNavigation]);
69
+ const hidePrompt = useCallback(() => setIsBlocked(false), []);
70
+ useEffect(() => {
71
+ if (shouldBlock) {
72
+ unblockRef.current = history.block((transition, action) => {
73
+ setIsBlocked(true);
74
+ navRef.current = { transition: transition.pathname, action };
75
+ return false;
76
+ });
77
+ return () => {
78
+ unblockRef.current?.();
79
+ };
80
+ }
81
+ return undefined;
82
+ }, [shouldBlock, history]);
83
+ return { isBlocked, continueNavigation, hidePrompt };
84
+ };
85
+
86
+ const BlockNavigationAlert = ({ isOpen = false, onClose, onSubmit, onDiscardChanges, title = "You have unsaved changes", message = "Are you sure you want to leave? All unsaved changes will be lost.", cancelButtonLabel = "Discard and leave", submitButtonLabel = "Stay on this page", }) => {
87
+ const submitButtonRef = useRef(null);
88
+ return (jsxs(Dialog, { isOpen: isOpen, onClose: onClose ?? (() => { }), closeButton: true, closeOnEsc: true, closeOnOutsideClick: true, initialFocusRef: submitButtonRef, size: "medium", "data-testid": "alert-box", children: [jsx(Dialog.Header, { children: jsx(Dialog.Title, { "data-testid": "alert-title", children: title }) }), jsx(Dialog.Body, { children: jsx("p", { "data-testid": "alert-message", className: "text-sm text-muted-foreground", children: message }) }), jsxs(Dialog.Footer, { className: "flex items-center justify-end gap-2", children: [jsx(Button, { "data-testid": "alert-cancel-button", label: cancelButtonLabel, variant: "destructive", onClick: onDiscardChanges }), jsx(Button, { "data-testid": "alert-submit-button", label: submitButtonLabel, ref: submitButtonRef, onClick: onSubmit })] })] }));
89
+ };
90
+ BlockNavigationAlert.displayName = "BlockNavigationAlert";
91
+
92
+ const FormikBlockNavigation = ({ isDirty = false, ...otherProps }) => {
93
+ const formikContext = useFormikContext();
94
+ const shouldBlock = isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));
95
+ const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({
96
+ shouldBlock,
97
+ });
98
+ const handleDiscardChanges = () => {
99
+ if (formikContext)
100
+ formikContext.resetForm();
101
+ hidePrompt();
102
+ continueNavigation();
103
+ };
104
+ return (jsx(BlockNavigationAlert, { isOpen: isBlocked, onClose: hidePrompt, onDiscardChanges: handleDiscardChanges, onSubmit: hidePrompt, ...otherProps }));
105
+ };
106
+ FormikBlockNavigation.displayName = "FormikBlockNavigation";
107
+
108
+ export { FormikBlockNavigation };
109
+ //# sourceMappingURL=BlockNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockNavigation.js","sources":["../../src/hooks/useNavPrompt.ts","../../src/formik/BlockNavigation/BlockNavigationAlert.tsx","../../src/formik/BlockNavigation/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\ninterface UseNavPromptOptions {\n /** Whether navigation should be blocked. */\n shouldBlock?: boolean;\n}\n\ninterface UseNavPromptReturn {\n /** Whether a navigation attempt is currently blocked. */\n isBlocked: boolean;\n /** Unblock and continue the pending navigation. */\n continueNavigation: () => void;\n /** Dismiss the prompt without navigating. */\n hidePrompt: () => void;\n}\n\nconst useNavPrompt = ({\n shouldBlock = true,\n}: UseNavPromptOptions): UseNavPromptReturn => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n\n const unblockRef = useRef<(() => void) | undefined>();\n const navRef = useRef<{ transition: string; action: string } | null>(null);\n\n const handleNavigation = useCallback(\n (action: string, transition: string) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n },\n [history]\n );\n\n const continueNavigation = useCallback(() => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n }, [isBlocked, handleNavigation]);\n\n const hidePrompt = useCallback(() => setIsBlocked(false), []);\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block(\n (transition: { pathname: string }, action: string) => {\n setIsBlocked(true);\n navRef.current = { transition: transition.pathname, action };\n\n return false;\n }\n ) as unknown as () => void;\n\n return () => {\n unblockRef.current?.();\n };\n }\n\n return undefined;\n }, [shouldBlock, history]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport { useNavPrompt };\nexport type { UseNavPromptOptions, UseNavPromptReturn };\n","import React, { useRef } from \"react\";\n\nimport { Button } from \"src/components/Button\";\nimport { Dialog } from \"src/components/Dialog\";\n\nexport interface BlockNavigationAlertProps {\n /** Whether the alert dialog is open. */\n isOpen?: boolean;\n /** Called when the dialog should close. */\n onClose?: () => void;\n /** Called when the user chooses to stay. */\n onSubmit?: () => void;\n /** Called when the user chooses to discard and leave. */\n onDiscardChanges?: () => void;\n /** Custom title for the alert. */\n title?: string;\n /** Custom message for the alert body. */\n message?: string;\n /** Custom label for the discard/cancel button. */\n cancelButtonLabel?: string;\n /** Custom label for the stay/submit button. */\n submitButtonLabel?: string;\n}\n\nconst BlockNavigationAlert = ({\n isOpen = false,\n onClose,\n onSubmit,\n onDiscardChanges,\n title = \"You have unsaved changes\",\n message = \"Are you sure you want to leave? All unsaved changes will be lost.\",\n cancelButtonLabel = \"Discard and leave\",\n submitButtonLabel = \"Stay on this page\",\n}: BlockNavigationAlertProps) => {\n const submitButtonRef = useRef<HTMLButtonElement>(null);\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose ?? (() => {})}\n closeButton\n closeOnEsc\n closeOnOutsideClick\n initialFocusRef={submitButtonRef}\n size=\"medium\"\n data-testid=\"alert-box\"\n >\n <Dialog.Header>\n <Dialog.Title data-testid=\"alert-title\">{title}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <p\n data-testid=\"alert-message\"\n className=\"text-sm text-muted-foreground\"\n >\n {message}\n </p>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center justify-end gap-2\">\n <Button\n data-testid=\"alert-cancel-button\"\n label={cancelButtonLabel}\n variant=\"destructive\"\n onClick={onDiscardChanges}\n />\n <Button\n data-testid=\"alert-submit-button\"\n label={submitButtonLabel}\n ref={submitButtonRef}\n onClick={onSubmit}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nBlockNavigationAlert.displayName = \"BlockNavigationAlert\";\n\nexport { BlockNavigationAlert };\n","import { useFormikContext } from \"formik\";\n\nimport { useNavPrompt } from \"src/hooks/useNavPrompt\";\n\nimport {\n BlockNavigationAlert,\n type BlockNavigationAlertProps,\n} from \"./BlockNavigationAlert\";\n\nexport interface FormikBlockNavigationProps extends Omit<\n BlockNavigationAlertProps,\n \"isOpen\" | \"onClose\" | \"onSubmit\" | \"onDiscardChanges\"\n> {\n /** Force the navigation block regardless of Formik dirty state. */\n isDirty?: boolean;\n}\n\nconst FormikBlockNavigation = ({\n isDirty = false,\n ...otherProps\n}: FormikBlockNavigationProps) => {\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const handleDiscardChanges = () => {\n if (formikContext) formikContext.resetForm();\n hidePrompt();\n continueNavigation();\n };\n\n return (\n <BlockNavigationAlert\n isOpen={isBlocked}\n onClose={hidePrompt}\n onDiscardChanges={handleDiscardChanges}\n onSubmit={hidePrompt}\n {...otherProps}\n />\n );\n};\n\nFormikBlockNavigation.displayName = \"FormikBlockNavigation\";\n\nexport { FormikBlockNavigation };\nexport type { BlockNavigationAlertProps };\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ButtonProps } from "src/components/Button";
2
+ export interface FormikButtonProps extends ButtonProps {
3
+ /** Override the auto-computed disabled state. */
4
+ disabled?: boolean;
5
+ }
6
+ declare const FormikButton: import("react").ForwardRefExoticComponent<FormikButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ export { FormikButton };
@@ -0,0 +1,43 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useFormikContext } from 'formik';
4
+ import { equals } from 'ramda';
5
+ import { B as Button } from '../Button-Q7MPG6ph.js';
6
+ import '../utils-DdHUxIdC.js';
7
+ import '../renderIcon-tlvMyboj.js';
8
+ import '../primitives/Button.js';
9
+ import '../button-COIbN8dg.js';
10
+ import '../index-D7Zy7P05.js';
11
+ import '../index-CfriMyrd.js';
12
+ import '../index-BtkPdosV.js';
13
+ import '../primitives/Spinner.js';
14
+ import 'react-i18next';
15
+ import '../loader-circle-DycHUAWN.js';
16
+ import '../createLucideIcon-C8ycilSN.js';
17
+ import '../primitives/Tooltip.js';
18
+ import '../tooltip-XkHLgxlU.js';
19
+ import '../index-DNzunGHb.js';
20
+ import '../index-CiyxEyB0.js';
21
+ import '../index-BNPynZWM.js';
22
+ import '../index-DhnfW8wQ.js';
23
+ import 'react-dom';
24
+ import '../index-CSUSJzOJ.js';
25
+ import '../index-zW4GjM5L.js';
26
+ import '../index-DOzu5J1s.js';
27
+ import '../index-C3hByjk3.js';
28
+ import '../floating-ui.react-dom-D8_f_WWh.js';
29
+ import '../index-BYZaLNq1.js';
30
+ import '../index-fV_U4ZJM.js';
31
+ import '../index-yFgkK_AM.js';
32
+ import '../index-Cor698lu.js';
33
+ import '../index-CSggBaQF.js';
34
+
35
+ const FormikButton = forwardRef(({ disabled, ...otherProps }, ref) => {
36
+ const { handleSubmit, isSubmitting, values, initialValues, isValid } = useFormikContext();
37
+ const isDisabled = disabled ?? (isSubmitting || equals(values, initialValues));
38
+ return (jsx(Button, { ref: ref, disabled: isDisabled, loading: isSubmitting && isValid, onClick: () => handleSubmit(), ...otherProps }));
39
+ });
40
+ FormikButton.displayName = "FormikButton";
41
+
42
+ export { FormikButton };
43
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../src/formik/Button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport { Button, ButtonProps } from \"src/components/Button\";\n\nexport interface FormikButtonProps extends ButtonProps {\n /** Override the auto-computed disabled state. */\n disabled?: boolean;\n}\n\nconst FormikButton = forwardRef<HTMLButtonElement, FormikButtonProps>(\n ({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n ref={ref}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={() => handleSubmit()}\n {...otherProps}\n />\n );\n }\n);\n\nFormikButton.displayName = \"FormikButton\";\n\nexport { FormikButton };\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,YAAY,GAAG,UAAU,CAC7B,CAAC,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,KAAI;AACnC,IAAA,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAClE,gBAAgB,EAAE;AAEpB,IAAA,MAAM,UAAU,GACd,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE7D,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EACL,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,YAAY,IAAI,OAAO,EAChC,OAAO,EAAE,MAAM,YAAY,EAAE,EAAA,GACzB,UAAU,EAAA,CACd;AAEN,CAAC;AAGH,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { CheckboxProps } from "src/components/Checkbox";
3
+ export interface FormikCheckboxProps extends Omit<CheckboxProps, "name"> {
4
+ /** Formik field name. */
5
+ name: string;
6
+ }
7
+ declare const FormikCheckbox: React.ForwardRefExoticComponent<Omit<FormikCheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
8
+ export { FormikCheckbox };
@@ -0,0 +1,36 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { Field, getIn } from 'formik';
4
+ import { dissoc } from 'ramda';
5
+ import { C as Checkbox } from '../Checkbox-zCxgcZiC.js';
6
+ import '../utils-DdHUxIdC.js';
7
+ import '../primitives/Checkbox.js';
8
+ import '../check-Cpkv29p1.js';
9
+ import '../createLucideIcon-C8ycilSN.js';
10
+ import '../index-BtkPdosV.js';
11
+ import '../index-CiyxEyB0.js';
12
+ import '../index-DNzunGHb.js';
13
+ import '../index-Cor698lu.js';
14
+ import '../index-DOzu5J1s.js';
15
+ import '../index-30QpKM0j.js';
16
+ import '../index-BYZaLNq1.js';
17
+ import '../index-yFgkK_AM.js';
18
+ import '../index-DhnfW8wQ.js';
19
+ import 'react-dom';
20
+ import '../primitives/Field.js';
21
+ import '../index-D7Zy7P05.js';
22
+ import '../label-B4qDF3W1.js';
23
+ import '../separator-BbhgePmX.js';
24
+
25
+ const FormikCheckbox = forwardRef(({ name, ...rest }, ref) => (jsx(Field, { name: name, children: ({ field, meta, form }) => {
26
+ const { status = {}, setStatus } = form;
27
+ const fieldStatus = getIn(status, name);
28
+ return (jsx(Checkbox, { ref: ref, checked: !!field.value, error: meta.touched ? meta.error || fieldStatus : "", name: field.name, onBlur: field.onBlur, onCheckedChange: (checked) => {
29
+ setStatus(dissoc(name, status));
30
+ form.setFieldValue(name, checked);
31
+ }, ...rest }));
32
+ } })));
33
+ FormikCheckbox.displayName = "FormikCheckbox";
34
+
35
+ export { FormikCheckbox };
36
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../src/formik/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn, FieldProps } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport { Checkbox, CheckboxProps } from \"src/components/Checkbox\";\n\nexport interface FormikCheckboxProps extends Omit<CheckboxProps, \"name\"> {\n /** Formik field name. */\n name: string;\n}\n\nconst FormikCheckbox = forwardRef<\n React.ComponentRef<typeof Checkbox>,\n FormikCheckboxProps\n>(({ name, ...rest }, ref) => (\n <Field name={name}>\n {({ field, meta, form }: FieldProps) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n return (\n <Checkbox\n ref={ref}\n checked={!!field.value}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n name={field.name}\n onBlur={field.onBlur}\n onCheckedChange={(checked: boolean) => {\n setStatus(dissoc(name, status));\n form.setFieldValue(name, checked);\n }}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nFormikCheckbox.displayName = \"FormikCheckbox\";\n\nexport { FormikCheckbox };\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,cAAc,GAAG,UAAU,CAG/B,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACvBA,GAAA,CAAC,KAAK,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,QAAA,EACd,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAc,KAAI;QACrC,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI;QACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QAEvC,QACEA,IAAC,QAAQ,EAAA,EACP,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EACtB,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,GAAG,EAAE,EACpD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,CAAC,OAAgB,KAAI;gBACpC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;AACnC,YAAA,CAAC,EAAA,GACG,IAAI,EAAA,CACR;IAEN,CAAC,EAAA,CACK,CACT;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface FormWrapperProps {
3
+ className?: string;
4
+ formProps?: React.ComponentProps<"form">;
5
+ children: React.ReactNode;
6
+ scrollToErrorField: boolean;
7
+ }
8
+ declare const FormWrapper: React.ForwardRefExoticComponent<FormWrapperProps & React.RefAttributes<HTMLFormElement>>;
9
+ export default FormWrapper;
@@ -0,0 +1,5 @@
1
+ interface ScrollToErrorFieldProps {
2
+ formRef: React.RefObject<HTMLFormElement | null>;
3
+ }
4
+ declare const ScrollToErrorField: ({ formRef }: ScrollToErrorFieldProps) => null;
5
+ export default ScrollToErrorField;
@@ -0,0 +1,2 @@
1
+ export declare const getFieldsWithServerError: (status?: Record<string, unknown>) => string[];
2
+ export declare const scrollToError: (formRef: React.RefObject<HTMLFormElement | null>, errors: Record<string, unknown>, status: Record<string, unknown>) => void;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { FormikConfig, FormikProps, FormikValues } from "formik";
3
+ export interface FormProps<T extends FormikValues = FormikValues> {
4
+ /** Formik configuration: initialValues, validationSchema, onSubmit, etc. */
5
+ formikProps: FormikConfig<T>;
6
+ /** Props forwarded to the HTML form element. */
7
+ formProps?: React.ComponentProps<"form">;
8
+ /** Auto-scroll to the first error field on submit. */
9
+ scrollToErrorField?: boolean;
10
+ /** Additional class name for the form wrapper. */
11
+ className?: string;
12
+ /** Render children directly or as a function receiving FormikProps. */
13
+ children: React.ReactNode | ((props: FormikProps<T>) => React.ReactNode);
14
+ }
15
+ declare const Form: React.ForwardRefExoticComponent<FormProps<FormikValues> & React.RefAttributes<HTMLFormElement>>;
16
+ export { Form };
@@ -0,0 +1,114 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useEffect, forwardRef, useRef, useCallback } from 'react';
3
+ import { useFormikContext, Form as Form$1, Formik } from 'formik';
4
+ import { is } from 'ramda';
5
+
6
+ const transformObjectToDotNotation = (object, prefix = "") => {
7
+ const result = [];
8
+ Object.entries(object).forEach(([key, value]) => {
9
+ if (!value)
10
+ return;
11
+ const nextKey = prefix ? `${prefix}.${key}` : key;
12
+ if (is(Object, value)) {
13
+ result.push(...transformObjectToDotNotation(value, nextKey));
14
+ }
15
+ else {
16
+ result.push(nextKey);
17
+ }
18
+ });
19
+ return result;
20
+ };
21
+ const getErrorFieldName = (formikErrors) => transformObjectToDotNotation(formikErrors)?.[0];
22
+ const getFieldsWithServerError = (status = {}) => Object.keys(status).filter(fieldName => status[fieldName] != null && status[fieldName] !== "");
23
+ const scrollToError = (formRef, errors, status) => {
24
+ const fieldErrorName = getErrorFieldName(errors);
25
+ const [fieldWithServerError] = getFieldsWithServerError(status);
26
+ if (!fieldErrorName && !fieldWithServerError)
27
+ return;
28
+ const errorFieldName = fieldErrorName || fieldWithServerError;
29
+ const errorFormElement = formRef.current?.querySelector(`[name="${errorFieldName}"]`);
30
+ errorFormElement?.scrollIntoView({
31
+ behavior: "smooth",
32
+ block: "center",
33
+ });
34
+ };
35
+
36
+ const ScrollToErrorField = ({ formRef }) => {
37
+ const { submitCount, isValid, errors, status } = useFormikContext();
38
+ useEffect(() => {
39
+ const fieldsWithServerError = getFieldsWithServerError(status);
40
+ if (!formRef.current || (isValid && fieldsWithServerError.length === 0)) {
41
+ return;
42
+ }
43
+ scrollToError(formRef, errors, status);
44
+ }, [submitCount]);
45
+ return null;
46
+ };
47
+
48
+ const FormWrapper = forwardRef(({ className, formProps, children, scrollToErrorField }, ref) => {
49
+ const { validateForm, setErrors, setTouched, submitForm, ...formikBag } = useFormikContext();
50
+ const { dirty: isFormDirty, isSubmitting, status } = formikBag;
51
+ const formRefForScrollToErrorField = useRef(null);
52
+ const formRef = ref ||
53
+ formRefForScrollToErrorField;
54
+ const handleKeyDown = useCallback(async (event) => {
55
+ const target = event.target;
56
+ const isEventFromEditorOrTextarea = target.tagName === "TEXTAREA" || target.editor;
57
+ if (event.key !== "Enter")
58
+ return;
59
+ if (isEventFromEditorOrTextarea && !event.metaKey)
60
+ return;
61
+ event.preventDefault();
62
+ if (event.shiftKey)
63
+ return;
64
+ if (!isFormDirty || isSubmitting)
65
+ return;
66
+ try {
67
+ const errors = await validateForm();
68
+ const fieldStatuses = getFieldsWithServerError(status);
69
+ if (Object.keys(errors).length > 0 ||
70
+ Object.keys(fieldStatuses).length > 0) {
71
+ setErrors(errors);
72
+ setTouched({ ...errors, ...status });
73
+ if (scrollToErrorField) {
74
+ scrollToError(formRef, errors, status);
75
+ }
76
+ }
77
+ else {
78
+ submitForm();
79
+ }
80
+ }
81
+ catch (error) {
82
+ console.error("An unhandled error was caught from validateForm()", error);
83
+ }
84
+ }, [
85
+ validateForm,
86
+ setErrors,
87
+ setTouched,
88
+ isFormDirty,
89
+ isSubmitting,
90
+ submitForm,
91
+ status,
92
+ scrollToErrorField,
93
+ formRef,
94
+ ]);
95
+ return (jsxs(Form$1, { className, noValidate: true, ref: formRef, onKeyDown: handleKeyDown, ...formProps, children: [scrollToErrorField && jsx(ScrollToErrorField, { formRef }), children] }));
96
+ });
97
+ FormWrapper.displayName = "FormWrapper";
98
+
99
+ const Form = forwardRef(({ className, children, formikProps, formProps, scrollToErrorField = false }, ref) => {
100
+ const formikRef = useRef(null);
101
+ const handleSubmit = (values, actions) => {
102
+ const fieldsWithServerError = getFieldsWithServerError(formikRef.current?.status);
103
+ if (fieldsWithServerError.length > 0) {
104
+ actions.setSubmitting(false);
105
+ return undefined;
106
+ }
107
+ return formikProps.onSubmit(values, actions);
108
+ };
109
+ return (jsx(Formik, { innerRef: formikRef, ...formikProps, onSubmit: handleSubmit, children: props => (jsx(FormWrapper, { className, formProps, ref, scrollToErrorField, children: typeof children === "function" ? children(props) : children })) }));
110
+ });
111
+ Form.displayName = "Form";
112
+
113
+ export { Form };
114
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sources":["../../src/formik/Form/ScrollToErrorField/utils.ts","../../src/formik/Form/ScrollToErrorField/index.tsx","../../src/formik/Form/FormWrapper.tsx","../../src/formik/Form/index.tsx"],"sourcesContent":["import { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (\n object: Record<string, unknown>,\n prefix = \"\"\n): string[] => {\n const result: string[] = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(\n ...transformObjectToDotNotation(\n value as Record<string, unknown>,\n nextKey\n )\n );\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = (\n formikErrors: Record<string, unknown>\n): string | undefined => transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const getFieldsWithServerError = (\n status: Record<string, unknown> = {}\n): string[] =>\n Object.keys(status).filter(\n fieldName => status[fieldName] != null && status[fieldName] !== \"\"\n );\n\nexport const scrollToError = (\n formRef: React.RefObject<HTMLFormElement | null>,\n errors: Record<string, unknown>,\n status: Record<string, unknown>\n): void => {\n const fieldErrorName = getErrorFieldName(errors);\n const [fieldWithServerError] = getFieldsWithServerError(status);\n\n if (!fieldErrorName && !fieldWithServerError) return;\n\n const errorFieldName = fieldErrorName || fieldWithServerError;\n const errorFormElement = formRef.current?.querySelector(\n `[name=\"${errorFieldName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { getFieldsWithServerError, scrollToError } from \"./utils\";\n\ninterface ScrollToErrorFieldProps {\n formRef: React.RefObject<HTMLFormElement | null>;\n}\n\nconst ScrollToErrorField = ({ formRef }: ScrollToErrorFieldProps) => {\n const { submitCount, isValid, errors, status } = useFormikContext();\n\n useEffect(() => {\n const fieldsWithServerError = getFieldsWithServerError(status);\n if (!formRef.current || (isValid && fieldsWithServerError.length === 0)) {\n return;\n }\n\n scrollToError(formRef, errors as Record<string, unknown>, status);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport {\n getFieldsWithServerError,\n scrollToError,\n} from \"./ScrollToErrorField/utils\";\n\ninterface FormWrapperProps {\n className?: string;\n formProps?: React.ComponentProps<\"form\">;\n children: React.ReactNode;\n scrollToErrorField: boolean;\n}\n\nconst FormWrapper = forwardRef<HTMLFormElement, FormWrapperProps>(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting, status } = formikBag;\n\n const formRefForScrollToErrorField = useRef<HTMLFormElement>(null);\n const formRef =\n (ref as React.RefObject<HTMLFormElement | null>) ||\n formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async (event: React.KeyboardEvent<HTMLFormElement>) => {\n const target = event.target as HTMLElement & { editor?: unknown };\n const isEventFromEditorOrTextarea =\n target.tagName === \"TEXTAREA\" || target.editor;\n\n if (event.key !== \"Enter\") return;\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n const fieldStatuses = getFieldsWithServerError(status);\n\n if (\n Object.keys(errors).length > 0 ||\n Object.keys(fieldStatuses).length > 0\n ) {\n setErrors(errors);\n setTouched({ ...errors, ...status });\n if (scrollToErrorField) {\n scrollToError(formRef, errors as Record<string, unknown>, status);\n }\n } else {\n submitForm();\n }\n } catch (error) {\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n status,\n scrollToErrorField,\n formRef,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nexport default FormWrapper;\n","import React, { forwardRef, useRef } from \"react\";\n\nimport { Formik, FormikConfig, FormikProps, FormikValues } from \"formik\";\n\nimport FormWrapper from \"./FormWrapper\";\nimport { getFieldsWithServerError } from \"./ScrollToErrorField/utils\";\n\nexport interface FormProps<T extends FormikValues = FormikValues> {\n /** Formik configuration: initialValues, validationSchema, onSubmit, etc. */\n formikProps: FormikConfig<T>;\n /** Props forwarded to the HTML form element. */\n formProps?: React.ComponentProps<\"form\">;\n /** Auto-scroll to the first error field on submit. */\n scrollToErrorField?: boolean;\n /** Additional class name for the form wrapper. */\n className?: string;\n /** Render children directly or as a function receiving FormikProps. */\n children: React.ReactNode | ((props: FormikProps<T>) => React.ReactNode);\n}\n\nconst Form = forwardRef<HTMLFormElement, FormProps>(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => {\n const formikRef = useRef<FormikProps<FormikValues>>(null);\n\n const handleSubmit: FormikConfig<FormikValues>[\"onSubmit\"] = (\n values,\n actions\n ) => {\n const fieldsWithServerError = getFieldsWithServerError(\n formikRef.current?.status\n );\n\n if (fieldsWithServerError.length > 0) {\n actions.setSubmitting(false);\n\n return undefined;\n }\n\n return formikProps.onSubmit(values, actions);\n };\n\n return (\n <Formik\n innerRef={formikRef as React.Ref<FormikProps<FormikValues>>}\n {...formikProps}\n onSubmit={handleSubmit}\n >\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n );\n }\n);\n\nForm.displayName = \"Form\";\n\nexport { Form };\n"],"names":["_jsxs","FormikForm","_jsx"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { InputProps } from "src/components/Input";
3
+ export interface FormikInputProps extends Omit<InputProps, "name"> {
4
+ /** Formik field name. */
5
+ name: string;
6
+ }
7
+ declare const FormikInput: React.ForwardRefExoticComponent<Omit<FormikInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
8
+ export { FormikInput };
@@ -0,0 +1,36 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { Field, getIn } from 'formik';
4
+ import { dissoc } from 'ramda';
5
+ import { I as Input } from '../Input-C1gcv9o2.js';
6
+ import '../utils-DdHUxIdC.js';
7
+ import '../primitives/Field.js';
8
+ import '../index-D7Zy7P05.js';
9
+ import '../label-B4qDF3W1.js';
10
+ import '../index-DhnfW8wQ.js';
11
+ import 'react-dom';
12
+ import '../index-BtkPdosV.js';
13
+ import '../separator-BbhgePmX.js';
14
+ import '../primitives/InputGroup.js';
15
+ import '../input-group-ytECR3Hw.js';
16
+ import '../button-COIbN8dg.js';
17
+ import '../index-CfriMyrd.js';
18
+ import '../input-GLCCE2kT.js';
19
+ import '../textarea-BSZwxzjQ.js';
20
+
21
+ const FormikInput = forwardRef(({ name, ...rest }, ref) => (jsx(Field, { name: name, children: ({ field, meta, form }) => {
22
+ const { status = {}, setStatus } = form;
23
+ const fieldStatus = getIn(status, name);
24
+ const fieldProps = {
25
+ ...field,
26
+ onChange: (e) => {
27
+ setStatus(dissoc(name, status));
28
+ field.onChange(e);
29
+ },
30
+ };
31
+ return (jsx(Input, { ref: ref, ...fieldProps, error: meta.touched ? meta.error || fieldStatus : "", ...rest }));
32
+ } })));
33
+ FormikInput.displayName = "FormikInput";
34
+
35
+ export { FormikInput };
36
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sources":["../../src/formik/Input.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn, FieldProps } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport { Input, InputProps } from \"src/components/Input\";\n\nexport interface FormikInputProps extends Omit<InputProps, \"name\"> {\n /** Formik field name. */\n name: string;\n}\n\nconst FormikInput = forwardRef<HTMLInputElement, FormikInputProps>(\n ({ name, ...rest }, ref) => (\n <Field name={name}>\n {({ field, meta, form }: FieldProps) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n setStatus(dissoc(name, status));\n field.onChange(e);\n },\n };\n\n return (\n <Input\n ref={ref}\n {...fieldProps}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n )\n);\n\nFormikInput.displayName = \"FormikInput\";\n\nexport { FormikInput };\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;AAYA,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACrBA,GAAA,CAAC,KAAK,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,QAAA,EACd,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAc,KAAI;QACrC,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI;QACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;AAEvC,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,GAAG,KAAK;AACR,YAAA,QAAQ,EAAE,CAAC,CAAsC,KAAI;gBACnD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,gBAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,CAAC;SACF;AAED,QAAA,QACEA,GAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,GAAG,EAAA,GACJ,UAAU,EACd,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,GAAG,EAAE,EAAA,GAChD,IAAI,EAAA,CACR;IAEN,CAAC,EAAA,CACK,CACT;AAGH,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
@@ -0,0 +1,7 @@
1
+ import { MultiEmailInputProps } from "src/components/MultiEmailInput";
2
+ export interface FormikMultiEmailInputProps extends MultiEmailInputProps {
3
+ /** Formik field name. */
4
+ name: string;
5
+ }
6
+ declare const FormikMultiEmailInput: import("react").ForwardRefExoticComponent<FormikMultiEmailInputProps & import("react").RefAttributes<HTMLInputElement>>;
7
+ export { FormikMultiEmailInput };
@@ -0,0 +1,29 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useField, useFormikContext, getIn } from 'formik';
4
+ import { dissoc } from 'ramda';
5
+ import { M as MultiEmailInput } from '../MultiEmailInput-SCTYovtX.js';
6
+ import '../utils-DdHUxIdC.js';
7
+ import '../primitives/Field.js';
8
+ import '../index-D7Zy7P05.js';
9
+ import '../label-B4qDF3W1.js';
10
+ import '../index-DhnfW8wQ.js';
11
+ import 'react-dom';
12
+ import '../index-BtkPdosV.js';
13
+ import '../separator-BbhgePmX.js';
14
+ import '../x-_o2T3n6D.js';
15
+ import '../createLucideIcon-C8ycilSN.js';
16
+
17
+ const FormikMultiEmailInput = forwardRef(({ name, ...otherProps }, ref) => {
18
+ const [field, meta, { setValue, setTouched }] = useField(name);
19
+ const { status = {}, setStatus } = useFormikContext();
20
+ const fieldStatus = getIn(status, name);
21
+ return (jsx(MultiEmailInput, { ref: ref, error: meta.touched ? meta.error || fieldStatus : "", value: field.value, onBlur: () => setTouched(true), onChange: value => {
22
+ setStatus(dissoc(name, status));
23
+ setValue(value);
24
+ }, ...otherProps }));
25
+ });
26
+ FormikMultiEmailInput.displayName = "FormikMultiEmailInput";
27
+
28
+ export { FormikMultiEmailInput };
29
+ //# sourceMappingURL=MultiEmailInput.js.map