@soyfri/shared-library 2.0.0-beta.9 → 3.0.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 (385) hide show
  1. package/Alert-B3SMPD1s.cjs +31 -0
  2. package/Alert-B3SMPD1s.cjs.map +1 -0
  3. package/Alert-YsPScpSE.js +32 -0
  4. package/Alert-YsPScpSE.js.map +1 -0
  5. package/Autocomplete-C_lW1VER.js +337 -0
  6. package/Autocomplete-C_lW1VER.js.map +1 -0
  7. package/Autocomplete-CejWztBY.cjs +336 -0
  8. package/Autocomplete-CejWztBY.cjs.map +1 -0
  9. package/Avatar-Dw5rzayR.cjs +166 -0
  10. package/Avatar-Dw5rzayR.cjs.map +1 -0
  11. package/Avatar-H8akSege.js +167 -0
  12. package/Avatar-H8akSege.js.map +1 -0
  13. package/Breadcrumbs-B9I3vxPb.cjs +25 -0
  14. package/Breadcrumbs-B9I3vxPb.cjs.map +1 -0
  15. package/Breadcrumbs-C41SPbtX.js +26 -0
  16. package/Breadcrumbs-C41SPbtX.js.map +1 -0
  17. package/Button-C17mExpd.cjs.map +1 -1
  18. package/Button-UkkP-bNw.js.map +1 -1
  19. package/ButtonGroup-CNunDofQ.cjs +33 -0
  20. package/ButtonGroup-CNunDofQ.cjs.map +1 -0
  21. package/ButtonGroup-CcKUZ-lT.js +34 -0
  22. package/ButtonGroup-CcKUZ-lT.js.map +1 -0
  23. package/Card-DYKGY-NG.js +116 -0
  24. package/Card-DYKGY-NG.js.map +1 -0
  25. package/Card-Dr1-ATRY.cjs +115 -0
  26. package/Card-Dr1-ATRY.cjs.map +1 -0
  27. package/Checkbox-BCqMFWt4.cjs +187 -0
  28. package/Checkbox-BCqMFWt4.cjs.map +1 -0
  29. package/Checkbox-gB5YKkVo.js +188 -0
  30. package/Checkbox-gB5YKkVo.js.map +1 -0
  31. package/{components/DateRangePicker/DateRangePicker.js → Chip-OPYQ1uQ_.js} +33 -35
  32. package/Chip-OPYQ1uQ_.js.map +1 -0
  33. package/{components/DateRangePicker/DateRangePicker.cjs → Chip-qoJLDiva.cjs} +33 -36
  34. package/Chip-qoJLDiva.cjs.map +1 -0
  35. package/DatePicker-_IGWc3I5.js +178 -0
  36. package/DatePicker-_IGWc3I5.js.map +1 -0
  37. package/DatePicker-t7uDTZMl.cjs +177 -0
  38. package/DatePicker-t7uDTZMl.cjs.map +1 -0
  39. package/DateTimePicker-BxQyjTCY.cjs +229 -0
  40. package/DateTimePicker-BxQyjTCY.cjs.map +1 -0
  41. package/DateTimePicker-CrmWav_j.js +230 -0
  42. package/DateTimePicker-CrmWav_j.js.map +1 -0
  43. package/Divider-BApcM5CV.js +28 -0
  44. package/Divider-BApcM5CV.js.map +1 -0
  45. package/Divider-CIY0JK4U.cjs +27 -0
  46. package/Divider-CIY0JK4U.cjs.map +1 -0
  47. package/Input-CScC87J5.cjs +185 -0
  48. package/Input-CScC87J5.cjs.map +1 -0
  49. package/Input-DP_fKl38.js +186 -0
  50. package/Input-DP_fKl38.js.map +1 -0
  51. package/Modal-C_QY7ZzY.js +352 -0
  52. package/Modal-C_QY7ZzY.js.map +1 -0
  53. package/Modal-D_6ZdSzw.cjs +351 -0
  54. package/Modal-D_6ZdSzw.cjs.map +1 -0
  55. package/README.md +188 -172
  56. package/RadioGroup-Dd0rHXSX.cjs +202 -0
  57. package/RadioGroup-Dd0rHXSX.cjs.map +1 -0
  58. package/RadioGroup-bO-ahP9T.js +203 -0
  59. package/RadioGroup-bO-ahP9T.js.map +1 -0
  60. package/Select-BY5Y0qZ1.js +376 -0
  61. package/Select-BY5Y0qZ1.js.map +1 -0
  62. package/Select-CURrHSyl.cjs +375 -0
  63. package/Select-CURrHSyl.cjs.map +1 -0
  64. package/Spinner-B6sThC1p.js +74 -0
  65. package/Spinner-B6sThC1p.js.map +1 -0
  66. package/Spinner-D7qRmNS9.cjs +73 -0
  67. package/Spinner-D7qRmNS9.cjs.map +1 -0
  68. package/Stat-BUcFCGrz.cjs +83 -0
  69. package/Stat-BUcFCGrz.cjs.map +1 -0
  70. package/Stat-C06A_izS.js +84 -0
  71. package/Stat-C06A_izS.js.map +1 -0
  72. package/StatusMessage-B3nXpuRl.cjs +88 -0
  73. package/StatusMessage-B3nXpuRl.cjs.map +1 -0
  74. package/StatusMessage-D0WgSBx7.js +89 -0
  75. package/StatusMessage-D0WgSBx7.js.map +1 -0
  76. package/Step-BArsou1V.js +301 -0
  77. package/Step-BArsou1V.js.map +1 -0
  78. package/Step-Nd7SJbRZ.cjs +300 -0
  79. package/Step-Nd7SJbRZ.cjs.map +1 -0
  80. package/Switch-CQFOopYy.cjs +182 -0
  81. package/Switch-CQFOopYy.cjs.map +1 -0
  82. package/Switch-D72dpkH2.js +183 -0
  83. package/Switch-D72dpkH2.js.map +1 -0
  84. package/Tab-D1S7kxXI.cjs +137 -0
  85. package/Tab-D1S7kxXI.cjs.map +1 -0
  86. package/Tab-DycIMXmQ.js +138 -0
  87. package/Tab-DycIMXmQ.js.map +1 -0
  88. package/Table-C2LbW0B1.js +531 -0
  89. package/Table-C2LbW0B1.js.map +1 -0
  90. package/Table-C4OM6rrC.cjs +530 -0
  91. package/Table-C4OM6rrC.cjs.map +1 -0
  92. package/components/ActionMenu/ActionMenu.cjs +52 -52
  93. package/components/ActionMenu/ActionMenu.cjs.map +1 -1
  94. package/components/ActionMenu/ActionMenu.d.ts +20 -36
  95. package/components/ActionMenu/ActionMenu.js +55 -55
  96. package/components/ActionMenu/ActionMenu.js.map +1 -1
  97. package/components/ActionMenu/index.d.ts +2 -2
  98. package/components/Alert/Alert.cjs +6 -0
  99. package/components/Alert/Alert.cjs.map +1 -0
  100. package/components/Alert/Alert.d.ts +31 -0
  101. package/components/Alert/Alert.js +6 -0
  102. package/components/Alert/Alert.js.map +1 -0
  103. package/components/Alert/index.d.ts +2 -0
  104. package/components/Alert.d.ts +6 -0
  105. package/components/AppBar/AppBar.cjs +3 -220
  106. package/components/AppBar/AppBar.cjs.map +1 -1
  107. package/components/AppBar/AppBar.d.ts +6 -6
  108. package/components/AppBar/AppBar.js +6 -223
  109. package/components/AppBar/AppBar.js.map +1 -1
  110. package/components/AppBar/index.d.ts +0 -6
  111. package/components/Autocomplete/Autocomplete.cjs +4 -311
  112. package/components/Autocomplete/Autocomplete.cjs.map +1 -1
  113. package/components/Autocomplete/Autocomplete.d.ts +8 -6
  114. package/components/Autocomplete/Autocomplete.helpers.d.ts +8 -4
  115. package/components/Autocomplete/Autocomplete.js +4 -311
  116. package/components/Autocomplete/Autocomplete.js.map +1 -1
  117. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +5 -8
  118. package/components/Autocomplete/index.d.ts +1 -1
  119. package/components/Avatar/Avatar.cjs +2 -160
  120. package/components/Avatar/Avatar.cjs.map +1 -1
  121. package/components/Avatar/Avatar.d.ts +16 -1
  122. package/components/Avatar/Avatar.js +2 -160
  123. package/components/Avatar/Avatar.js.map +1 -1
  124. package/components/Avatar/index.d.ts +1 -0
  125. package/components/Breadcrumbs/Breadcrumbs.cjs +6 -0
  126. package/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
  127. package/components/Breadcrumbs/Breadcrumbs.d.ts +16 -0
  128. package/components/Breadcrumbs/Breadcrumbs.js +6 -0
  129. package/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  130. package/components/Breadcrumbs/index.d.ts +2 -0
  131. package/components/Breadcrumbs.d.ts +6 -0
  132. package/components/Button/Button.d.ts +5 -5
  133. package/components/Button/index.d.ts +1 -0
  134. package/components/ButtonGroup/ButtonGroup.cjs +6 -0
  135. package/components/ButtonGroup/ButtonGroup.cjs.map +1 -0
  136. package/components/ButtonGroup/ButtonGroup.d.ts +18 -0
  137. package/components/ButtonGroup/ButtonGroup.js +6 -0
  138. package/components/ButtonGroup/ButtonGroup.js.map +1 -0
  139. package/components/ButtonGroup/index.d.ts +2 -0
  140. package/components/ButtonGroup.d.ts +6 -0
  141. package/components/Card/Card.cjs +4 -184
  142. package/components/Card/Card.cjs.map +1 -1
  143. package/components/Card/Card.d.ts +21 -50
  144. package/components/Card/Card.js +4 -184
  145. package/components/Card/Card.js.map +1 -1
  146. package/components/Card/Card.sx.d.ts +3 -6
  147. package/components/Card/index.d.ts +1 -1
  148. package/components/Checkbox/Checkbox.cjs +6 -0
  149. package/components/Checkbox/Checkbox.cjs.map +1 -0
  150. package/components/Checkbox/Checkbox.d.ts +55 -0
  151. package/components/Checkbox/Checkbox.js +6 -0
  152. package/components/Checkbox/Checkbox.js.map +1 -0
  153. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  154. package/components/Checkbox/index.d.ts +2 -0
  155. package/components/Checkbox.d.ts +6 -0
  156. package/components/Chip/Chip.cjs +4 -72
  157. package/components/Chip/Chip.cjs.map +1 -1
  158. package/components/Chip/Chip.js +3 -71
  159. package/components/Chip/Chip.js.map +1 -1
  160. package/components/Chip/index.d.ts +2 -1
  161. package/components/Chip.d.ts +4 -0
  162. package/components/Column/Column.cjs +1 -1
  163. package/components/Column/Column.cjs.map +1 -1
  164. package/components/Column/Column.d.ts +1 -1
  165. package/components/Column/Column.js +1 -1
  166. package/components/Column/Column.js.map +1 -1
  167. package/components/Column/index.d.ts +1 -0
  168. package/components/DatePicker/DatePicker.cjs +3 -200
  169. package/components/DatePicker/DatePicker.cjs.map +1 -1
  170. package/components/DatePicker/DatePicker.d.ts +1 -13
  171. package/components/DatePicker/DatePicker.js +3 -200
  172. package/components/DatePicker/DatePicker.js.map +1 -1
  173. package/components/DatePicker/index.d.ts +1 -1
  174. package/components/DateTimePicker/DateTimePicker.cjs +3 -219
  175. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  176. package/components/DateTimePicker/DateTimePicker.d.ts +10 -6
  177. package/components/DateTimePicker/DateTimePicker.definitions.d.ts +2 -0
  178. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +4 -2
  179. package/components/DateTimePicker/DateTimePicker.js +3 -219
  180. package/components/DateTimePicker/DateTimePicker.js.map +1 -1
  181. package/components/DateTimePicker/index.d.ts +1 -1
  182. package/components/Divider/Divider.cjs +6 -0
  183. package/components/Divider/Divider.cjs.map +1 -0
  184. package/components/Divider/Divider.d.ts +17 -0
  185. package/components/Divider/Divider.js +6 -0
  186. package/components/Divider/Divider.js.map +1 -0
  187. package/components/Divider/index.d.ts +2 -0
  188. package/components/Divider.d.ts +6 -0
  189. package/components/Drawer/Drawer.cjs +11 -7
  190. package/components/Drawer/Drawer.cjs.map +1 -1
  191. package/components/Drawer/Drawer.js +12 -8
  192. package/components/Drawer/Drawer.js.map +1 -1
  193. package/components/Drawer/DrawerItem.d.ts +6 -1
  194. package/components/Gallery/Gallery.cjs +154 -79
  195. package/components/Gallery/Gallery.cjs.map +1 -1
  196. package/components/Gallery/Gallery.d.ts +25 -9
  197. package/components/Gallery/Gallery.js +154 -79
  198. package/components/Gallery/Gallery.js.map +1 -1
  199. package/components/Gallery/GalleryLightbox.d.ts +6 -10
  200. package/components/Gallery/GalleryMain.d.ts +3 -7
  201. package/components/Gallery/GalleryThumbnails.d.ts +7 -11
  202. package/components/Gallery/index.d.ts +2 -1
  203. package/components/Gallery.d.ts +4 -0
  204. package/components/Icon/Icon.cjs +6 -8
  205. package/components/Icon/Icon.cjs.map +1 -1
  206. package/components/Icon/Icon.d.ts +11 -17
  207. package/components/Icon/Icon.js +6 -8
  208. package/components/Icon/Icon.js.map +1 -1
  209. package/components/Icon/index.d.ts +2 -1
  210. package/components/Icon.d.ts +4 -0
  211. package/components/Input/Input.cjs +3 -172
  212. package/components/Input/Input.cjs.map +1 -1
  213. package/components/Input/Input.d.ts +9 -2
  214. package/components/Input/Input.helpers.d.ts +3 -3
  215. package/components/Input/Input.js +3 -172
  216. package/components/Input/Input.js.map +1 -1
  217. package/components/Input/index.d.ts +1 -1
  218. package/components/InputGroup/InputGroup.cjs +23 -22
  219. package/components/InputGroup/InputGroup.cjs.map +1 -1
  220. package/components/InputGroup/InputGroup.d.ts +4 -4
  221. package/components/InputGroup/InputGroup.js +22 -21
  222. package/components/InputGroup/InputGroup.js.map +1 -1
  223. package/components/InputGroup/index.d.ts +2 -1
  224. package/components/InputGroup.d.ts +4 -0
  225. package/components/Modal/Modal.cjs +7 -317
  226. package/components/Modal/Modal.cjs.map +1 -1
  227. package/components/Modal/Modal.d.ts +27 -5
  228. package/components/Modal/Modal.js +6 -316
  229. package/components/Modal/Modal.js.map +1 -1
  230. package/components/Modal/ModalBody.d.ts +6 -1
  231. package/components/Modal/ModalFooter.d.ts +4 -4
  232. package/components/Modal/ModalHeader.d.ts +6 -1
  233. package/components/Modal/index.d.ts +3 -1
  234. package/components/Modal.d.ts +4 -0
  235. package/components/RadioGroup/RadioGroup.cjs +3 -199
  236. package/components/RadioGroup/RadioGroup.cjs.map +1 -1
  237. package/components/RadioGroup/RadioGroup.d.ts +9 -3
  238. package/components/RadioGroup/RadioGroup.js +3 -199
  239. package/components/RadioGroup/RadioGroup.js.map +1 -1
  240. package/components/RadioGroup/index.d.ts +1 -1
  241. package/components/Select/Select.cjs +4 -445
  242. package/components/Select/Select.cjs.map +1 -1
  243. package/components/Select/Select.d.ts +37 -18
  244. package/components/Select/Select.helpers.d.ts +5 -19
  245. package/components/Select/Select.js +4 -445
  246. package/components/Select/Select.js.map +1 -1
  247. package/components/Select/index.d.ts +1 -1
  248. package/components/Spinner/Spinner.cjs +6 -0
  249. package/components/Spinner/Spinner.cjs.map +1 -0
  250. package/components/Spinner/Spinner.d.ts +26 -0
  251. package/components/Spinner/Spinner.js +6 -0
  252. package/components/Spinner/Spinner.js.map +1 -0
  253. package/components/Spinner/index.d.ts +2 -0
  254. package/components/Spinner.d.ts +6 -0
  255. package/components/Stat/Stat.cjs +4 -83
  256. package/components/Stat/Stat.cjs.map +1 -1
  257. package/components/Stat/Stat.js +3 -82
  258. package/components/Stat/Stat.js.map +1 -1
  259. package/components/Stat/index.d.ts +2 -1
  260. package/components/Stat.d.ts +4 -0
  261. package/components/StatusMessage/StatusMessage.cjs +4 -77
  262. package/components/StatusMessage/StatusMessage.cjs.map +1 -1
  263. package/components/StatusMessage/StatusMessage.d.ts +20 -36
  264. package/components/StatusMessage/StatusMessage.js +3 -76
  265. package/components/StatusMessage/StatusMessage.js.map +1 -1
  266. package/components/StatusMessage/index.d.ts +2 -1
  267. package/components/StatusMessage.d.ts +4 -0
  268. package/components/Stepper/Stepper.cjs +8 -90
  269. package/components/Stepper/Stepper.cjs.map +1 -1
  270. package/components/Stepper/Stepper.d.ts +9 -20
  271. package/components/Stepper/Stepper.js +7 -89
  272. package/components/Stepper/Stepper.js.map +1 -1
  273. package/{hooks/Wizard/WizardContext.d.ts → components/Stepper/StepperContext.d.ts} +29 -23
  274. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  275. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  276. package/components/Stepper/index.d.ts +6 -2
  277. package/components/Stepper.d.ts +4 -0
  278. package/components/Switch/Switch.cjs +3 -178
  279. package/components/Switch/Switch.cjs.map +1 -1
  280. package/components/Switch/Switch.d.ts +7 -2
  281. package/components/Switch/Switch.js +3 -178
  282. package/components/Switch/Switch.js.map +1 -1
  283. package/components/Table/Table.cjs +2 -528
  284. package/components/Table/Table.cjs.map +1 -1
  285. package/components/Table/Table.d.ts +1 -1
  286. package/components/Table/Table.js +2 -528
  287. package/components/Table/Table.js.map +1 -1
  288. package/components/Tabs/Tab.d.ts +13 -2
  289. package/components/Tabs/Tabs.cjs +5 -94
  290. package/components/Tabs/Tabs.cjs.map +1 -1
  291. package/components/Tabs/Tabs.d.ts +33 -16
  292. package/components/Tabs/Tabs.js +4 -93
  293. package/components/Tabs/Tabs.js.map +1 -1
  294. package/components/Tabs/index.d.ts +4 -2
  295. package/components/Tabs.d.ts +4 -0
  296. package/components/Timeline/Timeline.cjs +3 -2
  297. package/components/Timeline/Timeline.cjs.map +1 -1
  298. package/components/Timeline/Timeline.d.ts +4 -8
  299. package/components/Timeline/Timeline.js +3 -2
  300. package/components/Timeline/Timeline.js.map +1 -1
  301. package/components/Timeline/index.d.ts +4 -2
  302. package/components/Timeline.d.ts +4 -0
  303. package/components/_shared/mergeSx.d.ts +7 -0
  304. package/{formField.sx-DfVbMe0V.js → formField.sx-8_QRnKxv.js} +2 -11
  305. package/formField.sx-8_QRnKxv.js.map +1 -0
  306. package/{formField.sx-CQ1mbk9M.cjs → formField.sx-BAX7KwMR.cjs} +10 -19
  307. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  308. package/index.cjs +78 -10
  309. package/index.cjs.map +1 -1
  310. package/index.d.ts +42 -0
  311. package/index.js +70 -5
  312. package/index.js.map +1 -1
  313. package/local/affiliations/affiliations.dev.soyfri.com-key.pem +28 -0
  314. package/local/affiliations/affiliations.dev.soyfri.com.pem +27 -0
  315. package/local/aficiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
  316. package/local/aficiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
  317. package/local/afiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
  318. package/local/afiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
  319. package/local/root/rootCA-key.pem +40 -0
  320. package/local/root/rootCA.pem +30 -0
  321. package/local/soporte/supportweb.dev.soyfri.com-key.pem +28 -0
  322. package/local/soporte/supportweb.dev.soyfri.com.pem +27 -0
  323. package/local/support/supportweb.dev.soyfri.com-key.pem +28 -0
  324. package/local/support/supportweb.dev.soyfri.com.pem +27 -0
  325. package/mergeSx-BXoNZjB_.js +10 -0
  326. package/mergeSx-BXoNZjB_.js.map +1 -0
  327. package/mergeSx-Dbccoo_H.cjs +9 -0
  328. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  329. package/mui.d.ts +2 -1
  330. package/package.json +85 -76
  331. package/{resolvePreset-CT3kU-K2.cjs → resolvePreset-CxTI6_Ln.cjs} +3 -3
  332. package/{resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CxTI6_Ln.cjs.map} +1 -1
  333. package/{resolvePreset-B-IB0ehH.js → resolvePreset-K6_BfWHD.js} +3 -3
  334. package/{resolvePreset-B-IB0ehH.js.map → resolvePreset-K6_BfWHD.js.map} +1 -1
  335. package/theme/componentStyles.d.ts +1 -1
  336. package/tokens-BRrcP_p_.js +21 -0
  337. package/tokens-BRrcP_p_.js.map +1 -0
  338. package/tokens-jaWWNk39.cjs +20 -0
  339. package/tokens-jaWWNk39.cjs.map +1 -0
  340. package/utils/index.d.ts +2 -0
  341. package/{components/ScrollTopButton → utils}/scrollToTop.d.ts +6 -7
  342. package/components/AppBar/AppBarBrand.d.ts +0 -31
  343. package/components/AppBar/AppBarUserMenu.d.ts +0 -65
  344. package/components/Autocomplete/Autocomplete.types.d.ts +0 -1
  345. package/components/DatePicker/DatePicker.types.d.ts +0 -1
  346. package/components/DateRangePicker/DateRangePicker.cjs.map +0 -1
  347. package/components/DateRangePicker/DateRangePicker.d.ts +0 -15
  348. package/components/DateRangePicker/DateRangePicker.definitions.d.ts +0 -6
  349. package/components/DateRangePicker/DateRangePicker.js.map +0 -1
  350. package/components/DateRangePicker/index.d.ts +0 -1
  351. package/components/DateRangePicker.d.ts +0 -2
  352. package/components/DateTimePicker/DateTimePicker.types.d.ts +0 -1
  353. package/components/Input/Input.types.d.ts +0 -1
  354. package/components/PageLoader/PageLoader.cjs +0 -61
  355. package/components/PageLoader/PageLoader.cjs.map +0 -1
  356. package/components/PageLoader/PageLoader.d.ts +0 -38
  357. package/components/PageLoader/PageLoader.js +0 -61
  358. package/components/PageLoader/PageLoader.js.map +0 -1
  359. package/components/PageLoader/index.d.ts +0 -2
  360. package/components/PageLoader.d.ts +0 -6
  361. package/components/RadioGroup/RadioGroup.types.d.ts +0 -1
  362. package/components/ScrollTopButton/ScrollTopButton.cjs +0 -79
  363. package/components/ScrollTopButton/ScrollTopButton.cjs.map +0 -1
  364. package/components/ScrollTopButton/ScrollTopButton.d.ts +0 -48
  365. package/components/ScrollTopButton/ScrollTopButton.js +0 -79
  366. package/components/ScrollTopButton/ScrollTopButton.js.map +0 -1
  367. package/components/ScrollTopButton/index.d.ts +0 -4
  368. package/components/ScrollTopButton.d.ts +0 -6
  369. package/components/Select/Select.definitions.d.ts +0 -17
  370. package/components/Select/Select.types.d.ts +0 -1
  371. package/components/Select/_parts/SelectSearchHeader.d.ts +0 -15
  372. package/formField.sx-CQ1mbk9M.cjs.map +0 -1
  373. package/formField.sx-DfVbMe0V.js.map +0 -1
  374. package/hooks/Wizard/Wizard.cjs +0 -7
  375. package/hooks/Wizard/Wizard.cjs.map +0 -1
  376. package/hooks/Wizard/Wizard.js +0 -7
  377. package/hooks/Wizard/Wizard.js.map +0 -1
  378. package/hooks/Wizard/index.d.ts +0 -3
  379. package/hooks/Wizard/useWizard.d.ts +0 -9
  380. package/hooks/Wizard.d.ts +0 -2
  381. package/useWizard-CWdIxZzX.cjs +0 -94
  382. package/useWizard-CWdIxZzX.cjs.map +0 -1
  383. package/useWizard-CWq--C3o.js +0 -95
  384. package/useWizard-CWq--C3o.js.map +0 -1
  385. /package/{styles.css → index.css} +0 -0
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
3
5
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -15,49 +17,60 @@ var __spreadValues = (a, b) => {
15
17
  }
