@soyfri/shared-library 2.0.0-beta.1 → 2.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/{dist/components → components}/Drawer/Drawer.cjs +14 -17
  2. package/components/Drawer/Drawer.cjs.map +1 -0
  3. package/{dist/components → components}/Drawer/Drawer.d.ts +8 -1
  4. package/{dist/components → components}/Drawer/Drawer.js +14 -17
  5. package/components/Drawer/Drawer.js.map +1 -0
  6. package/{dist/components → components}/Input/Input.definitions.d.ts +1 -0
  7. package/components/RadioGroup/RadioGroup.cjs +202 -0
  8. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  9. package/components/RadioGroup/RadioGroup.d.ts +53 -0
  10. package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
  11. package/components/RadioGroup/RadioGroup.js +202 -0
  12. package/components/RadioGroup/RadioGroup.js.map +1 -0
  13. package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
  14. package/components/RadioGroup/RadioGroup.types.d.ts +1 -0
  15. package/components/RadioGroup/index.d.ts +2 -0
  16. package/components/RadioGroup.d.ts +6 -0
  17. package/components/Stepper/Stepper.cjs +162 -0
  18. package/components/Stepper/Stepper.cjs.map +1 -0
  19. package/components/Stepper/Stepper.js +162 -0
  20. package/components/Stepper/Stepper.js.map +1 -0
  21. package/components/Switch/Switch.cjs +181 -0
  22. package/components/Switch/Switch.cjs.map +1 -0
  23. package/components/Switch/Switch.d.ts +43 -0
  24. package/components/Switch/Switch.definitions.d.ts +7 -0
  25. package/components/Switch/Switch.js +181 -0
  26. package/components/Switch/Switch.js.map +1 -0
  27. package/components/Switch/Switch.sx.d.ts +22 -0
  28. package/components/Switch/Switch.types.d.ts +1 -0
  29. package/components/Switch/index.d.ts +2 -0
  30. package/components/Switch.d.ts +6 -0
  31. package/{dist/index.cjs → index.cjs} +24 -0
  32. package/{dist/index.cjs.map → index.cjs.map} +1 -1
  33. package/{dist/index.js → index.js} +7 -1
  34. package/{dist/mui.d.ts → mui.d.ts} +1 -0
  35. package/package.json +174 -43
  36. package/{dist/theme → theme}/componentStyles.d.ts +1 -1
  37. package/.dockerignore +0 -8
  38. package/.github/workflows/publish.yml +0 -107
  39. package/.prettierrc +0 -3
  40. package/.storybook/main.ts +0 -19
  41. package/.storybook/preview.ts +0 -14
  42. package/.storybook/vitest.setup.ts +0 -9
  43. package/Dockerfile +0 -37
  44. package/build.js +0 -139
  45. package/chromatic.config.json +0 -5
  46. package/cleanDirectories.js +0 -40
  47. package/dist/components/Drawer/Drawer.cjs.map +0 -1
  48. package/dist/components/Drawer/Drawer.js.map +0 -1
  49. package/dist/components/Stepper/Stepper.cjs +0 -49
  50. package/dist/components/Stepper/Stepper.cjs.map +0 -1
  51. package/dist/components/Stepper/Stepper.js +0 -49
  52. package/dist/components/Stepper/Stepper.js.map +0 -1
  53. package/rollup.config.cjs +0 -87
  54. package/src/components/ActionMenu/ActionMenu.stories.tsx +0 -230
  55. package/src/components/ActionMenu/ActionMenu.tsx +0 -174
  56. package/src/components/ActionMenu/index.ts +0 -2
  57. package/src/components/AppBar/AppBar.stories.tsx +0 -272
  58. package/src/components/AppBar/AppBar.sx.ts +0 -32
  59. package/src/components/AppBar/AppBar.tsx +0 -123
  60. package/src/components/AppBar/AppBarBrand.tsx +0 -120
  61. package/src/components/AppBar/AppBarContext.ts +0 -25
  62. package/src/components/AppBar/AppBarMenuToggle.tsx +0 -90
  63. package/src/components/AppBar/AppBarUserMenu.tsx +0 -217
  64. package/src/components/AppBar/index.ts +0 -25
  65. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -477
  66. package/src/components/Autocomplete/Autocomplete.helpers.ts +0 -60
  67. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -748
  68. package/src/components/Autocomplete/Autocomplete.sx.ts +0 -30
  69. package/src/components/Autocomplete/Autocomplete.tsx +0 -361
  70. package/src/components/Autocomplete/Autocomplete.types.ts +0 -13
  71. package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +0 -55
  72. package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +0 -17
  73. package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +0 -31
  74. package/src/components/Autocomplete/index.ts +0 -12
  75. package/src/components/Avatar/Avatar.definitions.ts +0 -162
  76. package/src/components/Avatar/Avatar.stories.tsx +0 -258
  77. package/src/components/Avatar/Avatar.tsx +0 -206
  78. package/src/components/Avatar/index.ts +0 -1
  79. package/src/components/Button/Button.definition.ts +0 -97
  80. package/src/components/Button/Button.stories.tsx +0 -285
  81. package/src/components/Button/Button.tsx +0 -67
  82. package/src/components/Button/index.ts +0 -1
  83. package/src/components/Card/Card.definition.ts +0 -5
  84. package/src/components/Card/Card.stories.tsx +0 -221
  85. package/src/components/Card/Card.sx.ts +0 -104
  86. package/src/components/Card/Card.tsx +0 -200
  87. package/src/components/Card/index.ts +0 -9
  88. package/src/components/Chip/Chip.definitions.ts +0 -167
  89. package/src/components/Chip/Chip.stories.tsx +0 -265
  90. package/src/components/Chip/Chip.tsx +0 -61
  91. package/src/components/Chip/index.ts +0 -1
  92. package/src/components/Column/Column.tsx +0 -29
  93. package/src/components/Column/index.ts +0 -1
  94. package/src/components/DatePicker/DatePicker.definitions.ts +0 -228
  95. package/src/components/DatePicker/DatePicker.helpers.ts +0 -24
  96. package/src/components/DatePicker/DatePicker.stories.tsx +0 -309
  97. package/src/components/DatePicker/DatePicker.sx.ts +0 -33
  98. package/src/components/DatePicker/DatePicker.tsx +0 -189
  99. package/src/components/DatePicker/DatePicker.types.ts +0 -10
  100. package/src/components/DatePicker/index.ts +0 -9
  101. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  102. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  103. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  104. package/src/components/DateRangePicker/index.ts +0 -1
  105. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -256
  106. package/src/components/DateTimePicker/DateTimePicker.helpers.ts +0 -38
  107. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -418
  108. package/src/components/DateTimePicker/DateTimePicker.sx.ts +0 -30
  109. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -225
  110. package/src/components/DateTimePicker/DateTimePicker.types.ts +0 -10
  111. package/src/components/DateTimePicker/index.ts +0 -9
  112. package/src/components/Drawer/Drawer.stories.tsx +0 -270
  113. package/src/components/Drawer/Drawer.sx.ts +0 -106
  114. package/src/components/Drawer/Drawer.tsx +0 -214
  115. package/src/components/Drawer/DrawerContext.ts +0 -26
  116. package/src/components/Drawer/DrawerItem.tsx +0 -110
  117. package/src/components/Drawer/index.ts +0 -10
  118. package/src/components/Flyout/Flyout.stories.tsx +0 -282
  119. package/src/components/Flyout/Flyout.tsx +0 -122
  120. package/src/components/Flyout/index.ts +0 -1
  121. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  122. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  123. package/src/components/Gallery/Gallery.tsx +0 -118
  124. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  125. package/src/components/Gallery/GalleryMain.tsx +0 -84
  126. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  127. package/src/components/Gallery/index.ts +0 -1
  128. package/src/components/Icon/Icon.stories.tsx +0 -121
  129. package/src/components/Icon/Icon.tsx +0 -175
  130. package/src/components/Icon/index.ts +0 -2
  131. package/src/components/Input/Input.definitions.ts +0 -324
  132. package/src/components/Input/Input.helpers.ts +0 -49
  133. package/src/components/Input/Input.stories.tsx +0 -499
  134. package/src/components/Input/Input.sx.ts +0 -42
  135. package/src/components/Input/Input.tsx +0 -141
  136. package/src/components/Input/Input.types.ts +0 -10
  137. package/src/components/Input/index.ts +0 -9
  138. package/src/components/InputGroup/InputGroup.definitions.ts +0 -158
  139. package/src/components/InputGroup/InputGroup.stories.tsx +0 -267
  140. package/src/components/InputGroup/InputGroup.tsx +0 -179
  141. package/src/components/InputGroup/index.ts +0 -1
  142. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  143. package/src/components/MenuButton/MenuButton.tsx +0 -100
  144. package/src/components/MenuButton/index.ts +0 -1
  145. package/src/components/Modal/Modal.stories.tsx +0 -721
  146. package/src/components/Modal/Modal.tsx +0 -355
  147. package/src/components/Modal/ModalBody.tsx +0 -16
  148. package/src/components/Modal/ModalFooter.tsx +0 -71
  149. package/src/components/Modal/ModalHeader.tsx +0 -18
  150. package/src/components/Modal/index.ts +0 -6
  151. package/src/components/PageLoader/PageLoader.stories.tsx +0 -217
  152. package/src/components/PageLoader/PageLoader.tsx +0 -96
  153. package/src/components/PageLoader/index.ts +0 -2
  154. package/src/components/ScrollTopButton/ScrollTopButton.stories.tsx +0 -158
  155. package/src/components/ScrollTopButton/ScrollTopButton.tsx +0 -135
  156. package/src/components/ScrollTopButton/index.ts +0 -8
  157. package/src/components/ScrollTopButton/scrollToTop.ts +0 -37
  158. package/src/components/Select/Select.definitions.ts +0 -602
  159. package/src/components/Select/Select.helpers.ts +0 -71
  160. package/src/components/Select/Select.stories.tsx +0 -687
  161. package/src/components/Select/Select.sx.ts +0 -14
  162. package/src/components/Select/Select.tsx +0 -429
  163. package/src/components/Select/Select.types.ts +0 -15
  164. package/src/components/Select/_parts/SelectMenuItem.tsx +0 -40
  165. package/src/components/Select/_parts/SelectSearchHeader.tsx +0 -51
  166. package/src/components/Select/_parts/SelectValue.tsx +0 -96
  167. package/src/components/Select/index.ts +0 -14
  168. package/src/components/Stat/Stat.stories.tsx +0 -85
  169. package/src/components/Stat/Stat.tsx +0 -117
  170. package/src/components/Stat/index.ts +0 -2
  171. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  172. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  173. package/src/components/StatusMessage/index.ts +0 -2
  174. package/src/components/Stepper/Step.tsx +0 -21
  175. package/src/components/Stepper/Stepper.definition.ts +0 -75
  176. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  177. package/src/components/Stepper/Stepper.tsx +0 -75
  178. package/src/components/Stepper/index.ts +0 -2
  179. package/src/components/Table/EmptyTable.png +0 -0
  180. package/src/components/Table/Table.definition.ts +0 -580
  181. package/src/components/Table/Table.stories.tsx +0 -853
  182. package/src/components/Table/Table.tsx +0 -495
  183. package/src/components/Table/data.ts +0 -134
  184. package/src/components/Table/exportsUtils.ts +0 -195
  185. package/src/components/Table/index.ts +0 -3
  186. package/src/components/Table/types.ts +0 -34
  187. package/src/components/Tabs/Tab.definition.ts +0 -53
  188. package/src/components/Tabs/Tab.tsx +0 -19
  189. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  190. package/src/components/Tabs/Tabs.tsx +0 -99
  191. package/src/components/Tabs/_tabUtils.tsx +0 -4
  192. package/src/components/Tabs/index.ts +0 -2
  193. package/src/components/Timeline/Timeline.definition.ts +0 -43
  194. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  195. package/src/components/Timeline/Timeline.tsx +0 -49
  196. package/src/components/Timeline/TimelineItem.tsx +0 -31
  197. package/src/components/Timeline/index.ts +0 -2
  198. package/src/components/Tooltip/Tooltip.stories.tsx +0 -129
  199. package/src/components/Tooltip/Tooltip.tsx +0 -58
  200. package/src/components/Tooltip/index.ts +0 -1
  201. package/src/components/_shared/formField.sx.ts +0 -118
  202. package/src/components/_shared/resolvePreset.ts +0 -35
  203. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  204. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  205. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  206. package/src/hooks/ClipBoard/index.ts +0 -1
  207. package/src/hooks/Wizard/Wizard.stories.tsx +0 -301
  208. package/src/hooks/Wizard/WizardContext.tsx +0 -166
  209. package/src/hooks/Wizard/index.ts +0 -6
  210. package/src/hooks/Wizard/useWizard.ts +0 -13
  211. package/src/index.ts +0 -17
  212. package/src/mui.ts +0 -44
  213. package/src/styles.css +0 -3
  214. package/src/theme/componentStyles.ts +0 -47
  215. package/src/theme/tokens.ts +0 -43
  216. package/tailwind.config.js +0 -10
  217. package/tsconfig.json +0 -48
  218. package/tsup.config.js +0 -41
  219. package/vite.config.js +0 -132
  220. package/vitest.config.ts +0 -35
  221. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  222. /package/{dist/Button-C17mExpd.cjs.map → Button-C17mExpd.cjs.map} +0 -0
  223. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  224. /package/{dist/Button-UkkP-bNw.js.map → Button-UkkP-bNw.js.map} +0 -0
  225. /package/{Readme.md → README.md} +0 -0
  226. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs +0 -0
  227. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs.map +0 -0
  228. /package/{dist/components → components}/ActionMenu/ActionMenu.d.ts +0 -0
  229. /package/{dist/components → components}/ActionMenu/ActionMenu.js +0 -0
  230. /package/{dist/components → components}/ActionMenu/ActionMenu.js.map +0 -0
  231. /package/{dist/components → components}/ActionMenu/index.d.ts +0 -0
  232. /package/{dist/components → components}/ActionMenu.d.ts +0 -0
  233. /package/{dist/components → components}/AppBar/AppBar.cjs +0 -0
  234. /package/{dist/components → components}/AppBar/AppBar.cjs.map +0 -0
  235. /package/{dist/components → components}/AppBar/AppBar.d.ts +0 -0
  236. /package/{dist/components → components}/AppBar/AppBar.js +0 -0
  237. /package/{dist/components → components}/AppBar/AppBar.js.map +0 -0
  238. /package/{dist/components → components}/AppBar/AppBar.sx.d.ts +0 -0
  239. /package/{dist/components → components}/AppBar/AppBarBrand.d.ts +0 -0
  240. /package/{dist/components → components}/AppBar/AppBarContext.d.ts +0 -0
  241. /package/{dist/components → components}/AppBar/AppBarMenuToggle.d.ts +0 -0
  242. /package/{dist/components → components}/AppBar/AppBarUserMenu.d.ts +0 -0
  243. /package/{dist/components → components}/AppBar/index.d.ts +0 -0
  244. /package/{dist/components → components}/AppBar.d.ts +0 -0
  245. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs +0 -0
  246. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs.map +0 -0
  247. /package/{dist/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
  248. /package/{dist/components → components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
  249. /package/{dist/components → components}/Autocomplete/Autocomplete.helpers.d.ts +0 -0
  250. /package/{dist/components → components}/Autocomplete/Autocomplete.js +0 -0
  251. /package/{dist/components → components}/Autocomplete/Autocomplete.js.map +0 -0
  252. /package/{dist/components → components}/Autocomplete/Autocomplete.sx.d.ts +0 -0
  253. /package/{dist/components → components}/Autocomplete/Autocomplete.types.d.ts +0 -0
  254. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteChips.d.ts +0 -0
  255. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteLoader.d.ts +0 -0
  256. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteOption.d.ts +0 -0
  257. /package/{dist/components → components}/Autocomplete/index.d.ts +0 -0
  258. /package/{dist/components → components}/Autocomplete.d.ts +0 -0
  259. /package/{dist/components → components}/Avatar/Avatar.cjs +0 -0
  260. /package/{dist/components → components}/Avatar/Avatar.cjs.map +0 -0
  261. /package/{dist/components → components}/Avatar/Avatar.d.ts +0 -0
  262. /package/{dist/components → components}/Avatar/Avatar.definitions.d.ts +0 -0
  263. /package/{dist/components → components}/Avatar/Avatar.js +0 -0
  264. /package/{dist/components → components}/Avatar/Avatar.js.map +0 -0
  265. /package/{dist/components → components}/Avatar/index.d.ts +0 -0
  266. /package/{dist/components → components}/Avatar.d.ts +0 -0
  267. /package/{dist/components → components}/Button/Button.cjs +0 -0
  268. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  269. /package/{dist/components → components}/Button/Button.d.ts +0 -0
  270. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  271. /package/{dist/components → components}/Button/Button.js +0 -0
  272. /package/{dist/components → components}/Button/Button.js.map +0 -0
  273. /package/{dist/components → components}/Button/index.d.ts +0 -0
  274. /package/{dist/components → components}/Button.d.ts +0 -0
  275. /package/{dist/components → components}/Card/Card.cjs +0 -0
  276. /package/{dist/components → components}/Card/Card.cjs.map +0 -0
  277. /package/{dist/components → components}/Card/Card.d.ts +0 -0
  278. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  279. /package/{dist/components → components}/Card/Card.js +0 -0
  280. /package/{dist/components → components}/Card/Card.js.map +0 -0
  281. /package/{dist/components → components}/Card/Card.sx.d.ts +0 -0
  282. /package/{dist/components → components}/Card/index.d.ts +0 -0
  283. /package/{dist/components → components}/Card.d.ts +0 -0
  284. /package/{dist/components → components}/Chip/Chip.cjs +0 -0
  285. /package/{dist/components → components}/Chip/Chip.cjs.map +0 -0
  286. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  287. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  288. /package/{dist/components → components}/Chip/Chip.js +0 -0
  289. /package/{dist/components → components}/Chip/Chip.js.map +0 -0
  290. /package/{dist/components → components}/Chip/index.d.ts +0 -0
  291. /package/{dist/components → components}/Chip.d.ts +0 -0
  292. /package/{dist/components → components}/Column/Column.cjs +0 -0
  293. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  294. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  295. /package/{dist/components → components}/Column/Column.js +0 -0
  296. /package/{dist/components → components}/Column/Column.js.map +0 -0
  297. /package/{dist/components → components}/Column/index.d.ts +0 -0
  298. /package/{dist/components → components}/Column.d.ts +0 -0
  299. /package/{dist/components → components}/DatePicker/DatePicker.cjs +0 -0
  300. /package/{dist/components → components}/DatePicker/DatePicker.cjs.map +0 -0
  301. /package/{dist/components → components}/DatePicker/DatePicker.d.ts +0 -0
  302. /package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +0 -0
  303. /package/{dist/components → components}/DatePicker/DatePicker.helpers.d.ts +0 -0
  304. /package/{dist/components → components}/DatePicker/DatePicker.js +0 -0
  305. /package/{dist/components → components}/DatePicker/DatePicker.js.map +0 -0
  306. /package/{dist/components → components}/DatePicker/DatePicker.sx.d.ts +0 -0
  307. /package/{dist/components → components}/DatePicker/DatePicker.types.d.ts +0 -0
  308. /package/{dist/components → components}/DatePicker/index.d.ts +0 -0
  309. /package/{dist/components → components}/DatePicker.d.ts +0 -0
  310. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  311. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  312. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  313. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  314. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  315. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  316. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  317. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  318. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs +0 -0
  319. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs.map +0 -0
  320. /package/{dist/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  321. /package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
  322. /package/{dist/components → components}/DateTimePicker/DateTimePicker.helpers.d.ts +0 -0
  323. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js +0 -0
  324. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js.map +0 -0
  325. /package/{dist/components → components}/DateTimePicker/DateTimePicker.sx.d.ts +0 -0
  326. /package/{dist/components → components}/DateTimePicker/DateTimePicker.types.d.ts +0 -0
  327. /package/{dist/components → components}/DateTimePicker/index.d.ts +0 -0
  328. /package/{dist/components → components}/DateTimePicker.d.ts +0 -0
  329. /package/{dist/components → components}/Drawer/Drawer.sx.d.ts +0 -0
  330. /package/{dist/components → components}/Drawer/DrawerContext.d.ts +0 -0
  331. /package/{dist/components → components}/Drawer/DrawerItem.d.ts +0 -0
  332. /package/{dist/components → components}/Drawer/index.d.ts +0 -0
  333. /package/{dist/components → components}/Drawer.d.ts +0 -0
  334. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  335. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  336. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  337. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  338. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  339. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  340. /package/{dist/components → components}/Flyout.d.ts +0 -0
  341. /package/{dist/components → components}/Gallery/Gallery.cjs +0 -0
  342. /package/{dist/components → components}/Gallery/Gallery.cjs.map +0 -0
  343. /package/{dist/components → components}/Gallery/Gallery.d.ts +0 -0
  344. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  345. /package/{dist/components → components}/Gallery/Gallery.js +0 -0
  346. /package/{dist/components → components}/Gallery/Gallery.js.map +0 -0
  347. /package/{dist/components → components}/Gallery/GalleryLightbox.d.ts +0 -0
  348. /package/{dist/components → components}/Gallery/GalleryMain.d.ts +0 -0
  349. /package/{dist/components → components}/Gallery/GalleryThumbnails.d.ts +0 -0
  350. /package/{dist/components → components}/Gallery/index.d.ts +0 -0
  351. /package/{dist/components → components}/Gallery.d.ts +0 -0
  352. /package/{dist/components → components}/Icon/Icon.cjs +0 -0
  353. /package/{dist/components → components}/Icon/Icon.cjs.map +0 -0
  354. /package/{dist/components → components}/Icon/Icon.d.ts +0 -0
  355. /package/{dist/components → components}/Icon/Icon.js +0 -0
  356. /package/{dist/components → components}/Icon/Icon.js.map +0 -0
  357. /package/{dist/components → components}/Icon/index.d.ts +0 -0
  358. /package/{dist/components → components}/Icon.d.ts +0 -0
  359. /package/{dist/components → components}/Input/Input.cjs +0 -0
  360. /package/{dist/components → components}/Input/Input.cjs.map +0 -0
  361. /package/{dist/components → components}/Input/Input.d.ts +0 -0
  362. /package/{dist/components → components}/Input/Input.helpers.d.ts +0 -0
  363. /package/{dist/components → components}/Input/Input.js +0 -0
  364. /package/{dist/components → components}/Input/Input.js.map +0 -0
  365. /package/{dist/components → components}/Input/Input.sx.d.ts +0 -0
  366. /package/{dist/components → components}/Input/Input.types.d.ts +0 -0
  367. /package/{dist/components → components}/Input/index.d.ts +0 -0
  368. /package/{dist/components → components}/Input.d.ts +0 -0
  369. /package/{dist/components → components}/InputGroup/InputGroup.cjs +0 -0
  370. /package/{dist/components → components}/InputGroup/InputGroup.cjs.map +0 -0
  371. /package/{dist/components → components}/InputGroup/InputGroup.d.ts +0 -0
  372. /package/{dist/components → components}/InputGroup/InputGroup.definitions.d.ts +0 -0
  373. /package/{dist/components → components}/InputGroup/InputGroup.js +0 -0
  374. /package/{dist/components → components}/InputGroup/InputGroup.js.map +0 -0
  375. /package/{dist/components → components}/InputGroup/index.d.ts +0 -0
  376. /package/{dist/components → components}/InputGroup.d.ts +0 -0
  377. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  378. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  379. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  380. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  381. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  382. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  383. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  384. /package/{dist/components → components}/Modal/Modal.cjs +0 -0
  385. /package/{dist/components → components}/Modal/Modal.cjs.map +0 -0
  386. /package/{dist/components → components}/Modal/Modal.d.ts +0 -0
  387. /package/{dist/components → components}/Modal/Modal.js +0 -0
  388. /package/{dist/components → components}/Modal/Modal.js.map +0 -0
  389. /package/{dist/components → components}/Modal/ModalBody.d.ts +0 -0
  390. /package/{dist/components → components}/Modal/ModalFooter.d.ts +0 -0
  391. /package/{dist/components → components}/Modal/ModalHeader.d.ts +0 -0
  392. /package/{dist/components → components}/Modal/index.d.ts +0 -0
  393. /package/{dist/components → components}/Modal.d.ts +0 -0
  394. /package/{dist/components → components}/PageLoader/PageLoader.cjs +0 -0
  395. /package/{dist/components → components}/PageLoader/PageLoader.cjs.map +0 -0
  396. /package/{dist/components → components}/PageLoader/PageLoader.d.ts +0 -0
  397. /package/{dist/components → components}/PageLoader/PageLoader.js +0 -0
  398. /package/{dist/components → components}/PageLoader/PageLoader.js.map +0 -0
  399. /package/{dist/components → components}/PageLoader/index.d.ts +0 -0
  400. /package/{dist/components → components}/PageLoader.d.ts +0 -0
  401. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs +0 -0
  402. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs.map +0 -0
  403. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.d.ts +0 -0
  404. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js +0 -0
  405. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js.map +0 -0
  406. /package/{dist/components → components}/ScrollTopButton/index.d.ts +0 -0
  407. /package/{dist/components → components}/ScrollTopButton/scrollToTop.d.ts +0 -0
  408. /package/{dist/components → components}/ScrollTopButton.d.ts +0 -0
  409. /package/{dist/components → components}/Select/Select.cjs +0 -0
  410. /package/{dist/components → components}/Select/Select.cjs.map +0 -0
  411. /package/{dist/components → components}/Select/Select.d.ts +0 -0
  412. /package/{dist/components → components}/Select/Select.definitions.d.ts +0 -0
  413. /package/{dist/components → components}/Select/Select.helpers.d.ts +0 -0
  414. /package/{dist/components → components}/Select/Select.js +0 -0
  415. /package/{dist/components → components}/Select/Select.js.map +0 -0
  416. /package/{dist/components → components}/Select/Select.sx.d.ts +0 -0
  417. /package/{dist/components → components}/Select/Select.types.d.ts +0 -0
  418. /package/{dist/components → components}/Select/_parts/SelectMenuItem.d.ts +0 -0
  419. /package/{dist/components → components}/Select/_parts/SelectSearchHeader.d.ts +0 -0
  420. /package/{dist/components → components}/Select/_parts/SelectValue.d.ts +0 -0
  421. /package/{dist/components → components}/Select/index.d.ts +0 -0
  422. /package/{dist/components → components}/Select.d.ts +0 -0
  423. /package/{dist/components → components}/Stat/Stat.cjs +0 -0
  424. /package/{dist/components → components}/Stat/Stat.cjs.map +0 -0
  425. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  426. /package/{dist/components → components}/Stat/Stat.js +0 -0
  427. /package/{dist/components → components}/Stat/Stat.js.map +0 -0
  428. /package/{dist/components → components}/Stat/index.d.ts +0 -0
  429. /package/{dist/components → components}/Stat.d.ts +0 -0
  430. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs +0 -0
  431. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs.map +0 -0
  432. /package/{dist/components → components}/StatusMessage/StatusMessage.d.ts +0 -0
  433. /package/{dist/components → components}/StatusMessage/StatusMessage.js +0 -0
  434. /package/{dist/components → components}/StatusMessage/StatusMessage.js.map +0 -0
  435. /package/{dist/components → components}/StatusMessage/index.d.ts +0 -0
  436. /package/{dist/components → components}/StatusMessage.d.ts +0 -0
  437. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  438. /package/{dist/components → components}/Stepper/Stepper.d.ts +0 -0
  439. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  440. /package/{dist/components → components}/Stepper/index.d.ts +0 -0
  441. /package/{dist/components → components}/Stepper.d.ts +0 -0
  442. /package/{dist/components → components}/Table/Table.cjs +0 -0
  443. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  444. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  445. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  446. /package/{dist/components → components}/Table/Table.js +0 -0
  447. /package/{dist/components → components}/Table/Table.js.map +0 -0
  448. /package/{dist/components → components}/Table/data.d.ts +0 -0
  449. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  450. /package/{dist/components → components}/Table/index.d.ts +0 -0
  451. /package/{dist/components → components}/Table/types.d.ts +0 -0
  452. /package/{dist/components → components}/Table.d.ts +0 -0
  453. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  454. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  455. /package/{dist/components → components}/Tabs/Tabs.cjs +0 -0
  456. /package/{dist/components → components}/Tabs/Tabs.cjs.map +0 -0
  457. /package/{dist/components → components}/Tabs/Tabs.d.ts +0 -0
  458. /package/{dist/components → components}/Tabs/Tabs.js +0 -0
  459. /package/{dist/components → components}/Tabs/Tabs.js.map +0 -0
  460. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  461. /package/{dist/components → components}/Tabs/index.d.ts +0 -0
  462. /package/{dist/components → components}/Tabs.d.ts +0 -0
  463. /package/{dist/components → components}/Timeline/Timeline.cjs +0 -0
  464. /package/{dist/components → components}/Timeline/Timeline.cjs.map +0 -0
  465. /package/{dist/components → components}/Timeline/Timeline.d.ts +0 -0
  466. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  467. /package/{dist/components → components}/Timeline/Timeline.js +0 -0
  468. /package/{dist/components → components}/Timeline/Timeline.js.map +0 -0
  469. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  470. /package/{dist/components → components}/Timeline/index.d.ts +0 -0
  471. /package/{dist/components → components}/Timeline.d.ts +0 -0
  472. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  473. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  474. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  475. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  476. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  477. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  478. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  479. /package/{dist/components → components}/_shared/formField.sx.d.ts +0 -0
  480. /package/{dist/components → components}/_shared/resolvePreset.d.ts +0 -0
  481. /package/{dist/formField.sx-CQ1mbk9M.cjs → formField.sx-CQ1mbk9M.cjs} +0 -0
  482. /package/{dist/formField.sx-CQ1mbk9M.cjs.map → formField.sx-CQ1mbk9M.cjs.map} +0 -0
  483. /package/{dist/formField.sx-DfVbMe0V.js → formField.sx-DfVbMe0V.js} +0 -0
  484. /package/{dist/formField.sx-DfVbMe0V.js.map → formField.sx-DfVbMe0V.js.map} +0 -0
  485. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  486. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  487. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  488. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  489. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  490. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  491. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  492. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  493. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs +0 -0
  494. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs.map +0 -0
  495. /package/{dist/hooks → hooks}/Wizard/Wizard.js +0 -0
  496. /package/{dist/hooks → hooks}/Wizard/Wizard.js.map +0 -0
  497. /package/{dist/hooks → hooks}/Wizard/WizardContext.d.ts +0 -0
  498. /package/{dist/hooks → hooks}/Wizard/index.d.ts +0 -0
  499. /package/{dist/hooks → hooks}/Wizard/useWizard.d.ts +0 -0
  500. /package/{dist/hooks → hooks}/Wizard.d.ts +0 -0
  501. /package/{dist/index.d.ts → index.d.ts} +0 -0
  502. /package/{dist/index.js.map → index.js.map} +0 -0
  503. /package/{dist/resolvePreset-B-IB0ehH.js → resolvePreset-B-IB0ehH.js} +0 -0
  504. /package/{dist/resolvePreset-B-IB0ehH.js.map → resolvePreset-B-IB0ehH.js.map} +0 -0
  505. /package/{dist/resolvePreset-CT3kU-K2.cjs → resolvePreset-CT3kU-K2.cjs} +0 -0
  506. /package/{dist/resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CT3kU-K2.cjs.map} +0 -0
  507. /package/{dist/styles.css → styles.css} +0 -0
  508. /package/{dist/theme → theme}/tokens.d.ts +0 -0
  509. /package/{dist/useWizard-CWdIxZzX.cjs → useWizard-CWdIxZzX.cjs} +0 -0
  510. /package/{dist/useWizard-CWdIxZzX.cjs.map → useWizard-CWdIxZzX.cjs.map} +0 -0
  511. /package/{dist/useWizard-CWq--C3o.js → useWizard-CWq--C3o.js} +0 -0
  512. /package/{dist/useWizard-CWq--C3o.js.map → useWizard-CWq--C3o.js.map} +0 -0
@@ -0,0 +1,202 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { jsx, jsxs } from "react/jsx-runtime";
33
+ import { useTheme } from "@mui/material/styles";
34
+ import { FormControl, FormLabel, RadioGroup as RadioGroup$1, FormHelperText, FormControlLabel, Radio } from "@mui/material";
35
+ import { Controller } from "react-hook-form";
36
+ import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
37
+ const toRadius = (borderRadius) => typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
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
+ const buildRadioGroupSx = ({
40
+ bordered,
41
+ borderRadius,
42
+ error
43
+ }) => {
44
+ const radius = toRadius(borderRadius);
45
+ if (!bordered) {
46
+ return {
47
+ "& .MuiFormHelperText-root": { marginLeft: 0 }
48
+ };
49
+ }
50
+ return (theme) => ({
51
+ "& .MuiRadioGroup-root": __spreadProps(__spreadValues({
52
+ paddingTop: 1.25,
53
+ paddingBottom: 1.25,
54
+ paddingX: 1.5,
55
+ border: `1px solid ${error ? theme.palette.error.main : theme.palette.divider}`,
56
+ borderRadius: radius,
57
+ transition: FOCUS_TRANSITION
58
+ }, error && {
59
+ boxShadow: `0 0 0 1px ${theme.palette.error.main}`
60
+ }), {
61
+ // Focus del usuario sobre cualquier radio interno.
62
+ "&:focus-within": {
63
+ borderColor: error ? theme.palette.error.main : theme.palette.primary.main,
64
+ boxShadow: `0 0 0 1px ${error ? theme.palette.error.main : theme.palette.primary.main}`
65
+ }
66
+ }),
67
+ "& .MuiFormHelperText-root": {
68
+ marginLeft: 0
69
+ },
70
+ "& .MuiFormLabel-root": {
71
+ marginBottom: 0.5
72
+ }
73
+ });
74
+ };
75
+ const RadioGroup = (props) => {
76
+ const _a = props, {
77
+ options,
78
+ label,
79
+ row = true,
80
+ size = "small",
81
+ disabled = false,
82
+ error = false,
83
+ helperText,
84
+ bordered = true,
85
+ borderRadius = 10,
86
+ defaultValue,
87
+ preset,
88
+ sx
89
+ } = _a, rest = __objRest(_a, [
90
+ "options",
91
+ "label",
92
+ "row",
93
+ "size",
94
+ "disabled",
95
+ "error",
96
+ "helperText",
97
+ "bordered",
98
+ "borderRadius",
99
+ "defaultValue",
100
+ "preset",
101
+ "sx"
102
+ ]);
103
+ const theme = useTheme();
104
+ const presetSx = resolvePreset("RadioGroup", preset, theme);
105
+ const buildSx = (effectiveError) => [
106
+ buildRadioGroupSx({ bordered, borderRadius, error: effectiveError }),
107
+ ...presetSx ? [presetSx] : [],
108
+ ...Array.isArray(sx) ? sx : [sx]
109
+ ];
110
+ const renderOptions = (currentValue, onChange2, fieldName) => options.map((opt) => {
111
+ var _a2;
112
+ const inputId = (_a2 = opt.id) != null ? _a2 : `${fieldName != null ? fieldName : "radio"}-${opt.value}`;
113
+ return /* @__PURE__ */ jsx(
114
+ FormControlLabel,
115
+ {
116
+ value: opt.value,
117
+ control: /* @__PURE__ */ jsx(
118
+ Radio,
119
+ {
120
+ id: inputId,
121
+ size,
122
+ disabled: disabled || opt.disabled
123
+ }
124
+ ),
125
+ label: opt.label,
126
+ checked: currentValue === opt.value,
127
+ disabled: disabled || opt.disabled
128
+ },
129
+ inputId
130
+ );
131
+ });
132
+ if ("control" in props && props.control) {
133
+ const { name: name2, control, validation } = props;
134
+ return /* @__PURE__ */ jsx(
135
+ Controller,
136
+ {
137
+ name: name2,
138
+ control,
139
+ rules: validation,
140
+ defaultValue,
141
+ render: ({ field, fieldState: { error: fieldError } }) => {
142
+ var _a2, _b;
143
+ const finalError = !!fieldError || error;
144
+ const finalHelperText = (_a2 = fieldError == null ? void 0 : fieldError.message) != null ? _a2 : helperText;
145
+ return /* @__PURE__ */ jsxs(
146
+ FormControl,
147
+ {
148
+ error: finalError,
149
+ disabled,
150
+ sx: buildSx(finalError),
151
+ fullWidth: true,
152
+ children: [
153
+ label && /* @__PURE__ */ jsx(FormLabel, { children: label }),
154
+ /* @__PURE__ */ jsx(
155
+ RadioGroup$1,
156
+ __spreadProps(__spreadValues({}, rest), {
157
+ row,
158
+ name: field.name,
159
+ value: (_b = field.value) != null ? _b : "",
160
+ onBlur: field.onBlur,
161
+ onChange: (_e, value2) => field.onChange(value2),
162
+ children: renderOptions(field.value, field.onChange, field.name)
163
+ })
164
+ ),
165
+ finalHelperText && /* @__PURE__ */ jsx(FormHelperText, { children: finalHelperText })
166
+ ]
167
+ }
168
+ );
169
+ }
170
+ }
171
+ );
172
+ }
173
+ const { value, onChange, name } = props;
174
+ return /* @__PURE__ */ jsxs(
175
+ FormControl,
176
+ {
177
+ error,
178
+ disabled,
179
+ sx: buildSx(error),
180
+ fullWidth: true,
181
+ children: [
182
+ label && /* @__PURE__ */ jsx(FormLabel, { children: label }),
183
+ /* @__PURE__ */ jsx(
184
+ RadioGroup$1,
185
+ __spreadProps(__spreadValues({}, rest), {
186
+ row,
187
+ name,
188
+ value: value != null ? value : "",
189
+ onChange: (_e, next) => onChange(next),
190
+ children: renderOptions(value, onChange, name)
191
+ })
192
+ ),
193
+ helperText && /* @__PURE__ */ jsx(FormHelperText, { children: helperText })
194
+ ]
195
+ }
196
+ );
197
+ };
198
+ export {
199
+ RadioGroup,
200
+ RadioGroup as default
201
+ };
202
+ //# sourceMappingURL=RadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.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":["onChange","_a","name","MuiRadioGroup","value"],"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,QAAQ,SAAA;AACd,QAAM,WAAW,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,cACAA,WACA,cAEA,QAAQ,IAAI,CAAC,QAAQ;;AACnB,UAAM,WAAUC,MAAA,IAAI,OAAJ,OAAAA,MAAU,GAAG,gCAAa,OAAO,IAAI,IAAI,KAAK;AAC9D,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,OAAO,IAAI;AAAA,QACX,SACE;AAAA,UAAC;AAAA,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,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMA;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,mBAAkBD,MAAA,yCAAY,YAAZ,OAAAA,MAAuB;AAC/C,iBACE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,cACP;AAAA,cACA,IAAI,QAAQ,UAAU;AAAA,cACtB,WAAS;AAAA,cAER,UAAA;AAAA,gBAAA,SAAS,oBAAC,aAAW,UAAA,MAAA,CAAM;AAAA,gBAC5B;AAAA,kBAACE;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,mBAAmB,oBAAC,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,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,IAAI,QAAQ,KAAK;AAAA,MACjB,WAAS;AAAA,MAER,UAAA;AAAA,QAAA,SAAS,oBAAC,aAAW,UAAA,MAAA,CAAM;AAAA,QAC5B;AAAA,UAACD;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,cAAc,oBAAC,gBAAA,EAAgB,UAAA,WAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjD;"}
@@ -0,0 +1,20 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
2
+ export interface BuildRadioGroupSxOptions {
3
+ bordered: boolean;
4
+ borderRadius: number | string;
5
+ error: boolean;
6
+ }
7
+ /**
8
+ * Builder de sx para RadioGroup. Reproduce el estilo del antiguo
9
+ * `FormRadioGroup` legacy: contenedor con borde + padding vertical.
10
+ *
11
+ * Cuando `bordered=true`, el contenedor gana:
12
+ * - `:focus-within` → borde + shadow primario (mismo patrón que `InputGroup`).
13
+ * - `error=true` → borde + shadow de error (palette.error.main).
14
+ *
15
+ * El shadow es de 1px, así que no hay shift de layout — sólo se intensifica
16
+ * visualmente el borde sin empujar nada alrededor.
17
+ *
18
+ * Si `bordered=false`, devuelve un sx mínimo (sólo helper text reset).
19
+ */
20
+ export declare const buildRadioGroupSx: ({ bordered, borderRadius, error, }: BuildRadioGroupSxOptions) => SxProps<Theme>;
@@ -0,0 +1 @@
1
+ export type { RadioOption, RadioGroupSize, BaseRadioGroupProps, RHFRadioGroupProps, ControlledRadioGroupProps, RadioGroupProps, } from './RadioGroup';
@@ -0,0 +1,2 @@
1
+ export { RadioGroup, default } from './RadioGroup';
2
+ export type { RadioOption, RadioGroupSize, BaseRadioGroupProps, RHFRadioGroupProps, ControlledRadioGroupProps, RadioGroupProps, } from './RadioGroup.types';
@@ -0,0 +1,6 @@
1
+ export * from './RadioGroup/index'
2
+ export {}
3
+ import _default from './RadioGroup/index'
4
+ export default _default
5
+ export * from './RadioGroup/index'
6
+ export {}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const material = require("@mui/material");
6
+ const ChevronLeftIcon = require("@mui/icons-material/ChevronLeft");
7
+ const ChevronRightIcon = require("@mui/icons-material/ChevronRight");
8
+ const useWizard = require("../../useWizard-CWdIxZzX.cjs");
9
+ const Stepper = ({
10
+ children,
11
+ orientation = "horizontal",
12
+ alternateLabel = false,
13
+ sx,
14
+ currentStep: currentStepProp
15
+ }) => {
16
+ const wizard = useWizard.useWizard();
17
+ const currentStep = currentStepProp !== void 0 ? currentStepProp : wizard.totalSteps > 0 ? wizard.currentStep : 0;
18
+ const isHorizontal = orientation === "horizontal";
19
+ const scrollRef = React.useRef(null);
20
+ const [canScrollLeft, setCanScrollLeft] = React.useState(false);
21
+ const [canScrollRight, setCanScrollRight] = React.useState(false);
22
+ const updateScrollState = () => {
23
+ const el = scrollRef.current;
24
+ if (!el) return;
25
+ const { scrollLeft, scrollWidth, clientWidth } = el;
26
+ setCanScrollLeft(scrollLeft > 1);
27
+ setCanScrollRight(scrollLeft + clientWidth < scrollWidth - 1);
28
+ };
29
+ React.useLayoutEffect(() => {
30
+ if (!isHorizontal) return;
31
+ updateScrollState();
32
+ }, [isHorizontal, children.length, currentStep]);
33
+ React.useEffect(() => {
34
+ if (!isHorizontal) return;
35
+ const el = scrollRef.current;
36
+ if (!el) return;
37
+ const onScroll = () => updateScrollState();
38
+ el.addEventListener("scroll", onScroll, { passive: true });
39
+ const ro = new ResizeObserver(() => updateScrollState());
40
+ ro.observe(el);
41
+ return () => {
42
+ el.removeEventListener("scroll", onScroll);
43
+ ro.disconnect();
44
+ };
45
+ }, [isHorizontal]);
46
+ const scrollBy = (delta) => {
47
+ const el = scrollRef.current;
48
+ if (!el) return;
49
+ el.scrollBy({ left: delta, behavior: "smooth" });
50
+ };
51
+ const showArrows = isHorizontal && (canScrollLeft || canScrollRight);
52
+ return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx, children: [
53
+ /* @__PURE__ */ jsxRuntime.jsxs(
54
+ material.Box,
55
+ {
56
+ sx: isHorizontal ? {
57
+ display: "flex",
58
+ alignItems: "center",
59
+ width: "100%",
60
+ gap: 0.5
61
+ } : void 0,
62
+ children: [
63
+ isHorizontal && /* @__PURE__ */ jsxRuntime.jsx(
64
+ material.IconButton,
65
+ {
66
+ "aria-label": "Anterior",
67
+ size: "small",
68
+ onClick: () => scrollBy(-160),
69
+ disabled: !canScrollLeft,
70
+ sx: {
71
+ flex: "0 0 auto",
72
+ // Reservamos el slot siempre que haya overflow en algún lado,
73
+ // así el área scroll tiene un ancho estable (no saltan los
74
+ // steps cuando aparece/desaparece la flecha).
75
+ visibility: showArrows ? "visible" : "hidden"
76
+ },
77
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { fontSize: "small" })
78
+ }
79
+ ),
80
+ /* @__PURE__ */ jsxRuntime.jsx(
81
+ material.Box,
82
+ {
83
+ ref: scrollRef,
84
+ sx: isHorizontal ? {
85
+ flex: "1 1 auto",
86
+ minWidth: 0,
87
+ overflowX: "auto",
88
+ scrollBehavior: "smooth",
89
+ WebkitOverflowScrolling: "touch",
90
+ // Ocultamos la scrollbar (la navegación es con flechas)
91
+ scrollbarWidth: "none",
92
+ "&::-webkit-scrollbar": { display: "none" }
93
+ } : void 0,
94
+ children: /* @__PURE__ */ jsxRuntime.jsx(
95
+ material.Stepper,
96
+ {
97
+ activeStep: currentStep,
98
+ orientation,
99
+ alternativeLabel: alternateLabel,
100
+ sx: isHorizontal ? {
101
+ display: "inline-flex",
102
+ flexWrap: "nowrap",
103
+ minWidth: "100%",
104
+ width: "max-content",
105
+ // Evita que los steps se compriman al punto de solaparse.
106
+ "& .MuiStep-root": { flex: "0 0 auto", minWidth: 120 }
107
+ } : void 0,
108
+ children: children.map((child, idx) => {
109
+ const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;
110
+ return /* @__PURE__ */ jsxRuntime.jsx(material.Step, { completed, disabled, className, sx: stepSx, children: /* @__PURE__ */ jsxRuntime.jsx(
111
+ material.StepLabel,
112
+ {
113
+ sx: {
114
+ pointerEvents: "none",
115
+ "& .MuiStepIcon-root": {
116
+ color: dotColor
117
+ },
118
+ "& .MuiStepIcon-active": {
119
+ color: activeDotColor
120
+ },
121
+ "& .MuiStepIcon-completed": {
122
+ color: completedDotColor
123
+ },
124
+ "& .MuiStepIcon-text": {
125
+ fill: iconTextColor
126
+ }
127
+ },
128
+ children: label
129
+ }
130
+ ) }, idx);
131
+ })
132
+ }
133
+ )
134
+ }
135
+ ),
136
+ isHorizontal && /* @__PURE__ */ jsxRuntime.jsx(
137
+ material.IconButton,
138
+ {
139
+ "aria-label": "Siguiente",
140
+ size: "small",
141
+ onClick: () => scrollBy(160),
142
+ disabled: !canScrollRight,
143
+ sx: {
144
+ flex: "0 0 auto",
145
+ visibility: showArrows ? "visible" : "hidden"
146
+ },
147
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { fontSize: "small" })
148
+ }
149
+ )
150
+ ]
151
+ }
152
+ ),
153
+ /* @__PURE__ */ jsxRuntime.jsx(material.Box, { mt: 2, children: children.map(
154
+ (child, idx) => idx === currentStep ? /* @__PURE__ */ jsxRuntime.jsx(material.Box, { children: child.props.children }, idx) : null
155
+ ) })
156
+ ] });
157
+ };
158
+ const Step = (_) => null;
159
+ Step.displayName = "Step";
160
+ exports.Step = Step;
161
+ exports.Stepper = Stepper;
162
+ //# sourceMappingURL=Stepper.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.cjs","sources":["../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/Step.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport {\n Stepper as MuiStepper,\n Step as MuiStep,\n StepLabel as MuiStepLabel,\n Box,\n IconButton,\n} from \"@mui/material\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\nimport { StepProps } from \"./Step\";\nimport { useWizard } from \"../../hooks/Wizard\";\n\ninterface MyStepperProps {\n children: ReactElement<StepProps>[];\n orientation?: \"horizontal\" | \"vertical\";\n sx?: object;\n alternateLabel?: boolean;\n /**\n * Índice 0-based del paso activo. Si no se provee, el Stepper intenta\n * leerlo del `WizardContext` (si está dentro de un `<WizardProvider>`).\n * Si tampoco hay provider, el default es 0.\n */\n currentStep?: number;\n}\n\nexport const Stepper: React.FC<MyStepperProps> = ({\n children,\n orientation = \"horizontal\",\n alternateLabel = false,\n\n sx,\n currentStep: currentStepProp,\n}) => {\n // Lee el paso desde el WizardContext cuando el consumer no lo pasa como prop.\n // Si el Stepper NO está dentro de un WizardProvider, `useWizard()` devuelve\n // el valor default (currentStep=0, totalSteps=0), así que no rompe nada.\n const wizard = useWizard();\n const currentStep =\n currentStepProp !== undefined\n ? currentStepProp\n : wizard.totalSteps > 0\n ? wizard.currentStep\n : 0;\n\n const isHorizontal = orientation === \"horizontal\";\n\n // Scroll horizontal con flechitas cuando los steps no caben.\n const scrollRef = useRef<HTMLDivElement | null>(null);\n const [canScrollLeft, setCanScrollLeft] = useState(false);\n const [canScrollRight, setCanScrollRight] = useState(false);\n\n const updateScrollState = () => {\n const el = scrollRef.current;\n if (!el) return;\n const { scrollLeft, scrollWidth, clientWidth } = el;\n // Tolerancia de 1px por redondeos de subpixel.\n setCanScrollLeft(scrollLeft > 1);\n setCanScrollRight(scrollLeft + clientWidth < scrollWidth - 1);\n };\n\n useLayoutEffect(() => {\n if (!isHorizontal) return;\n updateScrollState();\n }, [isHorizontal, children.length, currentStep]);\n\n useEffect(() => {\n if (!isHorizontal) return;\n const el = scrollRef.current;\n if (!el) return;\n const onScroll = () => updateScrollState();\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n const ro = new ResizeObserver(() => updateScrollState());\n ro.observe(el);\n return () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n };\n }, [isHorizontal]);\n\n const scrollBy = (delta: number) => {\n const el = scrollRef.current;\n if (!el) return;\n el.scrollBy({ left: delta, behavior: \"smooth\" });\n };\n\n const showArrows = isHorizontal && (canScrollLeft || canScrollRight);\n\n return (\n <Box sx={sx}>\n {/*\n En horizontal envolvemos el MuiStepper en un Box con `overflowX: auto`\n y flechitas `<` `>` a los costados para navegar cuando los steps no\n caben en el contenedor. Mantenemos el scroll nativo (rueda / swipe)\n y ocultamos la scrollbar visual.\n */}\n <Box\n sx={\n isHorizontal\n ? {\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n gap: 0.5,\n }\n : undefined\n }\n >\n {isHorizontal && (\n <IconButton\n aria-label=\"Anterior\"\n size=\"small\"\n onClick={() => scrollBy(-160)}\n disabled={!canScrollLeft}\n sx={{\n flex: \"0 0 auto\",\n // Reservamos el slot siempre que haya overflow en algún lado,\n // así el área scroll tiene un ancho estable (no saltan los\n // steps cuando aparece/desaparece la flecha).\n visibility: showArrows ? \"visible\" : \"hidden\",\n }}\n >\n <ChevronLeftIcon fontSize=\"small\" />\n </IconButton>\n )}\n <Box\n ref={scrollRef}\n sx={\n isHorizontal\n ? {\n flex: \"1 1 auto\",\n minWidth: 0,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n WebkitOverflowScrolling: \"touch\",\n // Ocultamos la scrollbar (la navegación es con flechas)\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n }\n : undefined\n }\n >\n <MuiStepper\n activeStep={currentStep}\n orientation={orientation}\n alternativeLabel={alternateLabel}\n sx={\n isHorizontal\n ? {\n display: \"inline-flex\",\n flexWrap: \"nowrap\",\n minWidth: \"100%\",\n width: \"max-content\",\n // Evita que los steps se compriman al punto de solaparse.\n \"& .MuiStep-root\": { flex: \"0 0 auto\", minWidth: 120 },\n }\n : undefined\n }\n >\n {children.map((child, idx) => {\n const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;\n return (\n <MuiStep key={idx} completed={completed} disabled={disabled} className={className} sx={stepSx}>\n <MuiStepLabel sx={{\n pointerEvents: 'none',\n \"& .MuiStepIcon-root\": {\n color: dotColor,\n },\n \"& .MuiStepIcon-active\": {\n color: activeDotColor,\n },\n \"& .MuiStepIcon-completed\": {\n color: completedDotColor,\n },\n \"& .MuiStepIcon-text\": {\n fill: iconTextColor,\n },\n }}\n >{label}\n </MuiStepLabel>\n </MuiStep>\n );\n })}\n </MuiStepper>\n </Box>\n {isHorizontal && (\n <IconButton\n aria-label=\"Siguiente\"\n size=\"small\"\n onClick={() => scrollBy(160)}\n disabled={!canScrollRight}\n sx={{\n flex: \"0 0 auto\",\n visibility: showArrows ? \"visible\" : \"hidden\",\n }}\n >\n <ChevronRightIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n <Box mt={2}>\n {children.map((child, idx) =>\n idx === currentStep ? <Box key={idx}>{child.props.children}</Box> : null\n )}\n </Box>\n </Box>\n );\n};\n\nexport default Stepper;","import React from \"react\";\nimport { StepProps as MuiStepProps } from \"@mui/material\";\n\ntype PickMuiStepProps = Pick<MuiStepProps, \"completed\" | \"disabled\" | \"sx\" | \"className\">;\n\nexport interface StepProps extends PickMuiStepProps {\n label: React.ReactNode;\n children?: React.ReactNode;\n disabled?: boolean;\n sx?: object;\n dotColor?: string; // dot base\n activeDotColor?: string; // dot activa\n completedDotColor?: string; // dot completada\n iconTextColor?: string; // número o check dentro\n}\n\nexport const Step = (_: StepProps): null => null;\n\nStep.displayName = \"Step\";\n\nexport default Step;"],"names":["useWizard","useRef","useState","useLayoutEffect","useEffect","jsxs","Box","jsx","IconButton","MuiStepper","MuiStep","MuiStepLabel"],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useRef, useState, useLayoutEffect, useEffect } from "react";
3
+ import { Box, IconButton, Stepper as Stepper$1, Step as Step$1, StepLabel } from "@mui/material";
4
+ import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
5
+ import ChevronRightIcon from "@mui/icons-material/ChevronRight";
6
+ import { u as useWizard } from "../../useWizard-CWq--C3o.js";
7
+ const Stepper = ({
8
+ children,
9
+ orientation = "horizontal",
10
+ alternateLabel = false,
11
+ sx,
12
+ currentStep: currentStepProp
13
+ }) => {
14
+ const wizard = useWizard();
15
+ const currentStep = currentStepProp !== void 0 ? currentStepProp : wizard.totalSteps > 0 ? wizard.currentStep : 0;
16
+ const isHorizontal = orientation === "horizontal";
17
+ const scrollRef = useRef(null);
18
+ const [canScrollLeft, setCanScrollLeft] = useState(false);
19
+ const [canScrollRight, setCanScrollRight] = useState(false);
20
+ const updateScrollState = () => {
21
+ const el = scrollRef.current;
22
+ if (!el) return;
23
+ const { scrollLeft, scrollWidth, clientWidth } = el;
24
+ setCanScrollLeft(scrollLeft > 1);
25
+ setCanScrollRight(scrollLeft + clientWidth < scrollWidth - 1);
26
+ };
27
+ useLayoutEffect(() => {
28
+ if (!isHorizontal) return;
29
+ updateScrollState();
30
+ }, [isHorizontal, children.length, currentStep]);
31
+ useEffect(() => {
32
+ if (!isHorizontal) return;
33
+ const el = scrollRef.current;
34
+ if (!el) return;
35
+ const onScroll = () => updateScrollState();
36
+ el.addEventListener("scroll", onScroll, { passive: true });
37
+ const ro = new ResizeObserver(() => updateScrollState());
38
+ ro.observe(el);
39
+ return () => {
40
+ el.removeEventListener("scroll", onScroll);
41
+ ro.disconnect();
42
+ };
43
+ }, [isHorizontal]);
44
+ const scrollBy = (delta) => {
45
+ const el = scrollRef.current;
46
+ if (!el) return;
47
+ el.scrollBy({ left: delta, behavior: "smooth" });
48
+ };
49
+ const showArrows = isHorizontal && (canScrollLeft || canScrollRight);
50
+ return /* @__PURE__ */ jsxs(Box, { sx, children: [
51
+ /* @__PURE__ */ jsxs(
52
+ Box,
53
+ {
54
+ sx: isHorizontal ? {
55
+ display: "flex",
56
+ alignItems: "center",
57
+ width: "100%",
58
+ gap: 0.5
59
+ } : void 0,
60
+ children: [
61
+ isHorizontal && /* @__PURE__ */ jsx(
62
+ IconButton,
63
+ {
64
+ "aria-label": "Anterior",
65
+ size: "small",
66
+ onClick: () => scrollBy(-160),
67
+ disabled: !canScrollLeft,
68
+ sx: {
69
+ flex: "0 0 auto",
70
+ // Reservamos el slot siempre que haya overflow en algún lado,
71
+ // así el área scroll tiene un ancho estable (no saltan los
72
+ // steps cuando aparece/desaparece la flecha).
73
+ visibility: showArrows ? "visible" : "hidden"
74
+ },
75
+ children: /* @__PURE__ */ jsx(ChevronLeftIcon, { fontSize: "small" })
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsx(
79
+ Box,
80
+ {
81
+ ref: scrollRef,
82
+ sx: isHorizontal ? {
83
+ flex: "1 1 auto",
84
+ minWidth: 0,
85
+ overflowX: "auto",
86
+ scrollBehavior: "smooth",
87
+ WebkitOverflowScrolling: "touch",
88
+ // Ocultamos la scrollbar (la navegación es con flechas)
89
+ scrollbarWidth: "none",
90
+ "&::-webkit-scrollbar": { display: "none" }
91
+ } : void 0,
92
+ children: /* @__PURE__ */ jsx(
93
+ Stepper$1,
94
+ {
95
+ activeStep: currentStep,
96
+ orientation,
97
+ alternativeLabel: alternateLabel,
98
+ sx: isHorizontal ? {
99
+ display: "inline-flex",
100
+ flexWrap: "nowrap",
101
+ minWidth: "100%",
102
+ width: "max-content",
103
+ // Evita que los steps se compriman al punto de solaparse.
104
+ "& .MuiStep-root": { flex: "0 0 auto", minWidth: 120 }
105
+ } : void 0,
106
+ children: children.map((child, idx) => {
107
+ const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;
108
+ return /* @__PURE__ */ jsx(Step$1, { completed, disabled, className, sx: stepSx, children: /* @__PURE__ */ jsx(
109
+ StepLabel,
110
+ {
111
+ sx: {
112
+ pointerEvents: "none",
113
+ "& .MuiStepIcon-root": {
114
+ color: dotColor
115
+ },
116
+ "& .MuiStepIcon-active": {
117
+ color: activeDotColor
118
+ },
119
+ "& .MuiStepIcon-completed": {
120
+ color: completedDotColor
121
+ },
122
+ "& .MuiStepIcon-text": {
123
+ fill: iconTextColor
124
+ }
125
+ },
126
+ children: label
127
+ }
128
+ ) }, idx);
129
+ })
130
+ }
131
+ )
132
+ }
133
+ ),
134
+ isHorizontal && /* @__PURE__ */ jsx(
135
+ IconButton,
136
+ {
137
+ "aria-label": "Siguiente",
138
+ size: "small",
139
+ onClick: () => scrollBy(160),
140
+ disabled: !canScrollRight,
141
+ sx: {
142
+ flex: "0 0 auto",
143
+ visibility: showArrows ? "visible" : "hidden"
144
+ },
145
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, { fontSize: "small" })
146
+ }
147
+ )
148
+ ]
149
+ }
150
+ ),
151
+ /* @__PURE__ */ jsx(Box, { mt: 2, children: children.map(
152
+ (child, idx) => idx === currentStep ? /* @__PURE__ */ jsx(Box, { children: child.props.children }, idx) : null
153
+ ) })
154
+ ] });
155
+ };
156
+ const Step = (_) => null;
157
+ Step.displayName = "Step";
158
+ export {
159
+ Step,
160
+ Stepper
161
+ };
162
+ //# sourceMappingURL=Stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/Step.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport {\n Stepper as MuiStepper,\n Step as MuiStep,\n StepLabel as MuiStepLabel,\n Box,\n IconButton,\n} from \"@mui/material\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\nimport { StepProps } from \"./Step\";\nimport { useWizard } from \"../../hooks/Wizard\";\n\ninterface MyStepperProps {\n children: ReactElement<StepProps>[];\n orientation?: \"horizontal\" | \"vertical\";\n sx?: object;\n alternateLabel?: boolean;\n /**\n * Índice 0-based del paso activo. Si no se provee, el Stepper intenta\n * leerlo del `WizardContext` (si está dentro de un `<WizardProvider>`).\n * Si tampoco hay provider, el default es 0.\n */\n currentStep?: number;\n}\n\nexport const Stepper: React.FC<MyStepperProps> = ({\n children,\n orientation = \"horizontal\",\n alternateLabel = false,\n\n sx,\n currentStep: currentStepProp,\n}) => {\n // Lee el paso desde el WizardContext cuando el consumer no lo pasa como prop.\n // Si el Stepper NO está dentro de un WizardProvider, `useWizard()` devuelve\n // el valor default (currentStep=0, totalSteps=0), así que no rompe nada.\n const wizard = useWizard();\n const currentStep =\n currentStepProp !== undefined\n ? currentStepProp\n : wizard.totalSteps > 0\n ? wizard.currentStep\n : 0;\n\n const isHorizontal = orientation === \"horizontal\";\n\n // Scroll horizontal con flechitas cuando los steps no caben.\n const scrollRef = useRef<HTMLDivElement | null>(null);\n const [canScrollLeft, setCanScrollLeft] = useState(false);\n const [canScrollRight, setCanScrollRight] = useState(false);\n\n const updateScrollState = () => {\n const el = scrollRef.current;\n if (!el) return;\n const { scrollLeft, scrollWidth, clientWidth } = el;\n // Tolerancia de 1px por redondeos de subpixel.\n setCanScrollLeft(scrollLeft > 1);\n setCanScrollRight(scrollLeft + clientWidth < scrollWidth - 1);\n };\n\n useLayoutEffect(() => {\n if (!isHorizontal) return;\n updateScrollState();\n }, [isHorizontal, children.length, currentStep]);\n\n useEffect(() => {\n if (!isHorizontal) return;\n const el = scrollRef.current;\n if (!el) return;\n const onScroll = () => updateScrollState();\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n const ro = new ResizeObserver(() => updateScrollState());\n ro.observe(el);\n return () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n };\n }, [isHorizontal]);\n\n const scrollBy = (delta: number) => {\n const el = scrollRef.current;\n if (!el) return;\n el.scrollBy({ left: delta, behavior: \"smooth\" });\n };\n\n const showArrows = isHorizontal && (canScrollLeft || canScrollRight);\n\n return (\n <Box sx={sx}>\n {/*\n En horizontal envolvemos el MuiStepper en un Box con `overflowX: auto`\n y flechitas `<` `>` a los costados para navegar cuando los steps no\n caben en el contenedor. Mantenemos el scroll nativo (rueda / swipe)\n y ocultamos la scrollbar visual.\n */}\n <Box\n sx={\n isHorizontal\n ? {\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n gap: 0.5,\n }\n : undefined\n }\n >\n {isHorizontal && (\n <IconButton\n aria-label=\"Anterior\"\n size=\"small\"\n onClick={() => scrollBy(-160)}\n disabled={!canScrollLeft}\n sx={{\n flex: \"0 0 auto\",\n // Reservamos el slot siempre que haya overflow en algún lado,\n // así el área scroll tiene un ancho estable (no saltan los\n // steps cuando aparece/desaparece la flecha).\n visibility: showArrows ? \"visible\" : \"hidden\",\n }}\n >\n <ChevronLeftIcon fontSize=\"small\" />\n </IconButton>\n )}\n <Box\n ref={scrollRef}\n sx={\n isHorizontal\n ? {\n flex: \"1 1 auto\",\n minWidth: 0,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n WebkitOverflowScrolling: \"touch\",\n // Ocultamos la scrollbar (la navegación es con flechas)\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n }\n : undefined\n }\n >\n <MuiStepper\n activeStep={currentStep}\n orientation={orientation}\n alternativeLabel={alternateLabel}\n sx={\n isHorizontal\n ? {\n display: \"inline-flex\",\n flexWrap: \"nowrap\",\n minWidth: \"100%\",\n width: \"max-content\",\n // Evita que los steps se compriman al punto de solaparse.\n \"& .MuiStep-root\": { flex: \"0 0 auto\", minWidth: 120 },\n }\n : undefined\n }\n >\n {children.map((child, idx) => {\n const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;\n return (\n <MuiStep key={idx} completed={completed} disabled={disabled} className={className} sx={stepSx}>\n <MuiStepLabel sx={{\n pointerEvents: 'none',\n \"& .MuiStepIcon-root\": {\n color: dotColor,\n },\n \"& .MuiStepIcon-active\": {\n color: activeDotColor,\n },\n \"& .MuiStepIcon-completed\": {\n color: completedDotColor,\n },\n \"& .MuiStepIcon-text\": {\n fill: iconTextColor,\n },\n }}\n >{label}\n </MuiStepLabel>\n </MuiStep>\n );\n })}\n </MuiStepper>\n </Box>\n {isHorizontal && (\n <IconButton\n aria-label=\"Siguiente\"\n size=\"small\"\n onClick={() => scrollBy(160)}\n disabled={!canScrollRight}\n sx={{\n flex: \"0 0 auto\",\n visibility: showArrows ? \"visible\" : \"hidden\",\n }}\n >\n <ChevronRightIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n <Box mt={2}>\n {children.map((child, idx) =>\n idx === currentStep ? <Box key={idx}>{child.props.children}</Box> : null\n )}\n </Box>\n </Box>\n );\n};\n\nexport default Stepper;","import React from \"react\";\nimport { StepProps as MuiStepProps } from \"@mui/material\";\n\ntype PickMuiStepProps = Pick<MuiStepProps, \"completed\" | \"disabled\" | \"sx\" | \"className\">;\n\nexport interface StepProps extends PickMuiStepProps {\n label: React.ReactNode;\n children?: React.ReactNode;\n disabled?: boolean;\n sx?: object;\n dotColor?: string; // dot base\n activeDotColor?: string; // dot activa\n completedDotColor?: string; // dot completada\n iconTextColor?: string; // número o check dentro\n}\n\nexport const Step = (_: StepProps): null => null;\n\nStep.displayName = \"Step\";\n\nexport default Step;"],"names":["MuiStepper","MuiStep","MuiStepLabel"],"mappings":"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"}