@soyfri/shared-library 1.5.0 → 1.6.0-beta.0

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 (564) hide show
  1. package/Button-C17mExpd.cjs.map +1 -0
  2. package/Button-UkkP-bNw.js.map +1 -0
  3. package/components/ActionMenu/ActionMenu.cjs +107 -0
  4. package/components/ActionMenu/ActionMenu.cjs.map +1 -0
  5. package/components/ActionMenu/ActionMenu.d.ts +44 -0
  6. package/components/ActionMenu/ActionMenu.js +107 -0
  7. package/components/ActionMenu/ActionMenu.js.map +1 -0
  8. package/components/ActionMenu/index.d.ts +2 -0
  9. package/components/ActionMenu.d.ts +6 -0
  10. package/components/AppBar/AppBar.cjs +129 -0
  11. package/components/AppBar/AppBar.cjs.map +1 -0
  12. package/components/AppBar/AppBar.d.ts +55 -0
  13. package/components/AppBar/AppBar.js +129 -0
  14. package/components/AppBar/AppBar.js.map +1 -0
  15. package/components/AppBar/AppBar.sx.d.ts +12 -0
  16. package/components/AppBar/AppBarContext.d.ts +18 -0
  17. package/components/AppBar/AppBarMenuToggle.d.ts +39 -0
  18. package/components/AppBar/index.d.ts +6 -0
  19. package/components/AppBar.d.ts +6 -0
  20. package/components/Autocomplete/Autocomplete.cjs +313 -0
  21. package/components/Autocomplete/Autocomplete.cjs.map +1 -0
  22. package/components/Autocomplete/Autocomplete.d.ts +86 -0
  23. package/components/Autocomplete/Autocomplete.definitions.d.ts +16 -0
  24. package/components/Autocomplete/Autocomplete.helpers.d.ts +22 -0
  25. package/components/Autocomplete/Autocomplete.js +313 -0
  26. package/components/Autocomplete/Autocomplete.js.map +1 -0
  27. package/components/Autocomplete/Autocomplete.sx.d.ts +7 -0
  28. package/components/Autocomplete/_parts/AutocompleteChips.d.ts +20 -0
  29. package/components/Autocomplete/_parts/AutocompleteLoader.d.ts +9 -0
  30. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +16 -0
  31. package/components/Autocomplete/index.d.ts +2 -0
  32. package/components/Autocomplete.d.ts +6 -0
  33. package/components/Avatar/Avatar.cjs +162 -0
  34. package/components/Avatar/Avatar.cjs.map +1 -0
  35. package/components/Avatar/Avatar.d.ts +33 -0
  36. package/components/Avatar/Avatar.definitions.d.ts +11 -0
  37. package/components/Avatar/Avatar.js +162 -0
  38. package/components/Avatar/Avatar.js.map +1 -0
  39. package/components/Avatar/index.d.ts +2 -0
  40. package/{dist/components → components}/Button/Button.d.ts +5 -5
  41. package/{dist/components → components}/Button/index.d.ts +1 -0
  42. package/components/Card/Card.cjs +99 -0
  43. package/components/Card/Card.cjs.map +1 -0
  44. package/components/Card/Card.d.ts +36 -0
  45. package/components/Card/Card.js +99 -0
  46. package/components/Card/Card.js.map +1 -0
  47. package/components/Card/Card.sx.d.ts +14 -0
  48. package/components/Card/index.d.ts +4 -0
  49. package/components/Card.d.ts +6 -0
  50. package/components/Checkbox/Checkbox.cjs +189 -0
  51. package/components/Checkbox/Checkbox.cjs.map +1 -0
  52. package/components/Checkbox/Checkbox.d.ts +55 -0
  53. package/components/Checkbox/Checkbox.js +189 -0
  54. package/components/Checkbox/Checkbox.js.map +1 -0
  55. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  56. package/components/Checkbox/index.d.ts +2 -0
  57. package/components/Checkbox.d.ts +6 -0
  58. package/{dist/components → components}/Chip/Chip.cjs +2 -1
  59. package/components/Chip/Chip.cjs.map +1 -0
  60. package/{dist/components → components}/Chip/Chip.js +2 -1
  61. package/components/Chip/Chip.js.map +1 -0
  62. package/components/Chip/index.d.ts +2 -0
  63. package/components/Chip.d.ts +6 -0
  64. package/components/DatePicker/DatePicker.cjs +180 -0
  65. package/components/DatePicker/DatePicker.cjs.map +1 -0
  66. package/components/DatePicker/DatePicker.d.ts +44 -0
  67. package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +1 -0
  68. package/components/DatePicker/DatePicker.helpers.d.ts +7 -0
  69. package/components/DatePicker/DatePicker.js +180 -0
  70. package/components/DatePicker/DatePicker.js.map +1 -0
  71. package/components/DatePicker/DatePicker.sx.d.ts +9 -0
  72. package/components/DatePicker/index.d.ts +2 -0
  73. package/components/DatePicker.d.ts +6 -0
  74. package/components/DateTimePicker/DateTimePicker.cjs +198 -0
  75. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
  76. package/components/DateTimePicker/DateTimePicker.d.ts +57 -0
  77. package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +3 -0
  78. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +13 -0
  79. package/components/DateTimePicker/DateTimePicker.js +198 -0
  80. package/components/DateTimePicker/DateTimePicker.js.map +1 -0
  81. package/components/DateTimePicker/DateTimePicker.sx.d.ts +7 -0
  82. package/components/DateTimePicker/index.d.ts +2 -0
  83. package/components/DateTimePicker.d.ts +6 -0
  84. package/components/Drawer/Drawer.cjs +272 -0
  85. package/components/Drawer/Drawer.cjs.map +1 -0
  86. package/components/Drawer/Drawer.d.ts +58 -0
  87. package/components/Drawer/Drawer.js +272 -0
  88. package/components/Drawer/Drawer.js.map +1 -0
  89. package/components/Drawer/Drawer.sx.d.ts +23 -0
  90. package/components/Drawer/DrawerContext.d.ts +18 -0
  91. package/components/Drawer/DrawerItem.d.ts +40 -0
  92. package/components/Drawer/index.d.ts +6 -0
  93. package/components/Drawer.d.ts +6 -0
  94. package/{dist/components → components}/Gallery/Gallery.cjs +154 -79
  95. package/components/Gallery/Gallery.cjs.map +1 -0
  96. package/components/Gallery/Gallery.d.ts +28 -0
  97. package/{dist/components → components}/Gallery/Gallery.js +154 -79
  98. package/components/Gallery/Gallery.js.map +1 -0
  99. package/components/Gallery/GalleryLightbox.d.ts +16 -0
  100. package/{dist/components → components}/Gallery/GalleryMain.d.ts +3 -7
  101. package/components/Gallery/GalleryThumbnails.d.ts +13 -0
  102. package/components/Gallery/index.d.ts +2 -0
  103. package/components/Gallery.d.ts +6 -0
  104. package/{dist/components → components}/Icon/Icon.cjs +49 -10
  105. package/components/Icon/Icon.cjs.map +1 -0
  106. package/components/Icon/Icon.d.ts +48 -0
  107. package/{dist/components → components}/Icon/Icon.js +49 -10
  108. package/components/Icon/Icon.js.map +1 -0
  109. package/components/Icon/index.d.ts +2 -0
  110. package/components/Icon.d.ts +6 -0
  111. package/components/Input/Input.cjs +188 -0
  112. package/components/Input/Input.cjs.map +1 -0
  113. package/components/Input/Input.d.ts +44 -0
  114. package/{dist/components → components}/Input/Input.definitions.d.ts +6 -2
  115. package/components/Input/Input.helpers.d.ts +14 -0
  116. package/components/Input/Input.js +188 -0
  117. package/components/Input/Input.js.map +1 -0
  118. package/components/Input/Input.sx.d.ts +8 -0
  119. package/components/Input/index.d.ts +2 -0
  120. package/components/Input.d.ts +6 -0
  121. package/components/InputGroup/InputGroup.cjs +140 -0
  122. package/components/InputGroup/InputGroup.cjs.map +1 -0
  123. package/components/InputGroup/InputGroup.d.ts +42 -0
  124. package/components/InputGroup/InputGroup.definitions.d.ts +6 -0
  125. package/components/InputGroup/InputGroup.js +140 -0
  126. package/components/InputGroup/InputGroup.js.map +1 -0
  127. package/components/InputGroup/index.d.ts +2 -0
  128. package/components/InputGroup.d.ts +6 -0
  129. package/components/Modal/Modal.cjs +348 -0
  130. package/components/Modal/Modal.cjs.map +1 -0
  131. package/components/Modal/Modal.d.ts +80 -0
  132. package/components/Modal/Modal.js +348 -0
  133. package/components/Modal/Modal.js.map +1 -0
  134. package/components/Modal/ModalBody.d.ts +11 -0
  135. package/components/Modal/ModalFooter.d.ts +27 -0
  136. package/components/Modal/ModalHeader.d.ts +11 -0
  137. package/components/Modal/index.d.ts +8 -0
  138. package/components/Modal.d.ts +6 -0
  139. package/components/RadioGroup/RadioGroup.cjs +204 -0
  140. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  141. package/components/RadioGroup/RadioGroup.d.ts +59 -0
  142. package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
  143. package/components/RadioGroup/RadioGroup.js +204 -0
  144. package/components/RadioGroup/RadioGroup.js.map +1 -0
  145. package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
  146. package/components/RadioGroup/index.d.ts +2 -0
  147. package/components/RadioGroup.d.ts +6 -0
  148. package/components/Select/Select.cjs +313 -0
  149. package/components/Select/Select.cjs.map +1 -0
  150. package/components/Select/Select.d.ts +95 -0
  151. package/components/Select/Select.helpers.d.ts +15 -0
  152. package/components/Select/Select.js +313 -0
  153. package/components/Select/Select.js.map +1 -0
  154. package/components/Select/Select.sx.d.ts +7 -0
  155. package/components/Select/_parts/SelectMenuItem.d.ts +20 -0
  156. package/components/Select/index.d.ts +2 -0
  157. package/components/Select.d.ts +6 -0
  158. package/{dist/components → components}/Stat/Stat.cjs +2 -2
  159. package/{dist/components → components}/Stat/Stat.cjs.map +1 -1
  160. package/{dist/components → components}/Stat/Stat.js +2 -2
  161. package/{dist/components → components}/Stat/Stat.js.map +1 -1
  162. package/components/Stat/index.d.ts +2 -0
  163. package/components/Stat.d.ts +6 -0
  164. package/components/StatusMessage/StatusMessage.cjs +90 -0
  165. package/components/StatusMessage/StatusMessage.cjs.map +1 -0
  166. package/components/StatusMessage/StatusMessage.d.ts +28 -0
  167. package/components/StatusMessage/StatusMessage.js +90 -0
  168. package/components/StatusMessage/StatusMessage.js.map +1 -0
  169. package/components/StatusMessage/index.d.ts +2 -0
  170. package/components/StatusMessage.d.ts +6 -0
  171. package/components/Stepper/Stepper.cjs +302 -0
  172. package/components/Stepper/Stepper.cjs.map +1 -0
  173. package/components/Stepper/Stepper.d.ts +17 -0
  174. package/components/Stepper/Stepper.js +302 -0
  175. package/components/Stepper/Stepper.js.map +1 -0
  176. package/components/Stepper/StepperContext.d.ts +73 -0
  177. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  178. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  179. package/components/Stepper/index.d.ts +6 -0
  180. package/components/Stepper.d.ts +6 -0
  181. package/components/Switch/Switch.cjs +184 -0
  182. package/components/Switch/Switch.cjs.map +1 -0
  183. package/components/Switch/Switch.d.ts +48 -0
  184. package/components/Switch/Switch.definitions.d.ts +7 -0
  185. package/components/Switch/Switch.js +184 -0
  186. package/components/Switch/Switch.js.map +1 -0
  187. package/components/Switch/Switch.sx.d.ts +22 -0
  188. package/components/Switch/Switch.types.d.ts +1 -0
  189. package/components/Switch/index.d.ts +2 -0
  190. package/components/Switch.d.ts +6 -0
  191. package/components/Tabs/Tabs.cjs +112 -0
  192. package/components/Tabs/Tabs.cjs.map +1 -0
  193. package/components/Tabs/Tabs.d.ts +24 -0
  194. package/components/Tabs/Tabs.js +112 -0
  195. package/components/Tabs/Tabs.js.map +1 -0
  196. package/components/Tabs/index.d.ts +4 -0
  197. package/components/Tabs.d.ts +6 -0
  198. package/{dist/components → components}/Timeline/Timeline.cjs +3 -2
  199. package/components/Timeline/Timeline.cjs.map +1 -0
  200. package/components/Timeline/Timeline.d.ts +9 -0
  201. package/{dist/components → components}/Timeline/Timeline.js +3 -2
  202. package/components/Timeline/Timeline.js.map +1 -0
  203. package/components/Timeline/index.d.ts +4 -0
  204. package/components/Timeline.d.ts +6 -0
  205. package/components/_shared/formField.sx.d.ts +33 -0
  206. package/components/_shared/mergeSx.d.ts +7 -0
  207. package/components/_shared/resolvePreset.d.ts +18 -0
  208. package/formField.sx-8_QRnKxv.js +68 -0
  209. package/formField.sx-8_QRnKxv.js.map +1 -0
  210. package/formField.sx-BAX7KwMR.cjs +67 -0
  211. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  212. package/index.cjs +145 -0
  213. package/index.cjs.map +1 -0
  214. package/index.d.ts +4 -0
  215. package/index.js +49 -0
  216. package/index.js.map +1 -0
  217. package/mergeSx-BXoNZjB_.js +10 -0
  218. package/mergeSx-BXoNZjB_.js.map +1 -0
  219. package/mergeSx-Dbccoo_H.cjs +9 -0
  220. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  221. package/mui.d.ts +7 -0
  222. package/package.json +164 -43
  223. package/resolvePreset-B-IB0ehH.js +15 -0
  224. package/resolvePreset-B-IB0ehH.js.map +1 -0
  225. package/resolvePreset-CT3kU-K2.cjs +14 -0
  226. package/resolvePreset-CT3kU-K2.cjs.map +1 -0
  227. package/theme/componentStyles.d.ts +32 -0
  228. package/theme/tokens.d.ts +28 -0
  229. package/tokens-BRrcP_p_.js +21 -0
  230. package/tokens-BRrcP_p_.js.map +1 -0
  231. package/tokens-jaWWNk39.cjs +20 -0
  232. package/tokens-jaWWNk39.cjs.map +1 -0
  233. package/utils/index.d.ts +2 -0
  234. package/utils/scrollToTop.d.ts +28 -0
  235. package/.dockerignore +0 -8
  236. package/.github/workflows/publish.yml +0 -107
  237. package/.prettierrc +0 -3
  238. package/.storybook/main.ts +0 -19
  239. package/.storybook/preview.ts +0 -14
  240. package/.storybook/vitest.setup.ts +0 -9
  241. package/Dockerfile +0 -37
  242. package/build.js +0 -102
  243. package/chromatic.config.json +0 -5
  244. package/cleanDirectories.js +0 -40
  245. package/dist/Button-C17mExpd.cjs.map +0 -1
  246. package/dist/Button-UkkP-bNw.js.map +0 -1
  247. package/dist/DatePicker-BSNboVhN.js +0 -201
  248. package/dist/DatePicker-BSNboVhN.js.map +0 -1
  249. package/dist/DatePicker-BoqxWAhj.cjs +0 -200
  250. package/dist/DatePicker-BoqxWAhj.cjs.map +0 -1
  251. package/dist/Input-DFHs7cJ_.js +0 -171
  252. package/dist/Input-DFHs7cJ_.js.map +0 -1
  253. package/dist/Input-c8MwNNPg.cjs +0 -170
  254. package/dist/Input-c8MwNNPg.cjs.map +0 -1
  255. package/dist/Select-BO2N56sm.cjs +0 -411
  256. package/dist/Select-BO2N56sm.cjs.map +0 -1
  257. package/dist/Select-BcLkyHSE.js +0 -412
  258. package/dist/Select-BcLkyHSE.js.map +0 -1
  259. package/dist/components/Autocomplete/Autocomplete.cjs +0 -109
  260. package/dist/components/Autocomplete/Autocomplete.cjs.map +0 -1
  261. package/dist/components/Autocomplete/Autocomplete.d.ts +0 -28
  262. package/dist/components/Autocomplete/Autocomplete.definitions.d.ts +0 -9
  263. package/dist/components/Autocomplete/Autocomplete.js +0 -109
  264. package/dist/components/Autocomplete/Autocomplete.js.map +0 -1
  265. package/dist/components/Autocomplete/index.d.ts +0 -1
  266. package/dist/components/Autocomplete.d.ts +0 -2
  267. package/dist/components/Avatar/Avatar.cjs +0 -126
  268. package/dist/components/Avatar/Avatar.cjs.map +0 -1
  269. package/dist/components/Avatar/Avatar.d.ts +0 -19
  270. package/dist/components/Avatar/Avatar.js +0 -126
  271. package/dist/components/Avatar/Avatar.js.map +0 -1
  272. package/dist/components/Avatar/index.d.ts +0 -1
  273. package/dist/components/Card/Card.cjs +0 -28
  274. package/dist/components/Card/Card.cjs.map +0 -1
  275. package/dist/components/Card/Card.d.ts +0 -13
  276. package/dist/components/Card/Card.js +0 -28
  277. package/dist/components/Card/Card.js.map +0 -1
  278. package/dist/components/Card/index.d.ts +0 -1
  279. package/dist/components/Card.d.ts +0 -2
  280. package/dist/components/Chip/Chip.cjs.map +0 -1
  281. package/dist/components/Chip/Chip.js.map +0 -1
  282. package/dist/components/Chip/index.d.ts +0 -1
  283. package/dist/components/Chip.d.ts +0 -2
  284. package/dist/components/DatePicker/DatePicker.cjs +0 -5
  285. package/dist/components/DatePicker/DatePicker.cjs.map +0 -1
  286. package/dist/components/DatePicker/DatePicker.d.ts +0 -18
  287. package/dist/components/DatePicker/DatePicker.js +0 -5
  288. package/dist/components/DatePicker/DatePicker.js.map +0 -1
  289. package/dist/components/DatePicker/index.d.ts +0 -1
  290. package/dist/components/DatePicker.d.ts +0 -2
  291. package/dist/components/DateTimePicker/DateTimePicker.cjs +0 -208
  292. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
  293. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -28
  294. package/dist/components/DateTimePicker/DateTimePicker.js +0 -208
  295. package/dist/components/DateTimePicker/DateTimePicker.js.map +0 -1
  296. package/dist/components/DateTimePicker/index.d.ts +0 -1
  297. package/dist/components/DateTimePicker.d.ts +0 -2
  298. package/dist/components/Gallery/Gallery.cjs.map +0 -1
  299. package/dist/components/Gallery/Gallery.d.ts +0 -12
  300. package/dist/components/Gallery/Gallery.js.map +0 -1
  301. package/dist/components/Gallery/GalleryLightbox.d.ts +0 -20
  302. package/dist/components/Gallery/GalleryThumbnails.d.ts +0 -17
  303. package/dist/components/Gallery/index.d.ts +0 -1
  304. package/dist/components/Gallery.d.ts +0 -2
  305. package/dist/components/Icon/Icon.cjs.map +0 -1
  306. package/dist/components/Icon/Icon.d.ts +0 -21
  307. package/dist/components/Icon/Icon.js.map +0 -1
  308. package/dist/components/Icon/index.d.ts +0 -1
  309. package/dist/components/Icon.d.ts +0 -2
  310. package/dist/components/Input/Input.cjs +0 -5
  311. package/dist/components/Input/Input.cjs.map +0 -1
  312. package/dist/components/Input/Input.d.ts +0 -32
  313. package/dist/components/Input/Input.js +0 -5
  314. package/dist/components/Input/Input.js.map +0 -1
  315. package/dist/components/Input/index.d.ts +0 -1
  316. package/dist/components/Input.d.ts +0 -2
  317. package/dist/components/InputGroup/InputGroup.cjs +0 -126
  318. package/dist/components/InputGroup/InputGroup.cjs.map +0 -1
  319. package/dist/components/InputGroup/InputGroup.d.ts +0 -6
  320. package/dist/components/InputGroup/InputGroup.js +0 -126
  321. package/dist/components/InputGroup/InputGroup.js.map +0 -1
  322. package/dist/components/InputGroup/index.d.ts +0 -1
  323. package/dist/components/InputGroup.d.ts +0 -2
  324. package/dist/components/Modal/Modal.cjs +0 -209
  325. package/dist/components/Modal/Modal.cjs.map +0 -1
  326. package/dist/components/Modal/Modal.d.ts +0 -29
  327. package/dist/components/Modal/Modal.js +0 -209
  328. package/dist/components/Modal/Modal.js.map +0 -1
  329. package/dist/components/Modal/ModalBody.d.ts +0 -6
  330. package/dist/components/Modal/ModalFooter.d.ts +0 -19
  331. package/dist/components/Modal/ModalHeader.d.ts +0 -6
  332. package/dist/components/Modal/index.d.ts +0 -1
  333. package/dist/components/Modal.d.ts +0 -2
  334. package/dist/components/Select/Select.cjs +0 -6
  335. package/dist/components/Select/Select.cjs.map +0 -1
  336. package/dist/components/Select/Select.d.ts +0 -60
  337. package/dist/components/Select/Select.definitions.d.ts +0 -14
  338. package/dist/components/Select/Select.js +0 -6
  339. package/dist/components/Select/Select.js.map +0 -1
  340. package/dist/components/Select/index.d.ts +0 -1
  341. package/dist/components/Select.d.ts +0 -2
  342. package/dist/components/Stat/index.d.ts +0 -1
  343. package/dist/components/Stat.d.ts +0 -2
  344. package/dist/components/StatusMessage/StatusMessage.cjs +0 -79
  345. package/dist/components/StatusMessage/StatusMessage.cjs.map +0 -1
  346. package/dist/components/StatusMessage/StatusMessage.d.ts +0 -44
  347. package/dist/components/StatusMessage/StatusMessage.js +0 -79
  348. package/dist/components/StatusMessage/StatusMessage.js.map +0 -1
  349. package/dist/components/StatusMessage/index.d.ts +0 -1
  350. package/dist/components/StatusMessage.d.ts +0 -2
  351. package/dist/components/Stepper/Stepper.cjs +0 -46
  352. package/dist/components/Stepper/Stepper.cjs.map +0 -1
  353. package/dist/components/Stepper/Stepper.d.ts +0 -11
  354. package/dist/components/Stepper/Stepper.js +0 -46
  355. package/dist/components/Stepper/Stepper.js.map +0 -1
  356. package/dist/components/Stepper/index.d.ts +0 -2
  357. package/dist/components/Stepper.d.ts +0 -2
  358. package/dist/components/Tabs/Tabs.cjs +0 -96
  359. package/dist/components/Tabs/Tabs.cjs.map +0 -1
  360. package/dist/components/Tabs/Tabs.d.ts +0 -19
  361. package/dist/components/Tabs/Tabs.js +0 -96
  362. package/dist/components/Tabs/Tabs.js.map +0 -1
  363. package/dist/components/Tabs/index.d.ts +0 -2
  364. package/dist/components/Tabs.d.ts +0 -2
  365. package/dist/components/Timeline/Timeline.cjs.map +0 -1
  366. package/dist/components/Timeline/Timeline.d.ts +0 -13
  367. package/dist/components/Timeline/Timeline.js.map +0 -1
  368. package/dist/components/Timeline/index.d.ts +0 -2
  369. package/dist/components/Timeline.d.ts +0 -2
  370. package/dist/index.cjs +0 -2
  371. package/dist/index.cjs.map +0 -1
  372. package/dist/index.d.ts +0 -0
  373. package/dist/index.js +0 -2
  374. package/dist/index.js.map +0 -1
  375. package/dist/styles.css +0 -112
  376. package/rollup.config.cjs +0 -87
  377. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -254
  378. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -387
  379. package/src/components/Autocomplete/Autocomplete.tsx +0 -139
  380. package/src/components/Autocomplete/index.ts +0 -1
  381. package/src/components/Avatar/Avatar.stories.tsx +0 -54
  382. package/src/components/Avatar/Avatar.tsx +0 -143
  383. package/src/components/Avatar/index.ts +0 -1
  384. package/src/components/Button/Button.definition.ts +0 -97
  385. package/src/components/Button/Button.stories.tsx +0 -285
  386. package/src/components/Button/Button.tsx +0 -67
  387. package/src/components/Button/index.ts +0 -1
  388. package/src/components/Card/Card.definition.ts +0 -5
  389. package/src/components/Card/Card.stories.tsx +0 -32
  390. package/src/components/Card/Card.tsx +0 -44
  391. package/src/components/Card/index.ts +0 -1
  392. package/src/components/Chip/Chip.definitions.ts +0 -167
  393. package/src/components/Chip/Chip.stories.tsx +0 -265
  394. package/src/components/Chip/Chip.tsx +0 -61
  395. package/src/components/Chip/index.ts +0 -1
  396. package/src/components/Column/Column.tsx +0 -29
  397. package/src/components/Column/index.ts +0 -1
  398. package/src/components/DatePicker/DatePicker.definitions.ts +0 -205
  399. package/src/components/DatePicker/DatePicker.stories.tsx +0 -282
  400. package/src/components/DatePicker/DatePicker.tsx +0 -165
  401. package/src/components/DatePicker/index.ts +0 -1
  402. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  403. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  404. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  405. package/src/components/DateRangePicker/index.ts +0 -1
  406. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -232
  407. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -390
  408. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -191
  409. package/src/components/DateTimePicker/index.ts +0 -1
  410. package/src/components/Flyout/Flyout.stories.tsx +0 -274
  411. package/src/components/Flyout/Flyout.tsx +0 -122
  412. package/src/components/Flyout/index.ts +0 -1
  413. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  414. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  415. package/src/components/Gallery/Gallery.tsx +0 -118
  416. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  417. package/src/components/Gallery/GalleryMain.tsx +0 -84
  418. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  419. package/src/components/Gallery/index.ts +0 -1
  420. package/src/components/Icon/Icon.stories.tsx +0 -54
  421. package/src/components/Icon/Icon.tsx +0 -94
  422. package/src/components/Icon/index.ts +0 -2
  423. package/src/components/Input/Input.definitions.ts +0 -252
  424. package/src/components/Input/Input.stories.tsx +0 -387
  425. package/src/components/Input/Input.tsx +0 -186
  426. package/src/components/Input/index.ts +0 -1
  427. package/src/components/InputGroup/InputGroup.stories.tsx +0 -136
  428. package/src/components/InputGroup/InputGroup.tsx +0 -136
  429. package/src/components/InputGroup/index.ts +0 -1
  430. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  431. package/src/components/MenuButton/MenuButton.tsx +0 -100
  432. package/src/components/MenuButton/index.ts +0 -1
  433. package/src/components/Modal/Modal.stories.tsx +0 -293
  434. package/src/components/Modal/Modal.tsx +0 -173
  435. package/src/components/Modal/ModalBody.tsx +0 -16
  436. package/src/components/Modal/ModalFooter.tsx +0 -61
  437. package/src/components/Modal/ModalHeader.tsx +0 -18
  438. package/src/components/Modal/index.ts +0 -1
  439. package/src/components/Select/Select.definitions.ts +0 -488
  440. package/src/components/Select/Select.stories.tsx +0 -569
  441. package/src/components/Select/Select.tsx +0 -468
  442. package/src/components/Select/index.ts +0 -1
  443. package/src/components/Stat/Stat.stories.tsx +0 -85
  444. package/src/components/Stat/Stat.tsx +0 -117
  445. package/src/components/Stat/index.ts +0 -2
  446. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  447. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  448. package/src/components/StatusMessage/index.ts +0 -2
  449. package/src/components/Stepper/Step.tsx +0 -21
  450. package/src/components/Stepper/Stepper.definition.ts +0 -75
  451. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  452. package/src/components/Stepper/Stepper.tsx +0 -59
  453. package/src/components/Stepper/index.ts +0 -2
  454. package/src/components/Table/EmptyTable.png +0 -0
  455. package/src/components/Table/Table.definition.ts +0 -580
  456. package/src/components/Table/Table.stories.tsx +0 -853
  457. package/src/components/Table/Table.tsx +0 -495
  458. package/src/components/Table/data.ts +0 -134
  459. package/src/components/Table/exportsUtils.ts +0 -195
  460. package/src/components/Table/index.ts +0 -3
  461. package/src/components/Table/types.ts +0 -34
  462. package/src/components/Tabs/Tab.definition.ts +0 -53
  463. package/src/components/Tabs/Tab.tsx +0 -19
  464. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  465. package/src/components/Tabs/Tabs.tsx +0 -99
  466. package/src/components/Tabs/_tabUtils.tsx +0 -4
  467. package/src/components/Tabs/index.ts +0 -2
  468. package/src/components/Timeline/Timeline.definition.ts +0 -43
  469. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  470. package/src/components/Timeline/Timeline.tsx +0 -49
  471. package/src/components/Timeline/TimelineItem.tsx +0 -31
  472. package/src/components/Timeline/index.ts +0 -2
  473. package/src/components/Tooltip/Tooltip.stories.tsx +0 -117
  474. package/src/components/Tooltip/Tooltip.tsx +0 -58
  475. package/src/components/Tooltip/index.ts +0 -1
  476. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  477. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  478. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  479. package/src/hooks/ClipBoard/index.ts +0 -1
  480. package/src/index.ts +0 -1
  481. package/src/styles.css +0 -3
  482. package/tailwind.config.js +0 -10
  483. package/tsconfig.json +0 -48
  484. package/tsup.config.js +0 -41
  485. package/vite.config.js +0 -132
  486. package/vitest.config.ts +0 -35
  487. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  488. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  489. /package/{Readme.md → README.md} +0 -0
  490. /package/{dist/components → components}/Avatar.d.ts +0 -0
  491. /package/{dist/components → components}/Button/Button.cjs +0 -0
  492. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  493. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  494. /package/{dist/components → components}/Button/Button.js +0 -0
  495. /package/{dist/components → components}/Button/Button.js.map +0 -0
  496. /package/{dist/components → components}/Button.d.ts +0 -0
  497. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  498. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  499. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  500. /package/{dist/components → components}/Column/Column.cjs +0 -0
  501. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  502. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  503. /package/{dist/components → components}/Column/Column.js +0 -0
  504. /package/{dist/components → components}/Column/Column.js.map +0 -0
  505. /package/{dist/components → components}/Column/index.d.ts +0 -0
  506. /package/{dist/components → components}/Column.d.ts +0 -0
  507. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  508. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  509. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  510. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  511. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  512. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  513. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  514. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  515. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  516. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  517. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  518. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  519. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  520. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  521. /package/{dist/components → components}/Flyout.d.ts +0 -0
  522. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  523. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  524. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  525. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  526. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  527. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  528. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  529. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  530. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  531. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  532. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  533. /package/{dist/components → components}/Table/Table.cjs +0 -0
  534. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  535. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  536. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  537. /package/{dist/components → components}/Table/Table.js +0 -0
  538. /package/{dist/components → components}/Table/Table.js.map +0 -0
  539. /package/{dist/components → components}/Table/data.d.ts +0 -0
  540. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  541. /package/{dist/components → components}/Table/index.d.ts +0 -0
  542. /package/{dist/components → components}/Table/types.d.ts +0 -0
  543. /package/{dist/components → components}/Table.d.ts +0 -0
  544. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  545. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  546. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  547. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  548. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  549. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  550. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  551. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  552. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  553. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  554. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  555. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  556. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  557. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  558. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  559. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  560. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  561. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  562. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  563. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  564. /package/{dist/index.css → index.css} +0 -0
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const material = require("@mui/material");
6
+ const styles = require("@mui/material/styles");
7
+ const ChevronLeftIcon = require("@mui/icons-material/ChevronLeft");
8
+ const ChevronRightIcon = require("@mui/icons-material/ChevronRight");
9
+ const resolvePreset = require("../../resolvePreset-CT3kU-K2.cjs");
10
+ const DrawerContext = React.createContext(null);
11
+ function useDrawerContext() {
12
+ const ctx = React.useContext(DrawerContext);
13
+ if (ctx) return ctx;
14
+ return { collapsed: false, width: 260 };
15
+ }
16
+ function buildDrawerSx({
17
+ width,
18
+ transitionDuration = 200
19
+ }) {
20
+ return {
21
+ width,
22
+ flexShrink: 0,
23
+ whiteSpace: "nowrap",
24
+ boxSizing: "border-box",
25
+ transition: (theme) => 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) => theme.transitions.create("width", {
34
+ easing: theme.transitions.easing.sharp,
35
+ duration: transitionDuration
36
+ })
37
+ }
38
+ };
39
+ }
40
+ function buildDrawerItemSx({
41
+ collapsed,
42
+ active,
43
+ danger
44
+ }) {
45
+ return (theme) => ({
46
+ minHeight: 44,
47
+ px: collapsed ? 1 : 2,
48
+ py: 1,
49
+ mx: 1,
50
+ my: 0.25,
51
+ borderRadius: 1,
52
+ display: "flex",
53
+ alignItems: "center",
54
+ justifyContent: collapsed ? "center" : "flex-start",
55
+ gap: collapsed ? 0 : 1.5,
56
+ cursor: "pointer",
57
+ color: danger ? theme.palette.error.main : active ? theme.palette.primary.main : theme.palette.text.primary,
58
+ backgroundColor: active ? theme.palette.action.selected : "transparent",
59
+ transition: theme.transitions.create(
60
+ ["background-color", "color", "padding"],
61
+ { duration: 150 }
62
+ ),
63
+ "&:hover": {
64
+ backgroundColor: danger ? styles.alpha(theme.palette.error.main, 0.08) : theme.palette.action.hover
65
+ },
66
+ "& .drawer-item__icon": {
67
+ display: "flex",
68
+ alignItems: "center",
69
+ justifyContent: "center",
70
+ flexShrink: 0,
71
+ minWidth: 24
72
+ },
73
+ "& .drawer-item__label": {
74
+ flex: 1,
75
+ minWidth: 0,
76
+ overflow: "hidden",
77
+ textOverflow: "ellipsis",
78
+ whiteSpace: "nowrap",
79
+ opacity: collapsed ? 0 : 1,
80
+ width: collapsed ? 0 : "auto",
81
+ transition: theme.transitions.create(["opacity", "width"], {
82
+ duration: collapsed ? 100 : 200
83
+ })
84
+ }
85
+ });
86
+ }
87
+ function Drawer({
88
+ children,
89
+ variant = "permanent",
90
+ anchor = "left",
91
+ collapsed = false,
92
+ onToggleCollapse,
93
+ open,
94
+ onClose,
95
+ expandedWidth = 260,
96
+ collapsedWidth = 72,
97
+ showCollapseButton,
98
+ header,
99
+ logo,
100
+ footer,
101
+ preset,
102
+ sx,
103
+ paperSx,
104
+ className
105
+ }) {
106
+ const theme = styles.useTheme();
107
+ const presetSx = resolvePreset.resolvePreset("Drawer", preset, theme);
108
+ const supportsCollapsed = variant !== "temporary";
109
+ const effectiveWidth = supportsCollapsed && collapsed ? collapsedWidth : expandedWidth;
110
+ const contextValue = React.useMemo(
111
+ () => ({
112
+ collapsed: supportsCollapsed && collapsed,
113
+ width: effectiveWidth
114
+ }),
115
+ [supportsCollapsed, collapsed, effectiveWidth]
116
+ );
117
+ const rootSx = [
118
+ buildDrawerSx({ width: effectiveWidth }),
119
+ ...presetSx ? [presetSx] : [],
120
+ ...Array.isArray(sx) ? sx : sx ? [sx] : []
121
+ ];
122
+ const shouldShowToggle = showCollapseButton != null ? showCollapseButton : supportsCollapsed && !!onToggleCollapse;
123
+ const openProp = variant === "permanent" ? true : open !== void 0 ? open : false;
124
+ return /* @__PURE__ */ jsxRuntime.jsx(DrawerContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsxs(
125
+ material.Drawer,
126
+ {
127
+ variant,
128
+ anchor,
129
+ open: openProp,
130
+ onClose,
131
+ className,
132
+ sx: rootSx,
133
+ slotProps: {
134
+ paper: {
135
+ sx: paperSx
136
+ }
137
+ },
138
+ children: [
139
+ (logo || shouldShowToggle) && /* @__PURE__ */ jsxRuntime.jsxs(
140
+ material.Box,
141
+ {
142
+ sx: {
143
+ display: "flex",
144
+ flexDirection: contextValue.collapsed ? "column" : "row",
145
+ alignItems: "center",
146
+ justifyContent: contextValue.collapsed ? "center" : logo ? "space-between" : "flex-end",
147
+ gap: contextValue.collapsed ? 0.5 : 0,
148
+ px: contextValue.collapsed ? 1 : 2,
149
+ py: 1,
150
+ minHeight: 64,
151
+ flexShrink: 0
152
+ },
153
+ children: [
154
+ logo && /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { display: "flex", alignItems: "center", minWidth: 0 }, children: logo }),
155
+ shouldShowToggle && /* @__PURE__ */ jsxRuntime.jsx(
156
+ material.IconButton,
157
+ {
158
+ size: "small",
159
+ onClick: onToggleCollapse,
160
+ "aria-label": collapsed ? "Expandir menú" : "Colapsar menú",
161
+ children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, {}) : /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, {})
162
+ }
163
+ )
164
+ ]
165
+ }
166
+ ),
167
+ header && !contextValue.collapsed && /* @__PURE__ */ jsxRuntime.jsx(
168
+ material.Box,
169
+ {
170
+ sx: {
171
+ display: "flex",
172
+ alignItems: "center",
173
+ px: 2,
174
+ py: 1.5,
175
+ minHeight: 56,
176
+ flexShrink: 0
177
+ },
178
+ children: /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { flex: 1, minWidth: 0 }, children: header })
179
+ }
180
+ ),
181
+ /* @__PURE__ */ jsxRuntime.jsx(
182
+ material.Box,
183
+ {
184
+ component: "nav",
185
+ sx: {
186
+ flex: 1,
187
+ overflowY: "auto",
188
+ overflowX: "hidden",
189
+ py: 1
190
+ },
191
+ children
192
+ }
193
+ ),
194
+ footer && /* @__PURE__ */ jsxRuntime.jsx(
195
+ material.Box,
196
+ {
197
+ sx: {
198
+ flexShrink: 0,
199
+ borderTop: (t) => `1px solid ${t.palette.divider}`,
200
+ p: contextValue.collapsed ? 1 : 1.5,
201
+ display: "flex",
202
+ justifyContent: contextValue.collapsed ? "center" : "flex-start"
203
+ },
204
+ children: footer
205
+ }
206
+ )
207
+ ]
208
+ }
209
+ ) });
210
+ }
211
+ function DrawerItem({
212
+ icon,
213
+ label,
214
+ tooltipText,
215
+ onClick,
216
+ active = false,
217
+ danger = false,
218
+ disabled = false,
219
+ endAdornment,
220
+ sx,
221
+ className
222
+ }) {
223
+ const { collapsed } = useDrawerContext();
224
+ const baseSx = buildDrawerItemSx({ collapsed, active, danger });
225
+ const mergedSx = [
226
+ baseSx,
227
+ disabled && { pointerEvents: "none", opacity: 0.5 },
228
+ ...Array.isArray(sx) ? sx : sx ? [sx] : []
229
+ ].filter(Boolean);
230
+ const content = /* @__PURE__ */ jsxRuntime.jsxs(
231
+ material.Box,
232
+ {
233
+ role: "button",
234
+ tabIndex: disabled ? -1 : 0,
235
+ "aria-disabled": disabled,
236
+ onClick: disabled ? void 0 : onClick,
237
+ onKeyDown: (event) => {
238
+ if (disabled) return;
239
+ if (event.key === "Enter" || event.key === " ") {
240
+ event.preventDefault();
241
+ onClick == null ? void 0 : onClick(event);
242
+ }
243
+ },
244
+ className,
245
+ sx: mergedSx,
246
+ children: [
247
+ icon && /* @__PURE__ */ jsxRuntime.jsx(material.Box, { className: "drawer-item__icon", component: "span", children: icon }),
248
+ /* @__PURE__ */ jsxRuntime.jsx(
249
+ material.Typography,
250
+ {
251
+ component: "span",
252
+ variant: "body2",
253
+ className: "drawer-item__label",
254
+ sx: { fontWeight: active ? 600 : 400 },
255
+ children: label
256
+ }
257
+ ),
258
+ !collapsed && endAdornment && /* @__PURE__ */ jsxRuntime.jsx(material.Box, { component: "span", sx: { flexShrink: 0, ml: "auto" }, children: endAdornment })
259
+ ]
260
+ }
261
+ );
262
+ const resolvedTooltip = tooltipText != null ? tooltipText : typeof label === "string" ? label : void 0;
263
+ if (collapsed && resolvedTooltip) {
264
+ return /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: resolvedTooltip, placement: "right", arrow: true, children: content });
265
+ }
266
+ return content;
267
+ }
268
+ exports.Drawer = Drawer;
269
+ exports.DrawerItem = DrawerItem;
270
+ exports.default = Drawer;
271
+ exports.useDrawerContext = useDrawerContext;
272
+ //# sourceMappingURL=Drawer.cjs.map
@@ -0,0 +1 @@
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 { alpha, type SxProps, type 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 ? alpha(theme.palette.error.main, 0.08)\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 { 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 /**\n * Logo/brand que se muestra junto al botón de toggle.\n * - Expandido: logo a la izquierda, toggle a la derecha en la misma fila.\n * - Colapsado: logo arriba centrado, toggle debajo centrado (stack vertical).\n * Siempre visible (a diferencia de `header`, que se oculta al colapsar).\n */\n logo?: 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 logo,\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 slotProps={{\n paper: {\n sx: paperSx,\n },\n }}\n >\n {(logo || shouldShowToggle) && (\n <Box\n sx={{\n display: 'flex',\n flexDirection: contextValue.collapsed ? 'column' : 'row',\n alignItems: 'center',\n justifyContent: contextValue.collapsed\n ? 'center'\n : logo\n ? 'space-between'\n : 'flex-end',\n gap: contextValue.collapsed ? 0.5 : 0,\n px: contextValue.collapsed ? 1 : 2,\n py: 1,\n minHeight: 64,\n flexShrink: 0,\n }}\n >\n {logo && (\n <Box sx={{ display: 'flex', alignItems: 'center', minWidth: 0 }}>\n {logo}\n </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 && !contextValue.collapsed && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n px: 2,\n py: 1.5,\n minHeight: 56,\n flexShrink: 0,\n }}\n >\n <Box sx={{ flex: 1, minWidth: 0 }}>{header}</Box>\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 /**\n * Texto del tooltip en modo collapsed. Si no se provee y `label` es string,\n * se usa `label`. Necesario cuando `label` es un ReactNode complejo.\n */\n tooltipText?: string;\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 tooltipText,\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 && (\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 // Prioriza `tooltipText` explícito; si no, cae al `label` si es string.\n const resolvedTooltip =\n tooltipText ?? (typeof label === 'string' ? label : undefined);\n\n if (collapsed && resolvedTooltip) {\n return (\n <Tooltip title={resolvedTooltip} placement=\"right\" arrow>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n}\n\nexport default DrawerItem;\n"],"names":["createContext","useContext","alpha","useTheme","resolvePreset","useMemo","jsx","jsxs","MuiDrawer","Box","IconButton","Typography","Tooltip"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { ReactNode } from 'react';
2
+ import { DrawerProps as MuiDrawerProps } from '@mui/material';
3
+ import { SxProps, Theme } from '@mui/material/styles';
4
+ export type DrawerVariant = 'permanent' | 'persistent' | 'temporary';
5
+ export type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';
6
+ export interface DrawerProps {
7
+ /** Contenido del drawer (típicamente `<DrawerItem>`s). */
8
+ children?: ReactNode;
9
+ /**
10
+ * Variante del drawer:
11
+ * - `permanent` (default): siempre visible en desktop, soporta collapsed (mini).
12
+ * - `persistent`: se oculta/muestra, empuja el contenido principal.
13
+ * - `temporary`: flotante con backdrop (típico móvil).
14
+ */
15
+ variant?: DrawerVariant;
16
+ /** Lado del viewport. Default: `'left'`. */
17
+ anchor?: DrawerAnchor;
18
+ /**
19
+ * Estado mini (solo iconos). Solo se aplica con `variant="permanent"` o
20
+ * `"persistent"`. Si no se provee, el drawer está siempre expandido.
21
+ */
22
+ collapsed?: boolean;
23
+ /** Callback del botón de toggle (chevron). */
24
+ onToggleCollapse?: () => void;
25
+ /** Estado abierto/cerrado (aplica a `temporary` y `persistent`). */
26
+ open?: boolean;
27
+ /** Callback de cierre (backdrop o ESC en temporary). */
28
+ onClose?: MuiDrawerProps['onClose'];
29
+ /** Ancho en estado expandido. Default: 260. */
30
+ expandedWidth?: number;
31
+ /** Ancho en estado colapsado (solo iconos). Default: 72. */
32
+ collapsedWidth?: number;
33
+ /** Muestra el botón chevron para toggle collapsed. Default: true si `onToggleCollapse` está definido. */
34
+ showCollapseButton?: boolean;
35
+ /** Contenido del header (por encima de los items). Típicamente logo/brand. */
36
+ header?: ReactNode;
37
+ /**
38
+ * Logo/brand que se muestra junto al botón de toggle.
39
+ * - Expandido: logo a la izquierda, toggle a la derecha en la misma fila.
40
+ * - Colapsado: logo arriba centrado, toggle debajo centrado (stack vertical).
41
+ * Siempre visible (a diferencia de `header`, que se oculta al colapsar).
42
+ */
43
+ logo?: ReactNode;
44
+ /** Contenido del footer (por debajo de los items). Típicamente user profile. */
45
+ footer?: ReactNode;
46
+ /**
47
+ * Nombre del preset de estilo registrado en `theme.styles.Drawer`.
48
+ * - `"default"` (o ausente) = estilo built-in del paquete.
49
+ */
50
+ preset?: string;
51
+ /** sx aplicado al Drawer (root). Se mergea después del preset. */
52
+ sx?: SxProps<Theme>;
53
+ /** sx aplicado al Paper interno. */
54
+ paperSx?: SxProps<Theme>;
55
+ className?: string;
56
+ }
57
+ export declare function Drawer({ children, variant, anchor, collapsed, onToggleCollapse, open, onClose, expandedWidth, collapsedWidth, showCollapseButton, header, logo, footer, preset, sx, paperSx, className, }: DrawerProps): import("react/jsx-runtime").JSX.Element;
58
+ export default Drawer;
@@ -0,0 +1,272 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { createContext, useContext, useMemo } from "react";
3
+ import { Drawer as Drawer$1, Box, IconButton, Tooltip, Typography } from "@mui/material";
4
+ import { alpha, useTheme } from "@mui/material/styles";
5
+ import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
6
+ import ChevronRightIcon from "@mui/icons-material/ChevronRight";
7
+ import { r as resolvePreset } from "../../resolvePreset-B-IB0ehH.js";
8
+ const DrawerContext = createContext(null);
9
+ function useDrawerContext() {
10
+ const ctx = useContext(DrawerContext);
11
+ if (ctx) return ctx;
12
+ return { collapsed: false, width: 260 };
13
+ }
14
+ function buildDrawerSx({
15
+ width,
16
+ transitionDuration = 200
17
+ }) {
18
+ return {
19
+ width,
20
+ flexShrink: 0,
21
+ whiteSpace: "nowrap",
22
+ boxSizing: "border-box",
23
+ transition: (theme) => theme.transitions.create("width", {
24
+ easing: theme.transitions.easing.sharp,
25
+ duration: transitionDuration
26
+ }),
27
+ "& .MuiDrawer-paper": {
28
+ width,
29
+ boxSizing: "border-box",
30
+ overflowX: "hidden",
31
+ transition: (theme) => theme.transitions.create("width", {
32
+ easing: theme.transitions.easing.sharp,
33
+ duration: transitionDuration
34
+ })
35
+ }
36
+ };
37
+ }
38
+ function buildDrawerItemSx({
39
+ collapsed,
40
+ active,
41
+ danger
42
+ }) {
43
+ return (theme) => ({
44
+ minHeight: 44,
45
+ px: collapsed ? 1 : 2,
46
+ py: 1,
47
+ mx: 1,
48
+ my: 0.25,
49
+ borderRadius: 1,
50
+ display: "flex",
51
+ alignItems: "center",
52
+ justifyContent: collapsed ? "center" : "flex-start",
53
+ gap: collapsed ? 0 : 1.5,
54
+ cursor: "pointer",
55
+ color: danger ? theme.palette.error.main : active ? theme.palette.primary.main : theme.palette.text.primary,
56
+ backgroundColor: active ? theme.palette.action.selected : "transparent",
57
+ transition: theme.transitions.create(
58
+ ["background-color", "color", "padding"],
59
+ { duration: 150 }
60
+ ),
61
+ "&:hover": {
62
+ backgroundColor: danger ? alpha(theme.palette.error.main, 0.08) : theme.palette.action.hover
63
+ },
64
+ "& .drawer-item__icon": {
65
+ display: "flex",
66
+ alignItems: "center",
67
+ justifyContent: "center",
68
+ flexShrink: 0,
69
+ minWidth: 24
70
+ },
71
+ "& .drawer-item__label": {
72
+ flex: 1,
73
+ minWidth: 0,
74
+ overflow: "hidden",
75
+ textOverflow: "ellipsis",
76
+ whiteSpace: "nowrap",
77
+ opacity: collapsed ? 0 : 1,
78
+ width: collapsed ? 0 : "auto",
79
+ transition: theme.transitions.create(["opacity", "width"], {
80
+ duration: collapsed ? 100 : 200
81
+ })
82
+ }
83
+ });
84
+ }
85
+ function Drawer({
86
+ children,
87
+ variant = "permanent",
88
+ anchor = "left",
89
+ collapsed = false,
90
+ onToggleCollapse,
91
+ open,
92
+ onClose,
93
+ expandedWidth = 260,
94
+ collapsedWidth = 72,
95
+ showCollapseButton,
96
+ header,
97
+ logo,
98
+ footer,
99
+ preset,
100
+ sx,
101
+ paperSx,
102
+ className
103
+ }) {
104
+ const theme = useTheme();
105
+ const presetSx = resolvePreset("Drawer", preset, theme);
106
+ const supportsCollapsed = variant !== "temporary";
107
+ const effectiveWidth = supportsCollapsed && collapsed ? collapsedWidth : expandedWidth;
108
+ const contextValue = useMemo(
109
+ () => ({
110
+ collapsed: supportsCollapsed && collapsed,
111
+ width: effectiveWidth
112
+ }),
113
+ [supportsCollapsed, collapsed, effectiveWidth]
114
+ );
115
+ const rootSx = [
116
+ buildDrawerSx({ width: effectiveWidth }),
117
+ ...presetSx ? [presetSx] : [],
118
+ ...Array.isArray(sx) ? sx : sx ? [sx] : []
119
+ ];
120
+ const shouldShowToggle = showCollapseButton != null ? showCollapseButton : supportsCollapsed && !!onToggleCollapse;
121
+ const openProp = variant === "permanent" ? true : open !== void 0 ? open : false;
122
+ return /* @__PURE__ */ jsx(DrawerContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
123
+ Drawer$1,
124
+ {
125
+ variant,
126
+ anchor,
127
+ open: openProp,
128
+ onClose,
129
+ className,
130
+ sx: rootSx,
131
+ slotProps: {
132
+ paper: {
133
+ sx: paperSx
134
+ }
135
+ },
136
+ children: [
137
+ (logo || shouldShowToggle) && /* @__PURE__ */ jsxs(
138
+ Box,
139
+ {
140
+ sx: {
141
+ display: "flex",
142
+ flexDirection: contextValue.collapsed ? "column" : "row",
143
+ alignItems: "center",
144
+ justifyContent: contextValue.collapsed ? "center" : logo ? "space-between" : "flex-end",
145
+ gap: contextValue.collapsed ? 0.5 : 0,
146
+ px: contextValue.collapsed ? 1 : 2,
147
+ py: 1,
148
+ minHeight: 64,
149
+ flexShrink: 0
150
+ },
151
+ children: [
152
+ logo && /* @__PURE__ */ jsx(Box, { sx: { display: "flex", alignItems: "center", minWidth: 0 }, children: logo }),
153
+ shouldShowToggle && /* @__PURE__ */ jsx(
154
+ IconButton,
155
+ {
156
+ size: "small",
157
+ onClick: onToggleCollapse,
158
+ "aria-label": collapsed ? "Expandir menú" : "Colapsar menú",
159
+ children: collapsed ? /* @__PURE__ */ jsx(ChevronRightIcon, {}) : /* @__PURE__ */ jsx(ChevronLeftIcon, {})
160
+ }
161
+ )
162
+ ]
163
+ }
164
+ ),
165
+ header && !contextValue.collapsed && /* @__PURE__ */ jsx(
166
+ Box,
167
+ {
168
+ sx: {
169
+ display: "flex",
170
+ alignItems: "center",
171
+ px: 2,
172
+ py: 1.5,
173
+ minHeight: 56,
174
+ flexShrink: 0
175
+ },
176
+ children: /* @__PURE__ */ jsx(Box, { sx: { flex: 1, minWidth: 0 }, children: header })
177
+ }
178
+ ),
179
+ /* @__PURE__ */ jsx(
180
+ Box,
181
+ {
182
+ component: "nav",
183
+ sx: {
184
+ flex: 1,
185
+ overflowY: "auto",
186
+ overflowX: "hidden",
187
+ py: 1
188
+ },
189
+ children
190
+ }
191
+ ),
192
+ footer && /* @__PURE__ */ jsx(
193
+ Box,
194
+ {
195
+ sx: {
196
+ flexShrink: 0,
197
+ borderTop: (t) => `1px solid ${t.palette.divider}`,
198
+ p: contextValue.collapsed ? 1 : 1.5,
199
+ display: "flex",
200
+ justifyContent: contextValue.collapsed ? "center" : "flex-start"
201
+ },
202
+ children: footer
203
+ }
204
+ )
205
+ ]
206
+ }
207
+ ) });
208
+ }
209
+ function DrawerItem({
210
+ icon,
211
+ label,
212
+ tooltipText,
213
+ onClick,
214
+ active = false,
215
+ danger = false,
216
+ disabled = false,
217
+ endAdornment,
218
+ sx,
219
+ className
220
+ }) {
221
+ const { collapsed } = useDrawerContext();
222
+ const baseSx = buildDrawerItemSx({ collapsed, active, danger });
223
+ const mergedSx = [
224
+ baseSx,
225
+ disabled && { pointerEvents: "none", opacity: 0.5 },
226
+ ...Array.isArray(sx) ? sx : sx ? [sx] : []
227
+ ].filter(Boolean);
228
+ const content = /* @__PURE__ */ jsxs(
229
+ Box,
230
+ {
231
+ role: "button",
232
+ tabIndex: disabled ? -1 : 0,
233
+ "aria-disabled": disabled,
234
+ onClick: disabled ? void 0 : onClick,
235
+ onKeyDown: (event) => {
236
+ if (disabled) return;
237
+ if (event.key === "Enter" || event.key === " ") {
238
+ event.preventDefault();
239
+ onClick == null ? void 0 : onClick(event);
240
+ }
241
+ },
242
+ className,
243
+ sx: mergedSx,
244
+ children: [
245
+ icon && /* @__PURE__ */ jsx(Box, { className: "drawer-item__icon", component: "span", children: icon }),
246
+ /* @__PURE__ */ jsx(
247
+ Typography,
248
+ {
249
+ component: "span",
250
+ variant: "body2",
251
+ className: "drawer-item__label",
252
+ sx: { fontWeight: active ? 600 : 400 },
253
+ children: label
254
+ }
255
+ ),
256
+ !collapsed && endAdornment && /* @__PURE__ */ jsx(Box, { component: "span", sx: { flexShrink: 0, ml: "auto" }, children: endAdornment })
257
+ ]
258
+ }
259
+ );
260
+ const resolvedTooltip = tooltipText != null ? tooltipText : typeof label === "string" ? label : void 0;
261
+ if (collapsed && resolvedTooltip) {
262
+ return /* @__PURE__ */ jsx(Tooltip, { title: resolvedTooltip, placement: "right", arrow: true, children: content });
263
+ }
264
+ return content;
265
+ }
266
+ export {
267
+ Drawer,
268
+ DrawerItem,
269
+ Drawer as default,
270
+ useDrawerContext
271
+ };
272
+ //# sourceMappingURL=Drawer.js.map