16
18
  return a;
17
19
  };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
18
33
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
19
34
  const jsxRuntime = require("react/jsx-runtime");
20
35
  const React = require("react");
21
36
  const material = require("@mui/material");
22
37
  const MoreVertIcon = require("@mui/icons-material/MoreVert");
23
- function ActionMenu({
24
- items,
38
+ const ActionMenuContext = React.createContext(null);
39
+ const ActionMenu = ({
40
+ children,
25
41
  trigger,
26
- triggerTooltip = "Acciones",
42
+ triggerTooltip,
27
43
  anchorOrigin = { vertical: "bottom", horizontal: "right" },
28
44
  transformOrigin = { vertical: "top", horizontal: "right" },
29
45
  menuSx,
30
- disabled = false,
31
- className
32
- }) {
46
+ disabled = false
47
+ }) => {
33
48
  const [anchorEl, setAnchorEl] = React.useState(null);
34
49
  const open = Boolean(anchorEl);
35
- const handleOpen = (event) => {
50
+ const handleClose = () => setAnchorEl(null);
51
+ const openMenu = (event) => {
36
52
  if (disabled) return;
37
53
  event.stopPropagation();
38
54
  setAnchorEl(event.currentTarget);
39
55
  };
40
- const handleClose = () => setAnchorEl(null);
41
- const handleItemClick = (event, item) => {
42
- var _a;
43
- event.stopPropagation();
44
- (_a = item.onClick) == null ? void 0 : _a.call(item, event);
45
- handleClose();
46
- };
47
- const triggerElement = trigger ? React.isValidElement(trigger) ? React.cloneElement(trigger, {
48
- onClick: handleOpen,
56
+ const triggerElement = trigger ? React.cloneElement(trigger, {
57
+ onClick: openMenu,
49
58
  disabled
50
- }) : /* @__PURE__ */ jsxRuntime.jsx("span", { onClick: handleOpen, children: trigger }) : /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: triggerTooltip, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(
59
+ }) : /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: triggerTooltip, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
51
60
  material.IconButton,
52
61
  {
53
62
  size: "small",
54
- onClick: handleOpen,
63
+ onClick: openMenu,
55
64
  disabled,
56
65
  "aria-label": triggerTooltip,
57
66
  children: /* @__PURE__ */ jsxRuntime.jsx(MoreVertIcon, { fontSize: "small" })
58
67
  }
59
- ) }) });
60
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className, children: [
68
+ ) });
69
+ const paperSx = [
70
+ { minWidth: 180 },
71
+ ...Array.isArray(menuSx) ? menuSx : menuSx ? [menuSx] : []
72
+ ];
73
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
61
74
  triggerElement,
