@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.cjs","sources":["../../../src/components/Drawer/DrawerContext.ts","../../../src/components/Drawer/Drawer.sx.ts","../../../src/components/Drawer/Drawer.tsx","../../../src/components/Drawer/DrawerItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/**\n * Context interno del Drawer. Permite que los sub-componentes (DrawerItem,\n * DrawerSection, etc.) reaccionen al estado `collapsed` sin necesidad de\n * recibirlo por props explícitas.\n */\nexport interface DrawerContextValue {\n /** Si el drawer está en modo mini (solo iconos). */\n collapsed: boolean;\n /** Ancho actual del drawer (útil para sub-componentes que necesiten layout). */\n width: number;\n}\n\nexport const DrawerContext = createContext<DrawerContextValue | null>(null);\n\n/**\n * Hook para leer el estado del drawer desde cualquier sub-componente. Si se\n * llama fuera de un `<Drawer>`, devuelve valores por defecto (collapsed=false)\n * para que los items renderizados sueltos no exploten.\n */\nexport function useDrawerContext(): DrawerContextValue {\n const ctx = useContext(DrawerContext);\n if (ctx) return ctx;\n return { collapsed: false, width: 260 };\n}\n","import type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface BuildDrawerSxArgs {\n /** Ancho actual del drawer (expanded o collapsed). */\n width: number;\n /** Duración de la transición de ancho en ms. */\n transitionDuration?: number;\n}\n\n/**\n * sx aplicado al root del MuiDrawer. Controla el ancho animado y el paper\n * interno. Los estilos visuales del paper (background, border) se dejan en\n * manos del theme / preset.\n */\nexport function buildDrawerSx({\n width,\n transitionDuration = 200,\n}: BuildDrawerSxArgs): SxProps<Theme> {\n return {\n width,\n flexShrink: 0,\n whiteSpace: 'nowrap',\n boxSizing: 'border-box',\n transition: (theme) =>\n theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: transitionDuration,\n }),\n '& .MuiDrawer-paper': {\n width,\n boxSizing: 'border-box',\n overflowX: 'hidden',\n transition: (theme) =>\n theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: transitionDuration,\n }),\n },\n };\n}\n\nexport interface BuildDrawerItemSxArgs {\n collapsed: boolean;\n active?: boolean;\n danger?: boolean;\n}\n\n/**\n * sx para un item del drawer. Centra el icono cuando está colapsado y\n * tiñe el fondo cuando el item está activo.\n */\nexport function buildDrawerItemSx({\n collapsed,\n active,\n danger,\n}: BuildDrawerItemSxArgs): SxProps<Theme> {\n return (theme) => ({\n minHeight: 44,\n px: collapsed ? 1 : 2,\n py: 1,\n mx: 1,\n my: 0.25,\n borderRadius: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: collapsed ? 'center' : 'flex-start',\n gap: collapsed ? 0 : 1.5,\n cursor: 'pointer',\n color: danger\n ? theme.palette.error.main\n : active\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n backgroundColor: active\n ? theme.palette.action.selected\n : 'transparent',\n transition: theme.transitions.create(\n ['background-color', 'color', 'padding'],\n { duration: 150 },\n ),\n '&:hover': {\n backgroundColor: danger\n ? theme.palette.error.light + '22'\n : theme.palette.action.hover,\n },\n '& .drawer-item__icon': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n minWidth: 24,\n },\n '& .drawer-item__label': {\n flex: 1,\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n opacity: collapsed ? 0 : 1,\n width: collapsed ? 0 : 'auto',\n transition: theme.transitions.create(['opacity', 'width'], {\n duration: collapsed ? 100 : 200,\n }),\n },\n });\n}\n","import React, { useMemo, type ReactNode } from 'react';\nimport {\n Drawer as MuiDrawer,\n IconButton,\n Box,\n type DrawerProps as MuiDrawerProps,\n} from '@mui/material';\nimport {\n useTheme,\n type SxProps,\n type Theme,\n} from '@mui/material/styles';\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\n\nimport { DrawerContext } from './DrawerContext';\nimport { buildDrawerSx } from './Drawer.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos públicos ──────────────────────────────────────────────────────\nexport type DrawerVariant = 'permanent' | 'persistent' | 'temporary';\nexport type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface DrawerProps {\n /** Contenido del drawer (típicamente `<DrawerItem>`s). */\n children?: ReactNode;\n /**\n * Variante del drawer:\n * - `permanent` (default): siempre visible en desktop, soporta collapsed (mini).\n * - `persistent`: se oculta/muestra, empuja el contenido principal.\n * - `temporary`: flotante con backdrop (típico móvil).\n */\n variant?: DrawerVariant;\n /** Lado del viewport. Default: `'left'`. */\n anchor?: DrawerAnchor;\n /**\n * Estado mini (solo iconos). Solo se aplica con `variant=\"permanent\"` o\n * `\"persistent\"`. Si no se provee, el drawer está siempre expandido.\n */\n collapsed?: boolean;\n /** Callback del botón de toggle (chevron). */\n onToggleCollapse?: () => void;\n /** Estado abierto/cerrado (aplica a `temporary` y `persistent`). */\n open?: boolean;\n /** Callback de cierre (backdrop o ESC en temporary). */\n onClose?: MuiDrawerProps['onClose'];\n /** Ancho en estado expandido. Default: 260. */\n expandedWidth?: number;\n /** Ancho en estado colapsado (solo iconos). Default: 72. */\n collapsedWidth?: number;\n /** Muestra el botón chevron para toggle collapsed. Default: true si `onToggleCollapse` está definido. */\n showCollapseButton?: boolean;\n /** Contenido del header (por encima de los items). Típicamente logo/brand. */\n header?: ReactNode;\n /** Contenido del footer (por debajo de los items). Típicamente user profile. */\n footer?: ReactNode;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Drawer`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n */\n preset?: string;\n /** sx aplicado al Drawer (root). Se mergea después del preset. */\n sx?: SxProps<Theme>;\n /** sx aplicado al Paper interno. */\n paperSx?: SxProps<Theme>;\n className?: string;\n}\n\nexport function Drawer({\n children,\n variant = 'permanent',\n anchor = 'left',\n collapsed = false,\n onToggleCollapse,\n open,\n onClose,\n expandedWidth = 260,\n collapsedWidth = 72,\n showCollapseButton,\n header,\n footer,\n preset,\n sx,\n paperSx,\n className,\n}: DrawerProps) {\n const theme = useTheme();\n const presetSx = resolvePreset('Drawer', preset, theme);\n\n // El mini-variant solo tiene sentido en permanent / persistent.\n const supportsCollapsed = variant !== 'temporary';\n const effectiveWidth =\n supportsCollapsed && collapsed ? collapsedWidth : expandedWidth;\n\n const contextValue = useMemo(\n () => ({\n collapsed: supportsCollapsed && collapsed,\n width: effectiveWidth,\n }),\n [supportsCollapsed, collapsed, effectiveWidth],\n );\n\n const rootSx: SxProps<Theme> = [\n buildDrawerSx({ width: effectiveWidth }),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ];\n\n const shouldShowToggle =\n showCollapseButton ?? (supportsCollapsed && !!onToggleCollapse);\n\n const openProp =\n variant === 'permanent'\n ? true\n : open !== undefined\n ? open\n : false;\n\n return (\n <DrawerContext.Provider value={contextValue}>\n <MuiDrawer\n variant={variant}\n anchor={anchor}\n open={openProp}\n onClose={onClose}\n className={className}\n sx={rootSx}\n PaperProps={{\n sx: paperSx,\n }}\n >\n {header && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'space-between',\n px: contextValue.collapsed ? 1 : 2,\n py: 1.5,\n minHeight: 64,\n flexShrink: 0,\n }}\n >\n {!contextValue.collapsed && (\n <Box sx={{ flex: 1, minWidth: 0 }}>{header}</Box>\n )}\n {shouldShowToggle && (\n <IconButton\n size=\"small\"\n onClick={onToggleCollapse}\n aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}\n >\n {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}\n </IconButton>\n )}\n </Box>\n )}\n\n {!header && shouldShowToggle && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'flex-end',\n px: 1,\n py: 1,\n }}\n >\n <IconButton\n size=\"small\"\n onClick={onToggleCollapse}\n aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}\n >\n {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}\n </IconButton>\n </Box>\n )}\n\n <Box\n component=\"nav\"\n sx={{\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n py: 1,\n }}\n >\n {children}\n </Box>\n\n {footer && (\n <Box\n sx={{\n flexShrink: 0,\n borderTop: (t) => `1px solid ${t.palette.divider}`,\n p: contextValue.collapsed ? 1 : 1.5,\n display: 'flex',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'flex-start',\n }}\n >\n {footer}\n </Box>\n )}\n </MuiDrawer>\n </DrawerContext.Provider>\n );\n}\n\nexport default Drawer;\n","import React, { type ReactNode, type MouseEvent } from 'react';\nimport { Box, Tooltip, Typography } from '@mui/material';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nimport { useDrawerContext } from './DrawerContext';\nimport { buildDrawerItemSx } from './Drawer.sx';\n\nexport interface DrawerItemProps {\n /** Icono del item. Se muestra siempre (expanded y collapsed). */\n icon?: ReactNode;\n /** Texto del item. Se oculta cuando el drawer está colapsado (muestra tooltip). */\n label: ReactNode;\n /** Handler de click. */\n onClick?: (event: MouseEvent<HTMLDivElement>) => void;\n /** Marca el item como activo (destaca color y fondo). */\n active?: boolean;\n /** Marca el item como \"destructivo\" (p.ej. cerrar sesión): color error. */\n danger?: boolean;\n /** Deshabilita click + bajo opacidad. */\n disabled?: boolean;\n /** Contenido adicional a la derecha del label (badge, count, chevron). */\n endAdornment?: ReactNode;\n /** sx override del consumer, se mergea al final. */\n sx?: SxProps<Theme>;\n className?: string;\n}\n\n/**\n * Item de un Drawer de shared-library. Lee el estado `collapsed` del\n * DrawerContext para adaptar layout y mostrar tooltip en modo mini.\n *\n * Uso típico:\n * ```tsx\n * <Drawer collapsed={collapsed} onToggleCollapse={toggle}>\n * <DrawerItem icon={<HomeIcon />} label=\"Inicio\" active />\n * <DrawerItem icon={<UserIcon />} label=\"Perfil\" />\n * </Drawer>\n * ```\n */\nexport function DrawerItem({\n icon,\n label,\n onClick,\n active = false,\n danger = false,\n disabled = false,\n endAdornment,\n sx,\n className,\n}: DrawerItemProps) {\n const { collapsed } = useDrawerContext();\n\n const baseSx = buildDrawerItemSx({ collapsed, active, danger });\n\n const mergedSx: SxProps<Theme> = [\n baseSx,\n disabled && { pointerEvents: 'none', opacity: 0.5 },\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ].filter(Boolean) as SxProps<Theme>;\n\n const content = (\n <Box\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n onClick={disabled ? undefined : onClick}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick?.(event as unknown as MouseEvent<HTMLDivElement>);\n }\n }}\n className={className}\n sx={mergedSx}\n >\n {icon !== undefined && (\n <Box className=\"drawer-item__icon\" component=\"span\">\n {icon}\n </Box>\n )}\n <Typography\n component=\"span\"\n variant=\"body2\"\n className=\"drawer-item__label\"\n sx={{ fontWeight: active ? 600 : 400 }}\n >\n {label}\n </Typography>\n {!collapsed && endAdornment && (\n <Box component=\"span\" sx={{ flexShrink: 0, ml: 'auto' }}>\n {endAdornment}\n </Box>\n )}\n </Box>\n );\n\n // Cuando está colapsado, envolvemos en tooltip para revelar el label al hover.\n if (collapsed && typeof label === 'string') {\n return (\n <Tooltip title={label} placement=\"right\" arrow>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n}\n\nexport default DrawerItem;\n"],"names":["createContext","useContext","useTheme","resolvePreset","useMemo","jsx","jsxs","MuiDrawer","Box","IconButton","Typography","Tooltip"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/DrawerContext.ts","../../../src/components/Drawer/Drawer.sx.ts","../../../src/components/Drawer/Drawer.tsx","../../../src/components/Drawer/DrawerItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/**\n * Context interno del Drawer. Permite que los sub-componentes (DrawerItem,\n * DrawerSection, etc.) reaccionen al estado `collapsed` sin necesidad de\n * recibirlo por props explícitas.\n */\nexport interface DrawerContextValue {\n /** Si el drawer está en modo mini (solo iconos). */\n collapsed: boolean;\n /** Ancho actual del drawer (útil para sub-componentes que necesiten layout). */\n width: number;\n}\n\nexport const DrawerContext = createContext<DrawerContextValue | null>(null);\n\n/**\n * Hook para leer el estado del drawer desde cualquier sub-componente. Si se\n * llama fuera de un `<Drawer>`, devuelve valores por defecto (collapsed=false)\n * para que los items renderizados sueltos no exploten.\n */\nexport function useDrawerContext(): DrawerContextValue {\n const ctx = useContext(DrawerContext);\n if (ctx) return ctx;\n return { collapsed: false, width: 260 };\n}\n","import type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface BuildDrawerSxArgs {\n /** Ancho actual del drawer (expanded o collapsed). */\n width: number;\n /** Duración de la transición de ancho en ms. */\n transitionDuration?: number;\n}\n\n/**\n * sx aplicado al root del MuiDrawer. Controla el ancho animado y el paper\n * interno. Los estilos visuales del paper (background, border) se dejan en\n * manos del theme / preset.\n */\nexport function buildDrawerSx({\n width,\n transitionDuration = 200,\n}: BuildDrawerSxArgs): SxProps<Theme> {\n return {\n width,\n flexShrink: 0,\n whiteSpace: 'nowrap',\n boxSizing: 'border-box',\n transition: (theme) =>\n theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: transitionDuration,\n }),\n '& .MuiDrawer-paper': {\n width,\n boxSizing: 'border-box',\n overflowX: 'hidden',\n transition: (theme) =>\n theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: transitionDuration,\n }),\n },\n };\n}\n\nexport interface BuildDrawerItemSxArgs {\n collapsed: boolean;\n active?: boolean;\n danger?: boolean;\n}\n\n/**\n * sx para un item del drawer. Centra el icono cuando está colapsado y\n * tiñe el fondo cuando el item está activo.\n */\nexport function buildDrawerItemSx({\n collapsed,\n active,\n danger,\n}: BuildDrawerItemSxArgs): SxProps<Theme> {\n return (theme) => ({\n minHeight: 44,\n px: collapsed ? 1 : 2,\n py: 1,\n mx: 1,\n my: 0.25,\n borderRadius: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: collapsed ? 'center' : 'flex-start',\n gap: collapsed ? 0 : 1.5,\n cursor: 'pointer',\n color: danger\n ? theme.palette.error.main\n : active\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n backgroundColor: active\n ? theme.palette.action.selected\n : 'transparent',\n transition: theme.transitions.create(\n ['background-color', 'color', 'padding'],\n { duration: 150 },\n ),\n '&:hover': {\n backgroundColor: danger\n ? theme.palette.error.light + '22'\n : theme.palette.action.hover,\n },\n '& .drawer-item__icon': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n minWidth: 24,\n },\n '& .drawer-item__label': {\n flex: 1,\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n opacity: collapsed ? 0 : 1,\n width: collapsed ? 0 : 'auto',\n transition: theme.transitions.create(['opacity', 'width'], {\n duration: collapsed ? 100 : 200,\n }),\n },\n });\n}\n","import React, { useMemo, type ReactNode } from 'react';\nimport {\n Drawer as MuiDrawer,\n IconButton,\n Box,\n type DrawerProps as MuiDrawerProps,\n} from '@mui/material';\nimport {\n useTheme,\n type SxProps,\n type Theme,\n} from '@mui/material/styles';\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\n\nimport { DrawerContext } from './DrawerContext';\nimport { buildDrawerSx } from './Drawer.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\n\n// ── Tipos públicos ──────────────────────────────────────────────────────\nexport type DrawerVariant = 'permanent' | 'persistent' | 'temporary';\nexport type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface DrawerProps {\n /** Contenido del drawer (típicamente `<DrawerItem>`s). */\n children?: ReactNode;\n /**\n * Variante del drawer:\n * - `permanent` (default): siempre visible en desktop, soporta collapsed (mini).\n * - `persistent`: se oculta/muestra, empuja el contenido principal.\n * - `temporary`: flotante con backdrop (típico móvil).\n */\n variant?: DrawerVariant;\n /** Lado del viewport. Default: `'left'`. */\n anchor?: DrawerAnchor;\n /**\n * Estado mini (solo iconos). Solo se aplica con `variant=\"permanent\"` o\n * `\"persistent\"`. Si no se provee, el drawer está siempre expandido.\n */\n collapsed?: boolean;\n /** Callback del botón de toggle (chevron). */\n onToggleCollapse?: () => void;\n /** Estado abierto/cerrado (aplica a `temporary` y `persistent`). */\n open?: boolean;\n /** Callback de cierre (backdrop o ESC en temporary). */\n onClose?: MuiDrawerProps['onClose'];\n /** Ancho en estado expandido. Default: 260. */\n expandedWidth?: number;\n /** Ancho en estado colapsado (solo iconos). Default: 72. */\n collapsedWidth?: number;\n /** Muestra el botón chevron para toggle collapsed. Default: true si `onToggleCollapse` está definido. */\n showCollapseButton?: boolean;\n /** Contenido del header (por encima de los items). Típicamente logo/brand. */\n header?: ReactNode;\n /** Contenido del footer (por debajo de los items). Típicamente user profile. */\n footer?: ReactNode;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Drawer`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n */\n preset?: string;\n /** sx aplicado al Drawer (root). Se mergea después del preset. */\n sx?: SxProps<Theme>;\n /** sx aplicado al Paper interno. */\n paperSx?: SxProps<Theme>;\n className?: string;\n}\n\nexport function Drawer({\n children,\n variant = 'permanent',\n anchor = 'left',\n collapsed = false,\n onToggleCollapse,\n open,\n onClose,\n expandedWidth = 260,\n collapsedWidth = 72,\n showCollapseButton,\n header,\n footer,\n preset,\n sx,\n paperSx,\n className,\n}: DrawerProps) {\n const theme = useTheme();\n const presetSx = resolvePreset('Drawer', preset, theme);\n\n // El mini-variant solo tiene sentido en permanent / persistent.\n const supportsCollapsed = variant !== 'temporary';\n const effectiveWidth =\n supportsCollapsed && collapsed ? collapsedWidth : expandedWidth;\n\n const contextValue = useMemo(\n () => ({\n collapsed: supportsCollapsed && collapsed,\n width: effectiveWidth,\n }),\n [supportsCollapsed, collapsed, effectiveWidth],\n );\n\n const rootSx: SxProps<Theme> = [\n buildDrawerSx({ width: effectiveWidth }),\n ...(presetSx ? [presetSx] : []),\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ];\n\n const shouldShowToggle =\n showCollapseButton ?? (supportsCollapsed && !!onToggleCollapse);\n\n const openProp =\n variant === 'permanent'\n ? true\n : open !== undefined\n ? open\n : false;\n\n return (\n <DrawerContext.Provider value={contextValue}>\n <MuiDrawer\n variant={variant}\n anchor={anchor}\n open={openProp}\n onClose={onClose}\n className={className}\n sx={rootSx}\n PaperProps={{\n sx: paperSx,\n }}\n >\n {header && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'space-between',\n px: contextValue.collapsed ? 1 : 2,\n py: 1.5,\n minHeight: 64,\n flexShrink: 0,\n }}\n >\n {!contextValue.collapsed && (\n <Box sx={{ flex: 1, minWidth: 0 }}>{header}</Box>\n )}\n {shouldShowToggle && (\n <IconButton\n size=\"small\"\n onClick={onToggleCollapse}\n aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}\n >\n {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}\n </IconButton>\n )}\n </Box>\n )}\n\n {!header && shouldShowToggle && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'flex-end',\n px: 1,\n py: 1,\n }}\n >\n <IconButton\n size=\"small\"\n onClick={onToggleCollapse}\n aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}\n >\n {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}\n </IconButton>\n </Box>\n )}\n\n <Box\n component=\"nav\"\n sx={{\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n py: 1,\n }}\n >\n {children}\n </Box>\n\n {footer && (\n <Box\n sx={{\n flexShrink: 0,\n borderTop: (t) => `1px solid ${t.palette.divider}`,\n p: contextValue.collapsed ? 1 : 1.5,\n display: 'flex',\n justifyContent: contextValue.collapsed\n ? 'center'\n : 'flex-start',\n }}\n >\n {footer}\n </Box>\n )}\n </MuiDrawer>\n </DrawerContext.Provider>\n );\n}\n\nexport default Drawer;\n","import React, { type ReactNode, type MouseEvent } from 'react';\nimport { Box, Tooltip, Typography } from '@mui/material';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nimport { useDrawerContext } from './DrawerContext';\nimport { buildDrawerItemSx } from './Drawer.sx';\n\nexport interface DrawerItemProps {\n /** Icono del item. Se muestra siempre (expanded y collapsed). */\n icon?: ReactNode;\n /** Texto del item. Se oculta cuando el drawer está colapsado (muestra tooltip). */\n label: ReactNode;\n /** Handler de click. */\n onClick?: (event: MouseEvent<HTMLDivElement>) => void;\n /** Marca el item como activo (destaca color y fondo). */\n active?: boolean;\n /** Marca el item como \"destructivo\" (p.ej. cerrar sesión): color error. */\n danger?: boolean;\n /** Deshabilita click + bajo opacidad. */\n disabled?: boolean;\n /** Contenido adicional a la derecha del label (badge, count, chevron). */\n endAdornment?: ReactNode;\n /** sx override del consumer, se mergea al final. */\n sx?: SxProps<Theme>;\n className?: string;\n}\n\n/**\n * Item de un Drawer de shared-library. Lee el estado `collapsed` del\n * DrawerContext para adaptar layout y mostrar tooltip en modo mini.\n *\n * Uso típico:\n * ```tsx\n * <Drawer collapsed={collapsed} onToggleCollapse={toggle}>\n * <DrawerItem icon={<HomeIcon />} label=\"Inicio\" active />\n * <DrawerItem icon={<UserIcon />} label=\"Perfil\" />\n * </Drawer>\n * ```\n */\nexport function DrawerItem({\n icon,\n label,\n onClick,\n active = false,\n danger = false,\n disabled = false,\n endAdornment,\n sx,\n className,\n}: DrawerItemProps) {\n const { collapsed } = useDrawerContext();\n\n const baseSx = buildDrawerItemSx({ collapsed, active, danger });\n\n const mergedSx: SxProps<Theme> = [\n baseSx,\n disabled && { pointerEvents: 'none', opacity: 0.5 },\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ].filter(Boolean) as SxProps<Theme>;\n\n const content = (\n <Box\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n onClick={disabled ? undefined : onClick}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick?.(event as unknown as MouseEvent<HTMLDivElement>);\n }\n }}\n className={className}\n sx={mergedSx}\n >\n {icon !== undefined && (\n <Box className=\"drawer-item__icon\" component=\"span\">\n {icon}\n </Box>\n )}\n <Typography\n component=\"span\"\n variant=\"body2\"\n className=\"drawer-item__label\"\n sx={{ fontWeight: active ? 600 : 400 }}\n >\n {label}\n </Typography>\n {!collapsed && endAdornment && (\n <Box component=\"span\" sx={{ flexShrink: 0, ml: 'auto' }}>\n {endAdornment}\n </Box>\n )}\n </Box>\n );\n\n // Cuando está colapsado, envolvemos en tooltip para revelar el label al hover.\n if (collapsed && typeof label === 'string') {\n return (\n <Tooltip title={label} placement=\"right\" arrow>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n}\n\nexport default DrawerItem;\n"],"names":["MuiDrawer"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const material = require("@mui/material");
5
- const useWizard = require("../../useWizard-CWdIxZzX.cjs");
6
- const Stepper = ({
7
- children,
8
- orientation = "horizontal",
9
- alternateLabel = false,
10
- sx,
11
- currentStep: currentStepProp
12
- }) => {
13
- const wizard = useWizard.useWizard();
14
- const currentStep = currentStepProp !== void 0 ? currentStepProp : wizard.totalSteps > 0 ? wizard.currentStep : 0;
15
- return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx, children: [
16
- /* @__PURE__ */ jsxRuntime.jsx(material.Stepper, { activeStep: currentStep, orientation, alternativeLabel: alternateLabel, children: children.map((child, idx) => {
17
- const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;
18
- return /* @__PURE__ */ jsxRuntime.jsx(material.Step, { completed, disabled, className, sx: stepSx, children: /* @__PURE__ */ jsxRuntime.jsx(
19
- material.StepLabel,
20
- {
21
- sx: {
22
- pointerEvents: "none",
23
- "& .MuiStepIcon-root": {
24
- color: dotColor
25
- },
26
- "& .MuiStepIcon-active": {
27
- color: activeDotColor
28
- },
29
- "& .MuiStepIcon-completed": {
30
- color: completedDotColor
31
- },
32
- "& .MuiStepIcon-text": {
33
- fill: iconTextColor
34
- }
35
- },
36
- children: label
37
- }
38
- ) }, idx);
39
- }) }),
40
- /* @__PURE__ */ jsxRuntime.jsx(material.Box, { mt: 2, children: children.map(
41
- (child, idx) => idx === currentStep ? /* @__PURE__ */ jsxRuntime.jsx(material.Box, { children: child.props.children }, idx) : null
42
- ) })
43
- ] });
44
- };
45
- const Step = (_) => null;
46
- Step.displayName = "Step";
47
- exports.Step = Step;
48
- exports.Stepper = Stepper;
49
- //# sourceMappingURL=Stepper.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stepper.cjs","sources":["../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/Step.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport { Stepper as MuiStepper, Step as MuiStep, StepLabel as MuiStepLabel, Box } from \"@mui/material\";\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 return (\n <Box sx={sx}>\n <MuiStepper activeStep={currentStep} orientation={orientation} alternativeLabel={alternateLabel} >\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 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","jsxs","Box","jsx","MuiStepper","MuiStep","MuiStepLabel"],"mappings":";;;;;AAkBO,MAAM,UAAoC,CAAC;AAAA,EAChD;AAAA,EACA,cAAc;AAAA,EACd,iBAAiB;AAAA,EAEjB;AAAA,EACA,aAAa;AACf,MAAM;AAIJ,QAAM,SAASA,UAAAA,UAAA;AACf,QAAM,cACJ,oBAAoB,SAChB,kBACA,OAAO,aAAa,IAClB,OAAO,cACP;AAER,SACEC,gCAACC,SAAAA,OAAI,IACH,UAAA;AAAA,IAAAC,2BAAAA,IAACC,SAAAA,SAAA,EAAW,YAAY,aAAa,aAA0B,kBAAkB,gBAC9E,UAAA,SAAS,IAAI,CAAC,OAAO,QAAQ;AAC5B,YAAM,EAAE,OAAO,WAAW,UAAU,WAAW,IAAI,QAAQ,UAAU,gBAAgB,mBAAmB,cAAA,IAAkB,MAAM;AAChI,4CACGC,eAAA,EAAkB,WAAsB,UAAoB,WAAsB,IAAI,QACrF,UAAAF,2BAAAA;AAAAA,QAACG,SAAAA;AAAAA,QAAA;AAAA,UAAa,IAAI;AAAA,YAChB,eAAe;AAAA,YACf,uBAAuB;AAAA,cACrB,OAAO;AAAA,YAAA;AAAA,YAET,yBAAyB;AAAA,cACvB,OAAO;AAAA,YAAA;AAAA,YAET,4BAA4B;AAAA,cAC1B,OAAO;AAAA,YAAA;AAAA,YAET,uBAAuB;AAAA,cACrB,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAEA,UAAA;AAAA,QAAA;AAAA,MAAA,KAhBU,GAkBd;AAAA,IAEJ,CAAC,EAAA,CACH;AAAA,IACAH,2BAAAA,IAACD,SAAAA,KAAA,EAAI,IAAI,GACN,UAAA,SAAS;AAAA,MAAI,CAAC,OAAO,QACpB,QAAQ,cAAcC,2BAAAA,IAACD,SAAAA,KAAA,EAAe,UAAA,MAAM,MAAM,SAAA,GAAlB,GAA2B,IAAS;AAAA,IAAA,EACtE,CACF;AAAA,EAAA,GACF;AAEJ;ACxDO,MAAM,OAAO,CAAC,MAAuB;AAE5C,KAAK,cAAc;;;"}
@@ -1,49 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Box, Stepper as Stepper$1, Step as Step$1, StepLabel } from "@mui/material";
3
- import { u as useWizard } from "../../useWizard-CWq--C3o.js";
4
- const Stepper = ({
5
- children,
6
- orientation = "horizontal",
7
- alternateLabel = false,
8
- sx,
9
- currentStep: currentStepProp
10
- }) => {
11
- const wizard = useWizard();
12
- const currentStep = currentStepProp !== void 0 ? currentStepProp : wizard.totalSteps > 0 ? wizard.currentStep : 0;
13
- return /* @__PURE__ */ jsxs(Box, { sx, children: [
14
- /* @__PURE__ */ jsx(Stepper$1, { activeStep: currentStep, orientation, alternativeLabel: alternateLabel, children: children.map((child, idx) => {
15
- const { label, completed, disabled, className, sx: stepSx, dotColor, activeDotColor, completedDotColor, iconTextColor } = child.props;
16
- return /* @__PURE__ */ jsx(Step$1, { completed, disabled, className, sx: stepSx, children: /* @__PURE__ */ jsx(
17
- StepLabel,
18
- {
19
- sx: {
20
- pointerEvents: "none",
21
- "& .MuiStepIcon-root": {
22
- color: dotColor
23
- },
24
- "& .MuiStepIcon-active": {
25
- color: activeDotColor
26
- },
27
- "& .MuiStepIcon-completed": {
28
- color: completedDotColor
29
- },
30
- "& .MuiStepIcon-text": {
31
- fill: iconTextColor
32
- }
33
- },
34
- children: label
35
- }
36
- ) }, idx);
37
- }) }),
38
- /* @__PURE__ */ jsx(Box, { mt: 2, children: children.map(
39
- (child, idx) => idx === currentStep ? /* @__PURE__ */ jsx(Box, { children: child.props.children }, idx) : null
40
- ) })
41
- ] });
42
- };
43
- const Step = (_) => null;
44
- Step.displayName = "Step";
45
- export {
46
- Step,
47
- Stepper
48
- };
49
- //# sourceMappingURL=Stepper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/Step.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport { Stepper as MuiStepper, Step as MuiStep, StepLabel as MuiStepLabel, Box } from \"@mui/material\";\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 return (\n <Box sx={sx}>\n <MuiStepper activeStep={currentStep} orientation={orientation} alternativeLabel={alternateLabel} >\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 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":";;;AAkBO,MAAM,UAAoC,CAAC;AAAA,EAChD;AAAA,EACA,cAAc;AAAA,EACd,iBAAiB;AAAA,EAEjB;AAAA,EACA,aAAa;AACf,MAAM;AAIJ,QAAM,SAAS,UAAA;AACf,QAAM,cACJ,oBAAoB,SAChB,kBACA,OAAO,aAAa,IAClB,OAAO,cACP;AAER,SACE,qBAAC,OAAI,IACH,UAAA;AAAA,IAAA,oBAACA,WAAA,EAAW,YAAY,aAAa,aAA0B,kBAAkB,gBAC9E,UAAA,SAAS,IAAI,CAAC,OAAO,QAAQ;AAC5B,YAAM,EAAE,OAAO,WAAW,UAAU,WAAW,IAAI,QAAQ,UAAU,gBAAgB,mBAAmB,cAAA,IAAkB,MAAM;AAChI,iCACGC,QAAA,EAAkB,WAAsB,UAAoB,WAAsB,IAAI,QACrF,UAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UAAa,IAAI;AAAA,YAChB,eAAe;AAAA,YACf,uBAAuB;AAAA,cACrB,OAAO;AAAA,YAAA;AAAA,YAET,yBAAyB;AAAA,cACvB,OAAO;AAAA,YAAA;AAAA,YAET,4BAA4B;AAAA,cAC1B,OAAO;AAAA,YAAA;AAAA,YAET,uBAAuB;AAAA,cACrB,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,UAEA,UAAA;AAAA,QAAA;AAAA,MAAA,KAhBU,GAkBd;AAAA,IAEJ,CAAC,EAAA,CACH;AAAA,IACA,oBAAC,KAAA,EAAI,IAAI,GACN,UAAA,SAAS;AAAA,MAAI,CAAC,OAAO,QACpB,QAAQ,cAAc,oBAAC,KAAA,EAAe,UAAA,MAAM,MAAM,SAAA,GAAlB,GAA2B,IAAS;AAAA,IAAA,EACtE,CACF;AAAA,EAAA,GACF;AAEJ;ACxDO,MAAM,OAAO,CAAC,MAAuB;AAE5C,KAAK,cAAc;"}
package/rollup.config.cjs DELETED
@@ -1,87 +0,0 @@
1
- const resolve = require('@rollup/plugin-node-resolve');
2
- const commonjs = require('@rollup/plugin-commonjs');
3
- const typescript = require('rollup-plugin-typescript2');
4
- const peerDepsExternal = require('rollup-plugin-peer-deps-external');
5
- const postcss = require('rollup-plugin-postcss');
6
- const terser = require('@rollup/plugin-terser');
7
- // const alias = require('@rollup/plugin-alias'); // 👈 Ya no necesitamos este plugin
8
- const { globSync } = require('glob');
9
- const path = require('path');
10
- const pkg = require('./package.json');
11
- const projectRootDir = path.resolve(__dirname);
12
-
13
- const componentEntryPoints = globSync('src/components/*/index.ts').reduce((acc, file) => {
14
- const componentName = path.basename(path.dirname(file));
15
- acc[`components/${componentName}`] = file;
16
- return acc;
17
- }, {});
18
-
19
- const mainEntry = {
20
- index: 'src/index.ts',
21
- };
22
-
23
- module.exports = {
24
- input: {
25
- ...mainEntry,
26
- ...componentEntryPoints,
27
- },
28
- output: [
29
- {
30
- dir: 'dist/esm',
31
- format: 'esm',
32
- sourcemap: true,
33
- preserveModules: true,
34
- preserveModulesRoot: 'src',
35
- entryFileNames: '[name].js',
36
- chunkFileNames: '_chunks/chunk-[hash].js',
37
- exports: 'named',
38
- },
39
- {
40
- dir: 'dist/cjs',
41
- format: 'cjs',
42
- sourcemap: true,
43
- preserveModules: true,
44
- preserveModulesRoot: 'src',
45
- entryFileNames: '[name].cjs',
46
- chunkFileNames: '_chunks/chunk-[hash].cjs',
47
- exports: 'named',
48
- },
49
- ],
50
- plugins: [
51
- peerDepsExternal(),
52
- // 👈 Configura el alias dentro del plugin 'resolve'
53
- resolve({
54
- extensions: ['.js', '.jsx', '.ts', '.tsx'],
55
- alias: {
56
- entries: [
57
- { find: '@soyfri/shared-library', replacement: path.resolve(projectRootDir, 'src') }
58
- ]
59
- }
60
- }),
61
- commonjs(),
62
- typescript({
63
- tsconfig: './tsconfig.json',
64
- useTsconfigDeclarationDir: true,
65
- }),
66
- postcss({
67
- config: {
68
- path: './postcss.config.js',
69
- },
70
- extensions: ['.css'],
71
- minimize: true,
72
- extract: true,
73
- }),
74
- terser(),
75
- ],
76
- external: [
77
- 'react',
78
- 'react-dom',
79
- /@mui\/.*/,
80
- /@emotion\/.*/,
81
- 'dayjs',
82
- 'react-hook-form',
83
- 'tailwindcss',
84
- 'autoprefixer',
85
- 'postcss',
86
- ],
87
- };
@@ -1,230 +0,0 @@
1
- import React from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { fn } from '@storybook/test';
4
- import {
5
- Box,
6
- Button,
7
- Table,
8
- TableBody,
9
- TableCell,
10
- TableHead,
11
- TableRow,
12
- Paper,
13
- Chip,
14
- } from '@mui/material';
15
- import EditIcon from '@mui/icons-material/Edit';
16
- import ContentCopyIcon from '@mui/icons-material/ContentCopy';
17
- import DeleteIcon from '@mui/icons-material/Delete';
18
- import VisibilityIcon from '@mui/icons-material/Visibility';
19
- import DownloadIcon from '@mui/icons-material/Download';
20
- import ShareIcon from '@mui/icons-material/Share';
21
- import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
22
-
23
- import { ActionMenu } from './ActionMenu';
24
-
25
- const meta: Meta<typeof ActionMenu> = {
26
- title: 'Components/ActionMenu',
27
- component: ActionMenu,
28
- tags: ['autodocs'],
29
- parameters: {
30
- docs: {
31
- description: {
32
- component:
33
- 'Menú de acciones compacto pensado para celdas de tabla, cabeceras y cualquier lugar donde hagan falta acciones secundarias detrás de un trigger. Reemplaza los patrones `<Dropdown>` de react-bootstrap.',
34
- },
35
- },
36
- },
37
- };
38
-
39
- export default meta;
40
- type Story = StoryObj<typeof ActionMenu>;
41
-
42
- // ── Stories ──────────────────────────────────────────────────────────────
43
-
44
- export const Default: Story = {
45
- args: {
46
- items: [
47
- { label: 'Editar', icon: <EditIcon fontSize="small" />, onClick: fn() },
48
- { label: 'Duplicar', icon: <ContentCopyIcon fontSize="small" />, onClick: fn() },
49
- { label: 'Ver detalle', icon: <VisibilityIcon fontSize="small" />, onClick: fn() },
50
- ],
51
- },
52
- parameters: {
53
- docs: {
54
- description: {
55
- story:
56
- 'Menú básico con trigger de 3 puntos (icono por defecto). Cada item tiene label + icono + onClick.',
57
- },
58
- },
59
- },
60
- };
61
-
62
- export const WithDangerItem: Story = {
63
- args: {
64
- items: [
65
- { label: 'Editar', icon: <EditIcon fontSize="small" />, onClick: fn() },
66
- { label: 'Duplicar', icon: <ContentCopyIcon fontSize="small" />, onClick: fn() },
67
- {
68
- label: 'Eliminar',
69
- icon: <DeleteIcon fontSize="small" />,
70
- onClick: fn(),
71
- danger: true,
72
- dividerBefore: true,
73
- },
74
- ],
75
- },
76
- parameters: {
77
- docs: {
78
- description: {
79
- story:
80
- 'Item final marcado como `danger` (pintado en rojo) con `dividerBefore: true` para separarlo visualmente del resto. Patrón típico para acciones destructivas.',
81
- },
82
- },
83
- },
84
- };
85
-
86
- export const WithDisabledItems: Story = {
87
- args: {
88
- items: [
89
- { label: 'Editar', icon: <EditIcon fontSize="small" />, onClick: fn() },
90
- {
91
- label: 'Exportar',
92
- icon: <DownloadIcon fontSize="small" />,
93
- onClick: fn(),
94
- disabled: true,
95
- },
96
- {
97
- label: 'Compartir',
98
- icon: <ShareIcon fontSize="small" />,
99
- onClick: fn(),
100
- disabled: true,
101
- },
102
- ],
103
- },
104
- parameters: {
105
- docs: {
106
- description: {
107
- story:
108
- 'Items deshabilitados condicionalmente — útil cuando una acción no aplica al estado actual del row (ej. exportar un recurso que aún no se procesó).',
109
- },
110
- },
111
- },
112
- };
113
-
114
- export const CustomTrigger: Story = {
115
- args: {
116
- items: [
117
- { label: 'Editar', icon: <EditIcon fontSize="small" />, onClick: fn() },
118
- { label: 'Duplicar', icon: <ContentCopyIcon fontSize="small" />, onClick: fn() },
119
- { label: 'Eliminar', icon: <DeleteIcon fontSize="small" />, onClick: fn(), danger: true },
120
- ],
121
- trigger: (
122
- <Button variant="outlined" startIcon={<MoreHorizIcon />}>
123
- Más
124
- </Button>
125
- ),
126
- },
127
- parameters: {
128
- docs: {
129
- description: {
130
- story:
131
- 'El trigger por defecto es un IconButton de 3 puntos, pero podés pasar cualquier nodo (botón, chip, icono custom). El `onClick` del menú se inyecta automáticamente al trigger clonado.',
132
- },
133
- },
134
- },
135
- };
136
-
137
- export const InsideTableCell: Story = {
138
- render: () => {
139
- const rows = [
140
- { id: 1, name: 'Comercio A', status: 'Activo' },
141
- { id: 2, name: 'Comercio B', status: 'Pendiente' },
142
- { id: 3, name: 'Comercio C', status: 'Suspendido' },
143
- ];
144
-
145
- return (
146
- <Paper sx={{ maxWidth: 720 }}>
147
- <Table size="small">
148
- <TableHead>
149
- <TableRow>
150
- <TableCell>ID</TableCell>
151
- <TableCell>Comercio</TableCell>
152
- <TableCell>Estado</TableCell>
153
- <TableCell align="right">Acciones</TableCell>
154
- </TableRow>
155
- </TableHead>
156
- <TableBody>
157
- {rows.map((row) => (
158
- <TableRow key={row.id} hover>
159
- <TableCell>{row.id}</TableCell>
160
- <TableCell>{row.name}</TableCell>
161
- <TableCell>
162
- <Chip
163
- label={row.status}
164
- size="small"
165
- color={
166
- row.status === 'Activo'
167
- ? 'success'
168
- : row.status === 'Pendiente'
169
- ? 'warning'
170
- : 'error'
171
- }
172
- />
173
- </TableCell>
174
- <TableCell align="right">
175
- <ActionMenu
176
- items={[
177
- {
178
- label: 'Ver detalle',
179
- icon: <VisibilityIcon fontSize="small" />,
180
- onClick: fn(() => console.log('Ver', row.id)),
181
- },
182
- {
183
- label: 'Editar',
184
- icon: <EditIcon fontSize="small" />,
185
- onClick: fn(() => console.log('Editar', row.id)),
186
- },
187
- {
188
- label: 'Eliminar',
189
- icon: <DeleteIcon fontSize="small" />,
190
- onClick: fn(() => console.log('Eliminar', row.id)),
191
- danger: true,
192
- dividerBefore: true,
193
- },
194
- ]}
195
- />
196
- </TableCell>
197
- </TableRow>
198
- ))}
199
- </TableBody>
200
- </Table>
201
- </Paper>
202
- );
203
- },
204
- parameters: {
205
- docs: {
206
- description: {
207
- story:
208
- 'Caso de uso principal: un `ActionMenu` por cada fila de una tabla. Reemplaza exactamente el patrón `DropDownActions` + `react-bootstrap Dropdown` usado hoy en Afiliaciones.',
209
- },
210
- },
211
- },
212
- };
213
-
214
- export const DisabledTrigger: Story = {
215
- args: {
216
- disabled: true,
217
- items: [
218
- { label: 'Editar', icon: <EditIcon fontSize="small" />, onClick: fn() },
219
- { label: 'Eliminar', icon: <DeleteIcon fontSize="small" />, onClick: fn(), danger: true },
220
- ],
221
- },
222
- parameters: {
223
- docs: {
224
- description: {
225
- story:
226
- 'Cuando el row o la acción no tiene permisos, se puede deshabilitar el trigger entero pasando `disabled`.',
227
- },
228
- },
229
- },
230
- };