@soyfri/shared-library 2.0.0-beta.10 → 2.0.0-beta.12

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 (784) hide show
  1. package/{dist/components/Autocomplete/Autocomplete.js → Autocomplete-BA-cGASd.js} +22 -20
  2. package/Autocomplete-BA-cGASd.js.map +1 -0
  3. package/{dist/components/Autocomplete/Autocomplete.cjs → Autocomplete-C2x-lBvZ.cjs} +20 -19
  4. package/Autocomplete-C2x-lBvZ.cjs.map +1 -0
  5. package/{dist/components/Avatar/Avatar.cjs → Avatar-9L7YMxya.cjs} +1 -2
  6. package/Avatar-9L7YMxya.cjs.map +1 -0
  7. package/{dist/components/Avatar/Avatar.js → Avatar-BJTr-PBd.js} +2 -2
  8. package/Avatar-BJTr-PBd.js.map +1 -0
  9. package/{dist/components/Card/Card.cjs → Card-DG_crfkK.cjs} +2 -4
  10. package/Card-DG_crfkK.cjs.map +1 -0
  11. package/{dist/components/Card/Card.js → Card-Ug-ttVSh.js} +7 -8
  12. package/Card-Ug-ttVSh.js.map +1 -0
  13. package/{dist/components/Chip/Chip.js → Chip-OPYQ1uQ_.js} +2 -2
  14. package/Chip-OPYQ1uQ_.js.map +1 -0
  15. package/{dist/components/Chip/Chip.cjs → Chip-qoJLDiva.cjs} +1 -2
  16. package/Chip-qoJLDiva.cjs.map +1 -0
  17. package/{dist/components/DatePicker/DatePicker.js → DatePicker-8f_9bwhS.js} +4 -5
  18. package/DatePicker-8f_9bwhS.js.map +1 -0
  19. package/{dist/components/DatePicker/DatePicker.cjs → DatePicker-DLSfkgGA.cjs} +3 -5
  20. package/DatePicker-DLSfkgGA.cjs.map +1 -0
  21. package/{dist/components/DateRangePicker/DateRangePicker.js → DateRangePicker-BVpeJCHI.js} +2 -2
  22. package/DateRangePicker-BVpeJCHI.js.map +1 -0
  23. package/{dist/components/DateRangePicker/DateRangePicker.cjs → DateRangePicker-B_hKQhbj.cjs} +1 -2
  24. package/DateRangePicker-B_hKQhbj.cjs.map +1 -0
  25. package/{dist/components/DateTimePicker/DateTimePicker.cjs → DateTimePicker-CWNW09-O.cjs} +3 -5
  26. package/DateTimePicker-CWNW09-O.cjs.map +1 -0
  27. package/{dist/components/DateTimePicker/DateTimePicker.js → DateTimePicker-D4L9GAod.js} +4 -5
  28. package/DateTimePicker-D4L9GAod.js.map +1 -0
  29. package/{dist/components/Input/Input.js → Input-Cp911l23.js} +4 -5
  30. package/Input-Cp911l23.js.map +1 -0
  31. package/{dist/components/Input/Input.cjs → Input-DI0jfq5X.cjs} +3 -5
  32. package/Input-DI0jfq5X.cjs.map +1 -0
  33. package/{dist/components/Modal/Modal.cjs → Modal-Bm_HH9cv.cjs} +3 -3
  34. package/Modal-Bm_HH9cv.cjs.map +1 -0
  35. package/{dist/components/Modal/Modal.js → Modal-Bnz6d9m9.js} +6 -5
  36. package/Modal-Bnz6d9m9.js.map +1 -0
  37. package/{dist/components/RadioGroup/RadioGroup.cjs → RadioGroup-CxqDHap1.cjs} +3 -5
  38. package/RadioGroup-CxqDHap1.cjs.map +1 -0
  39. package/{dist/components/RadioGroup/RadioGroup.js → RadioGroup-DMi9FvMP.js} +4 -5
  40. package/RadioGroup-DMi9FvMP.js.map +1 -0
  41. package/{dist/components/Select/Select.js → Select-3CBOfM2H.js} +5 -6
  42. package/Select-3CBOfM2H.js.map +1 -0
  43. package/{dist/components/Select/Select.cjs → Select-Bku4f4f8.cjs} +3 -5
  44. package/Select-Bku4f4f8.cjs.map +1 -0
  45. package/{dist/components/Stat/Stat.cjs → Stat-BUcFCGrz.cjs} +3 -5
  46. package/Stat-BUcFCGrz.cjs.map +1 -0
  47. package/{dist/components/Stat/Stat.js → Stat-C06A_izS.js} +4 -5
  48. package/Stat-C06A_izS.js.map +1 -0
  49. package/{dist/components/StatusMessage/StatusMessage.cjs → StatusMessage-C5B6oGZ_.cjs} +1 -2
  50. package/StatusMessage-C5B6oGZ_.cjs.map +1 -0
  51. package/{dist/components/StatusMessage/StatusMessage.js → StatusMessage-D1GlfQdz.js} +2 -2
  52. package/StatusMessage-D1GlfQdz.js.map +1 -0
  53. package/Step-Dq0N72YB.js +49 -0
  54. package/Step-Dq0N72YB.js.map +1 -0
  55. package/Step-a8U8O-91.cjs +48 -0
  56. package/Step-a8U8O-91.cjs.map +1 -0
  57. package/{dist/components/Switch/Switch.cjs → Switch-BIeobv6i.cjs} +2 -4
  58. package/Switch-BIeobv6i.cjs.map +1 -0
  59. package/{dist/components/Switch/Switch.js → Switch-DQEOxM2R.js} +3 -4
  60. package/Switch-DQEOxM2R.js.map +1 -0
  61. package/{dist/components/Tabs/Tabs.cjs → Tab-Co31KY2k.cjs} +2 -3
  62. package/Tab-Co31KY2k.cjs.map +1 -0
  63. package/{dist/components/Tabs/Tabs.js → Tab-DiK62gRz.js} +4 -4
  64. package/Tab-DiK62gRz.js.map +1 -0
  65. package/{dist/components/Table/Table.js → Table-C2LbW0B1.js} +7 -7
  66. package/Table-C2LbW0B1.js.map +1 -0
  67. package/{dist/components/Table/Table.cjs → Table-C4OM6rrC.cjs} +6 -7
  68. package/Table-C4OM6rrC.cjs.map +1 -0
  69. package/{dist/components → components}/AppBar/AppBar.cjs +1 -1
  70. package/{dist/components → components}/AppBar/AppBar.js +1 -1
  71. package/components/Autocomplete/Autocomplete.cjs +7 -0
  72. package/components/Autocomplete/Autocomplete.cjs.map +1 -0
  73. package/components/Autocomplete/Autocomplete.js +7 -0
  74. package/components/Autocomplete/Autocomplete.js.map +1 -0
  75. package/components/Avatar/Avatar.cjs +5 -0
  76. package/components/Avatar/Avatar.cjs.map +1 -0
  77. package/components/Avatar/Avatar.js +5 -0
  78. package/components/Avatar/Avatar.js.map +1 -0
  79. package/components/Card/Card.cjs +10 -0
  80. package/components/Card/Card.cjs.map +1 -0
  81. package/components/Card/Card.js +10 -0
  82. package/components/Card/Card.js.map +1 -0
  83. package/components/Chip/Chip.cjs +5 -0
  84. package/components/Chip/Chip.cjs.map +1 -0
  85. package/components/Chip/Chip.js +5 -0
  86. package/components/Chip/Chip.js.map +1 -0
  87. package/{dist/components → components}/Column/Column.cjs +1 -1
  88. package/{dist/components → components}/Column/Column.cjs.map +1 -1
  89. package/{dist/components → components}/Column/Column.d.ts +1 -1
  90. package/{dist/components → components}/Column/Column.js +1 -1
  91. package/{dist/components → components}/Column/Column.js.map +1 -1
  92. package/{dist/components → components}/Column/index.d.ts +1 -0
  93. package/components/DatePicker/DatePicker.cjs +6 -0
  94. package/components/DatePicker/DatePicker.cjs.map +1 -0
  95. package/components/DatePicker/DatePicker.js +6 -0
  96. package/components/DatePicker/DatePicker.js.map +1 -0
  97. package/components/DateRangePicker/DateRangePicker.cjs +5 -0
  98. package/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
  99. package/components/DateRangePicker/DateRangePicker.js +5 -0
  100. package/components/DateRangePicker/DateRangePicker.js.map +1 -0
  101. package/components/DateTimePicker/DateTimePicker.cjs +6 -0
  102. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
  103. package/components/DateTimePicker/DateTimePicker.js +6 -0
  104. package/components/DateTimePicker/DateTimePicker.js.map +1 -0
  105. package/{dist/components → components}/Drawer/Drawer.cjs +1 -1
  106. package/{dist/components → components}/Drawer/Drawer.js +1 -1
  107. package/components/Input/Input.cjs +6 -0
  108. package/components/Input/Input.cjs.map +1 -0
  109. package/components/Input/Input.js +6 -0
  110. package/components/Input/Input.js.map +1 -0
  111. package/components/Modal/Modal.cjs +9 -0
  112. package/components/Modal/Modal.cjs.map +1 -0
  113. package/components/Modal/Modal.js +9 -0
  114. package/components/Modal/Modal.js.map +1 -0
  115. package/{dist/components → components}/Modal/index.d.ts +2 -1
  116. package/components/Modal.d.ts +6 -0
  117. package/components/RadioGroup/RadioGroup.cjs +6 -0
  118. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  119. package/components/RadioGroup/RadioGroup.js +6 -0
  120. package/components/RadioGroup/RadioGroup.js.map +1 -0
  121. package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs +1 -1
  122. package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js +1 -1
  123. package/components/Select/Select.cjs +7 -0
  124. package/components/Select/Select.cjs.map +1 -0
  125. package/components/Select/Select.js +7 -0
  126. package/components/Select/Select.js.map +1 -0
  127. package/components/Stat/Stat.cjs +6 -0
  128. package/components/Stat/Stat.cjs.map +1 -0
  129. package/components/Stat/Stat.js +6 -0
  130. package/components/Stat/Stat.js.map +1 -0
  131. package/components/StatusMessage/StatusMessage.cjs +6 -0
  132. package/components/StatusMessage/StatusMessage.cjs.map +1 -0
  133. package/{dist/components → components}/StatusMessage/StatusMessage.d.ts +1 -1
  134. package/components/StatusMessage/StatusMessage.js +6 -0
  135. package/components/StatusMessage/StatusMessage.js.map +1 -0
  136. package/components/StatusMessage/index.d.ts +2 -0
  137. package/components/StatusMessage.d.ts +6 -0
  138. package/components/Stepper/Stepper.cjs +6 -0
  139. package/components/Stepper/Stepper.cjs.map +1 -0
  140. package/components/Stepper/Stepper.js +6 -0
  141. package/components/Stepper/Stepper.js.map +1 -0
  142. package/components/Switch/Switch.cjs +6 -0
  143. package/components/Switch/Switch.cjs.map +1 -0
  144. package/components/Switch/Switch.js +6 -0
  145. package/components/Switch/Switch.js.map +1 -0
  146. package/components/Table/Table.cjs +5 -0
  147. package/components/Table/Table.cjs.map +1 -0
  148. package/{dist/components → components}/Table/Table.d.ts +1 -1
  149. package/components/Table/Table.js +5 -0
  150. package/components/Table/Table.js.map +1 -0
  151. package/components/Tabs/Tabs.cjs +6 -0
  152. package/components/Tabs/Tabs.cjs.map +1 -0
  153. package/components/Tabs/Tabs.js +6 -0
  154. package/components/Tabs/Tabs.js.map +1 -0
  155. package/{dist/hooks → hooks}/Wizard/WizardContext.d.ts +2 -2
  156. package/{dist/index.cjs → index.cjs} +46 -1
  157. package/{dist/index.cjs.map → index.cjs.map} +1 -1
  158. package/index.d.ts +33 -0
  159. package/index.js +82 -0
  160. package/{dist/index.js.map → index.js.map} +1 -1
  161. package/package.json +178 -45
  162. package/{dist/resolvePreset-CT3kU-K2.cjs → resolvePreset-CxTI6_Ln.cjs} +3 -3
  163. package/{dist/resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CxTI6_Ln.cjs.map} +1 -1
  164. package/{dist/resolvePreset-B-IB0ehH.js → resolvePreset-K6_BfWHD.js} +3 -3
  165. package/{dist/resolvePreset-B-IB0ehH.js.map → resolvePreset-K6_BfWHD.js.map} +1 -1
  166. package/useWizard-CWdIxZzX.cjs.map +1 -0
  167. package/useWizard-CWq--C3o.js.map +1 -0
  168. package/.dockerignore +0 -8
  169. package/.github/workflows/publish.yml +0 -107
  170. package/.prettierrc +0 -3
  171. package/.storybook/main.ts +0 -19
  172. package/.storybook/preview.ts +0 -14
  173. package/.storybook/vitest.setup.ts +0 -9
  174. package/Dockerfile +0 -37
  175. package/Readme.md +0 -243
  176. package/build.js +0 -102
  177. package/chromatic.config.json +0 -5
  178. package/cleanDirectories.js +0 -40
  179. package/dist/components/Autocomplete/Autocomplete.cjs.map +0 -1
  180. package/dist/components/Autocomplete/Autocomplete.js.map +0 -1
  181. package/dist/components/Avatar/Avatar.cjs.map +0 -1
  182. package/dist/components/Avatar/Avatar.js.map +0 -1
  183. package/dist/components/Card/Card.cjs.map +0 -1
  184. package/dist/components/Card/Card.js.map +0 -1
  185. package/dist/components/Chip/Chip.cjs.map +0 -1
  186. package/dist/components/Chip/Chip.js.map +0 -1
  187. package/dist/components/DatePicker/DatePicker.cjs.map +0 -1
  188. package/dist/components/DatePicker/DatePicker.js.map +0 -1
  189. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +0 -1
  190. package/dist/components/DateRangePicker/DateRangePicker.js.map +0 -1
  191. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
  192. package/dist/components/DateTimePicker/DateTimePicker.js.map +0 -1
  193. package/dist/components/Input/Input.cjs.map +0 -1
  194. package/dist/components/Input/Input.js.map +0 -1
  195. package/dist/components/Modal/Modal.cjs.map +0 -1
  196. package/dist/components/Modal/Modal.js.map +0 -1
  197. package/dist/components/Modal.d.ts +0 -2
  198. package/dist/components/RadioGroup/RadioGroup.cjs.map +0 -1
  199. package/dist/components/RadioGroup/RadioGroup.js.map +0 -1
  200. package/dist/components/Select/Select.cjs.map +0 -1
  201. package/dist/components/Select/Select.js.map +0 -1
  202. package/dist/components/Stat/Stat.cjs.map +0 -1
  203. package/dist/components/Stat/Stat.js.map +0 -1
  204. package/dist/components/StatusMessage/StatusMessage.cjs.map +0 -1
  205. package/dist/components/StatusMessage/StatusMessage.js.map +0 -1
  206. package/dist/components/StatusMessage/index.d.ts +0 -1
  207. package/dist/components/StatusMessage.d.ts +0 -2
  208. package/dist/components/Stepper/Stepper.cjs +0 -162
  209. package/dist/components/Stepper/Stepper.cjs.map +0 -1
  210. package/dist/components/Stepper/Stepper.js +0 -162
  211. package/dist/components/Stepper/Stepper.js.map +0 -1
  212. package/dist/components/Switch/Switch.cjs.map +0 -1
  213. package/dist/components/Switch/Switch.js.map +0 -1
  214. package/dist/components/Table/Table.cjs.map +0 -1
  215. package/dist/components/Table/Table.js.map +0 -1
  216. package/dist/components/Tabs/Tabs.cjs.map +0 -1
  217. package/dist/components/Tabs/Tabs.js.map +0 -1
  218. package/dist/index.d.ts +0 -3
  219. package/dist/index.js +0 -37
  220. package/dist/package.json +0 -207
  221. package/dist/useWizard-CWdIxZzX.cjs.map +0 -1
  222. package/dist/useWizard-CWq--C3o.js.map +0 -1
  223. package/rollup.config.cjs +0 -87
  224. package/src/components/ActionMenu/ActionMenu.stories.tsx +0 -230
  225. package/src/components/ActionMenu/ActionMenu.tsx +0 -174
  226. package/src/components/ActionMenu/index.ts +0 -2
  227. package/src/components/AppBar/AppBar.stories.tsx +0 -272
  228. package/src/components/AppBar/AppBar.sx.ts +0 -32
  229. package/src/components/AppBar/AppBar.tsx +0 -123
  230. package/src/components/AppBar/AppBarBrand.tsx +0 -120
  231. package/src/components/AppBar/AppBarContext.ts +0 -25
  232. package/src/components/AppBar/AppBarMenuToggle.tsx +0 -90
  233. package/src/components/AppBar/AppBarUserMenu.tsx +0 -217
  234. package/src/components/AppBar/index.ts +0 -25
  235. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -477
  236. package/src/components/Autocomplete/Autocomplete.helpers.ts +0 -60
  237. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -748
  238. package/src/components/Autocomplete/Autocomplete.sx.ts +0 -30
  239. package/src/components/Autocomplete/Autocomplete.tsx +0 -361
  240. package/src/components/Autocomplete/Autocomplete.types.ts +0 -13
  241. package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +0 -55
  242. package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +0 -17
  243. package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +0 -31
  244. package/src/components/Autocomplete/index.ts +0 -12
  245. package/src/components/Avatar/Avatar.definitions.ts +0 -162
  246. package/src/components/Avatar/Avatar.stories.tsx +0 -258
  247. package/src/components/Avatar/Avatar.tsx +0 -206
  248. package/src/components/Avatar/index.ts +0 -1
  249. package/src/components/Button/Button.definition.ts +0 -97
  250. package/src/components/Button/Button.stories.tsx +0 -285
  251. package/src/components/Button/Button.tsx +0 -67
  252. package/src/components/Button/index.ts +0 -1
  253. package/src/components/Card/Card.definition.ts +0 -5
  254. package/src/components/Card/Card.stories.tsx +0 -221
  255. package/src/components/Card/Card.sx.ts +0 -104
  256. package/src/components/Card/Card.tsx +0 -200
  257. package/src/components/Card/index.ts +0 -9
  258. package/src/components/Chip/Chip.definitions.ts +0 -167
  259. package/src/components/Chip/Chip.stories.tsx +0 -265
  260. package/src/components/Chip/Chip.tsx +0 -61
  261. package/src/components/Chip/index.ts +0 -1
  262. package/src/components/Column/Column.tsx +0 -29
  263. package/src/components/Column/index.ts +0 -1
  264. package/src/components/DatePicker/DatePicker.definitions.ts +0 -228
  265. package/src/components/DatePicker/DatePicker.helpers.ts +0 -24
  266. package/src/components/DatePicker/DatePicker.stories.tsx +0 -309
  267. package/src/components/DatePicker/DatePicker.sx.ts +0 -33
  268. package/src/components/DatePicker/DatePicker.tsx +0 -189
  269. package/src/components/DatePicker/DatePicker.types.ts +0 -10
  270. package/src/components/DatePicker/index.ts +0 -9
  271. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  272. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  273. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  274. package/src/components/DateRangePicker/index.ts +0 -1
  275. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -256
  276. package/src/components/DateTimePicker/DateTimePicker.helpers.ts +0 -38
  277. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -418
  278. package/src/components/DateTimePicker/DateTimePicker.sx.ts +0 -30
  279. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -225
  280. package/src/components/DateTimePicker/DateTimePicker.types.ts +0 -10
  281. package/src/components/DateTimePicker/index.ts +0 -9
  282. package/src/components/Drawer/Drawer.stories.tsx +0 -438
  283. package/src/components/Drawer/Drawer.sx.ts +0 -106
  284. package/src/components/Drawer/Drawer.tsx +0 -222
  285. package/src/components/Drawer/DrawerContext.ts +0 -26
  286. package/src/components/Drawer/DrawerItem.tsx +0 -110
  287. package/src/components/Drawer/index.ts +0 -10
  288. package/src/components/Flyout/Flyout.stories.tsx +0 -282
  289. package/src/components/Flyout/Flyout.tsx +0 -122
  290. package/src/components/Flyout/index.ts +0 -1
  291. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  292. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  293. package/src/components/Gallery/Gallery.tsx +0 -118
  294. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  295. package/src/components/Gallery/GalleryMain.tsx +0 -84
  296. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  297. package/src/components/Gallery/index.ts +0 -1
  298. package/src/components/Icon/Icon.stories.tsx +0 -121
  299. package/src/components/Icon/Icon.tsx +0 -175
  300. package/src/components/Icon/index.ts +0 -2
  301. package/src/components/Input/Input.definitions.ts +0 -348
  302. package/src/components/Input/Input.helpers.ts +0 -49
  303. package/src/components/Input/Input.stories.tsx +0 -528
  304. package/src/components/Input/Input.sx.ts +0 -42
  305. package/src/components/Input/Input.tsx +0 -141
  306. package/src/components/Input/Input.types.ts +0 -10
  307. package/src/components/Input/index.ts +0 -9
  308. package/src/components/InputGroup/InputGroup.definitions.ts +0 -158
  309. package/src/components/InputGroup/InputGroup.stories.tsx +0 -267
  310. package/src/components/InputGroup/InputGroup.tsx +0 -179
  311. package/src/components/InputGroup/index.ts +0 -1
  312. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  313. package/src/components/MenuButton/MenuButton.tsx +0 -100
  314. package/src/components/MenuButton/index.ts +0 -1
  315. package/src/components/Modal/Modal.stories.tsx +0 -721
  316. package/src/components/Modal/Modal.tsx +0 -355
  317. package/src/components/Modal/ModalBody.tsx +0 -16
  318. package/src/components/Modal/ModalFooter.tsx +0 -71
  319. package/src/components/Modal/ModalHeader.tsx +0 -18
  320. package/src/components/Modal/index.ts +0 -6
  321. package/src/components/PageLoader/PageLoader.stories.tsx +0 -217
  322. package/src/components/PageLoader/PageLoader.tsx +0 -96
  323. package/src/components/PageLoader/index.ts +0 -2
  324. package/src/components/RadioGroup/RadioGroup.definitions.ts +0 -177
  325. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -231
  326. package/src/components/RadioGroup/RadioGroup.sx.ts +0 -75
  327. package/src/components/RadioGroup/RadioGroup.tsx +0 -196
  328. package/src/components/RadioGroup/RadioGroup.types.ts +0 -10
  329. package/src/components/RadioGroup/index.ts +0 -9
  330. package/src/components/ScrollTopButton/ScrollTopButton.stories.tsx +0 -158
  331. package/src/components/ScrollTopButton/ScrollTopButton.tsx +0 -135
  332. package/src/components/ScrollTopButton/index.ts +0 -8
  333. package/src/components/ScrollTopButton/scrollToTop.ts +0 -37
  334. package/src/components/Select/Select.definitions.ts +0 -602
  335. package/src/components/Select/Select.helpers.ts +0 -71
  336. package/src/components/Select/Select.stories.tsx +0 -687
  337. package/src/components/Select/Select.sx.ts +0 -14
  338. package/src/components/Select/Select.tsx +0 -429
  339. package/src/components/Select/Select.types.ts +0 -15
  340. package/src/components/Select/_parts/SelectMenuItem.tsx +0 -40
  341. package/src/components/Select/_parts/SelectSearchHeader.tsx +0 -51
  342. package/src/components/Select/_parts/SelectValue.tsx +0 -96
  343. package/src/components/Select/index.ts +0 -14
  344. package/src/components/Stat/Stat.stories.tsx +0 -85
  345. package/src/components/Stat/Stat.tsx +0 -117
  346. package/src/components/Stat/index.ts +0 -2
  347. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  348. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  349. package/src/components/StatusMessage/index.ts +0 -2
  350. package/src/components/Stepper/Step.tsx +0 -21
  351. package/src/components/Stepper/Stepper.definition.ts +0 -75
  352. package/src/components/Stepper/Stepper.stories.tsx +0 -194
  353. package/src/components/Stepper/Stepper.tsx +0 -210
  354. package/src/components/Stepper/index.ts +0 -2
  355. package/src/components/Switch/Switch.definitions.ts +0 -134
  356. package/src/components/Switch/Switch.stories.tsx +0 -213
  357. package/src/components/Switch/Switch.sx.ts +0 -81
  358. package/src/components/Switch/Switch.tsx +0 -172
  359. package/src/components/Switch/Switch.types.ts +0 -10
  360. package/src/components/Switch/index.ts +0 -9
  361. package/src/components/Table/EmptyTable.png +0 -0
  362. package/src/components/Table/Table.definition.ts +0 -580
  363. package/src/components/Table/Table.stories.tsx +0 -853
  364. package/src/components/Table/Table.tsx +0 -495
  365. package/src/components/Table/data.ts +0 -134
  366. package/src/components/Table/exportsUtils.ts +0 -195
  367. package/src/components/Table/index.ts +0 -3
  368. package/src/components/Table/types.ts +0 -34
  369. package/src/components/Tabs/Tab.definition.ts +0 -53
  370. package/src/components/Tabs/Tab.tsx +0 -19
  371. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  372. package/src/components/Tabs/Tabs.tsx +0 -99
  373. package/src/components/Tabs/_tabUtils.tsx +0 -4
  374. package/src/components/Tabs/index.ts +0 -2
  375. package/src/components/Timeline/Timeline.definition.ts +0 -43
  376. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  377. package/src/components/Timeline/Timeline.tsx +0 -49
  378. package/src/components/Timeline/TimelineItem.tsx +0 -31
  379. package/src/components/Timeline/index.ts +0 -2
  380. package/src/components/Tooltip/Tooltip.stories.tsx +0 -129
  381. package/src/components/Tooltip/Tooltip.tsx +0 -58
  382. package/src/components/Tooltip/index.ts +0 -1
  383. package/src/components/_shared/formField.sx.ts +0 -118
  384. package/src/components/_shared/resolvePreset.ts +0 -35
  385. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  386. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  387. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  388. package/src/hooks/ClipBoard/index.ts +0 -1
  389. package/src/hooks/Wizard/Wizard.stories.tsx +0 -301
  390. package/src/hooks/Wizard/WizardContext.tsx +0 -166
  391. package/src/hooks/Wizard/index.ts +0 -6
  392. package/src/hooks/Wizard/useWizard.ts +0 -13
  393. package/src/index.ts +0 -17
  394. package/src/mui.ts +0 -54
  395. package/src/styles.css +0 -3
  396. package/src/theme/componentStyles.ts +0 -49
  397. package/src/theme/tokens.ts +0 -43
  398. package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
  399. package/storybook-static/assets/AccountCircle-BDZFsbTw.js +0 -1
  400. package/storybook-static/assets/ActionMenu-EynP8yU1.js +0 -19
  401. package/storybook-static/assets/ActionMenu.stories-DqSqRGix.js +0 -185
  402. package/storybook-static/assets/Alert-3zvTPc0p.js +0 -1
  403. package/storybook-static/assets/AppBar.stories-DcX3M5th.js +0 -172
  404. package/storybook-static/assets/Autocomplete.stories-CXJm8FOT.js +0 -788
  405. package/storybook-static/assets/Avatar-NbFfkZws.js +0 -1
  406. package/storybook-static/assets/Avatar.stories-CwOYCzqU.js +0 -390
  407. package/storybook-static/assets/Box-BnhEcfFm.js +0 -1
  408. package/storybook-static/assets/Button-D9h7OggD.js +0 -1
  409. package/storybook-static/assets/Button-DBpqmVB_.js +0 -1
  410. package/storybook-static/assets/Button.stories-F20dmnjq.js +0 -320
  411. package/storybook-static/assets/ButtonBase-qyaMEhe4.js +0 -74
  412. package/storybook-static/assets/Card.stories-B3NpAhO0.js +0 -154
  413. package/storybook-static/assets/CheckCircleOutline-CEj5mDsl.js +0 -1
  414. package/storybook-static/assets/Chip-C3vKPpzR.js +0 -1
  415. package/storybook-static/assets/Chip.stories-sxcfHVo9.js +0 -333
  416. package/storybook-static/assets/CircularProgress-DC7ZNWwl.js +0 -28
  417. package/storybook-static/assets/Clear-4kYcKvT3.js +0 -1
  418. package/storybook-static/assets/ClipBoard-DvLBdNHe.js +0 -1
  419. package/storybook-static/assets/ClipBoard.stories-BGUo47r6.js +0 -108
  420. package/storybook-static/assets/Close-CgHeRgmh.js +0 -1
  421. package/storybook-static/assets/Close-Cy8nELYU.js +0 -1
  422. package/storybook-static/assets/Color-AVL7NMMY-BJKvwERm.js +0 -1
  423. package/storybook-static/assets/ContentCopy-BfLTDb10.js +0 -1
  424. package/storybook-static/assets/DatePicker-Clkpr-Ku.js +0 -1
  425. package/storybook-static/assets/DatePicker.stories-EaUCMkh3.js +0 -444
  426. package/storybook-static/assets/DateRangePicker.stories-BMlkj-8K.js +0 -390
  427. package/storybook-static/assets/DateTimePicker.stories-B6gdzKq5.js +0 -555
  428. package/storybook-static/assets/DefaultPropsProvider-BGoQxtDa.js +0 -16
  429. package/storybook-static/assets/Delete-D2SMMmIA.js +0 -1
  430. package/storybook-static/assets/DialogContent-BeCDKgax.js +0 -1
  431. package/storybook-static/assets/Divider-BbCj9wT4.js +0 -1
  432. package/storybook-static/assets/DocsRenderer-PQXLIZUC-BebLK5Y_.js +0 -1243
  433. package/storybook-static/assets/Drawer-DcFwy73r.js +0 -1
  434. package/storybook-static/assets/Drawer.stories-C5AZkJBk.js +0 -173
  435. package/storybook-static/assets/EmptyTable-B-RKtgVs.png +0 -0
  436. package/storybook-static/assets/ErrorOutline-D9gM7ART.js +0 -1
  437. package/storybook-static/assets/Fade-Ll96CvH8.js +0 -1
  438. package/storybook-static/assets/Flyout.stories-Cf7z6MNw.js +0 -163
  439. package/storybook-static/assets/Gallery.stories-DdpWVTF6.js +0 -127
  440. package/storybook-static/assets/Grow-8y4FglGK.js +0 -1
  441. package/storybook-static/assets/Home-BRvJEp2L.js +0 -1
  442. package/storybook-static/assets/Icon.stories-D0mUiW_t.js +0 -78
  443. package/storybook-static/assets/IconButton-9OYSTH58.js +0 -1
  444. package/storybook-static/assets/Input-CjX0t4h-.js +0 -1
  445. package/storybook-static/assets/Input.stories-BRxekliy.js +0 -650
  446. package/storybook-static/assets/InputGroup.stories-DH6gUfmn.js +0 -306
  447. package/storybook-static/assets/KeyboardArrowRight-WO_attK2.js +0 -1
  448. package/storybook-static/assets/KeyboardArrowUp-DsyVef-i.js +0 -1
  449. package/storybook-static/assets/ListItem-D3O0103N.js +0 -1
  450. package/storybook-static/assets/ListItemIcon-hca6xN79.js +0 -1
  451. package/storybook-static/assets/ListItemText-BFLAwLdl.js +0 -1
  452. package/storybook-static/assets/Logout-gj-P3AfU.js +0 -1
  453. package/storybook-static/assets/Menu-ClzfjLc3.js +0 -1
  454. package/storybook-static/assets/MenuButton.stories-B-W_QVDt.js +0 -162
  455. package/storybook-static/assets/MenuItem-iU6tAqJI.js +0 -1
  456. package/storybook-static/assets/Modal-3okp9H2i.js +0 -1
  457. package/storybook-static/assets/Modal.stories-DIWzm4qR.js +0 -468
  458. package/storybook-static/assets/MoreVert-BoIVG4gh.js +0 -1
  459. package/storybook-static/assets/Notifications-DY_A-Sho.js +0 -1
  460. package/storybook-static/assets/PageLoader.stories-DmtO1mlm.js +0 -158
  461. package/storybook-static/assets/Paper-SwQBhqI7.js +0 -1
  462. package/storybook-static/assets/Person-CkQl-mpq.js +0 -1
  463. package/storybook-static/assets/PickersModalDialog-Tjnr_cu5.js +0 -10
  464. package/storybook-static/assets/PickersToolbarButton-Tt185-si.js +0 -1
  465. package/storybook-static/assets/Popper-CnCTYXxy.js +0 -1
  466. package/storybook-static/assets/Portal-Cj8XF9Lf.js +0 -1
  467. package/storybook-static/assets/ScrollTopButton.stories-BflQCwNP.js +0 -90
  468. package/storybook-static/assets/Select-CjcuMAY0.js +0 -4
  469. package/storybook-static/assets/Select-DJh2biEb.js +0 -3
  470. package/storybook-static/assets/Select.stories-DU1Gb3I2.js +0 -1103
  471. package/storybook-static/assets/Settings-BLKc1CnO.js +0 -1
  472. package/storybook-static/assets/Snackbar-BtVeKTw6.js +0 -1
  473. package/storybook-static/assets/Stack-D01OUIXi.js +0 -1
  474. package/storybook-static/assets/Stat.stories-Bn9-iuPT.js +0 -60
  475. package/storybook-static/assets/StatusMessage.stories-hnfX8FeU.js +0 -73
  476. package/storybook-static/assets/Stepper-BtKB5ykn.js +0 -2
  477. package/storybook-static/assets/Stepper.stories-CTEZbgPc.js +0 -165
  478. package/storybook-static/assets/Table.stories-CTn2Ktmn.js +0 -1260
  479. package/storybook-static/assets/TableContainer-CzLNaEU-.js +0 -1
  480. package/storybook-static/assets/TableRow-CS88-1HF.js +0 -2
  481. package/storybook-static/assets/Tabs-DLpDOu_n.js +0 -1
  482. package/storybook-static/assets/Tabs.stories-BFVuFy_5.js +0 -159
  483. package/storybook-static/assets/TextField-22T-xHBm.js +0 -1
  484. package/storybook-static/assets/Timeline.stories-DJU_U2Hv.js +0 -97
  485. package/storybook-static/assets/Tooltip-DbnHUxNj.js +0 -1
  486. package/storybook-static/assets/Tooltip.stories-B7tA3dnV.js +0 -66
  487. package/storybook-static/assets/Typography-BgntX2Ep.js +0 -1
  488. package/storybook-static/assets/Wizard.stories-CVrJLK_D.js +0 -23
  489. package/storybook-static/assets/createSimplePaletteValueFilter-bm0fmN_7.js +0 -1
  490. package/storybook-static/assets/createSvgIcon-D_Gca4vA.js +0 -1
  491. package/storybook-static/assets/debounce-Be36O1Ab.js +0 -1
  492. package/storybook-static/assets/emotion-react.browser.esm--g-C9cX9.js +0 -8
  493. package/storybook-static/assets/extendSxProp-CEpa30hT.js +0 -1
  494. package/storybook-static/assets/formField.sx-DMCmZIAa.js +0 -1
  495. package/storybook-static/assets/getReactElementRef-BQ3ANZdy.js +0 -1
  496. package/storybook-static/assets/iframe-BAJnc_4n.js +0 -1079
  497. package/storybook-static/assets/index-B1tlhOpe.js +0 -240
  498. package/storybook-static/assets/index-BF3FAXTk.js +0 -9
  499. package/storybook-static/assets/index-CIeucmOB.js +0 -2
  500. package/storybook-static/assets/index-CY7j4a7o.js +0 -1
  501. package/storybook-static/assets/index-CxkKctw5.js +0 -1
  502. package/storybook-static/assets/isFocusVisible-B8k4qzLc.js +0 -1
  503. package/storybook-static/assets/isMuiElement-CTZSFcY5.js +0 -1
  504. package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +0 -9
  505. package/storybook-static/assets/listItemTextClasses-CC_rwJam.js +0 -1
  506. package/storybook-static/assets/mergeSlotProps-B0UBKBMe.js +0 -1
  507. package/storybook-static/assets/ownerDocument-DW-IO8s5.js +0 -1
  508. package/storybook-static/assets/ownerWindow-HkKU3E4x.js +0 -1
  509. package/storybook-static/assets/preload-helper-PPVm8Dsz.js +0 -1
  510. package/storybook-static/assets/react-18-BUJ64QCV.js +0 -25
  511. package/storybook-static/assets/resolvePreset-CN2aOJJr.js +0 -1
  512. package/storybook-static/assets/useControlled-DsVh1a5j.js +0 -1
  513. package/storybook-static/assets/useForkRef-0ANIrxcF.js +0 -1
  514. package/storybook-static/assets/useId-b4fZxjOL.js +0 -1
  515. package/storybook-static/assets/useMobilePicker-DK-c8xbD.js +0 -1
  516. package/storybook-static/assets/usePreviousProps-WR0rG4aR.js +0 -1
  517. package/storybook-static/assets/useSlot-b6pXgp5_.js +0 -1
  518. package/storybook-static/assets/useSlotProps-C0uMfuBt.js +0 -1
  519. package/storybook-static/assets/useTheme-BmOJK7ra.js +0 -1
  520. package/storybook-static/assets/useThemeProps-DYtxXiUU.js +0 -1
  521. package/storybook-static/assets/useThemeProps-U4yXiZ_5.js +0 -1
  522. package/storybook-static/assets/useTimeout-DNjRaOWc.js +0 -1
  523. package/storybook-static/assets/visuallyHidden-Dan1xhjv.js +0 -1
  524. package/storybook-static/favicon-wrapper.svg +0 -46
  525. package/storybook-static/favicon.svg +0 -1
  526. package/storybook-static/iframe.html +0 -686
  527. package/storybook-static/index.html +0 -160
  528. package/storybook-static/index.json +0 -1
  529. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  530. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  531. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  532. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  533. package/storybook-static/project.json +0 -1
  534. package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js +0 -356
  535. package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js.LEGAL.txt +0 -40
  536. package/storybook-static/sb-addons/docs-4/manager-bundle.js +0 -151
  537. package/storybook-static/sb-addons/onboarding-1/manager-bundle.js +0 -127
  538. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -971
  539. package/storybook-static/sb-addons/vitest-3/manager-bundle.js +0 -3
  540. package/storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
  541. package/storybook-static/sb-common-assets/favicon.svg +0 -1
  542. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  543. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  544. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  545. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  546. package/storybook-static/sb-manager/globals-module-info.js +0 -797
  547. package/storybook-static/sb-manager/globals-runtime.js +0 -69679
  548. package/storybook-static/sb-manager/globals.js +0 -34
  549. package/storybook-static/sb-manager/runtime.js +0 -13195
  550. package/storybook-static/vite-inject-mocker-entry.js +0 -18
  551. package/tailwind.config.js +0 -10
  552. package/tsconfig.json +0 -48
  553. package/tsup.config.js +0 -41
  554. package/vite.config.js +0 -132
  555. package/vitest.config.ts +0 -35
  556. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  557. /package/{dist/Button-C17mExpd.cjs.map → Button-C17mExpd.cjs.map} +0 -0
  558. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  559. /package/{dist/Button-UkkP-bNw.js.map → Button-UkkP-bNw.js.map} +0 -0
  560. /package/{dist/README.md → README.md} +0 -0
  561. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs +0 -0
  562. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs.map +0 -0
  563. /package/{dist/components → components}/ActionMenu/ActionMenu.d.ts +0 -0
  564. /package/{dist/components → components}/ActionMenu/ActionMenu.js +0 -0
  565. /package/{dist/components → components}/ActionMenu/ActionMenu.js.map +0 -0
  566. /package/{dist/components → components}/ActionMenu/index.d.ts +0 -0
  567. /package/{dist/components → components}/ActionMenu.d.ts +0 -0
  568. /package/{dist/components → components}/AppBar/AppBar.cjs.map +0 -0
  569. /package/{dist/components → components}/AppBar/AppBar.d.ts +0 -0
  570. /package/{dist/components → components}/AppBar/AppBar.js.map +0 -0
  571. /package/{dist/components → components}/AppBar/AppBar.sx.d.ts +0 -0
  572. /package/{dist/components → components}/AppBar/AppBarBrand.d.ts +0 -0
  573. /package/{dist/components → components}/AppBar/AppBarContext.d.ts +0 -0
  574. /package/{dist/components → components}/AppBar/AppBarMenuToggle.d.ts +0 -0
  575. /package/{dist/components → components}/AppBar/AppBarUserMenu.d.ts +0 -0
  576. /package/{dist/components → components}/AppBar/index.d.ts +0 -0
  577. /package/{dist/components → components}/AppBar.d.ts +0 -0
  578. /package/{dist/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
  579. /package/{dist/components → components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
  580. /package/{dist/components → components}/Autocomplete/Autocomplete.helpers.d.ts +0 -0
  581. /package/{dist/components → components}/Autocomplete/Autocomplete.sx.d.ts +0 -0
  582. /package/{dist/components → components}/Autocomplete/Autocomplete.types.d.ts +0 -0
  583. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteChips.d.ts +0 -0
  584. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteLoader.d.ts +0 -0
  585. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteOption.d.ts +0 -0
  586. /package/{dist/components → components}/Autocomplete/index.d.ts +0 -0
  587. /package/{dist/components → components}/Autocomplete.d.ts +0 -0
  588. /package/{dist/components → components}/Avatar/Avatar.d.ts +0 -0
  589. /package/{dist/components → components}/Avatar/Avatar.definitions.d.ts +0 -0
  590. /package/{dist/components → components}/Avatar/index.d.ts +0 -0
  591. /package/{dist/components → components}/Avatar.d.ts +0 -0
  592. /package/{dist/components → components}/Button/Button.cjs +0 -0
  593. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  594. /package/{dist/components → components}/Button/Button.d.ts +0 -0
  595. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  596. /package/{dist/components → components}/Button/Button.js +0 -0
  597. /package/{dist/components → components}/Button/Button.js.map +0 -0
  598. /package/{dist/components → components}/Button/index.d.ts +0 -0
  599. /package/{dist/components → components}/Button.d.ts +0 -0
  600. /package/{dist/components → components}/Card/Card.d.ts +0 -0
  601. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  602. /package/{dist/components → components}/Card/Card.sx.d.ts +0 -0
  603. /package/{dist/components → components}/Card/index.d.ts +0 -0
  604. /package/{dist/components → components}/Card.d.ts +0 -0
  605. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  606. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  607. /package/{dist/components → components}/Chip/index.d.ts +0 -0
  608. /package/{dist/components → components}/Chip.d.ts +0 -0
  609. /package/{dist/components → components}/Column.d.ts +0 -0
  610. /package/{dist/components → components}/DatePicker/DatePicker.d.ts +0 -0
  611. /package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +0 -0
  612. /package/{dist/components → components}/DatePicker/DatePicker.helpers.d.ts +0 -0
  613. /package/{dist/components → components}/DatePicker/DatePicker.sx.d.ts +0 -0
  614. /package/{dist/components → components}/DatePicker/DatePicker.types.d.ts +0 -0
  615. /package/{dist/components → components}/DatePicker/index.d.ts +0 -0
  616. /package/{dist/components → components}/DatePicker.d.ts +0 -0
  617. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  618. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  619. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  620. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  621. /package/{dist/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  622. /package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
  623. /package/{dist/components → components}/DateTimePicker/DateTimePicker.helpers.d.ts +0 -0
  624. /package/{dist/components → components}/DateTimePicker/DateTimePicker.sx.d.ts +0 -0
  625. /package/{dist/components → components}/DateTimePicker/DateTimePicker.types.d.ts +0 -0
  626. /package/{dist/components → components}/DateTimePicker/index.d.ts +0 -0
  627. /package/{dist/components → components}/DateTimePicker.d.ts +0 -0
  628. /package/{dist/components → components}/Drawer/Drawer.cjs.map +0 -0
  629. /package/{dist/components → components}/Drawer/Drawer.d.ts +0 -0
  630. /package/{dist/components → components}/Drawer/Drawer.js.map +0 -0
  631. /package/{dist/components → components}/Drawer/Drawer.sx.d.ts +0 -0
  632. /package/{dist/components → components}/Drawer/DrawerContext.d.ts +0 -0
  633. /package/{dist/components → components}/Drawer/DrawerItem.d.ts +0 -0
  634. /package/{dist/components → components}/Drawer/index.d.ts +0 -0
  635. /package/{dist/components → components}/Drawer.d.ts +0 -0
  636. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  637. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  638. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  639. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  640. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  641. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  642. /package/{dist/components → components}/Flyout.d.ts +0 -0
  643. /package/{dist/components → components}/Gallery/Gallery.cjs +0 -0
  644. /package/{dist/components → components}/Gallery/Gallery.cjs.map +0 -0
  645. /package/{dist/components → components}/Gallery/Gallery.d.ts +0 -0
  646. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  647. /package/{dist/components → components}/Gallery/Gallery.js +0 -0
  648. /package/{dist/components → components}/Gallery/Gallery.js.map +0 -0
  649. /package/{dist/components → components}/Gallery/GalleryLightbox.d.ts +0 -0
  650. /package/{dist/components → components}/Gallery/GalleryMain.d.ts +0 -0
  651. /package/{dist/components → components}/Gallery/GalleryThumbnails.d.ts +0 -0
  652. /package/{dist/components → components}/Gallery/index.d.ts +0 -0
  653. /package/{dist/components → components}/Gallery.d.ts +0 -0
  654. /package/{dist/components → components}/Icon/Icon.cjs +0 -0
  655. /package/{dist/components → components}/Icon/Icon.cjs.map +0 -0
  656. /package/{dist/components → components}/Icon/Icon.d.ts +0 -0
  657. /package/{dist/components → components}/Icon/Icon.js +0 -0
  658. /package/{dist/components → components}/Icon/Icon.js.map +0 -0
  659. /package/{dist/components → components}/Icon/index.d.ts +0 -0
  660. /package/{dist/components → components}/Icon.d.ts +0 -0
  661. /package/{dist/components → components}/Input/Input.d.ts +0 -0
  662. /package/{dist/components → components}/Input/Input.definitions.d.ts +0 -0
  663. /package/{dist/components → components}/Input/Input.helpers.d.ts +0 -0
  664. /package/{dist/components → components}/Input/Input.sx.d.ts +0 -0
  665. /package/{dist/components → components}/Input/Input.types.d.ts +0 -0
  666. /package/{dist/components → components}/Input/index.d.ts +0 -0
  667. /package/{dist/components → components}/Input.d.ts +0 -0
  668. /package/{dist/components → components}/InputGroup/InputGroup.cjs +0 -0
  669. /package/{dist/components → components}/InputGroup/InputGroup.cjs.map +0 -0
  670. /package/{dist/components → components}/InputGroup/InputGroup.d.ts +0 -0
  671. /package/{dist/components → components}/InputGroup/InputGroup.definitions.d.ts +0 -0
  672. /package/{dist/components → components}/InputGroup/InputGroup.js +0 -0
  673. /package/{dist/components → components}/InputGroup/InputGroup.js.map +0 -0
  674. /package/{dist/components → components}/InputGroup/index.d.ts +0 -0
  675. /package/{dist/components → components}/InputGroup.d.ts +0 -0
  676. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  677. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  678. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  679. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  680. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  681. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  682. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  683. /package/{dist/components → components}/Modal/Modal.d.ts +0 -0
  684. /package/{dist/components → components}/Modal/ModalBody.d.ts +0 -0
  685. /package/{dist/components → components}/Modal/ModalFooter.d.ts +0 -0
  686. /package/{dist/components → components}/Modal/ModalHeader.d.ts +0 -0
  687. /package/{dist/components → components}/PageLoader/PageLoader.cjs +0 -0
  688. /package/{dist/components → components}/PageLoader/PageLoader.cjs.map +0 -0
  689. /package/{dist/components → components}/PageLoader/PageLoader.d.ts +0 -0
  690. /package/{dist/components → components}/PageLoader/PageLoader.js +0 -0
  691. /package/{dist/components → components}/PageLoader/PageLoader.js.map +0 -0
  692. /package/{dist/components → components}/PageLoader/index.d.ts +0 -0
  693. /package/{dist/components → components}/PageLoader.d.ts +0 -0
  694. /package/{dist/components → components}/RadioGroup/RadioGroup.d.ts +0 -0
  695. /package/{dist/components → components}/RadioGroup/RadioGroup.definitions.d.ts +0 -0
  696. /package/{dist/components → components}/RadioGroup/RadioGroup.sx.d.ts +0 -0
  697. /package/{dist/components → components}/RadioGroup/RadioGroup.types.d.ts +0 -0
  698. /package/{dist/components → components}/RadioGroup/index.d.ts +0 -0
  699. /package/{dist/components → components}/RadioGroup.d.ts +0 -0
  700. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs.map +0 -0
  701. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.d.ts +0 -0
  702. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js.map +0 -0
  703. /package/{dist/components → components}/ScrollTopButton/index.d.ts +0 -0
  704. /package/{dist/components → components}/ScrollTopButton/scrollToTop.d.ts +0 -0
  705. /package/{dist/components → components}/ScrollTopButton.d.ts +0 -0
  706. /package/{dist/components → components}/Select/Select.d.ts +0 -0
  707. /package/{dist/components → components}/Select/Select.definitions.d.ts +0 -0
  708. /package/{dist/components → components}/Select/Select.helpers.d.ts +0 -0
  709. /package/{dist/components → components}/Select/Select.sx.d.ts +0 -0
  710. /package/{dist/components → components}/Select/Select.types.d.ts +0 -0
  711. /package/{dist/components → components}/Select/_parts/SelectMenuItem.d.ts +0 -0
  712. /package/{dist/components → components}/Select/_parts/SelectSearchHeader.d.ts +0 -0
  713. /package/{dist/components → components}/Select/_parts/SelectValue.d.ts +0 -0
  714. /package/{dist/components → components}/Select/index.d.ts +0 -0
  715. /package/{dist/components → components}/Select.d.ts +0 -0
  716. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  717. /package/{dist/components → components}/Stat/index.d.ts +0 -0
  718. /package/{dist/components → components}/Stat.d.ts +0 -0
  719. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  720. /package/{dist/components → components}/Stepper/Stepper.d.ts +0 -0
  721. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  722. /package/{dist/components → components}/Stepper/index.d.ts +0 -0
  723. /package/{dist/components → components}/Stepper.d.ts +0 -0
  724. /package/{dist/components → components}/Switch/Switch.d.ts +0 -0
  725. /package/{dist/components → components}/Switch/Switch.definitions.d.ts +0 -0
  726. /package/{dist/components → components}/Switch/Switch.sx.d.ts +0 -0
  727. /package/{dist/components → components}/Switch/Switch.types.d.ts +0 -0
  728. /package/{dist/components → components}/Switch/index.d.ts +0 -0
  729. /package/{dist/components → components}/Switch.d.ts +0 -0
  730. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  731. /package/{dist/components → components}/Table/data.d.ts +0 -0
  732. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  733. /package/{dist/components → components}/Table/index.d.ts +0 -0
  734. /package/{dist/components → components}/Table/types.d.ts +0 -0
  735. /package/{dist/components → components}/Table.d.ts +0 -0
  736. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  737. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  738. /package/{dist/components → components}/Tabs/Tabs.d.ts +0 -0
  739. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  740. /package/{dist/components → components}/Tabs/index.d.ts +0 -0
  741. /package/{dist/components → components}/Tabs.d.ts +0 -0
  742. /package/{dist/components → components}/Timeline/Timeline.cjs +0 -0
  743. /package/{dist/components → components}/Timeline/Timeline.cjs.map +0 -0
  744. /package/{dist/components → components}/Timeline/Timeline.d.ts +0 -0
  745. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  746. /package/{dist/components → components}/Timeline/Timeline.js +0 -0
  747. /package/{dist/components → components}/Timeline/Timeline.js.map +0 -0
  748. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  749. /package/{dist/components → components}/Timeline/index.d.ts +0 -0
  750. /package/{dist/components → components}/Timeline.d.ts +0 -0
  751. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  752. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  753. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  754. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  755. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  756. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  757. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  758. /package/{dist/components → components}/_shared/formField.sx.d.ts +0 -0
  759. /package/{dist/components → components}/_shared/resolvePreset.d.ts +0 -0
  760. /package/{dist/formField.sx-CQ1mbk9M.cjs → formField.sx-CQ1mbk9M.cjs} +0 -0
  761. /package/{dist/formField.sx-CQ1mbk9M.cjs.map → formField.sx-CQ1mbk9M.cjs.map} +0 -0
  762. /package/{dist/formField.sx-DfVbMe0V.js → formField.sx-DfVbMe0V.js} +0 -0
  763. /package/{dist/formField.sx-DfVbMe0V.js.map → formField.sx-DfVbMe0V.js.map} +0 -0
  764. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  765. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  766. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  767. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  768. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  769. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  770. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  771. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  772. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs +0 -0
  773. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs.map +0 -0
  774. /package/{dist/hooks → hooks}/Wizard/Wizard.js +0 -0
  775. /package/{dist/hooks → hooks}/Wizard/Wizard.js.map +0 -0
  776. /package/{dist/hooks → hooks}/Wizard/index.d.ts +0 -0
  777. /package/{dist/hooks → hooks}/Wizard/useWizard.d.ts +0 -0
  778. /package/{dist/hooks → hooks}/Wizard.d.ts +0 -0
  779. /package/{dist/mui.d.ts → mui.d.ts} +0 -0
  780. /package/{dist/styles.css → styles.css} +0 -0
  781. /package/{dist/theme → theme}/componentStyles.d.ts +0 -0
  782. /package/{dist/theme → theme}/tokens.d.ts +0 -0
  783. /package/{dist/useWizard-CWdIxZzX.cjs → useWizard-CWdIxZzX.cjs} +0 -0
  784. /package/{dist/useWizard-CWq--C3o.js → useWizard-CWq--C3o.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker-DLSfkgGA.cjs","sources":["../node_modules/dayjs/locale/en-gb.js","../src/components/DatePicker/DatePicker.sx.ts","../src/components/DatePicker/DatePicker.helpers.ts","../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],a):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en_gb=a(e.dayjs)}(this,(function(e){\"use strict\";function a(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=a(e),_={name:\"en-gb\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekStart:1,yearStart:4,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},ordinal:function(e){var a=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(a[(t-20)%10]||a[t]||a[0])+\"]\"}};return t.default.locale(_,null,!0),_}));","import type { SxProps, Theme } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';\nimport type { LabelPosition } from './DatePicker';\n\n/**\n * Builder de sx para el DatePicker. Reutiliza `buildFormFieldSx` con\n * `includePickersApi: true` para cubrir tanto la API clásica (MuiInputBase /\n * MuiOutlinedInput) como la nueva (MuiPickersInputBase / MuiPickersOutlinedInput)\n * del DatePicker de MUI X v8.\n */\nexport const buildDatePickerSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): SxProps<Theme> =>\n buildFormFieldSx({\n borderRadius,\n labelPosition,\n includePickersApi: true,\n extraOutsideSx: {\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n // Secciones editables del PickersTextField (DD/MM/YYYY en API nueva).\n '& .MuiPickersInputBase-sectionsContainer': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n },\n });\n","import type { DateValidationError } from '@mui/x-date-pickers/models';\n\n/**\n * Traduce el código de error del DatePicker de MUI X a un mensaje en español.\n * Se usa internamente para poblar `helperText` cuando hay error de validación\n * y el consumer no pasó un mensaje propio.\n */\nexport const getDateValidationMessage = (\n error: DateValidationError | null,\n): string => {\n switch (error) {\n case 'minDate':\n case 'maxDate':\n return 'Fecha fuera del rango permitido';\n case 'invalidDate':\n return 'Formato de fecha inválido';\n case 'disableFuture':\n return 'No se permiten fechas futuras';\n case 'disablePast':\n return 'No se permiten fechas pasadas';\n default:\n return '';\n }\n};\n","import React, { useMemo } from 'react';\nimport type { SxProps, Theme } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport {\n DatePicker as MuiDatePicker,\n type DatePickerProps as MuiDatePickerProps,\n} from '@mui/x-date-pickers/DatePicker';\nimport { DateValidationError } from '@mui/x-date-pickers/models';\nimport { Dayjs } from 'dayjs';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\nimport 'dayjs/locale/en-gb';\n\nimport { buildDatePickerSx } from './DatePicker.sx';\nimport { getDateValidationMessage } from './DatePicker.helpers';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport type LabelPosition = 'outside' | 'floating';\nexport type DatePickerSize = 'small' | 'medium';\n\n// ── Props base ───────────────────────────────────────────────────────────\nexport interface BaseDatePickerProps\n extends Omit<MuiDatePickerProps, 'value' | 'onChange' | 'slotProps'> {\n label?: string;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n disabled?: boolean;\n readOnly?: boolean;\n /** Border radius del input. Default: 10 */\n borderRadius?: number | string;\n /** \"outside\" = label arriba del campo (default). \"floating\" = label clásico MUI dentro del borde */\n labelPosition?: LabelPosition;\n /** Tamaño del TextField renderizado. Default: 'small' */\n size?: DatePickerSize;\n /** helperText pasado al TextField (se sobrescribe por el error de validación si hay). */\n helperText?: string;\n /** Error external override. */\n error?: boolean;\n /** sx que se mergea al TextField interno del picker. */\n sx?: SxProps<Theme>;\n className?: string;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.DatePicker`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n /** Locale para el adaptador dayjs. Default: 'en-gb'. */\n adapterLocale?: string;\n /** Passthrough a slotProps.textField. */\n textFieldProps?: Record<string, any>;\n /** Passthrough completo a slotProps del MuiDatePicker. */\n slotProps?: MuiDatePickerProps['slotProps'];\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFDatePickerProps extends BaseDatePickerProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n selectedDate?: never;\n onDateChange?: never;\n}\n\nexport interface ControlledDatePickerProps extends BaseDatePickerProps {\n name?: string;\n control?: never;\n validation?: never;\n selectedDate: Dayjs | null;\n onDateChange: (date: Dayjs | null) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type DatePickerProps = RHFDatePickerProps | ControlledDatePickerProps;\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n const {\n label,\n minDate,\n maxDate,\n disabled,\n readOnly,\n borderRadius = 10,\n labelPosition = 'outside',\n size = 'small',\n helperText,\n error: errorProp,\n sx,\n className,\n preset,\n adapterLocale = 'en-gb',\n textFieldProps,\n slotProps: slotPropsProp,\n ...rest\n } = props as ControlledDatePickerProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const [validationError, setValidationError] = React.useState<DateValidationError | null>(null);\n\n const validationErrorMessage = useMemo(\n () => getDateValidationMessage(validationError),\n [validationError],\n );\n\n const theme = useTheme();\n const presetSx = resolvePreset('DatePicker', preset, theme);\n\n const mergedSx = [\n buildDatePickerSx(borderRadius, labelPosition),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n const renderPicker = (\n value: Dayjs | null,\n onChange: (date: Dayjs | null) => void,\n onBlur?: () => void,\n inputRef?: React.Ref<any>,\n rhfError?: boolean,\n rhfHelperText?: string,\n ) => {\n const finalError = rhfError || !!validationErrorMessage || !!errorProp;\n const finalHelperText = rhfHelperText || validationErrorMessage || helperText;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={adapterLocale}>\n <MuiDatePicker\n label={label}\n value={value}\n onChange={onChange}\n minDate={minDate}\n maxDate={maxDate}\n onError={setValidationError}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n sx={mergedSx}\n slotProps={{\n ...slotPropsProp,\n textField: {\n fullWidth: true,\n size,\n variant: 'outlined',\n onBlur,\n inputRef,\n error: !!finalError,\n helperText: finalHelperText,\n ...(slotPropsProp?.textField as Record<string, any> | undefined),\n ...textFieldProps,\n } as any,\n }}\n {...(rest as any)}\n />\n </LocalizationProvider>\n );\n };\n\n // --- RHF mode ---\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFDatePickerProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n render={({ field, fieldState: { error: fieldError } }) =>\n renderPicker(\n field.value ?? null,\n field.onChange,\n field.onBlur,\n field.ref,\n !!fieldError,\n fieldError?.message,\n )\n }\n />\n );\n }\n\n // --- Controlado ---\n const { selectedDate, onDateChange } = props as ControlledDatePickerProps;\n return renderPicker(selectedDate, onDateChange);\n};\n\nexport default DatePicker;\n"],"names":["module","this","e","a","t","buildFormFieldSx","FIELD_INPUT_PADDING_Y","useMemo","useTheme","resolvePreset","jsx","LocalizationProvider","AdapterDayjs","MuiDatePicker","Controller","_a"],"mappings":"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","x_google_ignoreList":[0]}
@@ -71,6 +71,6 @@ const DateRangePicker = (_a) => {
71
71
  ) });