62
75
  /* @__PURE__ */ jsxRuntime.jsx(
63
76
  material.Menu,
@@ -67,41 +80,28 @@ function ActionMenu({
67
80
  onClose: handleClose,
68
81
  anchorOrigin,
69
82
  transformOrigin,
70
- slotProps: { paper: { sx: __spreadValues({ minWidth: 180 }, menuSx) } },
71
- children: items.map((item, idx) => {
72
- var _a;
73
- const key = (_a = item.key) != null ? _a : `${String(item.label)}-${idx}`;
74
- const node = /* @__PURE__ */ jsxRuntime.jsxs(
75
- material.MenuItem,
76
- {
77
- disabled: item.disabled,
78
- onClick: (event) => handleItemClick(event, item),
79
- sx: (theme) => ({
80
- color: item.danger ? theme.palette.error.main : "inherit",
81
- "& .MuiListItemIcon-root": {
82
- color: item.danger ? theme.palette.error.main : "inherit",
83
- minWidth: 32
84
- }
85
- }),
86
- children: [
87
- item.icon && /* @__PURE__ */ jsxRuntime.jsx(material.ListItemIcon, { children: item.icon }),
88
- /* @__PURE__ */ jsxRuntime.jsx(material.ListItemText, { primary: item.label })
89
- ]
90
- },
91
- key
92
- );
93
- if (item.dividerBefore && idx > 0) {
94
- return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
95
- /* @__PURE__ */ jsxRuntime.jsx(material.Divider, {}),
96
- node
97
- ] }, `${key}-frag`);
98
- }
99
- return node;
100
- })
83
+ slotProps: { paper: { sx: paperSx } },
84
+ children: /* @__PURE__ */ jsxRuntime.jsx(ActionMenuContext.Provider, { value: { close: handleClose }, children })
101
85
  }
