@soyfri/shared-library 2.0.0-beta.4 → 2.0.0-beta.6

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 (490) 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/package.json +164 -43
  7. package/.dockerignore +0 -8
  8. package/.github/workflows/publish.yml +0 -107
  9. package/.prettierrc +0 -3
  10. package/.storybook/main.ts +0 -19
  11. package/.storybook/preview.ts +0 -14
  12. package/.storybook/vitest.setup.ts +0 -9
  13. package/Dockerfile +0 -37
  14. package/Readme.md +0 -243
  15. package/build.js +0 -102
  16. package/chromatic.config.json +0 -5
  17. package/cleanDirectories.js +0 -40
  18. package/dist/components/Drawer/Drawer.cjs.map +0 -1
  19. package/dist/components/Drawer/Drawer.js.map +0 -1
  20. package/dist/package.json +0 -197
  21. package/rollup.config.cjs +0 -87
  22. package/src/components/ActionMenu/ActionMenu.stories.tsx +0 -230
  23. package/src/components/ActionMenu/ActionMenu.tsx +0 -174
  24. package/src/components/ActionMenu/index.ts +0 -2
  25. package/src/components/AppBar/AppBar.stories.tsx +0 -272
  26. package/src/components/AppBar/AppBar.sx.ts +0 -32
  27. package/src/components/AppBar/AppBar.tsx +0 -123
  28. package/src/components/AppBar/AppBarBrand.tsx +0 -120
  29. package/src/components/AppBar/AppBarContext.ts +0 -25
  30. package/src/components/AppBar/AppBarMenuToggle.tsx +0 -90
  31. package/src/components/AppBar/AppBarUserMenu.tsx +0 -217
  32. package/src/components/AppBar/index.ts +0 -25
  33. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -477
  34. package/src/components/Autocomplete/Autocomplete.helpers.ts +0 -60
  35. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -748
  36. package/src/components/Autocomplete/Autocomplete.sx.ts +0 -30
  37. package/src/components/Autocomplete/Autocomplete.tsx +0 -361
  38. package/src/components/Autocomplete/Autocomplete.types.ts +0 -13
  39. package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +0 -55
  40. package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +0 -17
  41. package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +0 -31
  42. package/src/components/Autocomplete/index.ts +0 -12
  43. package/src/components/Avatar/Avatar.definitions.ts +0 -162
  44. package/src/components/Avatar/Avatar.stories.tsx +0 -258
  45. package/src/components/Avatar/Avatar.tsx +0 -206
  46. package/src/components/Avatar/index.ts +0 -1
  47. package/src/components/Button/Button.definition.ts +0 -97
  48. package/src/components/Button/Button.stories.tsx +0 -285
  49. package/src/components/Button/Button.tsx +0 -67
  50. package/src/components/Button/index.ts +0 -1
  51. package/src/components/Card/Card.definition.ts +0 -5
  52. package/src/components/Card/Card.stories.tsx +0 -221
  53. package/src/components/Card/Card.sx.ts +0 -104
  54. package/src/components/Card/Card.tsx +0 -200
  55. package/src/components/Card/index.ts +0 -9
  56. package/src/components/Chip/Chip.definitions.ts +0 -167
  57. package/src/components/Chip/Chip.stories.tsx +0 -265
  58. package/src/components/Chip/Chip.tsx +0 -61
  59. package/src/components/Chip/index.ts +0 -1
  60. package/src/components/Column/Column.tsx +0 -29
  61. package/src/components/Column/index.ts +0 -1
  62. package/src/components/DatePicker/DatePicker.definitions.ts +0 -228
  63. package/src/components/DatePicker/DatePicker.helpers.ts +0 -24
  64. package/src/components/DatePicker/DatePicker.stories.tsx +0 -309
  65. package/src/components/DatePicker/DatePicker.sx.ts +0 -33
  66. package/src/components/DatePicker/DatePicker.tsx +0 -189
  67. package/src/components/DatePicker/DatePicker.types.ts +0 -10
  68. package/src/components/DatePicker/index.ts +0 -9
  69. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  70. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  71. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  72. package/src/components/DateRangePicker/index.ts +0 -1
  73. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -256
  74. package/src/components/DateTimePicker/DateTimePicker.helpers.ts +0 -38
  75. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -418
  76. package/src/components/DateTimePicker/DateTimePicker.sx.ts +0 -30
  77. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -225
  78. package/src/components/DateTimePicker/DateTimePicker.types.ts +0 -10
  79. package/src/components/DateTimePicker/index.ts +0 -9
  80. package/src/components/Drawer/Drawer.stories.tsx +0 -270
  81. package/src/components/Drawer/Drawer.sx.ts +0 -106
  82. package/src/components/Drawer/Drawer.tsx +0 -214
  83. package/src/components/Drawer/DrawerContext.ts +0 -26
  84. package/src/components/Drawer/DrawerItem.tsx +0 -110
  85. package/src/components/Drawer/index.ts +0 -10
  86. package/src/components/Flyout/Flyout.stories.tsx +0 -282
  87. package/src/components/Flyout/Flyout.tsx +0 -122
  88. package/src/components/Flyout/index.ts +0 -1
  89. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  90. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  91. package/src/components/Gallery/Gallery.tsx +0 -118
  92. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  93. package/src/components/Gallery/GalleryMain.tsx +0 -84
  94. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  95. package/src/components/Gallery/index.ts +0 -1
  96. package/src/components/Icon/Icon.stories.tsx +0 -121
  97. package/src/components/Icon/Icon.tsx +0 -175
  98. package/src/components/Icon/index.ts +0 -2
  99. package/src/components/Input/Input.definitions.ts +0 -324
  100. package/src/components/Input/Input.helpers.ts +0 -49
  101. package/src/components/Input/Input.stories.tsx +0 -499
  102. package/src/components/Input/Input.sx.ts +0 -42
  103. package/src/components/Input/Input.tsx +0 -141
  104. package/src/components/Input/Input.types.ts +0 -10
  105. package/src/components/Input/index.ts +0 -9
  106. package/src/components/InputGroup/InputGroup.definitions.ts +0 -158
  107. package/src/components/InputGroup/InputGroup.stories.tsx +0 -267
  108. package/src/components/InputGroup/InputGroup.tsx +0 -179
  109. package/src/components/InputGroup/index.ts +0 -1
  110. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  111. package/src/components/MenuButton/MenuButton.tsx +0 -100
  112. package/src/components/MenuButton/index.ts +0 -1
  113. package/src/components/Modal/Modal.stories.tsx +0 -721
  114. package/src/components/Modal/Modal.tsx +0 -355
  115. package/src/components/Modal/ModalBody.tsx +0 -16
  116. package/src/components/Modal/ModalFooter.tsx +0 -71
  117. package/src/components/Modal/ModalHeader.tsx +0 -18
  118. package/src/components/Modal/index.ts +0 -6
  119. package/src/components/PageLoader/PageLoader.stories.tsx +0 -217
  120. package/src/components/PageLoader/PageLoader.tsx +0 -96
  121. package/src/components/PageLoader/index.ts +0 -2
  122. package/src/components/ScrollTopButton/ScrollTopButton.stories.tsx +0 -158
  123. package/src/components/ScrollTopButton/ScrollTopButton.tsx +0 -135
  124. package/src/components/ScrollTopButton/index.ts +0 -8
  125. package/src/components/ScrollTopButton/scrollToTop.ts +0 -37
  126. package/src/components/Select/Select.definitions.ts +0 -602
  127. package/src/components/Select/Select.helpers.ts +0 -71
  128. package/src/components/Select/Select.stories.tsx +0 -687
  129. package/src/components/Select/Select.sx.ts +0 -14
  130. package/src/components/Select/Select.tsx +0 -429
  131. package/src/components/Select/Select.types.ts +0 -15
  132. package/src/components/Select/_parts/SelectMenuItem.tsx +0 -40
  133. package/src/components/Select/_parts/SelectSearchHeader.tsx +0 -51
  134. package/src/components/Select/_parts/SelectValue.tsx +0 -96
  135. package/src/components/Select/index.ts +0 -14
  136. package/src/components/Stat/Stat.stories.tsx +0 -85
  137. package/src/components/Stat/Stat.tsx +0 -117
  138. package/src/components/Stat/index.ts +0 -2
  139. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  140. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  141. package/src/components/StatusMessage/index.ts +0 -2
  142. package/src/components/Stepper/Step.tsx +0 -21
  143. package/src/components/Stepper/Stepper.definition.ts +0 -75
  144. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  145. package/src/components/Stepper/Stepper.tsx +0 -75
  146. package/src/components/Stepper/index.ts +0 -2
  147. package/src/components/Table/EmptyTable.png +0 -0
  148. package/src/components/Table/Table.definition.ts +0 -580
  149. package/src/components/Table/Table.stories.tsx +0 -853
  150. package/src/components/Table/Table.tsx +0 -495
  151. package/src/components/Table/data.ts +0 -134
  152. package/src/components/Table/exportsUtils.ts +0 -195
  153. package/src/components/Table/index.ts +0 -3
  154. package/src/components/Table/types.ts +0 -34
  155. package/src/components/Tabs/Tab.definition.ts +0 -53
  156. package/src/components/Tabs/Tab.tsx +0 -19
  157. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  158. package/src/components/Tabs/Tabs.tsx +0 -99
  159. package/src/components/Tabs/_tabUtils.tsx +0 -4
  160. package/src/components/Tabs/index.ts +0 -2
  161. package/src/components/Timeline/Timeline.definition.ts +0 -43
  162. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  163. package/src/components/Timeline/Timeline.tsx +0 -49
  164. package/src/components/Timeline/TimelineItem.tsx +0 -31
  165. package/src/components/Timeline/index.ts +0 -2
  166. package/src/components/Tooltip/Tooltip.stories.tsx +0 -129
  167. package/src/components/Tooltip/Tooltip.tsx +0 -58
  168. package/src/components/Tooltip/index.ts +0 -1
  169. package/src/components/_shared/formField.sx.ts +0 -118
  170. package/src/components/_shared/resolvePreset.ts +0 -35
  171. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  172. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  173. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  174. package/src/hooks/ClipBoard/index.ts +0 -1
  175. package/src/hooks/Wizard/Wizard.stories.tsx +0 -301
  176. package/src/hooks/Wizard/WizardContext.tsx +0 -166
  177. package/src/hooks/Wizard/index.ts +0 -6
  178. package/src/hooks/Wizard/useWizard.ts +0 -13
  179. package/src/index.ts +0 -17
  180. package/src/mui.ts +0 -54
  181. package/src/styles.css +0 -3
  182. package/src/theme/componentStyles.ts +0 -47
  183. package/src/theme/tokens.ts +0 -43
  184. package/tailwind.config.js +0 -10
  185. package/tsconfig.json +0 -48
  186. package/tsup.config.js +0 -41
  187. package/vite.config.js +0 -132
  188. package/vitest.config.ts +0 -35
  189. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  190. /package/{dist/Button-C17mExpd.cjs.map → Button-C17mExpd.cjs.map} +0 -0
  191. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  192. /package/{dist/Button-UkkP-bNw.js.map → Button-UkkP-bNw.js.map} +0 -0
  193. /package/{dist/README.md → README.md} +0 -0
  194. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs +0 -0
  195. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs.map +0 -0
  196. /package/{dist/components → components}/ActionMenu/ActionMenu.d.ts +0 -0
  197. /package/{dist/components → components}/ActionMenu/ActionMenu.js +0 -0
  198. /package/{dist/components → components}/ActionMenu/ActionMenu.js.map +0 -0
  199. /package/{dist/components → components}/ActionMenu/index.d.ts +0 -0
  200. /package/{dist/components → components}/ActionMenu.d.ts +0 -0
  201. /package/{dist/components → components}/AppBar/AppBar.cjs +0 -0
  202. /package/{dist/components → components}/AppBar/AppBar.cjs.map +0 -0
  203. /package/{dist/components → components}/AppBar/AppBar.d.ts +0 -0
  204. /package/{dist/components → components}/AppBar/AppBar.js +0 -0
  205. /package/{dist/components → components}/AppBar/AppBar.js.map +0 -0
  206. /package/{dist/components → components}/AppBar/AppBar.sx.d.ts +0 -0
  207. /package/{dist/components → components}/AppBar/AppBarBrand.d.ts +0 -0
  208. /package/{dist/components → components}/AppBar/AppBarContext.d.ts +0 -0
  209. /package/{dist/components → components}/AppBar/AppBarMenuToggle.d.ts +0 -0
  210. /package/{dist/components → components}/AppBar/AppBarUserMenu.d.ts +0 -0
  211. /package/{dist/components → components}/AppBar/index.d.ts +0 -0
  212. /package/{dist/components → components}/AppBar.d.ts +0 -0
  213. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs +0 -0
  214. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs.map +0 -0
  215. /package/{dist/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
  216. /package/{dist/components → components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
  217. /package/{dist/components → components}/Autocomplete/Autocomplete.helpers.d.ts +0 -0
  218. /package/{dist/components → components}/Autocomplete/Autocomplete.js +0 -0
  219. /package/{dist/components → components}/Autocomplete/Autocomplete.js.map +0 -0
  220. /package/{dist/components → components}/Autocomplete/Autocomplete.sx.d.ts +0 -0
  221. /package/{dist/components → components}/Autocomplete/Autocomplete.types.d.ts +0 -0
  222. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteChips.d.ts +0 -0
  223. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteLoader.d.ts +0 -0
  224. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteOption.d.ts +0 -0
  225. /package/{dist/components → components}/Autocomplete/index.d.ts +0 -0
  226. /package/{dist/components → components}/Autocomplete.d.ts +0 -0
  227. /package/{dist/components → components}/Avatar/Avatar.cjs +0 -0
  228. /package/{dist/components → components}/Avatar/Avatar.cjs.map +0 -0
  229. /package/{dist/components → components}/Avatar/Avatar.d.ts +0 -0
  230. /package/{dist/components → components}/Avatar/Avatar.definitions.d.ts +0 -0
  231. /package/{dist/components → components}/Avatar/Avatar.js +0 -0
  232. /package/{dist/components → components}/Avatar/Avatar.js.map +0 -0
  233. /package/{dist/components → components}/Avatar/index.d.ts +0 -0
  234. /package/{dist/components → components}/Avatar.d.ts +0 -0
  235. /package/{dist/components → components}/Button/Button.cjs +0 -0
  236. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  237. /package/{dist/components → components}/Button/Button.d.ts +0 -0
  238. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  239. /package/{dist/components → components}/Button/Button.js +0 -0
  240. /package/{dist/components → components}/Button/Button.js.map +0 -0
  241. /package/{dist/components → components}/Button/index.d.ts +0 -0
  242. /package/{dist/components → components}/Button.d.ts +0 -0
  243. /package/{dist/components → components}/Card/Card.cjs +0 -0
  244. /package/{dist/components → components}/Card/Card.cjs.map +0 -0
  245. /package/{dist/components → components}/Card/Card.d.ts +0 -0
  246. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  247. /package/{dist/components → components}/Card/Card.js +0 -0
  248. /package/{dist/components → components}/Card/Card.js.map +0 -0
  249. /package/{dist/components → components}/Card/Card.sx.d.ts +0 -0
  250. /package/{dist/components → components}/Card/index.d.ts +0 -0
  251. /package/{dist/components → components}/Card.d.ts +0 -0
  252. /package/{dist/components → components}/Chip/Chip.cjs +0 -0
  253. /package/{dist/components → components}/Chip/Chip.cjs.map +0 -0
  254. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  255. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  256. /package/{dist/components → components}/Chip/Chip.js +0 -0
  257. /package/{dist/components → components}/Chip/Chip.js.map +0 -0
  258. /package/{dist/components → components}/Chip/index.d.ts +0 -0
  259. /package/{dist/components → components}/Chip.d.ts +0 -0
  260. /package/{dist/components → components}/Column/Column.cjs +0 -0
  261. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  262. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  263. /package/{dist/components → components}/Column/Column.js +0 -0
  264. /package/{dist/components → components}/Column/Column.js.map +0 -0
  265. /package/{dist/components → components}/Column/index.d.ts +0 -0
  266. /package/{dist/components → components}/Column.d.ts +0 -0
  267. /package/{dist/components → components}/DatePicker/DatePicker.cjs +0 -0
  268. /package/{dist/components → components}/DatePicker/DatePicker.cjs.map +0 -0
  269. /package/{dist/components → components}/DatePicker/DatePicker.d.ts +0 -0
  270. /package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +0 -0
  271. /package/{dist/components → components}/DatePicker/DatePicker.helpers.d.ts +0 -0
  272. /package/{dist/components → components}/DatePicker/DatePicker.js +0 -0
  273. /package/{dist/components → components}/DatePicker/DatePicker.js.map +0 -0
  274. /package/{dist/components → components}/DatePicker/DatePicker.sx.d.ts +0 -0
  275. /package/{dist/components → components}/DatePicker/DatePicker.types.d.ts +0 -0
  276. /package/{dist/components → components}/DatePicker/index.d.ts +0 -0
  277. /package/{dist/components → components}/DatePicker.d.ts +0 -0
  278. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  279. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  280. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  281. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  282. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  283. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  284. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  285. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  286. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs +0 -0
  287. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs.map +0 -0
  288. /package/{dist/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  289. /package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
  290. /package/{dist/components → components}/DateTimePicker/DateTimePicker.helpers.d.ts +0 -0
  291. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js +0 -0
  292. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js.map +0 -0
  293. /package/{dist/components → components}/DateTimePicker/DateTimePicker.sx.d.ts +0 -0
  294. /package/{dist/components → components}/DateTimePicker/DateTimePicker.types.d.ts +0 -0
  295. /package/{dist/components → components}/DateTimePicker/index.d.ts +0 -0
  296. /package/{dist/components → components}/DateTimePicker.d.ts +0 -0
  297. /package/{dist/components → components}/Drawer/Drawer.sx.d.ts +0 -0
  298. /package/{dist/components → components}/Drawer/DrawerContext.d.ts +0 -0
  299. /package/{dist/components → components}/Drawer/DrawerItem.d.ts +0 -0
  300. /package/{dist/components → components}/Drawer/index.d.ts +0 -0
  301. /package/{dist/components → components}/Drawer.d.ts +0 -0
  302. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  303. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  304. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  305. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  306. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  307. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  308. /package/{dist/components → components}/Flyout.d.ts +0 -0
  309. /package/{dist/components → components}/Gallery/Gallery.cjs +0 -0
  310. /package/{dist/components → components}/Gallery/Gallery.cjs.map +0 -0
  311. /package/{dist/components → components}/Gallery/Gallery.d.ts +0 -0
  312. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  313. /package/{dist/components → components}/Gallery/Gallery.js +0 -0
  314. /package/{dist/components → components}/Gallery/Gallery.js.map +0 -0
  315. /package/{dist/components → components}/Gallery/GalleryLightbox.d.ts +0 -0
  316. /package/{dist/components → components}/Gallery/GalleryMain.d.ts +0 -0
  317. /package/{dist/components → components}/Gallery/GalleryThumbnails.d.ts +0 -0
  318. /package/{dist/components → components}/Gallery/index.d.ts +0 -0
  319. /package/{dist/components → components}/Gallery.d.ts +0 -0
  320. /package/{dist/components → components}/Icon/Icon.cjs +0 -0
  321. /package/{dist/components → components}/Icon/Icon.cjs.map +0 -0
  322. /package/{dist/components → components}/Icon/Icon.d.ts +0 -0
  323. /package/{dist/components → components}/Icon/Icon.js +0 -0
  324. /package/{dist/components → components}/Icon/Icon.js.map +0 -0
  325. /package/{dist/components → components}/Icon/index.d.ts +0 -0
  326. /package/{dist/components → components}/Icon.d.ts +0 -0
  327. /package/{dist/components → components}/Input/Input.cjs +0 -0
  328. /package/{dist/components → components}/Input/Input.cjs.map +0 -0
  329. /package/{dist/components → components}/Input/Input.d.ts +0 -0
  330. /package/{dist/components → components}/Input/Input.definitions.d.ts +0 -0
  331. /package/{dist/components → components}/Input/Input.helpers.d.ts +0 -0
  332. /package/{dist/components → components}/Input/Input.js +0 -0
  333. /package/{dist/components → components}/Input/Input.js.map +0 -0
  334. /package/{dist/components → components}/Input/Input.sx.d.ts +0 -0
  335. /package/{dist/components → components}/Input/Input.types.d.ts +0 -0
  336. /package/{dist/components → components}/Input/index.d.ts +0 -0
  337. /package/{dist/components → components}/Input.d.ts +0 -0
  338. /package/{dist/components → components}/InputGroup/InputGroup.cjs +0 -0
  339. /package/{dist/components → components}/InputGroup/InputGroup.cjs.map +0 -0
  340. /package/{dist/components → components}/InputGroup/InputGroup.d.ts +0 -0
  341. /package/{dist/components → components}/InputGroup/InputGroup.definitions.d.ts +0 -0
  342. /package/{dist/components → components}/InputGroup/InputGroup.js +0 -0
  343. /package/{dist/components → components}/InputGroup/InputGroup.js.map +0 -0
  344. /package/{dist/components → components}/InputGroup/index.d.ts +0 -0
  345. /package/{dist/components → components}/InputGroup.d.ts +0 -0
  346. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  347. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  348. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  349. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  350. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  351. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  352. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  353. /package/{dist/components → components}/Modal/Modal.cjs +0 -0
  354. /package/{dist/components → components}/Modal/Modal.cjs.map +0 -0
  355. /package/{dist/components → components}/Modal/Modal.d.ts +0 -0
  356. /package/{dist/components → components}/Modal/Modal.js +0 -0
  357. /package/{dist/components → components}/Modal/Modal.js.map +0 -0
  358. /package/{dist/components → components}/Modal/ModalBody.d.ts +0 -0
  359. /package/{dist/components → components}/Modal/ModalFooter.d.ts +0 -0
  360. /package/{dist/components → components}/Modal/ModalHeader.d.ts +0 -0
  361. /package/{dist/components → components}/Modal/index.d.ts +0 -0
  362. /package/{dist/components → components}/Modal.d.ts +0 -0
  363. /package/{dist/components → components}/PageLoader/PageLoader.cjs +0 -0
  364. /package/{dist/components → components}/PageLoader/PageLoader.cjs.map +0 -0
  365. /package/{dist/components → components}/PageLoader/PageLoader.d.ts +0 -0
  366. /package/{dist/components → components}/PageLoader/PageLoader.js +0 -0
  367. /package/{dist/components → components}/PageLoader/PageLoader.js.map +0 -0
  368. /package/{dist/components → components}/PageLoader/index.d.ts +0 -0
  369. /package/{dist/components → components}/PageLoader.d.ts +0 -0
  370. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs +0 -0
  371. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs.map +0 -0
  372. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.d.ts +0 -0
  373. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js +0 -0
  374. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js.map +0 -0
  375. /package/{dist/components → components}/ScrollTopButton/index.d.ts +0 -0
  376. /package/{dist/components → components}/ScrollTopButton/scrollToTop.d.ts +0 -0
  377. /package/{dist/components → components}/ScrollTopButton.d.ts +0 -0
  378. /package/{dist/components → components}/Select/Select.cjs +0 -0
  379. /package/{dist/components → components}/Select/Select.cjs.map +0 -0
  380. /package/{dist/components → components}/Select/Select.d.ts +0 -0
  381. /package/{dist/components → components}/Select/Select.definitions.d.ts +0 -0
  382. /package/{dist/components → components}/Select/Select.helpers.d.ts +0 -0
  383. /package/{dist/components → components}/Select/Select.js +0 -0
  384. /package/{dist/components → components}/Select/Select.js.map +0 -0
  385. /package/{dist/components → components}/Select/Select.sx.d.ts +0 -0
  386. /package/{dist/components → components}/Select/Select.types.d.ts +0 -0
  387. /package/{dist/components → components}/Select/_parts/SelectMenuItem.d.ts +0 -0
  388. /package/{dist/components → components}/Select/_parts/SelectSearchHeader.d.ts +0 -0
  389. /package/{dist/components → components}/Select/_parts/SelectValue.d.ts +0 -0
  390. /package/{dist/components → components}/Select/index.d.ts +0 -0
  391. /package/{dist/components → components}/Select.d.ts +0 -0
  392. /package/{dist/components → components}/Stat/Stat.cjs +0 -0
  393. /package/{dist/components → components}/Stat/Stat.cjs.map +0 -0
  394. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  395. /package/{dist/components → components}/Stat/Stat.js +0 -0
  396. /package/{dist/components → components}/Stat/Stat.js.map +0 -0
  397. /package/{dist/components → components}/Stat/index.d.ts +0 -0
  398. /package/{dist/components → components}/Stat.d.ts +0 -0
  399. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs +0 -0
  400. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs.map +0 -0
  401. /package/{dist/components → components}/StatusMessage/StatusMessage.d.ts +0 -0
  402. /package/{dist/components → components}/StatusMessage/StatusMessage.js +0 -0
  403. /package/{dist/components → components}/StatusMessage/StatusMessage.js.map +0 -0
  404. /package/{dist/components → components}/StatusMessage/index.d.ts +0 -0
  405. /package/{dist/components → components}/StatusMessage.d.ts +0 -0
  406. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  407. /package/{dist/components → components}/Stepper/Stepper.cjs +0 -0
  408. /package/{dist/components → components}/Stepper/Stepper.cjs.map +0 -0
  409. /package/{dist/components → components}/Stepper/Stepper.d.ts +0 -0
  410. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  411. /package/{dist/components → components}/Stepper/Stepper.js +0 -0
  412. /package/{dist/components → components}/Stepper/Stepper.js.map +0 -0
  413. /package/{dist/components → components}/Stepper/index.d.ts +0 -0
  414. /package/{dist/components → components}/Stepper.d.ts +0 -0
  415. /package/{dist/components → components}/Table/Table.cjs +0 -0
  416. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  417. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  418. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  419. /package/{dist/components → components}/Table/Table.js +0 -0
  420. /package/{dist/components → components}/Table/Table.js.map +0 -0
  421. /package/{dist/components → components}/Table/data.d.ts +0 -0
  422. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  423. /package/{dist/components → components}/Table/index.d.ts +0 -0
  424. /package/{dist/components → components}/Table/types.d.ts +0 -0
  425. /package/{dist/components → components}/Table.d.ts +0 -0
  426. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  427. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  428. /package/{dist/components → components}/Tabs/Tabs.cjs +0 -0
  429. /package/{dist/components → components}/Tabs/Tabs.cjs.map +0 -0
  430. /package/{dist/components → components}/Tabs/Tabs.d.ts +0 -0
  431. /package/{dist/components → components}/Tabs/Tabs.js +0 -0
  432. /package/{dist/components → components}/Tabs/Tabs.js.map +0 -0
  433. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  434. /package/{dist/components → components}/Tabs/index.d.ts +0 -0
  435. /package/{dist/components → components}/Tabs.d.ts +0 -0
  436. /package/{dist/components → components}/Timeline/Timeline.cjs +0 -0
  437. /package/{dist/components → components}/Timeline/Timeline.cjs.map +0 -0
  438. /package/{dist/components → components}/Timeline/Timeline.d.ts +0 -0
  439. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  440. /package/{dist/components → components}/Timeline/Timeline.js +0 -0
  441. /package/{dist/components → components}/Timeline/Timeline.js.map +0 -0
  442. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  443. /package/{dist/components → components}/Timeline/index.d.ts +0 -0
  444. /package/{dist/components → components}/Timeline.d.ts +0 -0
  445. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  446. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  447. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  448. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  449. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  450. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  451. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  452. /package/{dist/components → components}/_shared/formField.sx.d.ts +0 -0
  453. /package/{dist/components → components}/_shared/resolvePreset.d.ts +0 -0
  454. /package/{dist/formField.sx-CQ1mbk9M.cjs → formField.sx-CQ1mbk9M.cjs} +0 -0
  455. /package/{dist/formField.sx-CQ1mbk9M.cjs.map → formField.sx-CQ1mbk9M.cjs.map} +0 -0
  456. /package/{dist/formField.sx-DfVbMe0V.js → formField.sx-DfVbMe0V.js} +0 -0
  457. /package/{dist/formField.sx-DfVbMe0V.js.map → formField.sx-DfVbMe0V.js.map} +0 -0
  458. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  459. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  460. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  461. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  462. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  463. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  464. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  465. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  466. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs +0 -0
  467. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs.map +0 -0
  468. /package/{dist/hooks → hooks}/Wizard/Wizard.js +0 -0
  469. /package/{dist/hooks → hooks}/Wizard/Wizard.js.map +0 -0
  470. /package/{dist/hooks → hooks}/Wizard/WizardContext.d.ts +0 -0
  471. /package/{dist/hooks → hooks}/Wizard/index.d.ts +0 -0
  472. /package/{dist/hooks → hooks}/Wizard/useWizard.d.ts +0 -0
  473. /package/{dist/hooks → hooks}/Wizard.d.ts +0 -0
  474. /package/{dist/index.cjs → index.cjs} +0 -0
  475. /package/{dist/index.cjs.map → index.cjs.map} +0 -0
  476. /package/{dist/index.d.ts → index.d.ts} +0 -0
  477. /package/{dist/index.js → index.js} +0 -0
  478. /package/{dist/index.js.map → index.js.map} +0 -0
  479. /package/{dist/mui.d.ts → mui.d.ts} +0 -0
  480. /package/{dist/resolvePreset-B-IB0ehH.js → resolvePreset-B-IB0ehH.js} +0 -0
  481. /package/{dist/resolvePreset-B-IB0ehH.js.map → resolvePreset-B-IB0ehH.js.map} +0 -0
  482. /package/{dist/resolvePreset-CT3kU-K2.cjs → resolvePreset-CT3kU-K2.cjs} +0 -0
  483. /package/{dist/resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CT3kU-K2.cjs.map} +0 -0
  484. /package/{dist/styles.css → styles.css} +0 -0
  485. /package/{dist/theme → theme}/componentStyles.d.ts +0 -0
  486. /package/{dist/theme → theme}/tokens.d.ts +0 -0
  487. /package/{dist/useWizard-CWdIxZzX.cjs → useWizard-CWdIxZzX.cjs} +0 -0
  488. /package/{dist/useWizard-CWdIxZzX.cjs.map → useWizard-CWdIxZzX.cjs.map} +0 -0
  489. /package/{dist/useWizard-CWq--C3o.js → useWizard-CWq--C3o.js} +0 -0
  490. /package/{dist/useWizard-CWq--C3o.js.map → useWizard-CWq--C3o.js.map} +0 -0
@@ -1,270 +0,0 @@
1
- import React, { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { Box, Typography, Avatar } from '@mui/material';
4
- import HomeIcon from '@mui/icons-material/Home';
5
- import PersonIcon from '@mui/icons-material/Person';
6
- import SettingsIcon from '@mui/icons-material/Settings';
7
- import ReceiptIcon from '@mui/icons-material/Receipt';
8
- import LogoutIcon from '@mui/icons-material/Logout';
9
- import NotificationsIcon from '@mui/icons-material/Notifications';
10
-
11
- import { Drawer } from './Drawer';
12
- import { DrawerItem } from './DrawerItem';
13
-
14
- const meta: Meta<typeof Drawer> = {
15
- title: 'Components/Drawer',
16
- component: Drawer,
17
- tags: ['autodocs'],
18
- parameters: {
19
- layout: 'fullscreen',
20
- docs: {
21
- description: {
22
- component:
23
- 'Drawer lateral para navegación. Soporta modo `collapsed` (mini-variant con solo iconos) y reemplaza el `DrawerComponent` de Metronic. Los sub-componentes `DrawerItem` reaccionan al estado `collapsed` vía context y muestran tooltip automático al hover cuando el drawer está mini.',
24
- },
25
- },
26
- },
27
- argTypes: {
28
- variant: {
29
- control: 'select',
30
- options: ['permanent', 'persistent', 'temporary'],
31
- description:
32
- '`permanent` (default) = siempre visible en desktop. `persistent` = oculta/muestra empujando contenido. `temporary` = flotante con backdrop (típico móvil).',
33
- },
34
- anchor: {
35
- control: 'select',
36
- options: ['left', 'right', 'top', 'bottom'],
37
- },
38
- collapsed: {
39
- control: 'boolean',
40
- description: 'Estado mini (solo iconos). Solo aplica en `permanent`/`persistent`.',
41
- },
42
- expandedWidth: { control: { type: 'number', min: 180, max: 400, step: 10 } },
43
- collapsedWidth: { control: { type: 'number', min: 48, max: 120, step: 4 } },
44
- },
45
- };
46
-
47
- export default meta;
48
- type Story = StoryObj<typeof Drawer>;
49
-
50
- // ── Helpers ──────────────────────────────────────────────────────────────
51
-
52
- const SampleLogo = () => (
53
- <Typography variant="h6" sx={{ fontWeight: 700, color: 'primary.main' }}>
54
- soyfri
55
- </Typography>
56
- );
57
-
58
- const SampleFooter = ({ collapsed }: { collapsed: boolean }) => (
59
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>
60
- <Avatar sx={{ width: 36, height: 36 }}>AP</Avatar>
61
- {!collapsed && (
62
- <Box sx={{ minWidth: 0 }}>
63
- <Typography variant="body2" noWrap sx={{ fontWeight: 600 }}>
64
- Andrea Pérez
65
- </Typography>
66
- <Typography variant="caption" color="text.secondary" noWrap>
67
- admin@soyfri.com
68
- </Typography>
69
- </Box>
70
- )}
71
- </Box>
72
- );
73
-
74
- // ── Stories ──────────────────────────────────────────────────────────────
75
-
76
- export const ExpandedPermanent: Story = {
77
- args: {
78
- variant: 'permanent',
79
- anchor: 'left',
80
- collapsed: false,
81
- expandedWidth: 260,
82
- collapsedWidth: 72,
83
- header: <SampleLogo />,
84
- },
85
- render: (args) => (
86
- <Box sx={{ display: 'flex', height: '100vh' }}>
87
- <Drawer {...args}>
88
- <DrawerItem icon={<HomeIcon />} label="Inicio" active />
89
- <DrawerItem icon={<PersonIcon />} label="Perfil" />
90
- <DrawerItem
91
- icon={<NotificationsIcon />}
92
- label="Notificaciones"
93
- endAdornment={
94
- <Typography
95
- variant="caption"
96
- sx={{
97
- bgcolor: 'primary.main',
98
- color: '#fff',
99
- borderRadius: 10,
100
- px: 1,
101
- py: 0.25,
102
- fontWeight: 600,
103
- }}
104
- >
105
- 3
106
- </Typography>
107
- }
108
- />
109
- <DrawerItem icon={<ReceiptIcon />} label="Facturación" />
110
- <DrawerItem icon={<SettingsIcon />} label="Configuración" />
111
- </Drawer>
112
- <Box sx={{ flex: 1, p: 3 }}>
113
- <Typography variant="h5">Contenido principal</Typography>
114
- <Typography color="text.secondary">
115
- El drawer permanente convive con el contenido y no lo tapa.
116
- </Typography>
117
- </Box>
118
- </Box>
119
- ),
120
- parameters: {
121
- docs: {
122
- description: {
123
- story:
124
- 'Drawer permanente expandido con logo en header y lista de items. Uno de los items tiene un badge como `endAdornment`.',
125
- },
126
- },
127
- },
128
- };
129
-
130
- export const CollapsedPermanent: Story = {
131
- ...ExpandedPermanent,
132
- args: {
133
- ...ExpandedPermanent.args,
134
- collapsed: true,
135
- },
136
- parameters: {
137
- docs: {
138
- description: {
139
- story:
140
- 'El mismo drawer en modo mini. Los labels se ocultan y al hacer hover sobre cada item aparece un tooltip con su texto. Notar que el badge `endAdornment` se oculta también en modo collapsed.',
141
- },
142
- },
143
- },
144
- };
145
-
146
- export const ToggleableDrawer: Story = {
147
- render: () => {
148
- const [collapsed, setCollapsed] = useState(false);
149
-
150
- return (
151
- <Box sx={{ display: 'flex', height: '100vh' }}>
152
- <Drawer
153
- variant="permanent"
154
- collapsed={collapsed}
155
- onToggleCollapse={() => setCollapsed((v) => !v)}
156
- header={<SampleLogo />}
157
- footer={<SampleFooter collapsed={collapsed} />}
158
- >
159
- <DrawerItem icon={<HomeIcon />} label="Inicio" active />
160
- <DrawerItem icon={<PersonIcon />} label="Perfil" />
161
- <DrawerItem icon={<ReceiptIcon />} label="Facturación" />
162
- <DrawerItem icon={<SettingsIcon />} label="Configuración" />
163
- <DrawerItem icon={<LogoutIcon />} label="Cerrar sesión" danger />
164
- </Drawer>
165
- <Box sx={{ flex: 1, p: 3 }}>
166
- <Typography variant="h5">
167
- Drawer: {collapsed ? 'colapsado' : 'expandido'}
168
- </Typography>
169
- <Typography color="text.secondary">
170
- Usá el chevron del header para alternar. El footer se adapta
171
- (avatar solo cuando está mini, avatar + texto cuando está
172
- expandido).
173
- </Typography>
174
- </Box>
175
- </Box>
176
- );
177
- },
178
- parameters: {
179
- docs: {
180
- description: {
181
- story:
182
- 'Drawer con botón chevron funcional (el que provee el paquete) y footer que reacciona al estado. Incluye un item `danger` (cerrar sesión) que se pinta en color error.',
183
- },
184
- },
185
- },
186
- };
187
-
188
- export const TemporaryDrawer: Story = {
189
- render: () => {
190
- const [open, setOpen] = useState(false);
191
-
192
- return (
193
- <Box sx={{ height: '100vh', p: 3 }}>
194
- <Typography variant="h5" gutterBottom>
195
- Drawer temporal (para móvil)
196
- </Typography>
197
- <Typography
198
- sx={{ cursor: 'pointer', color: 'primary.main' }}
199
- onClick={() => setOpen(true)}
200
- >
201
- → Abrir drawer
202
- </Typography>
203
-
204
- <Drawer
205
- variant="temporary"
206
- open={open}
207
- onClose={() => setOpen(false)}
208
- header={<SampleLogo />}
209
- >
210
- <DrawerItem
211
- icon={<HomeIcon />}
212
- label="Inicio"
213
- onClick={() => setOpen(false)}
214
- />
215
- <DrawerItem
216
- icon={<PersonIcon />}
217
- label="Perfil"
218
- onClick={() => setOpen(false)}
219
- />
220
- <DrawerItem
221
- icon={<SettingsIcon />}
222
- label="Configuración"
223
- onClick={() => setOpen(false)}
224
- />
225
- </Drawer>
226
- </Box>
227
- );
228
- },
229
- parameters: {
230
- docs: {
231
- description: {
232
- story:
233
- 'Drawer `temporary`: flota por encima del contenido con backdrop. Cierra con ESC, click en backdrop, o handler explícito en cada item. El modo `collapsed` no aplica acá.',
234
- },
235
- },
236
- },
237
- };
238
-
239
- export const RightAnchored: Story = {
240
- args: {
241
- variant: 'permanent',
242
- anchor: 'right',
243
- expandedWidth: 320,
244
- header: (
245
- <Typography variant="subtitle1" sx={{ fontWeight: 600 }}>
246
- Panel lateral
247
- </Typography>
248
- ),
249
- },
250
- render: (args) => (
251
- <Box sx={{ display: 'flex', height: '100vh' }}>
252
- <Box sx={{ flex: 1, p: 3 }}>
253
- <Typography variant="h5">Contenido principal</Typography>
254
- </Box>
255
- <Drawer {...args}>
256
- <DrawerItem icon={<NotificationsIcon />} label="Notificaciones" />
257
- <DrawerItem icon={<PersonIcon />} label="Contactos" />
258
- <DrawerItem icon={<SettingsIcon />} label="Ajustes" />
259
- </Drawer>
260
- </Box>
261
- ),
262
- parameters: {
263
- docs: {
264
- description: {
265
- story:
266
- 'Drawer anclado a la derecha. Útil para paneles secundarios (inbox, notificaciones, detalles) en lugar de navegación principal.',
267
- },
268
- },
269
- },
270
- };
@@ -1,106 +0,0 @@
1
- import type { SxProps, Theme } from '@mui/material/styles';
2
-
3
- export interface BuildDrawerSxArgs {
4
- /** Ancho actual del drawer (expanded o collapsed). */
5
- width: number;
6
- /** Duración de la transición de ancho en ms. */
7
- transitionDuration?: number;
8
- }
9
-
10
- /**
11
- * sx aplicado al root del MuiDrawer. Controla el ancho animado y el paper
12
- * interno. Los estilos visuales del paper (background, border) se dejan en
13
- * manos del theme / preset.
14
- */
15
- export function buildDrawerSx({
16
- width,
17
- transitionDuration = 200,
18
- }: BuildDrawerSxArgs): SxProps<Theme> {
19
- return {
20
- width,
21
- flexShrink: 0,
22
- whiteSpace: 'nowrap',
23
- boxSizing: 'border-box',
24
- transition: (theme) =>
25
- theme.transitions.create('width', {
26
- easing: theme.transitions.easing.sharp,
27
- duration: transitionDuration,
28
- }),
29
- '& .MuiDrawer-paper': {
30
- width,
31
- boxSizing: 'border-box',
32
- overflowX: 'hidden',
33
- transition: (theme) =>
34
- theme.transitions.create('width', {
35
- easing: theme.transitions.easing.sharp,
36
- duration: transitionDuration,
37
- }),
38
- },
39
- };
40
- }
41
-
42
- export interface BuildDrawerItemSxArgs {
43
- collapsed: boolean;
44
- active?: boolean;
45
- danger?: boolean;
46
- }
47
-
48
- /**
49
- * sx para un item del drawer. Centra el icono cuando está colapsado y
50
- * tiñe el fondo cuando el item está activo.
51
- */
52
- export function buildDrawerItemSx({
53
- collapsed,
54
- active,
55
- danger,
56
- }: BuildDrawerItemSxArgs): SxProps<Theme> {
57
- return (theme) => ({
58
- minHeight: 44,
59
- px: collapsed ? 1 : 2,
60
- py: 1,
61
- mx: 1,
62
- my: 0.25,
63
- borderRadius: 1,
64
- display: 'flex',
65
- alignItems: 'center',
66
- justifyContent: collapsed ? 'center' : 'flex-start',
67
- gap: collapsed ? 0 : 1.5,
68
- cursor: 'pointer',
69
- color: danger
70
- ? theme.palette.error.main
71
- : active
72
- ? theme.palette.primary.main
73
- : theme.palette.text.primary,
74
- backgroundColor: active
75
- ? theme.palette.action.selected
76
- : 'transparent',
77
- transition: theme.transitions.create(
78
- ['background-color', 'color', 'padding'],
79
- { duration: 150 },
80
- ),
81
- '&:hover': {
82
- backgroundColor: danger
83
- ? theme.palette.error.light + '22'
84
- : theme.palette.action.hover,
85
- },
86
- '& .drawer-item__icon': {
87
- display: 'flex',
88
- alignItems: 'center',
89
- justifyContent: 'center',
90
- flexShrink: 0,
91
- minWidth: 24,
92
- },
93
- '& .drawer-item__label': {
94
- flex: 1,
95
- minWidth: 0,
96
- overflow: 'hidden',
97
- textOverflow: 'ellipsis',
98
- whiteSpace: 'nowrap',
99
- opacity: collapsed ? 0 : 1,
100
- width: collapsed ? 0 : 'auto',
101
- transition: theme.transitions.create(['opacity', 'width'], {
102
- duration: collapsed ? 100 : 200,
103
- }),
104
- },
105
- });
106
- }
@@ -1,214 +0,0 @@
1
- import React, { useMemo, type ReactNode } from 'react';
2
- import {
3
- Drawer as MuiDrawer,
4
- IconButton,
5
- Box,
6
- type DrawerProps as MuiDrawerProps,
7
- } from '@mui/material';
8
- import {
9
- useTheme,
10
- type SxProps,
11
- type Theme,
12
- } from '@mui/material/styles';
13
- import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
14
- import ChevronRightIcon from '@mui/icons-material/ChevronRight';
15
-
16
- import { DrawerContext } from './DrawerContext';
17
- import { buildDrawerSx } from './Drawer.sx';
18
- import { resolvePreset } from '../_shared/resolvePreset';
19
-
20
- // ── Tipos públicos ──────────────────────────────────────────────────────
21
- export type DrawerVariant = 'permanent' | 'persistent' | 'temporary';
22
- export type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';
23
-
24
- export interface DrawerProps {
25
- /** Contenido del drawer (típicamente `<DrawerItem>`s). */
26
- children?: ReactNode;
27
- /**
28
- * Variante del drawer:
29
- * - `permanent` (default): siempre visible en desktop, soporta collapsed (mini).
30
- * - `persistent`: se oculta/muestra, empuja el contenido principal.
31
- * - `temporary`: flotante con backdrop (típico móvil).
32
- */
33
- variant?: DrawerVariant;
34
- /** Lado del viewport. Default: `'left'`. */
35
- anchor?: DrawerAnchor;
36
- /**
37
- * Estado mini (solo iconos). Solo se aplica con `variant="permanent"` o
38
- * `"persistent"`. Si no se provee, el drawer está siempre expandido.
39
- */
40
- collapsed?: boolean;
41
- /** Callback del botón de toggle (chevron). */
42
- onToggleCollapse?: () => void;
43
- /** Estado abierto/cerrado (aplica a `temporary` y `persistent`). */
44
- open?: boolean;
45
- /** Callback de cierre (backdrop o ESC en temporary). */
46
- onClose?: MuiDrawerProps['onClose'];
47
- /** Ancho en estado expandido. Default: 260. */
48
- expandedWidth?: number;
49
- /** Ancho en estado colapsado (solo iconos). Default: 72. */
50
- collapsedWidth?: number;
51
- /** Muestra el botón chevron para toggle collapsed. Default: true si `onToggleCollapse` está definido. */
52
- showCollapseButton?: boolean;
53
- /** Contenido del header (por encima de los items). Típicamente logo/brand. */
54
- header?: ReactNode;
55
- /** Contenido del footer (por debajo de los items). Típicamente user profile. */
56
- footer?: ReactNode;
57
- /**
58
- * Nombre del preset de estilo registrado en `theme.styles.Drawer`.
59
- * - `"default"` (o ausente) = estilo built-in del paquete.
60
- */
61
- preset?: string;
62
- /** sx aplicado al Drawer (root). Se mergea después del preset. */
63
- sx?: SxProps<Theme>;
64
- /** sx aplicado al Paper interno. */
65
- paperSx?: SxProps<Theme>;
66
- className?: string;
67
- }
68
-
69
- export function Drawer({
70
- children,
71
- variant = 'permanent',
72
- anchor = 'left',
73
- collapsed = false,
74
- onToggleCollapse,
75
- open,
76
- onClose,
77
- expandedWidth = 260,
78
- collapsedWidth = 72,
79
- showCollapseButton,
80
- header,
81
- footer,
82
- preset,
83
- sx,
84
- paperSx,
85
- className,
86
- }: DrawerProps) {
87
- const theme = useTheme();
88
- const presetSx = resolvePreset('Drawer', preset, theme);
89
-
90
- // El mini-variant solo tiene sentido en permanent / persistent.
91
- const supportsCollapsed = variant !== 'temporary';
92
- const effectiveWidth =
93
- supportsCollapsed && collapsed ? collapsedWidth : expandedWidth;
94
-
95
- const contextValue = useMemo(
96
- () => ({
97
- collapsed: supportsCollapsed && collapsed,
98
- width: effectiveWidth,
99
- }),
100
- [supportsCollapsed, collapsed, effectiveWidth],
101
- );
102
-
103
- const rootSx: SxProps<Theme> = [
104
- buildDrawerSx({ width: effectiveWidth }),
105
- ...(presetSx ? [presetSx] : []),
106
- ...(Array.isArray(sx) ? sx : sx ? [sx] : []),
107
- ];
108
-
109
- const shouldShowToggle =
110
- showCollapseButton ?? (supportsCollapsed && !!onToggleCollapse);
111
-
112
- const openProp =
113
- variant === 'permanent'
114
- ? true
115
- : open !== undefined
116
- ? open
117
- : false;
118
-
119
- return (
120
- <DrawerContext.Provider value={contextValue}>
121
- <MuiDrawer
122
- variant={variant}
123
- anchor={anchor}
124
- open={openProp}
125
- onClose={onClose}
126
- className={className}
127
- sx={rootSx}
128
- PaperProps={{
129
- sx: paperSx,
130
- }}
131
- >
132
- {header && (
133
- <Box
134
- sx={{
135
- display: 'flex',
136
- alignItems: 'center',
137
- justifyContent: contextValue.collapsed
138
- ? 'center'
139
- : 'space-between',
140
- px: contextValue.collapsed ? 1 : 2,
141
- py: 1.5,
142
- minHeight: 64,
143
- flexShrink: 0,
144
- }}
145
- >
146
- {!contextValue.collapsed && (
147
- <Box sx={{ flex: 1, minWidth: 0 }}>{header}</Box>
148
- )}
149
- {shouldShowToggle && (
150
- <IconButton
151
- size="small"
152
- onClick={onToggleCollapse}
153
- aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}
154
- >
155
- {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}
156
- </IconButton>
157
- )}
158
- </Box>
159
- )}
160
-
161
- {!header && shouldShowToggle && (
162
- <Box
163
- sx={{
164
- display: 'flex',
165
- justifyContent: contextValue.collapsed
166
- ? 'center'
167
- : 'flex-end',
168
- px: 1,
169
- py: 1,
170
- }}
171
- >
172
- <IconButton
173
- size="small"
174
- onClick={onToggleCollapse}
175
- aria-label={collapsed ? 'Expandir menú' : 'Colapsar menú'}
176
- >
177
- {collapsed ? <ChevronRightIcon /> : <ChevronLeftIcon />}
178
- </IconButton>
179
- </Box>
180
- )}
181
-
182
- <Box
183
- component="nav"
184
- sx={{
185
- flex: 1,
186
- overflowY: 'auto',
187
- overflowX: 'hidden',
188
- py: 1,
189
- }}
190
- >
191
- {children}
192
- </Box>
193
-
194
- {footer && (
195
- <Box
196
- sx={{
197
- flexShrink: 0,
198
- borderTop: (t) => `1px solid ${t.palette.divider}`,
199
- p: contextValue.collapsed ? 1 : 1.5,
200
- display: 'flex',
201
- justifyContent: contextValue.collapsed
202
- ? 'center'
203
- : 'flex-start',
204
- }}
205
- >
206
- {footer}
207
- </Box>
208
- )}
209
- </MuiDrawer>
210
- </DrawerContext.Provider>
211
- );
212
- }
213
-
214
- export default Drawer;
@@ -1,26 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
-
3
- /**
4
- * Context interno del Drawer. Permite que los sub-componentes (DrawerItem,
5
- * DrawerSection, etc.) reaccionen al estado `collapsed` sin necesidad de
6
- * recibirlo por props explícitas.
7
- */
8
- export interface DrawerContextValue {
9
- /** Si el drawer está en modo mini (solo iconos). */
10
- collapsed: boolean;
11
- /** Ancho actual del drawer (útil para sub-componentes que necesiten layout). */
12
- width: number;
13
- }
14
-
15
- export const DrawerContext = createContext<DrawerContextValue | null>(null);
16
-
17
- /**
18
- * Hook para leer el estado del drawer desde cualquier sub-componente. Si se
19
- * llama fuera de un `<Drawer>`, devuelve valores por defecto (collapsed=false)
20
- * para que los items renderizados sueltos no exploten.
21
- */
22
- export function useDrawerContext(): DrawerContextValue {
23
- const ctx = useContext(DrawerContext);
24
- if (ctx) return ctx;
25
- return { collapsed: false, width: 260 };
26
- }