72
72
  };
73
73
  export {
74
- DateRangePicker
74
+ DateRangePicker as D
75
75
  };
76
- //# sourceMappingURL=DateRangePicker.js.map
76
+ //# sourceMappingURL=DateRangePicker-BVpeJCHI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangePicker-BVpeJCHI.js","sources":["../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import React from 'react';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DateRangePicker as MuiDateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';\nimport { Dayjs } from 'dayjs';\n\n// Define las props para el DateRangePicker\nexport interface DateRangePickerProps {\n label?: string;\n startDate: Dayjs | null;\n endDate: Dayjs | null;\n onDateRangeChange: (start: Dayjs | null, end: Dayjs | null) => void;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n disabled?: boolean;\n readOnly?: boolean;\n slotProps?: any; // Para pasar slotProps a MuiDateRangePicker\n }\n \n export const DateRangePicker: React.FC<DateRangePickerProps> = ({\n label,\n startDate,\n endDate,\n onDateRangeChange,\n minDate,\n maxDate,\n disabled,\n readOnly,\n slotProps,\n ...rest\n }) => {\n const value: [Dayjs | null, Dayjs | null] = [startDate, endDate];\n \n const handleChange = (newValue: [Dayjs | null, Dayjs | null]) => {\n onDateRangeChange(newValue[0], newValue[1]);\n };\n \n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDateRangePicker\n localeText={{ start: 'Fecha de Inicio', end: 'Fecha de Fin' }}\n value={value}\n onChange={handleChange}\n minDate={minDate}\n maxDate={maxDate}\n disabled={disabled}\n readOnly={readOnly}\n slotProps={slotProps} // Pasa los slotProps directamente\n {...rest}\n />\n </LocalizationProvider>\n );\n };\n\nexport default DateRangePicker"],"names":["MuiDateRangePicker"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBS,MAAM,kBAAkD,CAAC,OAW1D;AAX0D,eAC9D;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAT8D,IAU3D,iBAV2D,IAU3D;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,QAAsC,CAAC,WAAW,OAAO;AAE/D,QAAM,eAAe,CAAC,aAA2C;AAC/D,sBAAkB,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;AAAA,EAC5C;AAEA,SACE,oBAAC,sBAAA,EAAqB,aAAa,cACjC,UAAA;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,YAAY,EAAE,OAAO,mBAAmB,KAAK,eAAA;AAAA,MAC7C;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,EAAA,GAER;AAEJ;"}
@@ -27,7 +27,6 @@ var __objRest = (source, exclude) => {
27
27
  }