102
86
  )
103
87
  ] });
104
- }
88
+ };
89
+ const ActionMenuItem = React.forwardRef(
90
+ function ActionMenuItem2(_a, ref) {
91
+ var _b = _a, { icon, children, onClick } = _b, rest = __objRest(_b, ["icon", "children", "onClick"]);
92
+ const ctx = React.useContext(ActionMenuContext);
93
+ const handleClick = (event) => {
94
+ event.stopPropagation();
95
+ onClick == null ? void 0 : onClick(event);
96
+ ctx == null ? void 0 : ctx.close();
97
+ };
98
+ return /* @__PURE__ */ jsxRuntime.jsxs(material.MenuItem, __spreadProps(__spreadValues({ ref, onClick: handleClick }, rest), { children: [
99
+ icon && /* @__PURE__ */ jsxRuntime.jsx(material.ListItemIcon, { sx: { minWidth: 32 }, children: icon }),
100
+ /* @__PURE__ */ jsxRuntime.jsx(material.ListItemText, { primary: children })
101
+ ] }));
102
+ }
103
+ );
105
104
  exports.ActionMenu = ActionMenu;
105
+ exports.ActionMenuItem = ActionMenuItem;
106
106
  exports.default = ActionMenu;
107
107
  //# sourceMappingURL=ActionMenu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionMenu.cjs","sources":["../../../src/components/ActionMenu/ActionMenu.tsx"],"sourcesContent":["import React, { useState, type ReactNode, type MouseEvent } from 'react';\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n Divider,\n Tooltip,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface ActionMenuItem {\n /** Key única para React. Si no se provee, se usa el label. */\n key?: string;\n /** Texto del item. */\n label: ReactNode;\n /** Icono opcional a la izquierda. */\n icon?: ReactNode;\n /** Handler de click. Recibe el evento del MenuItem. */\n onClick?: (event: MouseEvent<HTMLLIElement>) => void;\n /** Deshabilita el item. */\n disabled?: boolean;\n /** Marca el item como destructivo (pinta color error). */\n danger?: boolean;\n /** Inserta un `<Divider />` ANTES de este item. */\n dividerBefore?: boolean;\n}\n\nexport interface ActionMenuProps {\n /** Lista de items del menú. */\n items: ActionMenuItem[];\n /**\n * Elemento trigger. Si no se provee, se renderiza un IconButton con icono\n * de tres puntos (MoreVertIcon) — el patrón típico de celda de tabla.\n */\n trigger?: ReactNode;\n /** Texto de tooltip sobre el trigger default. Default: \"Acciones\". */\n triggerTooltip?: string;\n /** Anchor origin del menu. Default: { vertical: 'bottom', horizontal: 'right' }. */\n anchorOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** Transform origin del menu. Default: { vertical: 'top', horizontal: 'right' }. */\n transformOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** sx del Menu (Paper interno). */\n menuSx?: SxProps<Theme>;\n /** Deshabilita el trigger entero. */\n disabled?: boolean;\n className?: string;\n}\n\n/**\n * Menú de acciones compacto, pensado para celdas de tabla y cabeceras.\n * Reemplaza los patrones `<Dropdown>` de react-bootstrap.\n *\n * ```tsx\n * <ActionMenu\n * items={[\n * { label: 'Editar', icon: <EditIcon />, onClick: handleEdit },\n * { label: 'Duplicar', icon: <CopyIcon />, onClick: handleDup },\n * { label: 'Eliminar', icon: <TrashIcon />, onClick: handleDel, danger: true, dividerBefore: true },\n * ]}\n * />\n * ```\n */\nexport function ActionMenu({\n items,\n trigger,\n triggerTooltip = 'Acciones',\n anchorOrigin = { vertical: 'bottom', horizontal: 'right' },\n transformOrigin = { vertical: 'top', horizontal: 'right' },\n menuSx,\n disabled = false,\n className,\n}: ActionMenuProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n\n const handleOpen = (event: MouseEvent<HTMLElement>) => {\n if (disabled) return;\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => setAnchorEl(null);\n\n const handleItemClick = (\n event: MouseEvent<HTMLLIElement>,\n item: ActionMenuItem,\n ) => {\n event.stopPropagation();\n item.onClick?.(event);\n handleClose();\n };\n\n const triggerElement = trigger ? (\n React.isValidElement(trigger) ? (\n React.cloneElement(trigger as React.ReactElement<any>, {\n onClick: handleOpen,\n disabled,\n })\n ) : (\n <span onClick={handleOpen}>{trigger}</span>\n )\n ) : (\n <Tooltip title={triggerTooltip} arrow>\n <span>\n <IconButton\n size=\"small\"\n onClick={handleOpen}\n disabled={disabled}\n aria-label={triggerTooltip}\n >\n <MoreVertIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n );\n\n return (\n <span className={className}>\n {triggerElement}\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n slotProps={{ paper: { sx: { minWidth: 180, ...(menuSx as any) } } }}\n >\n {items.map((item, idx) => {\n const key = item.key ?? `${String(item.label)}-${idx}`;\n const node = (\n <MenuItem\n key={key}\n disabled={item.disabled}\n onClick={(event) => handleItemClick(event, item)}\n sx={(theme) => ({\n color: item.danger ? theme.palette.error.main : 'inherit',\n '& .MuiListItemIcon-root': {\n color: item.danger\n ? theme.palette.error.main\n : 'inherit',\n minWidth: 32,\n },\n })}\n >\n {item.icon && <ListItemIcon>{item.icon}</ListItemIcon>}\n <ListItemText primary={item.label} />\n </MenuItem>\n );\n\n if (item.dividerBefore && idx > 0) {\n return (\n <React.Fragment key={`${key}-frag`}>\n <Divider />\n {node}\n </React.Fragment>\n );\n }\n return node;\n })}\n </Menu>\n </span>\n );\n}\n\nexport default ActionMenu;\n"],"names":["useState","jsx","Tooltip","IconButton","jsxs","Menu","MenuItem","ListItemIcon","ListItemText","Divider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuEO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,eAAe,EAAE,UAAU,UAAU,YAAY,QAAA;AAAA,EACjD,kBAAkB,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,EACjD;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAAoB;AAClB,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,aAAa,CAAC,UAAmC;AACrD,QAAI,SAAU;AACd,UAAM,gBAAA;AACN,gBAAY,MAAM,aAAa;AAAA,EACjC;AAEA,QAAM,cAAc,MAAM,YAAY,IAAI;AAE1C,QAAM,kBAAkB,CACtB,OACA,SACG;;AACH,UAAM,gBAAA;AACN,eAAK,YAAL,8BAAe;AACf,gBAAA;AAAA,EACF;AAEA,QAAM,iBAAiB,UACrB,MAAM,eAAe,OAAO,IAC1B,MAAM,aAAa,SAAoC;AAAA,IACrD,SAAS;AAAA,IACT;AAAA,EAAA,CACD,IAEDC,2BAAAA,IAAC,QAAA,EAAK,SAAS,YAAa,UAAA,QAAA,CAAQ,IAGtCA,2BAAAA,IAACC,SAAAA,WAAQ,OAAO,gBAAgB,OAAK,MACnC,yCAAC,QAAA,EACC,UAAAD,2BAAAA;AAAAA,IAACE,SAAAA;AAAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,cAAY;AAAA,MAEZ,UAAAF,2BAAAA,IAAC,cAAA,EAAa,UAAS,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA,GAEnC,EAAA,CACF;AAGF,SACEG,gCAAC,UAAK,WACH,UAAA;AAAA,IAAA;AAAA,IACDH,2BAAAA;AAAAA,MAACI,SAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,WAAW,EAAE,OAAO,EAAE,IAAI,iBAAE,UAAU,OAAS,UAAiB;AAAA,QAE/D,UAAA,MAAM,IAAI,CAAC,MAAM,QAAQ;;AACxB,gBAAM,OAAM,UAAK,QAAL,YAAY,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG;AACpD,gBAAM,OACJD,2BAAAA;AAAAA,YAACE,SAAAA;AAAAA,YAAA;AAAA,cAEC,UAAU,KAAK;AAAA,cACf,SAAS,CAAC,UAAU,gBAAgB,OAAO,IAAI;AAAA,cAC/C,IAAI,CAAC,WAAW;AAAA,gBACd,OAAO,KAAK,SAAS,MAAM,QAAQ,MAAM,OAAO;AAAA,gBAChD,2BAA2B;AAAA,kBACzB,OAAO,KAAK,SACR,MAAM,QAAQ,MAAM,OACpB;AAAA,kBACJ,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cAGD,UAAA;AAAA,gBAAA,KAAK,QAAQL,+BAACM,SAAAA,cAAA,EAAc,UAAA,KAAK,MAAK;AAAA,gBACvCN,2BAAAA,IAACO,SAAAA,cAAA,EAAa,SAAS,KAAK,MAAA,CAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAd9B;AAAA,UAAA;AAkBT,cAAI,KAAK,iBAAiB,MAAM,GAAG;AACjC,mBACEJ,gCAAC,MAAM,UAAN,EACC,UAAA;AAAA,cAAAH,2BAAAA,IAACQ,SAAAA,SAAA,EAAQ;AAAA,cACR;AAAA,YAAA,EAAA,GAFkB,GAAG,GAAG,OAG3B;AAAA,UAEJ;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;;;"}
1
+ {"version":3,"file":"ActionMenu.cjs","sources":["../../../src/components/ActionMenu/ActionMenu.tsx"],"sourcesContent":["import React, {\n createContext,\n forwardRef,\n useContext,\n useState,\n type ReactElement,\n type ReactNode,\n type MouseEvent,\n} from 'react';\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n Tooltip,\n type MenuItemProps as MuiMenuItemProps,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface ActionMenuProps {\n /** Items del menú. Normalmente `<ActionMenuItem>` o `<Divider />`. */\n children: ReactNode;\n /**\n * Elemento disparador — cualquier componente clickeable (Button, Chip, IconButton…).\n * El ActionMenu le inyecta `onClick` automáticamente. Si se omite, se usa un\n * IconButton de tres puntos por defecto.\n */\n trigger?: ReactElement;\n /** Texto de tooltip sobre el trigger default. Default: \"Acciones\". */\n triggerTooltip?: string;\n /** Anchor origin del menu. Default: { vertical: 'bottom', horizontal: 'right' }. */\n anchorOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** Transform origin del menu. Default: { vertical: 'top', horizontal: 'right' }. */\n transformOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** sx del Menu (Paper interno). */\n menuSx?: SxProps<Theme>;\n /** Deshabilita el trigger entero. */\n disabled?: boolean;\n}\n\ninterface ActionMenuContextValue {\n close: () => void;\n}\n\nconst ActionMenuContext = createContext<ActionMenuContextValue | null>(null);\n\nexport const ActionMenu: React.FC<ActionMenuProps> = ({\n children,\n trigger,\n triggerTooltip,\n anchorOrigin = { vertical: 'bottom', horizontal: 'right' },\n transformOrigin = { vertical: 'top', horizontal: 'right' },\n menuSx,\n disabled = false,\n}) => {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n\n const handleClose = () => setAnchorEl(null);\n\n // Abre el menú anclándolo al elemento que recibió el click.\n const openMenu = (event: MouseEvent<HTMLElement>) => {\n if (disabled) return;\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n // Si el consumer pasó un trigger (ej. <Button>), le inyectamos onClick.\n // Si no, usamos el IconButton de tres puntos por defecto.\n const triggerElement = trigger ? (\n React.cloneElement(trigger as ReactElement<any>, {\n onClick: openMenu,\n disabled,\n })\n ) : (\n <Tooltip title={triggerTooltip} arrow>\n <IconButton\n size=\"small\"\n onClick={openMenu}\n disabled={disabled}\n aria-label={triggerTooltip}\n >\n <MoreVertIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n );\n\n const paperSx = [\n { minWidth: 180 },\n ...(Array.isArray(menuSx) ? menuSx : menuSx ? [menuSx] : []),\n ] as SxProps<Theme>;\n\n return (\n <>\n {triggerElement}\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n slotProps={{ paper: { sx: paperSx } }}\n >\n <ActionMenuContext.Provider value={{ close: handleClose }}>\n {children}\n </ActionMenuContext.Provider>\n </Menu>\n </>\n );\n};\n\nexport interface ActionMenuItemProps\n extends Omit<MuiMenuItemProps, 'children' | 'onClick'> {\n /** Icono opcional a la izquierda. */\n icon?: ReactNode;\n /** Texto (o nodo) del item. */\n children: ReactNode;\n /** Handler de click. El menú se cierra automáticamente después. */\n onClick?: (event: MouseEvent<HTMLLIElement>) => void;\n}\n\n/**\n * Item del `ActionMenu`. Se cierra automáticamente al hacer click.\n * Acepta todos los props de `MenuItem` de MUI (disabled, selected, sx, …).\n */\nexport const ActionMenuItem = forwardRef<HTMLLIElement, ActionMenuItemProps>(\n function ActionMenuItem({ icon, children, onClick, ...rest }, ref) {\n const ctx = useContext(ActionMenuContext);\n\n const handleClick = (event: MouseEvent<HTMLLIElement>) => {\n event.stopPropagation();\n onClick?.(event);\n ctx?.close();\n };\n\n return (\n <MenuItem ref={ref} onClick={handleClick} {...rest}>\n {icon && <ListItemIcon sx={{ minWidth: 32 }}>{icon}</ListItemIcon>}\n <ListItemText primary={children} />\n </MenuItem>\n );\n },\n);\n\nexport default ActionMenu;\n"],"names":["createContext","useState","jsx","Tooltip","IconButton","jsxs","Fragment","Menu","forwardRef","ActionMenuItem","useContext","MenuItem","ListItemIcon","ListItemText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAM,oBAAoBA,MAAAA,cAA6C,IAAI;AAEpE,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,EAAE,UAAU,UAAU,YAAY,QAAA;AAAA,EACjD,kBAAkB,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,EACjD;AAAA,EACA,WAAW;AACb,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAIC,MAAAA,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,cAAc,MAAM,YAAY,IAAI;AAG1C,QAAM,WAAW,CAAC,UAAmC;AACnD,QAAI,SAAU;AACd,UAAM,gBAAA;AACN,gBAAY,MAAM,aAAa;AAAA,EACjC;AAIA,QAAM,iBAAiB,UACrB,MAAM,aAAa,SAA8B;AAAA,IAC/C,SAAS;AAAA,IACT;AAAA,EAAA,CACD,IAEDC,2BAAAA,IAACC,SAAAA,WAAQ,OAAO,gBAAgB,OAAK,MACnC,UAAAD,2BAAAA;AAAAA,IAACE,SAAAA;AAAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,cAAY;AAAA,MAEZ,UAAAF,2BAAAA,IAAC,cAAA,EAAa,UAAS,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA,GAEnC;AAGF,QAAM,UAAU;AAAA,IACd,EAAE,UAAU,IAAA;AAAA,IACZ,GAAI,MAAM,QAAQ,MAAM,IAAI,SAAS,SAAS,CAAC,MAAM,IAAI,CAAA;AAAA,EAAC;AAG5D,SACEG,2BAAAA,KAAAC,qBAAA,EACG,UAAA;AAAA,IAAA;AAAA,IACDJ,2BAAAA;AAAAA,MAACK,SAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,WAAW,EAAE,OAAO,EAAE,IAAI,UAAQ;AAAA,QAElC,UAAAL,2BAAAA,IAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,OAAO,YAAA,GACzC,SAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAgBO,MAAM,iBAAiBM,MAAAA;AAAAA,EAC5B,SAASC,gBAAe,IAAsC,KAAK;AAA3C,iBAAE,QAAM,UAAU,YAAlB,IAA8B,iBAA9B,IAA8B,CAA5B,QAAM,YAAU;AACxC,UAAM,MAAMC,MAAAA,WAAW,iBAAiB;AAExC,UAAM,cAAc,CAAC,UAAqC;AACxD,YAAM,gBAAA;AACN,yCAAU;AACV,iCAAK;AAAA,IACP;AAEA,2CACGC,SAAAA,UAAA,+BAAS,KAAU,SAAS,eAAiB,OAA7C,EACE,UAAA;AAAA,MAAA,uCAASC,SAAAA,cAAA,EAAa,IAAI,EAAE,UAAU,GAAA,GAAO,UAAA,MAAK;AAAA,MACnDV,2BAAAA,IAACW,SAAAA,cAAA,EAAa,SAAS,SAAA,CAAU;AAAA,IAAA,IACnC;AAAA,EAEJ;AACF;;;;"}
@@ -1,29 +1,15 @@
1
- import { ReactNode, MouseEvent } from 'react';
1
+ import { default as React, ReactElement, ReactNode, MouseEvent } from 'react';
2
+ import { MenuItemProps as MuiMenuItemProps } from '@mui/material';
2
3
  import { SxProps, Theme } from '@mui/material/styles';
3
- export interface ActionMenuItem {
4
- /** Key única para React. Si no se provee, se usa el label. */
5
- key?: string;
6
- /** Texto del item. */
7
- label: ReactNode;
8
- /** Icono opcional a la izquierda. */
9
- icon?: ReactNode;
10
- /** Handler de click. Recibe el evento del MenuItem. */
11
- onClick?: (event: MouseEvent<HTMLLIElement>) => void;
12
- /** Deshabilita el item. */
13
- disabled?: boolean;
14
- /** Marca el item como destructivo (pinta color error). */
15
- danger?: boolean;
16
- /** Inserta un `<Divider />` ANTES de este item. */
17
- dividerBefore?: boolean;
18
- }
19
4
  export interface ActionMenuProps {
20
- /** Lista de items del menú. */
21
- items: ActionMenuItem[];
5
+ /** Items del menú. Normalmente `<ActionMenuItem>` o `<Divider />`. */
6
+ children: ReactNode;
22
7
  /**
23
- * Elemento trigger. Si no se provee, se renderiza un IconButton con icono
24
- * de tres puntos (MoreVertIcon) — el patrón típico de celda de tabla.
8
+ * Elemento disparador — cualquier componente clickeable (Button, Chip, IconButton…).
9
+ * El ActionMenu le inyecta `onClick` automáticamente. Si se omite, se usa un
10
+ * IconButton de tres puntos por defecto.
25
11
  */
26
- trigger?: ReactNode;
12
+ trigger?: ReactElement;
27
13
  /** Texto de tooltip sobre el trigger default. Default: "Acciones". */
28
14
  triggerTooltip?: string;
29
15
  /** Anchor origin del menu. Default: { vertical: 'bottom', horizontal: 'right' }. */
@@ -40,21 +26,19 @@ export interface ActionMenuProps {
40
26
  menuSx?: SxProps<Theme>;
41
27
  /** Deshabilita el trigger entero. */
42
28
  disabled?: boolean;
43
- className?: string;
29
+ }
30
+ export declare const ActionMenu: React.FC<ActionMenuProps>;
31
+ export interface ActionMenuItemProps extends Omit<MuiMenuItemProps, 'children' | 'onClick'> {
32
+ /** Icono opcional a la izquierda. */
33
+ icon?: ReactNode;
34
+ /** Texto (o nodo) del item. */
35
+ children: ReactNode;
36
+ /** Handler de click. El menú se cierra automáticamente después. */
37
+ onClick?: (event: MouseEvent<HTMLLIElement>) => void;
44
38
  }
45
39
  /**
46
- * Menú de acciones compacto, pensado para celdas de tabla y cabeceras.
47
- * Reemplaza los patrones `<Dropdown>` de react-bootstrap.
48
- *
49
- * ```tsx
50
- * <ActionMenu
51
- * items={[
52
- * { label: 'Editar', icon: <EditIcon />, onClick: handleEdit },
53
- * { label: 'Duplicar', icon: <CopyIcon />, onClick: handleDup },
54
- * { label: 'Eliminar', icon: <TrashIcon />, onClick: handleDel, danger: true, dividerBefore: true },
55
- * ]}
56
- * />
57
- * ```
40
+ * Item del `ActionMenu`. Se cierra automáticamente al hacer click.
41
+ * Acepta todos los props de `MenuItem` de MUI (disabled, selected, sx, …).
58
42
  */
59
- export declare function ActionMenu({ items, trigger, triggerTooltip, anchorOrigin, transformOrigin, menuSx, disabled, className, }: ActionMenuProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare const ActionMenuItem: React.ForwardRefExoticComponent<Omit<ActionMenuItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
60
44
  export default ActionMenu;
@@ -1,4 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
4
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -14,48 +16,59 @@ var __spreadValues = (a, b) => {
14
16
  }
15
17
  return a;
16
18
  };
17
- import { jsx, jsxs } from "react/jsx-runtime";
18
- import React__default, { useState } from "react";
19
- import { Tooltip, IconButton, Menu, MenuItem, ListItemIcon, ListItemText, Divider } from "@mui/material";
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
33
+ import React__default, { createContext, forwardRef, useContext, useState } from "react";
34
+ import { MenuItem, ListItemIcon, ListItemText, Tooltip, IconButton, Menu } from "@mui/material";
20
35
  import MoreVertIcon from "@mui/icons-material/MoreVert";
21
- function ActionMenu({
22
- items,
36
+ const ActionMenuContext = createContext(null);
37
+ const ActionMenu = ({
38
+ children,
23
39
  trigger,
24
- triggerTooltip = "Acciones",
40
+ triggerTooltip,
25
41
  anchorOrigin = { vertical: "bottom", horizontal: "right" },
26
42
  transformOrigin = { vertical: "top", horizontal: "right" },
27
43
  menuSx,
28
- disabled = false,
29
- className
30
- }) {
44
+ disabled = false
45
+ }) => {
31
46
  const [anchorEl, setAnchorEl] = useState(null);
32
47
  const open = Boolean(anchorEl);
33
- const handleOpen = (event) => {
48
+ const handleClose = () => setAnchorEl(null);
49
+ const openMenu = (event) => {
34
50
  if (disabled) return;
35
51
  event.stopPropagation();
36
52
  setAnchorEl(event.currentTarget);
37
53
  };
38
- const handleClose = () => setAnchorEl(null);
39
- const handleItemClick = (event, item) => {
40
- var _a;
41
- event.stopPropagation();
42
- (_a = item.onClick) == null ? void 0 : _a.call(item, event);
43
- handleClose();
44
- };
45
- const triggerElement = trigger ? React__default.isValidElement(trigger) ? React__default.cloneElement(trigger, {
46
- onClick: handleOpen,
54
+ const triggerElement = trigger ? React__default.cloneElement(trigger, {
55
+ onClick: openMenu,
47
56
  disabled
48
- }) : /* @__PURE__ */ jsx("span", { onClick: handleOpen, children: trigger }) : /* @__PURE__ */ jsx(Tooltip, { title: triggerTooltip, arrow: true, children: /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(
57
+ }) : /* @__PURE__ */ jsx(Tooltip, { title: triggerTooltip, arrow: true, children: /* @__PURE__ */ jsx(
49
58
  IconButton,
50
59
  {
51
60
  size: "small",
52
- onClick: handleOpen,
61
+ onClick: openMenu,
53
62
  disabled,
54
63
  "aria-label": triggerTooltip,
55
64
  children: /* @__PURE__ */ jsx(MoreVertIcon, { fontSize: "small" })
56
65
  }
57
- ) }) });
58
- return /* @__PURE__ */ jsxs("span", { className, children: [
66
+ ) });
67
+ const paperSx = [
68
+ { minWidth: 180 },
69
+ ...Array.isArray(menuSx) ? menuSx : menuSx ? [menuSx] : []
70
+ ];
71
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
59
72
  triggerElement,
60
73
  /* @__PURE__ */ jsx(
61
74
  Menu,
@@ -65,43 +78,30 @@ function ActionMenu({
65
78
  onClose: handleClose,
66
79
  anchorOrigin,
67
80
  transformOrigin,
68
- slotProps: { paper: { sx: __spreadValues({ minWidth: 180 }, menuSx) } },
69
- children: items.map((item, idx) => {
70
- var _a;
71
- const key = (_a = item.key) != null ? _a : `${String(item.label)}-${idx}`;
72
- const node = /* @__PURE__ */ jsxs(
73
- MenuItem,
74
- {
75
- disabled: item.disabled,
76
- onClick: (event) => handleItemClick(event, item),
77
- sx: (theme) => ({
78
- color: item.danger ? theme.palette.error.main : "inherit",
79
- "& .MuiListItemIcon-root": {
80
- color: item.danger ? theme.palette.error.main : "inherit",
81
- minWidth: 32
82
- }
83
- }),
84
- children: [
85
- item.icon && /* @__PURE__ */ jsx(ListItemIcon, { children: item.icon }),
86
- /* @__PURE__ */ jsx(ListItemText, { primary: item.label })
87
- ]
88
- },
89
- key
90
- );
91
- if (item.dividerBefore && idx > 0) {
92
- return /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
93
- /* @__PURE__ */ jsx(Divider, {}),
94
- node
95
- ] }, `${key}-frag`);
96
- }
97
- return node;
98
- })
81
+ slotProps: { paper: { sx: paperSx } },
82
+ children: /* @__PURE__ */ jsx(ActionMenuContext.Provider, { value: { close: handleClose }, children })
99
83
  }
100
84
  )
101
85
  ] });
102
- }
86
+ };
87
+ const ActionMenuItem = forwardRef(
88
+ function ActionMenuItem2(_a, ref) {
89
+ var _b = _a, { icon, children, onClick } = _b, rest = __objRest(_b, ["icon", "children", "onClick"]);
90
+ const ctx = useContext(ActionMenuContext);
91
+ const handleClick = (event) => {
92
+ event.stopPropagation();
93
+ onClick == null ? void 0 : onClick(event);
94
+ ctx == null ? void 0 : ctx.close();
95
+ };
96
+ return /* @__PURE__ */ jsxs(MenuItem, __spreadProps(__spreadValues({ ref, onClick: handleClick }, rest), { children: [
97
+ icon && /* @__PURE__ */ jsx(ListItemIcon, { sx: { minWidth: 32 }, children: icon }),
98
+ /* @__PURE__ */ jsx(ListItemText, { primary: children })
99
+ ] }));
100
+ }
101
+ );
103
102
  export {
104
103
  ActionMenu,
104
+ ActionMenuItem,
105
105
  ActionMenu as default
106
106
  };