28
28
  return target;
29
29
  };
30
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
31
30
  const jsxRuntime = require("react/jsx-runtime");
32
31
  const AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
33
32
  const LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
@@ -73,4 +72,4 @@ const DateRangePicker = (_a) => {
73
72
  ) });
74
73
  };
75
74
  exports.DateRangePicker = DateRangePicker;
76
- //# sourceMappingURL=DateRangePicker.cjs.map
75
+ //# sourceMappingURL=DateRangePicker-B_hKQhbj.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangePicker-B_hKQhbj.cjs","sources":["../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import React from 'react';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DateRangePicker as MuiDateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';\nimport { Dayjs } from 'dayjs';\n\n// Define las props para el DateRangePicker\nexport interface DateRangePickerProps {\n label?: string;\n startDate: Dayjs | null;\n endDate: Dayjs | null;\n onDateRangeChange: (start: Dayjs | null, end: Dayjs | null) => void;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n disabled?: boolean;\n readOnly?: boolean;\n slotProps?: any; // Para pasar slotProps a MuiDateRangePicker\n }\n \n export const DateRangePicker: React.FC<DateRangePickerProps> = ({\n label,\n startDate,\n endDate,\n onDateRangeChange,\n minDate,\n maxDate,\n disabled,\n readOnly,\n slotProps,\n ...rest\n }) => {\n const value: [Dayjs | null, Dayjs | null] = [startDate, endDate];\n \n const handleChange = (newValue: [Dayjs | null, Dayjs | null]) => {\n onDateRangeChange(newValue[0], newValue[1]);\n };\n \n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDateRangePicker\n localeText={{ start: 'Fecha de Inicio', end: 'Fecha de Fin' }}\n value={value}\n onChange={handleChange}\n minDate={minDate}\n maxDate={maxDate}\n disabled={disabled}\n readOnly={readOnly}\n slotProps={slotProps} // Pasa los slotProps directamente\n {...rest}\n />\n </LocalizationProvider>\n );\n };\n\nexport default DateRangePicker"],"names":["jsx","LocalizationProvider","AdapterDayjs","MuiDateRangePicker"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBS,MAAM,kBAAkD,CAAC,OAW1D;AAX0D,eAC9D;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAT8D,IAU3D,iBAV2D,IAU3D;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,QAAsC,CAAC,WAAW,OAAO;AAE/D,QAAM,eAAe,CAAC,aAA2C;AAC/D,sBAAkB,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;AAAA,EAC5C;AAEA,SACEA,2BAAAA,IAACC,qBAAAA,sBAAA,EAAqB,aAAaC,aAAAA,cACjC,UAAAF,2BAAAA;AAAAA,IAACG,kBAAAA;AAAAA,IAAA;AAAA,MACC,YAAY,EAAE,OAAO,mBAAmB,KAAK,eAAA;AAAA,MAC7C;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,EAAA,GAER;AAEJ;;"}
@@ -30,7 +30,6 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
34
33
  const jsxRuntime = require("react/jsx-runtime");