107
107
  //# sourceMappingURL=ActionMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionMenu.js","sources":["../../../src/components/ActionMenu/ActionMenu.tsx"],"sourcesContent":["import React, { useState, type ReactNode, type MouseEvent } from 'react';\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n Divider,\n Tooltip,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface ActionMenuItem {\n /** Key única para React. Si no se provee, se usa el label. */\n key?: string;\n /** Texto del item. */\n label: ReactNode;\n /** Icono opcional a la izquierda. */\n icon?: ReactNode;\n /** Handler de click. Recibe el evento del MenuItem. */\n onClick?: (event: MouseEvent<HTMLLIElement>) => void;\n /** Deshabilita el item. */\n disabled?: boolean;\n /** Marca el item como destructivo (pinta color error). */\n danger?: boolean;\n /** Inserta un `<Divider />` ANTES de este item. */\n dividerBefore?: boolean;\n}\n\nexport interface ActionMenuProps {\n /** Lista de items del menú. */\n items: ActionMenuItem[];\n /**\n * Elemento trigger. Si no se provee, se renderiza un IconButton con icono\n * de tres puntos (MoreVertIcon) — el patrón típico de celda de tabla.\n */\n trigger?: ReactNode;\n /** Texto de tooltip sobre el trigger default. Default: \"Acciones\". */\n triggerTooltip?: string;\n /** Anchor origin del menu. Default: { vertical: 'bottom', horizontal: 'right' }. */\n anchorOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** Transform origin del menu. Default: { vertical: 'top', horizontal: 'right' }. */\n transformOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** sx del Menu (Paper interno). */\n menuSx?: SxProps<Theme>;\n /** Deshabilita el trigger entero. */\n disabled?: boolean;\n className?: string;\n}\n\n/**\n * Menú de acciones compacto, pensado para celdas de tabla y cabeceras.\n * Reemplaza los patrones `<Dropdown>` de react-bootstrap.\n *\n * ```tsx\n * <ActionMenu\n * items={[\n * { label: 'Editar', icon: <EditIcon />, onClick: handleEdit },\n * { label: 'Duplicar', icon: <CopyIcon />, onClick: handleDup },\n * { label: 'Eliminar', icon: <TrashIcon />, onClick: handleDel, danger: true, dividerBefore: true },\n * ]}\n * />\n * ```\n */\nexport function ActionMenu({\n items,\n trigger,\n triggerTooltip = 'Acciones',\n anchorOrigin = { vertical: 'bottom', horizontal: 'right' },\n transformOrigin = { vertical: 'top', horizontal: 'right' },\n menuSx,\n disabled = false,\n className,\n}: ActionMenuProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n\n const handleOpen = (event: MouseEvent<HTMLElement>) => {\n if (disabled) return;\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => setAnchorEl(null);\n\n const handleItemClick = (\n event: MouseEvent<HTMLLIElement>,\n item: ActionMenuItem,\n ) => {\n event.stopPropagation();\n item.onClick?.(event);\n handleClose();\n };\n\n const triggerElement = trigger ? (\n React.isValidElement(trigger) ? (\n React.cloneElement(trigger as React.ReactElement<any>, {\n onClick: handleOpen,\n disabled,\n })\n ) : (\n <span onClick={handleOpen}>{trigger}</span>\n )\n ) : (\n <Tooltip title={triggerTooltip} arrow>\n <span>\n <IconButton\n size=\"small\"\n onClick={handleOpen}\n disabled={disabled}\n aria-label={triggerTooltip}\n >\n <MoreVertIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n );\n\n return (\n <span className={className}>\n {triggerElement}\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n slotProps={{ paper: { sx: { minWidth: 180, ...(menuSx as any) } } }}\n >\n {items.map((item, idx) => {\n const key = item.key ?? `${String(item.label)}-${idx}`;\n const node = (\n <MenuItem\n key={key}\n disabled={item.disabled}\n onClick={(event) => handleItemClick(event, item)}\n sx={(theme) => ({\n color: item.danger ? theme.palette.error.main : 'inherit',\n '& .MuiListItemIcon-root': {\n color: item.danger\n ? theme.palette.error.main\n : 'inherit',\n minWidth: 32,\n },\n })}\n >\n {item.icon && <ListItemIcon>{item.icon}</ListItemIcon>}\n <ListItemText primary={item.label} />\n </MenuItem>\n );\n\n if (item.dividerBefore && idx > 0) {\n return (\n <React.Fragment key={`${key}-frag`}>\n <Divider />\n {node}\n </React.Fragment>\n );\n }\n return node;\n })}\n </Menu>\n </span>\n );\n}\n\nexport default ActionMenu;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuEO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,eAAe,EAAE,UAAU,UAAU,YAAY,QAAA;AAAA,EACjD,kBAAkB,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,EACjD;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAAoB;AAClB,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,aAAa,CAAC,UAAmC;AACrD,QAAI,SAAU;AACd,UAAM,gBAAA;AACN,gBAAY,MAAM,aAAa;AAAA,EACjC;AAEA,QAAM,cAAc,MAAM,YAAY,IAAI;AAE1C,QAAM,kBAAkB,CACtB,OACA,SACG;;AACH,UAAM,gBAAA;AACN,eAAK,YAAL,8BAAe;AACf,gBAAA;AAAA,EACF;AAEA,QAAM,iBAAiB,UACrBA,eAAM,eAAe,OAAO,IAC1BA,eAAM,aAAa,SAAoC;AAAA,IACrD,SAAS;AAAA,IACT;AAAA,EAAA,CACD,IAED,oBAAC,QAAA,EAAK,SAAS,YAAa,UAAA,QAAA,CAAQ,IAGtC,oBAAC,WAAQ,OAAO,gBAAgB,OAAK,MACnC,8BAAC,QAAA,EACC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,cAAY;AAAA,MAEZ,UAAA,oBAAC,cAAA,EAAa,UAAS,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA,GAEnC,EAAA,CACF;AAGF,SACE,qBAAC,UAAK,WACH,UAAA;AAAA,IAAA;AAAA,IACD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,WAAW,EAAE,OAAO,EAAE,IAAI,iBAAE,UAAU,OAAS,UAAiB;AAAA,QAE/D,UAAA,MAAM,IAAI,CAAC,MAAM,QAAQ;;AACxB,gBAAM,OAAM,UAAK,QAAL,YAAY,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG;AACpD,gBAAM,OACJ;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,UAAU,KAAK;AAAA,cACf,SAAS,CAAC,UAAU,gBAAgB,OAAO,IAAI;AAAA,cAC/C,IAAI,CAAC,WAAW;AAAA,gBACd,OAAO,KAAK,SAAS,MAAM,QAAQ,MAAM,OAAO;AAAA,gBAChD,2BAA2B;AAAA,kBACzB,OAAO,KAAK,SACR,MAAM,QAAQ,MAAM,OACpB;AAAA,kBACJ,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cAGD,UAAA;AAAA,gBAAA,KAAK,QAAQ,oBAAC,cAAA,EAAc,UAAA,KAAK,MAAK;AAAA,gBACvC,oBAAC,cAAA,EAAa,SAAS,KAAK,MAAA,CAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAd9B;AAAA,UAAA;AAkBT,cAAI,KAAK,iBAAiB,MAAM,GAAG;AACjC,mBACE,qBAACA,eAAM,UAAN,EACC,UAAA;AAAA,cAAA,oBAAC,SAAA,EAAQ;AAAA,cACR;AAAA,YAAA,EAAA,GAFkB,GAAG,GAAG,OAG3B;AAAA,UAEJ;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;"}
1
+ {"version":3,"file":"ActionMenu.js","sources":["../../../src/components/ActionMenu/ActionMenu.tsx"],"sourcesContent":["import React, {\n createContext,\n forwardRef,\n useContext,\n useState,\n type ReactElement,\n type ReactNode,\n type MouseEvent,\n} from 'react';\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n Tooltip,\n type MenuItemProps as MuiMenuItemProps,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\nexport interface ActionMenuProps {\n /** Items del menú. Normalmente `<ActionMenuItem>` o `<Divider />`. */\n children: ReactNode;\n /**\n * Elemento disparador — cualquier componente clickeable (Button, Chip, IconButton…).\n * El ActionMenu le inyecta `onClick` automáticamente. Si se omite, se usa un\n * IconButton de tres puntos por defecto.\n */\n trigger?: ReactElement;\n /** Texto de tooltip sobre el trigger default. Default: \"Acciones\". */\n triggerTooltip?: string;\n /** Anchor origin del menu. Default: { vertical: 'bottom', horizontal: 'right' }. */\n anchorOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** Transform origin del menu. Default: { vertical: 'top', horizontal: 'right' }. */\n transformOrigin?: {\n vertical: 'top' | 'center' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n /** sx del Menu (Paper interno). */\n menuSx?: SxProps<Theme>;\n /** Deshabilita el trigger entero. */\n disabled?: boolean;\n}\n\ninterface ActionMenuContextValue {\n close: () => void;\n}\n\nconst ActionMenuContext = createContext<ActionMenuContextValue | null>(null);\n\nexport const ActionMenu: React.FC<ActionMenuProps> = ({\n children,\n trigger,\n triggerTooltip,\n anchorOrigin = { vertical: 'bottom', horizontal: 'right' },\n transformOrigin = { vertical: 'top', horizontal: 'right' },\n menuSx,\n disabled = false,\n}) => {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n\n const handleClose = () => setAnchorEl(null);\n\n // Abre el menú anclándolo al elemento que recibió el click.\n const openMenu = (event: MouseEvent<HTMLElement>) => {\n if (disabled) return;\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n // Si el consumer pasó un trigger (ej. <Button>), le inyectamos onClick.\n // Si no, usamos el IconButton de tres puntos por defecto.\n const triggerElement = trigger ? (\n React.cloneElement(trigger as ReactElement<any>, {\n onClick: openMenu,\n disabled,\n })\n ) : (\n <Tooltip title={triggerTooltip} arrow>\n <IconButton\n size=\"small\"\n onClick={openMenu}\n disabled={disabled}\n aria-label={triggerTooltip}\n >\n <MoreVertIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n );\n\n const paperSx = [\n { minWidth: 180 },\n ...(Array.isArray(menuSx) ? menuSx : menuSx ? [menuSx] : []),\n ] as SxProps<Theme>;\n\n return (\n <>\n {triggerElement}\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n slotProps={{ paper: { sx: paperSx } }}\n >\n <ActionMenuContext.Provider value={{ close: handleClose }}>\n {children}\n </ActionMenuContext.Provider>\n </Menu>\n </>\n );\n};\n\nexport interface ActionMenuItemProps\n extends Omit<MuiMenuItemProps, 'children' | 'onClick'> {\n /** Icono opcional a la izquierda. */\n icon?: ReactNode;\n /** Texto (o nodo) del item. */\n children: ReactNode;\n /** Handler de click. El menú se cierra automáticamente después. */\n onClick?: (event: MouseEvent<HTMLLIElement>) => void;\n}\n\n/**\n * Item del `ActionMenu`. Se cierra automáticamente al hacer click.\n * Acepta todos los props de `MenuItem` de MUI (disabled, selected, sx, …).\n */\nexport const ActionMenuItem = forwardRef<HTMLLIElement, ActionMenuItemProps>(\n function ActionMenuItem({ icon, children, onClick, ...rest }, ref) {\n const ctx = useContext(ActionMenuContext);\n\n const handleClick = (event: MouseEvent<HTMLLIElement>) => {\n event.stopPropagation();\n onClick?.(event);\n ctx?.close();\n };\n\n return (\n <MenuItem ref={ref} onClick={handleClick} {...rest}>\n {icon && <ListItemIcon sx={{ minWidth: 32 }}>{icon}</ListItemIcon>}\n <ListItemText primary={children} />\n </MenuItem>\n );\n },\n);\n\nexport default ActionMenu;\n"],"names":["React","ActionMenuItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAM,oBAAoB,cAA6C,IAAI;AAEpE,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,EAAE,UAAU,UAAU,YAAY,QAAA;AAAA,EACjD,kBAAkB,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,EACjD;AAAA,EACA,WAAW;AACb,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,cAAc,MAAM,YAAY,IAAI;AAG1C,QAAM,WAAW,CAAC,UAAmC;AACnD,QAAI,SAAU;AACd,UAAM,gBAAA;AACN,gBAAY,MAAM,aAAa;AAAA,EACjC;AAIA,QAAM,iBAAiB,UACrBA,eAAM,aAAa,SAA8B;AAAA,IAC/C,SAAS;AAAA,IACT;AAAA,EAAA,CACD,IAED,oBAAC,WAAQ,OAAO,gBAAgB,OAAK,MACnC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,cAAY;AAAA,MAEZ,UAAA,oBAAC,cAAA,EAAa,UAAS,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA,GAEnC;AAGF,QAAM,UAAU;AAAA,IACd,EAAE,UAAU,IAAA;AAAA,IACZ,GAAI,MAAM,QAAQ,MAAM,IAAI,SAAS,SAAS,CAAC,MAAM,IAAI,CAAA;AAAA,EAAC;AAG5D,SACE,qBAAA,UAAA,EACG,UAAA;AAAA,IAAA;AAAA,IACD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,WAAW,EAAE,OAAO,EAAE,IAAI,UAAQ;AAAA,QAElC,UAAA,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,OAAO,YAAA,GACzC,SAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAgBO,MAAM,iBAAiB;AAAA,EAC5B,SAASC,gBAAe,IAAsC,KAAK;AAA3C,iBAAE,QAAM,UAAU,YAAlB,IAA8B,iBAA9B,IAA8B,CAA5B,QAAM,YAAU;AACxC,UAAM,MAAM,WAAW,iBAAiB;AAExC,UAAM,cAAc,CAAC,UAAqC;AACxD,YAAM,gBAAA;AACN,yCAAU;AACV,iCAAK;AAAA,IACP;AAEA,gCACG,UAAA,+BAAS,KAAU,SAAS,eAAiB,OAA7C,EACE,UAAA;AAAA,MAAA,4BAAS,cAAA,EAAa,IAAI,EAAE,UAAU,GAAA,GAAO,UAAA,MAAK;AAAA,MACnD,oBAAC,cAAA,EAAa,SAAS,SAAA,CAAU;AAAA,IAAA,IACnC;AAAA,EAEJ;AACF;"}
@@ -1,2 +1,2 @@
1
- export { ActionMenu, default } from './ActionMenu';
2
- export type { ActionMenuProps, ActionMenuItem } from './ActionMenu';
1
+ export { ActionMenu, ActionMenuItem, default } from './ActionMenu';
2
+ export type { ActionMenuProps, ActionMenuItemProps } from './ActionMenu';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Alert = require("../../Alert-B3SMPD1s.cjs");
4
+ exports.Alert = Alert.Alert;
5
+ exports.default = Alert.Alert;
6
+ //# sourceMappingURL=Alert.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,31 @@
1
+ import { ReactNode } from 'react';
2
+ import { SxProps, Theme } from '@mui/material/styles';
3
+ export type AlertSeverity = 'error' | 'warning' | 'info' | 'success';
4
+ export type AlertVariant = 'standard' | 'filled' | 'outlined';
5
+ export interface AlertProps {
6
+ /** Color + icono. Default: `info`. */
7
+ severity?: AlertSeverity;
8
+ /** Estilo visual. Default: `standard`. */
9
+ variant?: AlertVariant;
10
+ /** Contenido del alert (texto o JSX arbitrario). */
11
+ children?: ReactNode;
12
+ /** Si se provee, muestra la X de cerrar y la invoca al click. */
13
+ onClose?: () => void;
14
+ /** Icono custom, o `false` para ocultarlo. */
15
+ icon?: ReactNode | false;
16
+ /** Acción a la derecha (ej. botón). */
17
+ action?: ReactNode;
18
+ sx?: SxProps<Theme>;
19
+ className?: string;
20
+ 'data-testid'?: string;
21
+ }
22
+ /**
23
+ * Aviso inline flexible (banner). Wrapper fino sobre MUI `Alert` — para
24
+ * mensajes contextuales con contenido arbitrario y las 4 severidades
25
+ * (error/warning/info/success).
26
+ *
27
+ * Distinto de `StatusMessage`, que es feedback opinado de formularios
28
+ * (title+description, success/danger/warning, modo alert o modal).
29
+ */
30
+ export declare function Alert({ severity, variant, children, onClose, icon, action, sx, className, 'data-testid': dataTestId, }: AlertProps): import("react/jsx-runtime").JSX.Element;
31
+ export default Alert;
@@ -0,0 +1,6 @@
1
+ import { A, A as A2 } from "../../Alert-YsPScpSE.js";
2
+ export {
3
+ A as Alert,
4
+ A2 as default
5
+ };
6
+ //# sourceMappingURL=Alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ export { Alert, default } from './Alert';
2
+ export type { AlertProps, AlertSeverity, AlertVariant } from './Alert';
@@ -0,0 +1,6 @@
1
+ export * from './Alert/index'
2
+ export {}
3
+ import _default from './Alert/index'
4
+ export default _default
5
+ export * from './Alert/index'
6
+ export {}