35
34
  const React = require("react");
36
35
  const styles = require("@mui/material/styles");
@@ -38,8 +37,8 @@ const AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
38
37
  const LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
39
38
  const DateTimePicker$1 = require("@mui/x-date-pickers/DateTimePicker");
40
39
  const reactHookForm = require("react-hook-form");
41
- const formField_sx = require("../../formField.sx-CQ1mbk9M.cjs");
42
- const resolvePreset = require("../../resolvePreset-CT3kU-K2.cjs");
40
+ const formField_sx = require("./formField.sx-CQ1mbk9M.cjs");
41
+ const resolvePreset = require("./resolvePreset-CxTI6_Ln.cjs");
43
42
  const buildDateTimePickerSx = (borderRadius, labelPosition) => formField_sx.buildFormFieldSx({
44
43
  borderRadius,
45
44
  labelPosition,
@@ -218,5 +217,4 @@ const DateTimePicker = (props) => {
218
217
  return renderPicker(selectedDateTime, onDateTimeChange);
219
218
  };
220
219
  exports.DateTimePicker = DateTimePicker;
221
- exports.default = DateTimePicker;
222
- //# sourceMappingURL=DateTimePicker.cjs.map
220
+ //# sourceMappingURL=DateTimePicker-CWNW09-O.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker-CWNW09-O.cjs","sources":["../src/components/DateTimePicker/DateTimePicker.sx.ts","../src/components/DateTimePicker/DateTimePicker.helpers.ts","../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';\nimport type { LabelPosition } from './DateTimePicker';\n\n/**\n * Builder de sx para el DateTimePicker. Mismo patrón que DatePicker.\n * Usa `includePickersApi: true` para soportar la API nueva de MUI X v8.\n */\nexport const buildDateTimePickerSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): SxProps<Theme> =>\n buildFormFieldSx({\n borderRadius,\n labelPosition,\n includePickersApi: true,\n extraOutsideSx: {\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n '& .MuiPickersInputBase-sectionsContainer': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n },\n });\n","import type { DateValidationError } from '@mui/x-date-pickers/models';\n\n/**\n * Traduce el error del DateTimePicker a un mensaje en español. Se usa\n * internamente para poblar `helperText` cuando hay error de validación.\n */\nexport const getDateTimeValidationMessage = (\n error: DateValidationError | null,\n): string => {\n switch (error) {\n case 'minDate':\n case 'maxDate':\n case 'invalidDate':\n return 'Formato de fecha/hora inválido';\n case 'disableFuture':\n return 'No se permiten fechas/horas futuras';\n case 'disablePast':\n return 'No se permiten fechas/horas pasadas';\n default:\n return '';\n }\n};\n\n/**\n * Construye el `localeText` que MUI acepta para overridear los labels de los\n * botones del popover (Cancel / OK / Clear).\n */\nexport const buildLocaleText = (\n clearButtonText?: string,\n cancelButtonText?: string,\n acceptButtonText?: string,\n): Record<string, string> => {\n const text: Record<string, string> = {};\n if (clearButtonText) text.clearButtonLabel = clearButtonText;\n if (cancelButtonText) text.cancelButtonLabel = cancelButtonText;\n if (acceptButtonText) text.okButtonLabel = acceptButtonText;\n return text;\n};\n","import React, { useMemo } from 'react';\nimport type { SxProps, Theme } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport {\n DateTimePicker as MuiDateTimePicker,\n type DateTimePickerProps as MuiDateTimePickerProps,\n} from '@mui/x-date-pickers/DateTimePicker';\nimport { DateValidationError } from '@mui/x-date-pickers/models';\nimport { Dayjs } from 'dayjs';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildDateTimePickerSx } from './DateTimePicker.sx';\nimport {\n buildLocaleText,\n getDateTimeValidationMessage,\n} from './DateTimePicker.helpers';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport type LabelPosition = 'outside' | 'floating';\nexport type DateTimePickerSize = 'small' | 'medium';\n\n// ── Props base ───────────────────────────────────────────────────────────\nexport interface BaseDateTimePickerProps\n extends Omit<MuiDateTimePickerProps, 'value' | 'onChange' | 'slotProps' | 'format'> {\n label?: string;\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabled?: boolean;\n readOnly?: boolean;\n /** Formato de la fecha/hora. Default: 'DD/MM/YYYY HH:mm'. */\n inputFormat?: string;\n /** Border radius del input. Default: 10. */\n borderRadius?: number | string;\n /** \"outside\" (default) o \"floating\". */\n labelPosition?: LabelPosition;\n /** Tamaño del TextField. Default: 'small'. */\n size?: DateTimePickerSize;\n helperText?: string;\n error?: boolean;\n sx?: SxProps<Theme>;\n className?: string;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.DateTimePicker`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n /** Locale del adaptador dayjs. */\n adapterLocale?: string;\n /** Textos de los botones del popover. */\n clearButtonText?: string;\n cancelButtonText?: string;\n acceptButtonText?: string;\n minutesStep?: number;\n minTime?: Dayjs;\n customClass?: string;\n viewRenderers?: any;\n timeSteps?: any;\n /** Si es true usa formato 12h, false = 24h. Default: false. */\n ampm?: boolean;\n textFieldProps?: Record<string, any>;\n /** Passthrough completo a slotProps del MuiDateTimePicker. */\n slotProps?: MuiDateTimePickerProps['slotProps'];\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFDateTimePickerProps extends BaseDateTimePickerProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n selectedDateTime?: never;\n onDateTimeChange?: never;\n}\n\nexport interface ControlledDateTimePickerProps extends BaseDateTimePickerProps {\n name?: string;\n control?: never;\n validation?: never;\n selectedDateTime: Dayjs | null;\n onDateTimeChange: (dateTime: Dayjs | null) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type DateTimePickerProps =\n | RHFDateTimePickerProps\n | ControlledDateTimePickerProps;\n\nexport const DateTimePicker: React.FC<DateTimePickerProps> = (props) => {\n const {\n label,\n minDateTime,\n maxDateTime,\n disabled,\n readOnly,\n inputFormat,\n borderRadius = 10,\n labelPosition = 'outside',\n size = 'small',\n helperText,\n error: errorProp,\n sx,\n className,\n preset,\n adapterLocale,\n clearButtonText,\n cancelButtonText,\n acceptButtonText,\n minutesStep,\n minTime,\n customClass,\n viewRenderers,\n timeSteps,\n ampm = false,\n textFieldProps,\n slotProps: slotPropsProp,\n ...rest\n } = props as ControlledDateTimePickerProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const [validationError, setValidationError] = React.useState<DateValidationError | null>(null);\n\n const validationErrorMessage = useMemo(\n () => getDateTimeValidationMessage(validationError),\n [validationError],\n );\n\n const customLocaleText = useMemo(\n () => buildLocaleText(clearButtonText, cancelButtonText, acceptButtonText),\n [clearButtonText, cancelButtonText, acceptButtonText],\n );\n\n const theme = useTheme();\n const presetSx = resolvePreset('DateTimePicker', preset, theme);\n\n const mergedSx = [\n buildDateTimePickerSx(borderRadius, labelPosition),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n const renderPicker = (\n value: Dayjs | null,\n onChange: (date: Dayjs | null) => void,\n onBlur?: () => void,\n inputRef?: React.Ref<any>,\n rhfError?: boolean,\n rhfHelperText?: string,\n ) => {\n const finalError = rhfError || !!validationErrorMessage || !!errorProp;\n const finalHelperText = rhfHelperText || validationErrorMessage || helperText;\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDayjs}\n {...(adapterLocale ? { adapterLocale } : {})}\n >\n <MuiDateTimePicker\n className={customClass || className}\n label={label}\n value={value}\n onChange={onChange}\n onError={setValidationError}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n minutesStep={minutesStep}\n disabled={disabled}\n readOnly={readOnly}\n minTime={minTime}\n format={inputFormat ?? 'DD/MM/YYYY HH:mm'}\n viewRenderers={viewRenderers}\n timeSteps={timeSteps}\n ampm={ampm}\n sx={mergedSx}\n slotProps={{\n ...slotPropsProp,\n textField: {\n fullWidth: true,\n size,\n variant: 'outlined',\n onBlur,\n inputRef,\n error: !!finalError,\n helperText: finalHelperText,\n ...(slotPropsProp?.textField as Record<string, any> | undefined),\n ...textFieldProps,\n } as any,\n }}\n localeText={customLocaleText}\n {...(rest as any)}\n />\n </LocalizationProvider>\n );\n };\n\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFDateTimePickerProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n render={({ field, fieldState: { error: fieldError } }) =>\n renderPicker(\n field.value ?? null,\n field.onChange,\n field.onBlur,\n field.ref,\n !!fieldError,\n fieldError?.message,\n )\n }\n />\n );\n }\n\n const { selectedDateTime, onDateTimeChange } = props as ControlledDateTimePickerProps;\n return renderPicker(selectedDateTime, onDateTimeChange);\n};\n\nexport default DateTimePicker;\n"],"names":["buildFormFieldSx","FIELD_INPUT_PADDING_Y","useMemo","useTheme","resolvePreset","jsx","LocalizationProvider","AdapterDayjs","MuiDateTimePicker","Controller","_a"],"mappings":"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"}
@@ -36,8 +36,8 @@ import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
36
36
  import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
37
37
  import { DateTimePicker as DateTimePicker$1 } from "@mui/x-date-pickers/DateTimePicker";
38
38
  import { Controller } from "react-hook-form";
39
- import { b as buildFormFieldSx, F as FIELD_INPUT_PADDING_Y } from "../../formField.sx-DfVbMe0V.js";
40
- import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
39
+ import { b as buildFormFieldSx, F as FIELD_INPUT_PADDING_Y } from "./formField.sx-DfVbMe0V.js";
40
+ import { r as resolvePreset } from "./resolvePreset-K6_BfWHD.js";
41
41
  const buildDateTimePickerSx = (borderRadius, labelPosition) => buildFormFieldSx({
42
42
  borderRadius,
43
43
  labelPosition,
@@ -216,7 +216,6 @@ const DateTimePicker = (props) => {
216
216
  return renderPicker(selectedDateTime, onDateTimeChange);
217
217
  };
218
218
  export {
219
- DateTimePicker,
220
- DateTimePicker as default
219
+ DateTimePicker as D
221
220
  };
222
- //# sourceMappingURL=DateTimePicker.js.map
221
+ //# sourceMappingURL=DateTimePicker-D4L9GAod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker-D4L9GAod.js","sources":["../src/components/DateTimePicker/DateTimePicker.sx.ts","../src/components/DateTimePicker/DateTimePicker.helpers.ts","../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';\nimport type { LabelPosition } from './DateTimePicker';\n\n/**\n * Builder de sx para el DateTimePicker. Mismo patrón que DatePicker.\n * Usa `includePickersApi: true` para soportar la API nueva de MUI X v8.\n */\nexport const buildDateTimePickerSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): SxProps<Theme> =>\n buildFormFieldSx({\n borderRadius,\n labelPosition,\n includePickersApi: true,\n extraOutsideSx: {\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n '& .MuiPickersInputBase-sectionsContainer': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n },\n });\n","import type { DateValidationError } from '@mui/x-date-pickers/models';\n\n/**\n * Traduce el error del DateTimePicker a un mensaje en español. Se usa\n * internamente para poblar `helperText` cuando hay error de validación.\n */\nexport const getDateTimeValidationMessage = (\n error: DateValidationError | null,\n): string => {\n switch (error) {\n case 'minDate':\n case 'maxDate':\n case 'invalidDate':\n return 'Formato de fecha/hora inválido';\n case 'disableFuture':\n return 'No se permiten fechas/horas futuras';\n case 'disablePast':\n return 'No se permiten fechas/horas pasadas';\n default:\n return '';\n }\n};\n\n/**\n * Construye el `localeText` que MUI acepta para overridear los labels de los\n * botones del popover (Cancel / OK / Clear).\n */\nexport const buildLocaleText = (\n clearButtonText?: string,\n cancelButtonText?: string,\n acceptButtonText?: string,\n): Record<string, string> => {\n const text: Record<string, string> = {};\n if (clearButtonText) text.clearButtonLabel = clearButtonText;\n if (cancelButtonText) text.cancelButtonLabel = cancelButtonText;\n if (acceptButtonText) text.okButtonLabel = acceptButtonText;\n return text;\n};\n","import React, { useMemo } from 'react';\nimport type { SxProps, Theme } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport {\n DateTimePicker as MuiDateTimePicker,\n type DateTimePickerProps as MuiDateTimePickerProps,\n} from '@mui/x-date-pickers/DateTimePicker';\nimport { DateValidationError } from '@mui/x-date-pickers/models';\nimport { Dayjs } from 'dayjs';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildDateTimePickerSx } from './DateTimePicker.sx';\nimport {\n buildLocaleText,\n getDateTimeValidationMessage,\n} from './DateTimePicker.helpers';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport type LabelPosition = 'outside' | 'floating';\nexport type DateTimePickerSize = 'small' | 'medium';\n\n// ── Props base ───────────────────────────────────────────────────────────\nexport interface BaseDateTimePickerProps\n extends Omit<MuiDateTimePickerProps, 'value' | 'onChange' | 'slotProps' | 'format'> {\n label?: string;\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabled?: boolean;\n readOnly?: boolean;\n /** Formato de la fecha/hora. Default: 'DD/MM/YYYY HH:mm'. */\n inputFormat?: string;\n /** Border radius del input. Default: 10. */\n borderRadius?: number | string;\n /** \"outside\" (default) o \"floating\". */\n labelPosition?: LabelPosition;\n /** Tamaño del TextField. Default: 'small'. */\n size?: DateTimePickerSize;\n helperText?: string;\n error?: boolean;\n sx?: SxProps<Theme>;\n className?: string;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.DateTimePicker`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n /** Locale del adaptador dayjs. */\n adapterLocale?: string;\n /** Textos de los botones del popover. */\n clearButtonText?: string;\n cancelButtonText?: string;\n acceptButtonText?: string;\n minutesStep?: number;\n minTime?: Dayjs;\n customClass?: string;\n viewRenderers?: any;\n timeSteps?: any;\n /** Si es true usa formato 12h, false = 24h. Default: false. */\n ampm?: boolean;\n textFieldProps?: Record<string, any>;\n /** Passthrough completo a slotProps del MuiDateTimePicker. */\n slotProps?: MuiDateTimePickerProps['slotProps'];\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFDateTimePickerProps extends BaseDateTimePickerProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n selectedDateTime?: never;\n onDateTimeChange?: never;\n}\n\nexport interface ControlledDateTimePickerProps extends BaseDateTimePickerProps {\n name?: string;\n control?: never;\n validation?: never;\n selectedDateTime: Dayjs | null;\n onDateTimeChange: (dateTime: Dayjs | null) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type DateTimePickerProps =\n | RHFDateTimePickerProps\n | ControlledDateTimePickerProps;\n\nexport const DateTimePicker: React.FC<DateTimePickerProps> = (props) => {\n const {\n label,\n minDateTime,\n maxDateTime,\n disabled,\n readOnly,\n inputFormat,\n borderRadius = 10,\n labelPosition = 'outside',\n size = 'small',\n helperText,\n error: errorProp,\n sx,\n className,\n preset,\n adapterLocale,\n clearButtonText,\n cancelButtonText,\n acceptButtonText,\n minutesStep,\n minTime,\n customClass,\n viewRenderers,\n timeSteps,\n ampm = false,\n textFieldProps,\n slotProps: slotPropsProp,\n ...rest\n } = props as ControlledDateTimePickerProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const [validationError, setValidationError] = React.useState<DateValidationError | null>(null);\n\n const validationErrorMessage = useMemo(\n () => getDateTimeValidationMessage(validationError),\n [validationError],\n );\n\n const customLocaleText = useMemo(\n () => buildLocaleText(clearButtonText, cancelButtonText, acceptButtonText),\n [clearButtonText, cancelButtonText, acceptButtonText],\n );\n\n const theme = useTheme();\n const presetSx = resolvePreset('DateTimePicker', preset, theme);\n\n const mergedSx = [\n buildDateTimePickerSx(borderRadius, labelPosition),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n const renderPicker = (\n value: Dayjs | null,\n onChange: (date: Dayjs | null) => void,\n onBlur?: () => void,\n inputRef?: React.Ref<any>,\n rhfError?: boolean,\n rhfHelperText?: string,\n ) => {\n const finalError = rhfError || !!validationErrorMessage || !!errorProp;\n const finalHelperText = rhfHelperText || validationErrorMessage || helperText;\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDayjs}\n {...(adapterLocale ? { adapterLocale } : {})}\n >\n <MuiDateTimePicker\n className={customClass || className}\n label={label}\n value={value}\n onChange={onChange}\n onError={setValidationError}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n minutesStep={minutesStep}\n disabled={disabled}\n readOnly={readOnly}\n minTime={minTime}\n format={inputFormat ?? 'DD/MM/YYYY HH:mm'}\n viewRenderers={viewRenderers}\n timeSteps={timeSteps}\n ampm={ampm}\n sx={mergedSx}\n slotProps={{\n ...slotPropsProp,\n textField: {\n fullWidth: true,\n size,\n variant: 'outlined',\n onBlur,\n inputRef,\n error: !!finalError,\n helperText: finalHelperText,\n ...(slotPropsProp?.textField as Record<string, any> | undefined),\n ...textFieldProps,\n } as any,\n }}\n localeText={customLocaleText}\n {...(rest as any)}\n />\n </LocalizationProvider>\n );\n };\n\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFDateTimePickerProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n render={({ field, fieldState: { error: fieldError } }) =>\n renderPicker(\n field.value ?? null,\n field.onChange,\n field.onBlur,\n field.ref,\n !!fieldError,\n fieldError?.message,\n )\n }\n />\n );\n }\n\n const { selectedDateTime, onDateTimeChange } = props as ControlledDateTimePickerProps;\n return renderPicker(selectedDateTime, onDateTimeChange);\n};\n\nexport default DateTimePicker;\n"],"names":["React","MuiDateTimePicker","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,wBAAwB,CACnC,cACA,kBAEA,iBAAiB;AAAA,EACf;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,IACd,yBAAyB;AAAA,MACvB,YAAY;AAAA,MACZ,eAAe;AAAA,IAAA;AAAA,IAGjB,4CAA4C;AAAA,MAC1C,YAAY;AAAA,MACZ,eAAe;AAAA,IAAA;AAAA,EACjB;AAEJ,CAAC;ACvBI,MAAM,+BAA+B,CAC1C,UACW;AACX,UAAQ,OAAA;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;AAMO,MAAM,kBAAkB,CAC7B,iBACA,kBACA,qBAC2B;AAC3B,QAAM,OAA+B,CAAA;AACrC,MAAI,sBAAsB,mBAAmB;AAC7C,MAAI,uBAAuB,oBAAoB;AAC/C,MAAI,uBAAuB,gBAAgB;AAC3C,SAAO;AACT;ACqDO,MAAM,iBAAgD,CAAC,UAAU;AACtE,QA4BI,YA3BF;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MAET,IADC,iBACD,IADC;AAAA,IA1BH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOF,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,eAAM,SAAqC,IAAI;AAE7F,QAAM,yBAAyB;AAAA,IAC7B,MAAM,6BAA6B,eAAe;AAAA,IAClD,CAAC,eAAe;AAAA,EAAA;AAGlB,QAAM,mBAAmB;AAAA,IACvB,MAAM,gBAAgB,iBAAiB,kBAAkB,gBAAgB;AAAA,IACzE,CAAC,iBAAiB,kBAAkB,gBAAgB;AAAA,EAAA;AAGtD,QAAM,QAAQ,SAAA;AACd,QAAM,WAAW,cAAc,kBAAkB,QAAQ,KAAK;AAE9D,QAAM,WAAW;AAAA,IACf,sBAAsB,cAAc,aAAa;AAAA,IACjD,GAAI,WAAW,CAAC,QAAQ,IAAI,CAAA;AAAA,IAC5B,GAAI,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE;AAAA,EAAA;AAGlC,QAAM,eAAe,CACnB,OACA,UACA,QACA,UACA,UACA,kBACG;AACH,UAAM,aAAa,YAAY,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAC7D,UAAM,kBAAkB,iBAAiB,0BAA0B;AAEnE,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAa;AAAA,SACR,gBAAgB,EAAE,cAAA,IAAkB,CAAA,IAF1C;AAAA,QAIC,UAAA;AAAA,UAACC;AAAAA,UAAA;AAAA,YACC,WAAW,eAAe;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,QAAQ,oCAAe;AAAA,YACvB;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAI;AAAA,YACJ,WAAW,iCACN,gBADM;AAAA,cAET,WAAW;AAAA,gBACT,WAAW;AAAA,gBACX;AAAA,gBACA,SAAS;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA,OAAO,CAAC,CAAC;AAAA,gBACT,YAAY;AAAA,iBACR,+CAAe,YAChB;AAAA,YACL;AAAA,YAEF,YAAY;AAAA,aACP;AAAA,QAAA;AAAA,MACP;AAAA,IAAA;AAAA,EAGN;AAEA,MAAI,aAAa,SAAS,MAAM,SAAS;AACvC,UAAM,EAAE,MAAM,SAAS,WAAA,IAAe;AACtC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,OAAO,WAAA,EAAW;;AAChD;AAAA,aACEC,MAAA,MAAM,UAAN,OAAAA,MAAe;AAAA,YACf,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,CAAC,CAAC;AAAA,YACF,yCAAY;AAAA,UAAA;AAAA;AAAA,MACd;AAAA,IAAA;AAAA,EAIR;AAEA,QAAM,EAAE,kBAAkB,iBAAA,IAAqB;AAC/C,SAAO,aAAa,kBAAkB,gBAAgB;AACxD;"}
@@ -33,8 +33,8 @@ import { jsx } from "react/jsx-runtime";
33
33
  import { TextField } from "@mui/material";
34
34
  import { useTheme } from "@mui/material/styles";
35
35
  import { Controller } from "react-hook-form";
36
- import { b as buildFormFieldSx, F as FIELD_INPUT_PADDING_Y } from "../../formField.sx-DfVbMe0V.js";
37
- import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
36
+ import { b as buildFormFieldSx, F as FIELD_INPUT_PADDING_Y } from "./formField.sx-DfVbMe0V.js";
37
+ import { r as resolvePreset } from "./resolvePreset-K6_BfWHD.js";
38
38
  const parseValue = (raw, type) => {
39
39
  if (type !== "number") return raw;
40
40
  if (raw === "" || raw === "-") return raw;
@@ -169,7 +169,6 @@ const Input = (props) => {
169
169
  );
170
170
  };
171
171
  export {
172
- Input,
173
- Input as default
172
+ Input as I
174
173
  };
175
- //# sourceMappingURL=Input.js.map
174
+ //# sourceMappingURL=Input-Cp911l23.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-Cp911l23.js","sources":["../src/components/Input/Input.helpers.ts","../src/components/Input/Input.sx.ts","../src/components/Input/Input.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from 'react';\nimport type { TextFieldProps } from '@mui/material';\nimport type { InputType, LabelPosition } from './Input';\n\n/**\n * Convierte el valor raw del evento al tipo apropiado.\n * Para type=\"number\" intenta parsear a número; si falla, devuelve el raw\n * (permite estados intermedios como \"\" o \"-\" mientras el usuario tipea).\n */\nexport const parseValue = (raw: string, type: InputType): string | number => {\n if (type !== 'number') return raw;\n if (raw === '' || raw === '-') return raw;\n const n = parseFloat(raw);\n return isNaN(n) ? raw : n;\n};\n\n/**\n * Construye los slotProps del TextField consolidando htmlInput + inputLabel.\n * Maneja los atributos min/max cuando type=\"number\" y readOnly.\n */\nexport const buildSlotProps = (\n type: InputType,\n min: number | undefined,\n max: number | undefined,\n customSlotProps: TextFieldProps['slotProps'],\n customInputProps: InputHTMLAttributes<HTMLInputElement> | undefined,\n _labelPosition: LabelPosition,\n readOnly?: boolean,\n): TextFieldProps['slotProps'] => {\n const numberAttrs =\n type === 'number'\n ? { min: min ?? Number.NEGATIVE_INFINITY, ...(max !== undefined && { max }) }\n : {};\n\n return {\n ...customSlotProps,\n htmlInput: {\n ...customInputProps,\n ...(customSlotProps as any)?.htmlInput,\n ...numberAttrs,\n ...(readOnly && { readOnly: true }),\n },\n // Dejamos que MUI maneje el shrink nativamente (animación inside → up).\n // El consumidor puede forzar shrink con slotProps.inputLabel.shrink=true si lo necesita.\n inputLabel: {\n ...(customSlotProps as any)?.inputLabel,\n },\n };\n};\n","import type { TextFieldProps } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';\nimport type { LabelPosition } from './Input';\n\n/**\n * Builder de sx para el Input. Usa el builder compartido\n * `buildFormFieldSx` y añade overrides específicos de TextField\n * (padding del input base, filled, standard).\n */\nexport const buildInputSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): TextFieldProps['sx'] => {\n const radius = typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n return buildFormFieldSx({\n borderRadius,\n labelPosition,\n extraOutsideSx: {\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n // Filled: quitar el padding-top reservado para el label flotante dentro.\n '& .MuiFilledInput-root': {\n paddingTop: 0,\n borderRadius: `${radius} ${radius} 0 0`,\n },\n '& .MuiFilledInput-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n },\n\n // Standard: quitar el margin-top reservado para el label flotante.\n '& .MuiInput-root': {\n marginTop: 0,\n },\n },\n });\n};\n","import { TextField, type TextFieldProps } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { parseValue, buildSlotProps } from './Input.helpers';\nimport { buildInputSx } from './Input.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport type InputType =\n | 'text' | 'number' | 'email' | 'password' | 'tel'\n | 'url' | 'search' | 'date' | 'datetime-local'\n | 'month' | 'week' | 'time' | 'color';\n\nexport type LabelPosition = 'outside' | 'floating';\n\n// ── Props base (todo lo común entre RHF y controlado) ────────────────────\nexport interface BaseInputProps\n extends Omit<TextFieldProps, 'value' | 'onChange' | 'type'> {\n type?: InputType;\n min?: number;\n max?: number;\n /** Border radius del input. Default: 10 */\n borderRadius?: number | string;\n /** \"outside\" = label arriba del campo (default). \"floating\" = label clásico MUI dentro del borde */\n labelPosition?: LabelPosition;\n readOnly?: boolean;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Input`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFInputProps extends BaseInputProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n value?: never;\n onChange?: never;\n}\n\nexport interface ControlledInputProps extends BaseInputProps {\n name?: string;\n control?: never;\n validation?: never;\n value: string | number;\n onChange: (value: string | number) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type InputProps = RHFInputProps | ControlledInputProps;\n\nexport const Input: React.FC<InputProps> = (props) => {\n const {\n type = 'text',\n variant = 'outlined',\n size = 'small',\n borderRadius = 10,\n labelPosition = 'outside',\n preset,\n min,\n max,\n readOnly,\n inputProps,\n slotProps,\n sx,\n ...rest\n } = props as ControlledInputProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n readOnly?: boolean;\n preset?: string;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('Input', preset, theme);\n\n const finalSlotProps = buildSlotProps(\n type,\n min,\n max,\n slotProps,\n inputProps,\n labelPosition,\n readOnly,\n );\n const mergedSx = [\n buildInputSx(borderRadius, labelPosition),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFInputProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n render={({ field, fieldState: { error } }) => (\n <TextField\n fullWidth\n {...rest}\n name={field.name}\n value={field.value ?? ''}\n onChange={(e) => field.onChange(parseValue(e.target.value, type))}\n onBlur={field.onBlur}\n inputRef={field.ref}\n type={type}\n variant={variant}\n size={size}\n slotProps={finalSlotProps}\n sx={mergedSx}\n error={!!error || rest.error}\n helperText={error?.message ?? rest.helperText}\n />\n )}\n />\n );\n }\n\n const { value, onChange } = props as ControlledInputProps;\n return (\n <TextField\n fullWidth\n {...rest}\n value={value ?? ''}\n onChange={(e) => onChange(parseValue(e.target.value, type))}\n type={type}\n variant={variant}\n size={size}\n slotProps={finalSlotProps}\n sx={mergedSx}\n />\n );\n};\n\nexport default Input;\n"],"names":["_a"],"mappings":"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"}
@@ -30,13 +30,12 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
34
33
  const jsxRuntime = require("react/jsx-runtime");
35
34
  const material = require("@mui/material");
36
35
  const styles = require("@mui/material/styles");
37
36
  const reactHookForm = require("react-hook-form");
38
- const formField_sx = require("../../formField.sx-CQ1mbk9M.cjs");
39
- const resolvePreset = require("../../resolvePreset-CT3kU-K2.cjs");
37
+ const formField_sx = require("./formField.sx-CQ1mbk9M.cjs");
38
+ const resolvePreset = require("./resolvePreset-CxTI6_Ln.cjs");
40
39
  const parseValue = (raw, type) => {
41
40
  if (type !== "number") return raw;
42
41
  if (raw === "" || raw === "-") return raw;
@@ -171,5 +170,4 @@ const Input = (props) => {
171
170
  );
172
171
  };
173
172
  exports.Input = Input;
174
- exports.default = Input;
175
- //# sourceMappingURL=Input.cjs.map
173
+ //# sourceMappingURL=Input-DI0jfq5X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-DI0jfq5X.cjs","sources":["../src/components/Input/Input.helpers.ts","../src/components/Input/Input.sx.ts","../src/components/Input/Input.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from 'react';\nimport type { TextFieldProps } from '@mui/material';\nimport type { InputType, LabelPosition } from './Input';\n\n/**\n * Convierte el valor raw del evento al tipo apropiado.\n * Para type=\"number\" intenta parsear a número; si falla, devuelve el raw\n * (permite estados intermedios como \"\" o \"-\" mientras el usuario tipea).\n */\nexport const parseValue = (raw: string, type: InputType): string | number => {\n if (type !== 'number') return raw;\n if (raw === '' || raw === '-') return raw;\n const n = parseFloat(raw);\n return isNaN(n) ? raw : n;\n};\n\n/**\n * Construye los slotProps del TextField consolidando htmlInput + inputLabel.\n * Maneja los atributos min/max cuando type=\"number\" y readOnly.\n */\nexport const buildSlotProps = (\n type: InputType,\n min: number | undefined,\n max: number | undefined,\n customSlotProps: TextFieldProps['slotProps'],\n customInputProps: InputHTMLAttributes<HTMLInputElement> | undefined,\n _labelPosition: LabelPosition,\n readOnly?: boolean,\n): TextFieldProps['slotProps'] => {\n const numberAttrs =\n type === 'number'\n ? { min: min ?? Number.NEGATIVE_INFINITY, ...(max !== undefined && { max }) }\n : {};\n\n return {\n ...customSlotProps,\n htmlInput: {\n ...customInputProps,\n ...(customSlotProps as any)?.htmlInput,\n ...numberAttrs,\n ...(readOnly && { readOnly: true }),\n },\n // Dejamos que MUI maneje el shrink nativamente (animación inside → up).\n // El consumidor puede forzar shrink con slotProps.inputLabel.shrink=true si lo necesita.\n inputLabel: {\n ...(customSlotProps as any)?.inputLabel,\n },\n };\n};\n","import type { TextFieldProps } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';\nimport type { LabelPosition } from './Input';\n\n/**\n * Builder de sx para el Input. Usa el builder compartido\n * `buildFormFieldSx` y añade overrides específicos de TextField\n * (padding del input base, filled, standard).\n */\nexport const buildInputSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): TextFieldProps['sx'] => {\n const radius = typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n return buildFormFieldSx({\n borderRadius,\n labelPosition,\n extraOutsideSx: {\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n // Filled: quitar el padding-top reservado para el label flotante dentro.\n '& .MuiFilledInput-root': {\n paddingTop: 0,\n borderRadius: `${radius} ${radius} 0 0`,\n },\n '& .MuiFilledInput-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n },\n\n // Standard: quitar el margin-top reservado para el label flotante.\n '& .MuiInput-root': {\n marginTop: 0,\n },\n },\n });\n};\n","import { TextField, type TextFieldProps } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { parseValue, buildSlotProps } from './Input.helpers';\nimport { buildInputSx } from './Input.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport type InputType =\n | 'text' | 'number' | 'email' | 'password' | 'tel'\n | 'url' | 'search' | 'date' | 'datetime-local'\n | 'month' | 'week' | 'time' | 'color';\n\nexport type LabelPosition = 'outside' | 'floating';\n\n// ── Props base (todo lo común entre RHF y controlado) ────────────────────\nexport interface BaseInputProps\n extends Omit<TextFieldProps, 'value' | 'onChange' | 'type'> {\n type?: InputType;\n min?: number;\n max?: number;\n /** Border radius del input. Default: 10 */\n borderRadius?: number | string;\n /** \"outside\" = label arriba del campo (default). \"floating\" = label clásico MUI dentro del borde */\n labelPosition?: LabelPosition;\n readOnly?: boolean;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Input`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFInputProps extends BaseInputProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n value?: never;\n onChange?: never;\n}\n\nexport interface ControlledInputProps extends BaseInputProps {\n name?: string;\n control?: never;\n validation?: never;\n value: string | number;\n onChange: (value: string | number) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type InputProps = RHFInputProps | ControlledInputProps;\n\nexport const Input: React.FC<InputProps> = (props) => {\n const {\n type = 'text',\n variant = 'outlined',\n size = 'small',\n borderRadius = 10,\n labelPosition = 'outside',\n preset,\n min,\n max,\n readOnly,\n inputProps,\n slotProps,\n sx,\n ...rest\n } = props as ControlledInputProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n readOnly?: boolean;\n preset?: string;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('Input', preset, theme);\n\n const finalSlotProps = buildSlotProps(\n type,\n min,\n max,\n slotProps,\n inputProps,\n labelPosition,\n readOnly,\n );\n const mergedSx = [\n buildInputSx(borderRadius, labelPosition),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFInputProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n render={({ field, fieldState: { error } }) => (\n <TextField\n fullWidth\n {...rest}\n name={field.name}\n value={field.value ?? ''}\n onChange={(e) => field.onChange(parseValue(e.target.value, type))}\n onBlur={field.onBlur}\n inputRef={field.ref}\n type={type}\n variant={variant}\n size={size}\n slotProps={finalSlotProps}\n sx={mergedSx}\n error={!!error || rest.error}\n helperText={error?.message ?? rest.helperText}\n />\n )}\n />\n );\n }\n\n const { value, onChange } = props as ControlledInputProps;\n return (\n <TextField\n fullWidth\n {...rest}\n value={value ?? ''}\n onChange={(e) => onChange(parseValue(e.target.value, type))}\n type={type}\n variant={variant}\n size={size}\n slotProps={finalSlotProps}\n sx={mergedSx}\n />\n );\n};\n\nexport default Input;\n"],"names":["buildFormFieldSx","FIELD_INPUT_PADDING_Y","useTheme","resolvePreset","jsx","Controller","TextField","_a"],"mappings":"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"}
@@ -30,7 +30,6 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
34
33
  const jsxRuntime = require("react/jsx-runtime");
35
34
  const React = require("react");
36
35
  const material = require("@mui/material");
@@ -312,8 +311,9 @@ const ModalWithStatics = Modal;
312
311
  ModalWithStatics.Header = ModalHeader;
313
312
  ModalWithStatics.Body = ModalBody;
314
313
  ModalWithStatics.Footer = ModalFooter;
315
- exports.Modal = ModalWithStatics;
314
+ exports.Modal = Modal;
316
315
  exports.ModalBody = ModalBody;
317
316
  exports.ModalFooter = ModalFooter;
318
317
  exports.ModalHeader = ModalHeader;
319
- //# sourceMappingURL=Modal.cjs.map
318
+ exports.ModalWithStatics = ModalWithStatics;
319
+ //# sourceMappingURL=Modal-Bm_HH9cv.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal-Bm_HH9cv.cjs","sources":["../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/Modal/ModalBody.tsx","../src/components/Modal/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Button, Stack } from '@mui/material';\nimport { ButtonProps } from '@mui/material/Button';\n\n// Interfaz para acciones personalizadas (se mantiene aquí)\nexport interface ModalAction {\n text: string;\n onClick?: () => void;\n disabled?: boolean;\n variant?: ButtonProps['variant'];\n color?: ButtonProps['color'];\n /**\n * Props adicionales que se forwardean al `<Button>` interno. Útil para casos\n * avanzados como conectar el botón con un `<form id=\"...\">` externo usando\n * `buttonProps={{ type: 'submit', form: 'my-form-id' }}`.\n */\n buttonProps?: Partial<ButtonProps> & { form?: string };\n}\n\nexport interface ModalFooterProps { // Renombrado\n children?: React.ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n onClose: () => void;\n actions?: ModalAction[];\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ // Renombrado\n children,\n showCloseButton = true,\n closeButtonText = \"Cerrar\",\n closeButtonDisabled = false,\n onClose,\n actions = [],\n}) => {\n return (\n <Box sx={{ padding: 2, borderTop: '1px solid #e0e0e0', display: 'flex', justifyContent: 'flex-end', gap: 1 }}>\n {children}\n <Stack direction=\"row\" spacing={1}>\n {showCloseButton && (\n <Button\n onClick={onClose}\n disabled={closeButtonDisabled}\n variant=\"outlined\"\n color=\"secondary\"\n >\n {closeButtonText}\n </Button>\n )}\n {actions.map((action, index) => {\n const { buttonProps } = action;\n return (\n <Button\n key={index}\n onClick={action.onClick}\n disabled={action.disabled}\n variant={action.variant || 'contained'}\n color={action.color || 'primary'}\n {...(buttonProps as any)}\n >\n {action.text}\n </Button>\n );\n })}\n </Stack>\n </Box>\n );\n};\n\nexport default ModalFooter;","import React from 'react';\nimport { Box, Typography } from '@mui/material';\n\ninterface ModalHeaderProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, borderBottom: '1px solid #e0e0e0', display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <Typography variant=\"h6\" component=\"h2\">\n {children}\n </Typography>\n </Box>\n );\n};\n\nexport default ModalHeader;","import React from 'react';\nimport { Box } from '@mui/material';\n\ninterface ModalBodyProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, overflowY: 'auto', flexGrow: 1 }}>\n {children}\n </Box>\n );\n};\n\nexport default ModalBody;","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n type ReactNode,\n} from 'react';\nimport {\n Modal as MuiModal,\n Paper,\n useTheme,\n useMediaQuery,\n Box,\n Stack,\n Typography,\n} from '@mui/material';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport WarningAmberIcon from '@mui/icons-material/WarningAmber';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';\n\nimport type { DialogProps } from '@mui/material/Dialog';\nimport { ModalAction, ModalFooter, ModalFooterProps } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\n\n// Define la interfaz para los métodos que el padre puede llamar a través de la ref\nexport interface ModalRef {\n open: () => void;\n close: () => void;\n}\n\nexport type ModalMode = 'default' | 'confirm';\nexport type ModalSeverity = 'info' | 'warning' | 'error' | 'success';\n\ninterface ModalProps {\n /**\n * Modo del modal.\n * - `default` (default): modal genérico con slots `Header`/`Body`/`Footer` y\n * `actions` custom.\n * - `confirm`: reemplaza al `ConfirmModal` legacy. Renderiza un layout\n * focalizado con icono por severidad, mensaje y botones \"Cancelar\" /\n * \"Confirmar\".\n */\n mode?: ModalMode;\n\n // ── Props comunes ────────────────────────────────────────────────────\n /** Controlado externamente. Omitir si se usa vía ref. */\n open?: boolean;\n /** Callback al cerrar. También se dispara al confirmar/cancelar. */\n onClose?: () => void;\n title?: string;\n children?: ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n actions?: ModalAction[];\n maxWidth?: DialogProps['maxWidth'];\n hiddenFooter?: boolean;\n\n // ── Props del modo confirm ───────────────────────────────────────────\n /**\n * Callback de confirmación. Soporta promesa — si devuelve `Promise`, el\n * botón muestra estado `disabled` mientras resuelve.\n */\n onConfirm?: () => void | Promise<void>;\n /** Texto del botón primario en modo `confirm`. Default: \"Confirmar\". */\n confirmText?: string;\n /** Deshabilita el botón de confirmar. */\n confirmDisabled?: boolean;\n /**\n * Severidad visual en modo `confirm`. Controla el icono y el color del\n * botón de confirmación.\n * - `info` (default): primary\n * - `warning`: warning (amarillo)\n * - `error`: error (rojo) — típico para \"Eliminar\"\n * - `success`: success (verde) — típico para \"Aprobar\"\n */\n severity?: ModalSeverity;\n /**\n * Mensaje del confirm. Puede ser string o cualquier ReactNode. Si se omite,\n * se usa `children`.\n */\n confirmMessage?: ReactNode;\n}\n\nconst modalStyle = {\n position: 'absolute' as const,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '90%',\n maxHeight: '90vh',\n display: 'flex',\n flexDirection: 'column' as const,\n outline: 'none',\n};\n\nconst severityConfig: Record<\n ModalSeverity,\n { color: ModalAction['color']; icon: ReactNode; bg: string }\n> = {\n info: {\n color: 'primary',\n icon: <InfoOutlinedIcon sx={{ fontSize: 48 }} />,\n bg: 'primary.light',\n },\n warning: {\n color: 'warning',\n icon: <WarningAmberIcon sx={{ fontSize: 48 }} />,\n bg: 'warning.light',\n },\n error: {\n color: 'error',\n icon: <ErrorOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'error.light',\n },\n success: {\n color: 'success',\n icon: <CheckCircleOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'success.light',\n },\n};\n\nexport const Modal = forwardRef<ModalRef, ModalProps>(\n (\n {\n mode = 'default',\n open: controlledOpen,\n onClose: controlledOnClose,\n title,\n children,\n showCloseButton = true,\n closeButtonText = 'Cerrar',\n closeButtonDisabled = false,\n actions = [],\n maxWidth = 'sm',\n hiddenFooter = false,\n\n // Props del modo confirm\n onConfirm,\n confirmText = 'Confirmar',\n confirmDisabled = false,\n severity = 'info',\n confirmMessage,\n },\n ref,\n ) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const [confirmLoading, setConfirmLoading] = useState(false);\n\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n\n useImperativeHandle(ref, () => ({\n open: () => setInternalOpen(true),\n close: () => {\n setInternalOpen(false);\n controlledOnClose?.();\n },\n }));\n\n const handleCloseInternal = () => {\n setInternalOpen(false);\n controlledOnClose?.();\n };\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n handleCloseInternal();\n return;\n }\n try {\n const result = onConfirm();\n if (result instanceof Promise) {\n setConfirmLoading(true);\n await result;\n }\n } finally {\n setConfirmLoading(false);\n handleCloseInternal();\n }\n };\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const getWidth = () => {\n if (isMobile) return '95%';\n switch (maxWidth) {\n case 'xs':\n return 300;\n case 'sm':\n return 500;\n case 'md':\n return 700;\n case 'lg':\n return 900;\n case 'xl':\n return 1100;\n case false:\n return 'auto';\n default:\n return 500;\n }\n };\n\n // ── Render modo CONFIRM ─────────────────────────────────────────────\n if (mode === 'confirm') {\n const config = severityConfig[severity];\n const message = confirmMessage ?? children;\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n <Stack spacing={2.5} sx={{ p: 3, alignItems: 'center', textAlign: 'center' }}>\n <Box\n sx={{\n width: 72,\n height: 72,\n borderRadius: '50%',\n backgroundColor: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].light,\n color: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].dark,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0.9,\n }}\n >\n {config.icon}\n </Box>\n {title && (\n <Typography variant=\"h6\" component=\"h2\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n )}\n {message && (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n )}\n </Stack>\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled || confirmLoading}\n onClose={handleCloseInternal}\n actions={[\n {\n text: confirmText,\n onClick: handleConfirm,\n disabled: confirmDisabled || confirmLoading,\n variant: 'contained',\n color: config.color,\n },\n ]}\n />\n </Paper>\n </MuiModal>\n );\n }\n\n // ── Render modo DEFAULT (legacy) ────────────────────────────────────\n const renderChildren = () => {\n let header: ReactNode | null = null;\n let body: ReactNode | null = null;\n let footer: ReactNode | null = null;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === ModalHeader) {\n header = child;\n } else if (child.type === ModalBody) {\n body = child;\n } else if (child.type === ModalFooter) {\n const footerChild = child as React.ReactElement<ModalFooterProps>;\n const {\n showCloseButton: childShowCloseButton,\n closeButtonText: childCloseButtonText,\n closeButtonDisabled: childCloseButtonDisabled,\n onClose: childOnClose,\n actions: childActions,\n ...restOfFooterProps\n } = footerChild.props;\n\n footer = React.cloneElement(footerChild, {\n showCloseButton,\n closeButtonText,\n closeButtonDisabled,\n onClose: handleCloseInternal,\n actions,\n ...restOfFooterProps,\n });\n }\n }\n });\n\n if (!footer && !hiddenFooter) {\n footer = (\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled}\n onClose={handleCloseInternal}\n actions={actions}\n />\n );\n }\n\n return (\n <>\n {header || (title && <ModalHeader>{title}</ModalHeader>)}\n {body}\n {footer}\n </>\n );\n };\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n aria-describedby=\"modal-description\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n {renderChildren()}\n </Paper>\n </MuiModal>\n );\n },\n);\n\n// Define los sub-componentes como propiedades estáticas con tipos explícitos\ntype ModalComponent = React.ForwardRefExoticComponent<\n ModalProps & React.RefAttributes<ModalRef>\n> & {\n Header: typeof ModalHeader;\n Body: typeof ModalBody;\n Footer: typeof ModalFooter;\n};\n\nconst ModalWithStatics = Modal as ModalComponent;\n\nModalWithStatics.Header = ModalHeader;\nModalWithStatics.Body = ModalBody;\nModalWithStatics.Footer = ModalFooter;\n\nexport default ModalWithStatics;\n"],"names":["jsxs","Box","Stack","jsx","Button","Typography","forwardRef","useState","useImperativeHandle","useTheme","useMediaQuery","MuiModal","Paper","Fragment"],"mappings":"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"}
@@ -311,9 +311,10 @@ ModalWithStatics.Header = ModalHeader;
311
311
  ModalWithStatics.Body = ModalBody;
312
312
  ModalWithStatics.Footer = ModalFooter;
313
313
  export {
314
- ModalWithStatics as Modal,
315
- ModalBody,
316
- ModalFooter,
317
- ModalHeader
314
+ Modal as M,
315
+ ModalHeader as a,
316
+ ModalBody as b,
317
+ ModalFooter as c,
318
+ ModalWithStatics as d
318
319
  };
319
- //# sourceMappingURL=Modal.js.map
320
+ //# sourceMappingURL=Modal-Bnz6d9m9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal-Bnz6d9m9.js","sources":["../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/Modal/ModalBody.tsx","../src/components/Modal/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Button, Stack } from '@mui/material';\nimport { ButtonProps } from '@mui/material/Button';\n\n// Interfaz para acciones personalizadas (se mantiene aquí)\nexport interface ModalAction {\n text: string;\n onClick?: () => void;\n disabled?: boolean;\n variant?: ButtonProps['variant'];\n color?: ButtonProps['color'];\n /**\n * Props adicionales que se forwardean al `<Button>` interno. Útil para casos\n * avanzados como conectar el botón con un `<form id=\"...\">` externo usando\n * `buttonProps={{ type: 'submit', form: 'my-form-id' }}`.\n */\n buttonProps?: Partial<ButtonProps> & { form?: string };\n}\n\nexport interface ModalFooterProps { // Renombrado\n children?: React.ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n onClose: () => void;\n actions?: ModalAction[];\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ // Renombrado\n children,\n showCloseButton = true,\n closeButtonText = \"Cerrar\",\n closeButtonDisabled = false,\n onClose,\n actions = [],\n}) => {\n return (\n <Box sx={{ padding: 2, borderTop: '1px solid #e0e0e0', display: 'flex', justifyContent: 'flex-end', gap: 1 }}>\n {children}\n <Stack direction=\"row\" spacing={1}>\n {showCloseButton && (\n <Button\n onClick={onClose}\n disabled={closeButtonDisabled}\n variant=\"outlined\"\n color=\"secondary\"\n >\n {closeButtonText}\n </Button>\n )}\n {actions.map((action, index) => {\n const { buttonProps } = action;\n return (\n <Button\n key={index}\n onClick={action.onClick}\n disabled={action.disabled}\n variant={action.variant || 'contained'}\n color={action.color || 'primary'}\n {...(buttonProps as any)}\n >\n {action.text}\n </Button>\n );\n })}\n </Stack>\n </Box>\n );\n};\n\nexport default ModalFooter;","import React from 'react';\nimport { Box, Typography } from '@mui/material';\n\ninterface ModalHeaderProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, borderBottom: '1px solid #e0e0e0', display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <Typography variant=\"h6\" component=\"h2\">\n {children}\n </Typography>\n </Box>\n );\n};\n\nexport default ModalHeader;","import React from 'react';\nimport { Box } from '@mui/material';\n\ninterface ModalBodyProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, overflowY: 'auto', flexGrow: 1 }}>\n {children}\n </Box>\n );\n};\n\nexport default ModalBody;","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n type ReactNode,\n} from 'react';\nimport {\n Modal as MuiModal,\n Paper,\n useTheme,\n useMediaQuery,\n Box,\n Stack,\n Typography,\n} from '@mui/material';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport WarningAmberIcon from '@mui/icons-material/WarningAmber';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';\n\nimport type { DialogProps } from '@mui/material/Dialog';\nimport { ModalAction, ModalFooter, ModalFooterProps } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\n\n// Define la interfaz para los métodos que el padre puede llamar a través de la ref\nexport interface ModalRef {\n open: () => void;\n close: () => void;\n}\n\nexport type ModalMode = 'default' | 'confirm';\nexport type ModalSeverity = 'info' | 'warning' | 'error' | 'success';\n\ninterface ModalProps {\n /**\n * Modo del modal.\n * - `default` (default): modal genérico con slots `Header`/`Body`/`Footer` y\n * `actions` custom.\n * - `confirm`: reemplaza al `ConfirmModal` legacy. Renderiza un layout\n * focalizado con icono por severidad, mensaje y botones \"Cancelar\" /\n * \"Confirmar\".\n */\n mode?: ModalMode;\n\n // ── Props comunes ────────────────────────────────────────────────────\n /** Controlado externamente. Omitir si se usa vía ref. */\n open?: boolean;\n /** Callback al cerrar. También se dispara al confirmar/cancelar. */\n onClose?: () => void;\n title?: string;\n children?: ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n actions?: ModalAction[];\n maxWidth?: DialogProps['maxWidth'];\n hiddenFooter?: boolean;\n\n // ── Props del modo confirm ───────────────────────────────────────────\n /**\n * Callback de confirmación. Soporta promesa — si devuelve `Promise`, el\n * botón muestra estado `disabled` mientras resuelve.\n */\n onConfirm?: () => void | Promise<void>;\n /** Texto del botón primario en modo `confirm`. Default: \"Confirmar\". */\n confirmText?: string;\n /** Deshabilita el botón de confirmar. */\n confirmDisabled?: boolean;\n /**\n * Severidad visual en modo `confirm`. Controla el icono y el color del\n * botón de confirmación.\n * - `info` (default): primary\n * - `warning`: warning (amarillo)\n * - `error`: error (rojo) — típico para \"Eliminar\"\n * - `success`: success (verde) — típico para \"Aprobar\"\n */\n severity?: ModalSeverity;\n /**\n * Mensaje del confirm. Puede ser string o cualquier ReactNode. Si se omite,\n * se usa `children`.\n */\n confirmMessage?: ReactNode;\n}\n\nconst modalStyle = {\n position: 'absolute' as const,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '90%',\n maxHeight: '90vh',\n display: 'flex',\n flexDirection: 'column' as const,\n outline: 'none',\n};\n\nconst severityConfig: Record<\n ModalSeverity,\n { color: ModalAction['color']; icon: ReactNode; bg: string }\n> = {\n info: {\n color: 'primary',\n icon: <InfoOutlinedIcon sx={{ fontSize: 48 }} />,\n bg: 'primary.light',\n },\n warning: {\n color: 'warning',\n icon: <WarningAmberIcon sx={{ fontSize: 48 }} />,\n bg: 'warning.light',\n },\n error: {\n color: 'error',\n icon: <ErrorOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'error.light',\n },\n success: {\n color: 'success',\n icon: <CheckCircleOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'success.light',\n },\n};\n\nexport const Modal = forwardRef<ModalRef, ModalProps>(\n (\n {\n mode = 'default',\n open: controlledOpen,\n onClose: controlledOnClose,\n title,\n children,\n showCloseButton = true,\n closeButtonText = 'Cerrar',\n closeButtonDisabled = false,\n actions = [],\n maxWidth = 'sm',\n hiddenFooter = false,\n\n // Props del modo confirm\n onConfirm,\n confirmText = 'Confirmar',\n confirmDisabled = false,\n severity = 'info',\n confirmMessage,\n },\n ref,\n ) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const [confirmLoading, setConfirmLoading] = useState(false);\n\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n\n useImperativeHandle(ref, () => ({\n open: () => setInternalOpen(true),\n close: () => {\n setInternalOpen(false);\n controlledOnClose?.();\n },\n }));\n\n const handleCloseInternal = () => {\n setInternalOpen(false);\n controlledOnClose?.();\n };\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n handleCloseInternal();\n return;\n }\n try {\n const result = onConfirm();\n if (result instanceof Promise) {\n setConfirmLoading(true);\n await result;\n }\n } finally {\n setConfirmLoading(false);\n handleCloseInternal();\n }\n };\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const getWidth = () => {\n if (isMobile) return '95%';\n switch (maxWidth) {\n case 'xs':\n return 300;\n case 'sm':\n return 500;\n case 'md':\n return 700;\n case 'lg':\n return 900;\n case 'xl':\n return 1100;\n case false:\n return 'auto';\n default:\n return 500;\n }\n };\n\n // ── Render modo CONFIRM ─────────────────────────────────────────────\n if (mode === 'confirm') {\n const config = severityConfig[severity];\n const message = confirmMessage ?? children;\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n <Stack spacing={2.5} sx={{ p: 3, alignItems: 'center', textAlign: 'center' }}>\n <Box\n sx={{\n width: 72,\n height: 72,\n borderRadius: '50%',\n backgroundColor: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].light,\n color: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].dark,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0.9,\n }}\n >\n {config.icon}\n </Box>\n {title && (\n <Typography variant=\"h6\" component=\"h2\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n )}\n {message && (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n )}\n </Stack>\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled || confirmLoading}\n onClose={handleCloseInternal}\n actions={[\n {\n text: confirmText,\n onClick: handleConfirm,\n disabled: confirmDisabled || confirmLoading,\n variant: 'contained',\n color: config.color,\n },\n ]}\n />\n </Paper>\n </MuiModal>\n );\n }\n\n // ── Render modo DEFAULT (legacy) ────────────────────────────────────\n const renderChildren = () => {\n let header: ReactNode | null = null;\n let body: ReactNode | null = null;\n let footer: ReactNode | null = null;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === ModalHeader) {\n header = child;\n } else if (child.type === ModalBody) {\n body = child;\n } else if (child.type === ModalFooter) {\n const footerChild = child as React.ReactElement<ModalFooterProps>;\n const {\n showCloseButton: childShowCloseButton,\n closeButtonText: childCloseButtonText,\n closeButtonDisabled: childCloseButtonDisabled,\n onClose: childOnClose,\n actions: childActions,\n ...restOfFooterProps\n } = footerChild.props;\n\n footer = React.cloneElement(footerChild, {\n showCloseButton,\n closeButtonText,\n closeButtonDisabled,\n onClose: handleCloseInternal,\n actions,\n ...restOfFooterProps,\n });\n }\n }\n });\n\n if (!footer && !hiddenFooter) {\n footer = (\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled}\n onClose={handleCloseInternal}\n actions={actions}\n />\n );\n }\n\n return (\n <>\n {header || (title && <ModalHeader>{title}</ModalHeader>)}\n {body}\n {footer}\n </>\n );\n };\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n aria-describedby=\"modal-description\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n {renderChildren()}\n </Paper>\n </MuiModal>\n );\n },\n);\n\n// Define los sub-componentes como propiedades estáticas con tipos explícitos\ntype ModalComponent = React.ForwardRefExoticComponent<\n ModalProps & React.RefAttributes<ModalRef>\n> & {\n Header: typeof ModalHeader;\n Body: typeof ModalBody;\n Footer: typeof ModalFooter;\n};\n\nconst ModalWithStatics = Modal as ModalComponent;\n\nModalWithStatics.Header = ModalHeader;\nModalWithStatics.Body = ModalBody;\nModalWithStatics.Footer = ModalFooter;\n\nexport default ModalWithStatics;\n"],"names":["MuiModal","React"],"mappings":"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"}
@@ -30,12 +30,11 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
34
33
  const jsxRuntime = require("react/jsx-runtime");
35
34
  const styles = require("@mui/material/styles");
36
35
  const material = require("@mui/material");
37
36
  const reactHookForm = require("react-hook-form");
38
- const resolvePreset = require("../../resolvePreset-CT3kU-K2.cjs");
37
+ const resolvePreset = require("./resolvePreset-CxTI6_Ln.cjs");
39
38
  const toRadius = (borderRadius) => typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
40
39
  const FOCUS_TRANSITION = "border-color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, box-shadow 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms";
41
40
  const buildRadioGroupSx = ({
@@ -109,7 +108,7 @@ const RadioGroup = (props) => {
109
108
  ...presetSx ? [presetSx] : [],
110
109
  ...Array.isArray(sx) ? sx : [sx]
111
110
  ];
112
- const renderOptions = (currentValue, onChange2, fieldName) => options.map((opt) => {
111
+ const renderOptions = (currentValue, _onChange, fieldName) => options.map((opt) => {
113
112
  var _a2;
114
113
  const inputId = (_a2 = opt.id) != null ? _a2 : `${fieldName != null ? fieldName : "radio"}-${opt.value}`;
115
114
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -198,5 +197,4 @@ const RadioGroup = (props) => {
198
197
  );
199
198
  };
200
199
  exports.RadioGroup = RadioGroup;
201
- exports.default = RadioGroup;
202
- //# sourceMappingURL=RadioGroup.cjs.map
200
+ //# sourceMappingURL=RadioGroup-CxqDHap1.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup-CxqDHap1.cjs","sources":["../src/components/RadioGroup/RadioGroup.sx.ts","../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface BuildRadioGroupSxOptions {\n bordered: boolean;\n borderRadius: number | string;\n error: boolean;\n}\n\nconst toRadius = (borderRadius: number | string) =>\n typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n/**\n * Transición compartida (matchea el InputGroup).\n */\nconst FOCUS_TRANSITION =\n 'border-color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'box-shadow 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms';\n\n/**\n * Builder de sx para RadioGroup. Reproduce el estilo del antiguo\n * `FormRadioGroup` legacy: contenedor con borde + padding vertical.\n *\n * Cuando `bordered=true`, el contenedor gana:\n * - `:focus-within` → borde + shadow primario (mismo patrón que `InputGroup`).\n * - `error=true` → borde + shadow de error (palette.error.main).\n *\n * El shadow es de 1px, así que no hay shift de layout — sólo se intensifica\n * visualmente el borde sin empujar nada alrededor.\n *\n * Si `bordered=false`, devuelve un sx mínimo (sólo helper text reset).\n */\nexport const buildRadioGroupSx = ({\n bordered,\n borderRadius,\n error,\n}: BuildRadioGroupSxOptions): SxProps<Theme> => {\n const radius = toRadius(borderRadius);\n\n if (!bordered) {\n return {\n '& .MuiFormHelperText-root': { marginLeft: 0 },\n };\n }\n\n return (theme) => ({\n '& .MuiRadioGroup-root': {\n paddingTop: 1.25,\n paddingBottom: 1.25,\n paddingX: 1.5,\n border: `1px solid ${\n error ? theme.palette.error.main : theme.palette.divider\n }`,\n borderRadius: radius,\n transition: FOCUS_TRANSITION,\n ...(error && {\n boxShadow: `0 0 0 1px ${theme.palette.error.main}`,\n }),\n // Focus del usuario sobre cualquier radio interno.\n '&:focus-within': {\n borderColor: error\n ? theme.palette.error.main\n : theme.palette.primary.main,\n boxShadow: `0 0 0 1px ${\n error ? theme.palette.error.main : theme.palette.primary.main\n }`,\n },\n },\n '& .MuiFormHelperText-root': {\n marginLeft: 0,\n },\n '& .MuiFormLabel-root': {\n marginBottom: 0.5,\n },\n });\n};\n","import { useTheme } from '@mui/material/styles';\nimport {\n FormControl,\n FormControlLabel,\n FormHelperText,\n FormLabel,\n Radio,\n RadioGroup as MuiRadioGroup,\n type RadioGroupProps as MuiRadioGroupProps,\n type SxProps,\n type Theme,\n} from '@mui/material';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildRadioGroupSx } from './RadioGroup.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport interface RadioOption {\n /** Valor que se emite cuando se selecciona la opción. */\n value: string;\n /** Texto mostrado al lado del radio. */\n label: string;\n /** Deshabilitar opción individualmente. */\n disabled?: boolean;\n /** ID custom del input (default: prefijo + value). */\n id?: string;\n}\n\nexport type RadioGroupSize = 'small' | 'medium';\n\n// ── Props base (todo lo común entre RHF y controlado) ────────────────────\nexport interface BaseRadioGroupProps\n extends Omit<MuiRadioGroupProps, 'value' | 'onChange' | 'defaultValue'> {\n options: RadioOption[];\n /** Label superior del grupo. */\n label?: string;\n /** Distribución horizontal (default: true — replica el comportamiento legacy). */\n row?: boolean;\n size?: RadioGroupSize;\n disabled?: boolean;\n error?: boolean;\n helperText?: string;\n /** Renderiza un contenedor con borde estilo \"form field\". Default: true. */\n bordered?: boolean;\n /** Border radius del contenedor (cuando bordered). Default: 10. */\n borderRadius?: number | string;\n defaultValue?: string;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.RadioGroup`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n sx?: SxProps<Theme>;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFRadioGroupProps extends BaseRadioGroupProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n value?: never;\n onChange?: never;\n}\n\nexport interface ControlledRadioGroupProps extends BaseRadioGroupProps {\n name?: string;\n control?: never;\n validation?: never;\n value: string;\n onChange: (value: string) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type RadioGroupProps = RHFRadioGroupProps | ControlledRadioGroupProps;\n\nexport const RadioGroup: React.FC<RadioGroupProps> = (props) => {\n const {\n options,\n label,\n row = true,\n size = 'small',\n disabled = false,\n error = false,\n helperText,\n bordered = true,\n borderRadius = 10,\n defaultValue,\n preset,\n sx,\n ...rest\n } = props as ControlledRadioGroupProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('RadioGroup', preset, theme);\n\n // Construye el sx con el estado de error efectivo; se llama por rama\n // (RHF usa el error del Controller, controlado usa el prop `error`).\n const buildSx = (effectiveError: boolean) => [\n buildRadioGroupSx({ bordered, borderRadius, error: effectiveError }),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n const renderOptions = (\n currentValue: string | undefined,\n _onChange: (value: string) => void,\n fieldName?: string,\n ) =>\n options.map((opt) => {\n const inputId = opt.id ?? `${fieldName ?? 'radio'}-${opt.value}`;\n return (\n <FormControlLabel\n key={inputId}\n value={opt.value}\n control={\n <Radio\n id={inputId}\n size={size}\n disabled={disabled || opt.disabled}\n />\n }\n label={opt.label}\n checked={currentValue === opt.value}\n disabled={disabled || opt.disabled}\n />\n );\n });\n\n // ── RHF mode ──────────────────────────────────────────────────────────\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFRadioGroupProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n defaultValue={defaultValue}\n render={({ field, fieldState: { error: fieldError } }) => {\n const finalError = !!fieldError || error;\n const finalHelperText = fieldError?.message ?? helperText;\n return (\n <FormControl\n error={finalError}\n disabled={disabled}\n sx={buildSx(finalError)}\n fullWidth\n >\n {label && <FormLabel>{label}</FormLabel>}\n <MuiRadioGroup\n {...rest}\n row={row}\n name={field.name}\n value={field.value ?? ''}\n onBlur={field.onBlur}\n onChange={(_e, value) => field.onChange(value)}\n >\n {renderOptions(field.value, field.onChange, field.name)}\n </MuiRadioGroup>\n {finalHelperText && <FormHelperText>{finalHelperText}</FormHelperText>}\n </FormControl>\n );\n }}\n />\n );\n }\n\n // ── Controlled mode ───────────────────────────────────────────────────\n const { value, onChange, name } = props as ControlledRadioGroupProps;\n return (\n <FormControl\n error={error}\n disabled={disabled}\n sx={buildSx(error)}\n fullWidth\n >\n {label && <FormLabel>{label}</FormLabel>}\n <MuiRadioGroup\n {...rest}\n row={row}\n name={name}\n value={value ?? ''}\n onChange={(_e, next) => onChange(next)}\n >\n {renderOptions(value, onChange, name)}\n </MuiRadioGroup>\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n\nexport default RadioGroup;\n"],"names":["useTheme","resolvePreset","_a","jsx","FormControlLabel","Radio","name","Controller","jsxs","FormControl","FormLabel","MuiRadioGroup","value","FormHelperText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,WAAW,CAAC,iBAChB,OAAO,iBAAiB,WAAW,GAAG,YAAY,OAAO;AAK3D,MAAM,mBACJ;AAgBK,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAAgD;AAC9C,QAAM,SAAS,SAAS,YAAY;AAEpC,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,MACL,6BAA6B,EAAE,YAAY,EAAA;AAAA,IAAE;AAAA,EAEjD;AAEA,SAAO,CAAC,WAAW;AAAA,IACjB,yBAAyB;AAAA,MACvB,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,UAAU;AAAA,MACV,QAAQ,aACN,QAAQ,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,OACnD;AAAA,MACA,cAAc;AAAA,MACd,YAAY;AAAA,OACR,SAAS;AAAA,MACX,WAAW,aAAa,MAAM,QAAQ,MAAM,IAAI;AAAA,IAAA,IAV3B;AAAA;AAAA,MAavB,kBAAkB;AAAA,QAChB,aAAa,QACT,MAAM,QAAQ,MAAM,OACpB,MAAM,QAAQ,QAAQ;AAAA,QAC1B,WAAW,aACT,QAAQ,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,QAAQ,IAC3D;AAAA,MAAA;AAAA,IACF;AAAA,IAEF,6BAA6B;AAAA,MAC3B,YAAY;AAAA,IAAA;AAAA,IAEd,wBAAwB;AAAA,MACtB,cAAc;AAAA,IAAA;AAAA,EAChB;AAEJ;ACGO,MAAM,aAAwC,CAAC,UAAU;AAC9D,QAcI,YAbF;AAAA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,MAEE,IADC,iBACD,IADC;AAAA,IAZH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOF,QAAM,QAAQA,OAAAA,SAAA;AACd,QAAM,WAAWC,cAAAA,cAAc,cAAc,QAAQ,KAAK;AAI1D,QAAM,UAAU,CAAC,mBAA4B;AAAA,IAC3C,kBAAkB,EAAE,UAAU,cAAc,OAAO,gBAAgB;AAAA,IACnE,GAAI,WAAW,CAAC,QAAQ,IAAI,CAAA;AAAA,IAC5B,GAAI,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE;AAAA,EAAA;AAGlC,QAAM,gBAAgB,CACpB,cACA,WACA,cAEA,QAAQ,IAAI,CAAC,QAAQ;;AACnB,UAAM,WAAUC,MAAA,IAAI,OAAJ,OAAAA,MAAU,GAAG,gCAAa,OAAO,IAAI,IAAI,KAAK;AAC9D,WACEC,2BAAAA;AAAAA,MAACC,SAAAA;AAAAA,MAAA;AAAA,QAEC,OAAO,IAAI;AAAA,QACX,SACED,2BAAAA;AAAAA,UAACE,SAAAA;AAAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ;AAAA,YACA,UAAU,YAAY,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAG9B,OAAO,IAAI;AAAA,QACX,SAAS,iBAAiB,IAAI;AAAA,QAC9B,UAAU,YAAY,IAAI;AAAA,MAAA;AAAA,MAXrB;AAAA,IAAA;AAAA,EAcX,CAAC;AAGH,MAAI,aAAa,SAAS,MAAM,SAAS;AACvC,UAAM,EAAE,MAAAC,OAAM,SAAS,eAAe;AACtC,WACEH,2BAAAA;AAAAA,MAACI,cAAAA;AAAAA,MAAA;AAAA,QACC,MAAMD;AAAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,OAAO,WAAA,QAAmB;;AACxD,gBAAM,aAAa,CAAC,CAAC,cAAc;AACnC,gBAAM,mBAAkBJ,MAAA,yCAAY,YAAZ,OAAAA,MAAuB;AAC/C,iBACEM,2BAAAA;AAAAA,YAACC,SAAAA;AAAAA,YAAA;AAAA,cACC,OAAO;AAAA,cACP;AAAA,cACA,IAAI,QAAQ,UAAU;AAAA,cACtB,WAAS;AAAA,cAER,UAAA;AAAA,gBAAA,SAASN,2BAAAA,IAACO,SAAAA,aAAW,UAAA,MAAA,CAAM;AAAA,gBAC5BP,2BAAAA;AAAAA,kBAACQ,SAAAA;AAAAA,kBAAA,iCACK,OADL;AAAA,oBAEC;AAAA,oBACA,MAAM,MAAM;AAAA,oBACZ,QAAO,WAAM,UAAN,YAAe;AAAA,oBACtB,QAAQ,MAAM;AAAA,oBACd,UAAU,CAAC,IAAIC,WAAU,MAAM,SAASA,MAAK;AAAA,oBAE5C,wBAAc,MAAM,OAAO,MAAM,UAAU,MAAM,IAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEvD,mBAAmBT,2BAAAA,IAACU,SAAAA,gBAAA,EAAgB,UAAA,gBAAA,CAAgB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAG3D;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AAGA,QAAM,EAAE,OAAO,UAAU,KAAA,IAAS;AAClC,SACEL,2BAAAA;AAAAA,IAACC,SAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,IAAI,QAAQ,KAAK;AAAA,MACjB,WAAS;AAAA,MAER,UAAA;AAAA,QAAA,SAASN,2BAAAA,IAACO,SAAAA,aAAW,UAAA,MAAA,CAAM;AAAA,QAC5BP,2BAAAA;AAAAA,UAACQ,SAAAA;AAAAA,UAAA,iCACK,OADL;AAAA,YAEC;AAAA,YACA;AAAA,YACA,OAAO,wBAAS;AAAA,YAChB,UAAU,CAAC,IAAI,SAAS,SAAS,IAAI;AAAA,YAEpC,UAAA,cAAc,OAAO,UAAU,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAErC,cAAcR,2BAAAA,IAACU,SAAAA,gBAAA,EAAgB,UAAA,WAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjD;;"}
@@ -33,7 +33,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
33
33
  import { useTheme } from "@mui/material/styles";
34
34
  import { FormControl, FormLabel, RadioGroup as RadioGroup$1, FormHelperText, FormControlLabel, Radio } from "@mui/material";
35
35
  import { Controller } from "react-hook-form";
36
- import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
36
+ import { r as resolvePreset } from "./resolvePreset-K6_BfWHD.js";
37
37
  const toRadius = (borderRadius) => typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
38
38
  const FOCUS_TRANSITION = "border-color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, box-shadow 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms";
39
39
  const buildRadioGroupSx = ({
@@ -107,7 +107,7 @@ const RadioGroup = (props) => {
107
107
  ...presetSx ? [presetSx] : [],
108
108
  ...Array.isArray(sx) ? sx : [sx]
109
109
  ];
110
- const renderOptions = (currentValue, onChange2, fieldName) => options.map((opt) => {
110
+ const renderOptions = (currentValue, _onChange, fieldName) => options.map((opt) => {
111
111
  var _a2;
112
112
  const inputId = (_a2 = opt.id) != null ? _a2 : `${fieldName != null ? fieldName : "radio"}-${opt.value}`;
113
113
  return /* @__PURE__ */ jsx(
@@ -196,7 +196,6 @@ const RadioGroup = (props) => {
196
196
  );
197
197
  };
198
198
  export {
199
- RadioGroup,
200
- RadioGroup as default
199
+ RadioGroup as R
201
200
  };
202
- //# sourceMappingURL=RadioGroup.js.map
201
+ //# sourceMappingURL=RadioGroup-DMi9FvMP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup-DMi9FvMP.js","sources":["../src/components/RadioGroup/RadioGroup.sx.ts","../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface BuildRadioGroupSxOptions {\n bordered: boolean;\n borderRadius: number | string;\n error: boolean;\n}\n\nconst toRadius = (borderRadius: number | string) =>\n typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n/**\n * Transición compartida (matchea el InputGroup).\n */\nconst FOCUS_TRANSITION =\n 'border-color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'box-shadow 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms';\n\n/**\n * Builder de sx para RadioGroup. Reproduce el estilo del antiguo\n * `FormRadioGroup` legacy: contenedor con borde + padding vertical.\n *\n * Cuando `bordered=true`, el contenedor gana:\n * - `:focus-within` → borde + shadow primario (mismo patrón que `InputGroup`).\n * - `error=true` → borde + shadow de error (palette.error.main).\n *\n * El shadow es de 1px, así que no hay shift de layout — sólo se intensifica\n * visualmente el borde sin empujar nada alrededor.\n *\n * Si `bordered=false`, devuelve un sx mínimo (sólo helper text reset).\n */\nexport const buildRadioGroupSx = ({\n bordered,\n borderRadius,\n error,\n}: BuildRadioGroupSxOptions): SxProps<Theme> => {\n const radius = toRadius(borderRadius);\n\n if (!bordered) {\n return {\n '& .MuiFormHelperText-root': { marginLeft: 0 },\n };\n }\n\n return (theme) => ({\n '& .MuiRadioGroup-root': {\n paddingTop: 1.25,\n paddingBottom: 1.25,\n paddingX: 1.5,\n border: `1px solid ${\n error ? theme.palette.error.main : theme.palette.divider\n }`,\n borderRadius: radius,\n transition: FOCUS_TRANSITION,\n ...(error && {\n boxShadow: `0 0 0 1px ${theme.palette.error.main}`,\n }),\n // Focus del usuario sobre cualquier radio interno.\n '&:focus-within': {\n borderColor: error\n ? theme.palette.error.main\n : theme.palette.primary.main,\n boxShadow: `0 0 0 1px ${\n error ? theme.palette.error.main : theme.palette.primary.main\n }`,\n },\n },\n '& .MuiFormHelperText-root': {\n marginLeft: 0,\n },\n '& .MuiFormLabel-root': {\n marginBottom: 0.5,\n },\n });\n};\n","import { useTheme } from '@mui/material/styles';\nimport {\n FormControl,\n FormControlLabel,\n FormHelperText,\n FormLabel,\n Radio,\n RadioGroup as MuiRadioGroup,\n type RadioGroupProps as MuiRadioGroupProps,\n type SxProps,\n type Theme,\n} from '@mui/material';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildRadioGroupSx } from './RadioGroup.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport interface RadioOption {\n /** Valor que se emite cuando se selecciona la opción. */\n value: string;\n /** Texto mostrado al lado del radio. */\n label: string;\n /** Deshabilitar opción individualmente. */\n disabled?: boolean;\n /** ID custom del input (default: prefijo + value). */\n id?: string;\n}\n\nexport type RadioGroupSize = 'small' | 'medium';\n\n// ── Props base (todo lo común entre RHF y controlado) ────────────────────\nexport interface BaseRadioGroupProps\n extends Omit<MuiRadioGroupProps, 'value' | 'onChange' | 'defaultValue'> {\n options: RadioOption[];\n /** Label superior del grupo. */\n label?: string;\n /** Distribución horizontal (default: true — replica el comportamiento legacy). */\n row?: boolean;\n size?: RadioGroupSize;\n disabled?: boolean;\n error?: boolean;\n helperText?: string;\n /** Renderiza un contenedor con borde estilo \"form field\". Default: true. */\n bordered?: boolean;\n /** Border radius del contenedor (cuando bordered). Default: 10. */\n borderRadius?: number | string;\n defaultValue?: string;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.RadioGroup`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n sx?: SxProps<Theme>;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFRadioGroupProps extends BaseRadioGroupProps {\n name: string;\n control: Control<any>;\n validation?: RegisterOptions;\n value?: never;\n onChange?: never;\n}\n\nexport interface ControlledRadioGroupProps extends BaseRadioGroupProps {\n name?: string;\n control?: never;\n validation?: never;\n value: string;\n onChange: (value: string) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type RadioGroupProps = RHFRadioGroupProps | ControlledRadioGroupProps;\n\nexport const RadioGroup: React.FC<RadioGroupProps> = (props) => {\n const {\n options,\n label,\n row = true,\n size = 'small',\n disabled = false,\n error = false,\n helperText,\n bordered = true,\n borderRadius = 10,\n defaultValue,\n preset,\n sx,\n ...rest\n } = props as ControlledRadioGroupProps & {\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('RadioGroup', preset, theme);\n\n // Construye el sx con el estado de error efectivo; se llama por rama\n // (RHF usa el error del Controller, controlado usa el prop `error`).\n const buildSx = (effectiveError: boolean) => [\n buildRadioGroupSx({ bordered, borderRadius, error: effectiveError }),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : [sx]),\n ];\n\n const renderOptions = (\n currentValue: string | undefined,\n _onChange: (value: string) => void,\n fieldName?: string,\n ) =>\n options.map((opt) => {\n const inputId = opt.id ?? `${fieldName ?? 'radio'}-${opt.value}`;\n return (\n <FormControlLabel\n key={inputId}\n value={opt.value}\n control={\n <Radio\n id={inputId}\n size={size}\n disabled={disabled || opt.disabled}\n />\n }\n label={opt.label}\n checked={currentValue === opt.value}\n disabled={disabled || opt.disabled}\n />\n );\n });\n\n // ── RHF mode ──────────────────────────────────────────────────────────\n if ('control' in props && props.control) {\n const { name, control, validation } = props as RHFRadioGroupProps;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n defaultValue={defaultValue}\n render={({ field, fieldState: { error: fieldError } }) => {\n const finalError = !!fieldError || error;\n const finalHelperText = fieldError?.message ?? helperText;\n return (\n <FormControl\n error={finalError}\n disabled={disabled}\n sx={buildSx(finalError)}\n fullWidth\n >\n {label && <FormLabel>{label}</FormLabel>}\n <MuiRadioGroup\n {...rest}\n row={row}\n name={field.name}\n value={field.value ?? ''}\n onBlur={field.onBlur}\n onChange={(_e, value) => field.onChange(value)}\n >\n {renderOptions(field.value, field.onChange, field.name)}\n </MuiRadioGroup>\n {finalHelperText && <FormHelperText>{finalHelperText}</FormHelperText>}\n </FormControl>\n );\n }}\n />\n );\n }\n\n // ── Controlled mode ───────────────────────────────────────────────────\n const { value, onChange, name } = props as ControlledRadioGroupProps;\n return (\n <FormControl\n error={error}\n disabled={disabled}\n sx={buildSx(error)}\n fullWidth\n >\n {label && <FormLabel>{label}</FormLabel>}\n <MuiRadioGroup\n {...rest}\n row={row}\n name={name}\n value={value ?? ''}\n onChange={(_e, next) => onChange(next)}\n >\n {renderOptions(value, onChange, name)}\n </MuiRadioGroup>\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n\nexport default RadioGroup;\n"],"names":["_a","name","MuiRadioGroup","value"],"mappings":"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"}
@@ -34,8 +34,8 @@ import React__default, { useMemo, isValidElement, useState, useRef, useEffect }
34
34
  import { ListSubheader, TextField, Typography, Box, Chip, Avatar, MenuItem, ListItemIcon, CircularProgress, FormControl, InputLabel, Select as Select$1, FormHelperText, OutlinedInput } from "@mui/material";
35
35
  import { useTheme } from "@mui/material/styles";
36
36
  import { Controller } from "react-hook-form";
37
- import { b as buildFormFieldSx } from "../../formField.sx-DfVbMe0V.js";
38
- import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
37
+ import { b as buildFormFieldSx } from "./formField.sx-DfVbMe0V.js";
38
+ import { r as resolvePreset } from "./resolvePreset-K6_BfWHD.js";
39
39
  import ClearIcon from "@mui/icons-material/Clear";
40
40
  import CheckIcon from "@mui/icons-material/Check";
41
41
  const buildSelectSx = (borderRadius, labelPosition) => buildFormFieldSx({ borderRadius, labelPosition });
@@ -441,8 +441,7 @@ function Select(props) {
441
441
  return renderSelect(value, (e) => handleChangeInternal(e));
442
442
  }
443
443
  export {
444
- Option,
445
- Select,
446
- Select as default
444
+ Option as O,
445
+ Select as S
447
446
  };
448
- //# sourceMappingURL=Select.js.map
447
+ //# sourceMappingURL=Select-3CBOfM2H.js.map