@soyfri/shared-library 2.0.0-beta.3 → 2.0.0-beta.31

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 (359) 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/Button-C17mExpd.cjs.map +1 -1
  14. package/Button-UkkP-bNw.js.map +1 -1
  15. package/Card-DYKGY-NG.js +116 -0
  16. package/Card-DYKGY-NG.js.map +1 -0
  17. package/Card-Dr1-ATRY.cjs +115 -0
  18. package/Card-Dr1-ATRY.cjs.map +1 -0
  19. package/Checkbox-BCqMFWt4.cjs +187 -0
  20. package/Checkbox-BCqMFWt4.cjs.map +1 -0
  21. package/Checkbox-gB5YKkVo.js +188 -0
  22. package/Checkbox-gB5YKkVo.js.map +1 -0
  23. package/{components/DateRangePicker/DateRangePicker.js → Chip-OPYQ1uQ_.js} +33 -35
  24. package/Chip-OPYQ1uQ_.js.map +1 -0
  25. package/{components/DateRangePicker/DateRangePicker.cjs → Chip-qoJLDiva.cjs} +33 -36
  26. package/Chip-qoJLDiva.cjs.map +1 -0
  27. package/DatePicker-_IGWc3I5.js +178 -0
  28. package/DatePicker-_IGWc3I5.js.map +1 -0
  29. package/DatePicker-t7uDTZMl.cjs +177 -0
  30. package/DatePicker-t7uDTZMl.cjs.map +1 -0
  31. package/DateTimePicker-BxQyjTCY.cjs +229 -0
  32. package/DateTimePicker-BxQyjTCY.cjs.map +1 -0
  33. package/DateTimePicker-CrmWav_j.js +230 -0
  34. package/DateTimePicker-CrmWav_j.js.map +1 -0
  35. package/Input-CScC87J5.cjs +185 -0
  36. package/Input-CScC87J5.cjs.map +1 -0
  37. package/Input-DP_fKl38.js +186 -0
  38. package/Input-DP_fKl38.js.map +1 -0
  39. package/Modal-BFpX5AFV.js +347 -0
  40. package/Modal-BFpX5AFV.js.map +1 -0
  41. package/Modal-CkpuI8ns.cjs +346 -0
  42. package/Modal-CkpuI8ns.cjs.map +1 -0
  43. package/RadioGroup-Dd0rHXSX.cjs +202 -0
  44. package/RadioGroup-Dd0rHXSX.cjs.map +1 -0
  45. package/RadioGroup-bO-ahP9T.js +203 -0
  46. package/RadioGroup-bO-ahP9T.js.map +1 -0
  47. package/Select-BY5Y0qZ1.js +376 -0
  48. package/Select-BY5Y0qZ1.js.map +1 -0
  49. package/Select-CURrHSyl.cjs +375 -0
  50. package/Select-CURrHSyl.cjs.map +1 -0
  51. package/Spinner-B6sThC1p.js +74 -0
  52. package/Spinner-B6sThC1p.js.map +1 -0
  53. package/Spinner-D7qRmNS9.cjs +73 -0
  54. package/Spinner-D7qRmNS9.cjs.map +1 -0
  55. package/Stat-BUcFCGrz.cjs +83 -0
  56. package/Stat-BUcFCGrz.cjs.map +1 -0
  57. package/Stat-C06A_izS.js +84 -0
  58. package/Stat-C06A_izS.js.map +1 -0
  59. package/StatusMessage-B3nXpuRl.cjs +88 -0
  60. package/StatusMessage-B3nXpuRl.cjs.map +1 -0
  61. package/StatusMessage-D0WgSBx7.js +89 -0
  62. package/StatusMessage-D0WgSBx7.js.map +1 -0
  63. package/Step-BArsou1V.js +301 -0
  64. package/Step-BArsou1V.js.map +1 -0
  65. package/Step-Nd7SJbRZ.cjs +300 -0
  66. package/Step-Nd7SJbRZ.cjs.map +1 -0
  67. package/Switch-CQFOopYy.cjs +182 -0
  68. package/Switch-CQFOopYy.cjs.map +1 -0
  69. package/Switch-D72dpkH2.js +183 -0
  70. package/Switch-D72dpkH2.js.map +1 -0
  71. package/Tab-BbP8jBcK.cjs +110 -0
  72. package/Tab-BbP8jBcK.cjs.map +1 -0
  73. package/Tab-BxSxKJsP.js +111 -0
  74. package/Tab-BxSxKJsP.js.map +1 -0
  75. package/Table-C2LbW0B1.js +531 -0
  76. package/Table-C2LbW0B1.js.map +1 -0
  77. package/Table-C4OM6rrC.cjs +530 -0
  78. package/Table-C4OM6rrC.cjs.map +1 -0
  79. package/components/ActionMenu/ActionMenu.cjs +52 -52
  80. package/components/ActionMenu/ActionMenu.cjs.map +1 -1
  81. package/components/ActionMenu/ActionMenu.d.ts +20 -36
  82. package/components/ActionMenu/ActionMenu.js +55 -55
  83. package/components/ActionMenu/ActionMenu.js.map +1 -1
  84. package/components/ActionMenu/index.d.ts +2 -2
  85. package/components/Alert/Alert.cjs +6 -0
  86. package/components/Alert/Alert.cjs.map +1 -0
  87. package/components/Alert/Alert.d.ts +31 -0
  88. package/components/Alert/Alert.js +6 -0
  89. package/components/Alert/Alert.js.map +1 -0
  90. package/components/Alert/index.d.ts +2 -0
  91. package/components/Alert.d.ts +6 -0
  92. package/components/AppBar/AppBar.cjs +3 -220
  93. package/components/AppBar/AppBar.cjs.map +1 -1
  94. package/components/AppBar/AppBar.d.ts +6 -6
  95. package/components/AppBar/AppBar.js +6 -223
  96. package/components/AppBar/AppBar.js.map +1 -1
  97. package/components/AppBar/index.d.ts +0 -6
  98. package/components/Autocomplete/Autocomplete.cjs +4 -311
  99. package/components/Autocomplete/Autocomplete.cjs.map +1 -1
  100. package/components/Autocomplete/Autocomplete.d.ts +8 -6
  101. package/components/Autocomplete/Autocomplete.helpers.d.ts +8 -4
  102. package/components/Autocomplete/Autocomplete.js +4 -311
  103. package/components/Autocomplete/Autocomplete.js.map +1 -1
  104. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +5 -8
  105. package/components/Autocomplete/index.d.ts +1 -1
  106. package/components/Avatar/Avatar.cjs +2 -160
  107. package/components/Avatar/Avatar.cjs.map +1 -1
  108. package/components/Avatar/Avatar.d.ts +16 -1
  109. package/components/Avatar/Avatar.js +2 -160
  110. package/components/Avatar/Avatar.js.map +1 -1
  111. package/components/Avatar/index.d.ts +1 -0
  112. package/components/Button/Button.d.ts +5 -5
  113. package/components/Button/index.d.ts +1 -0
  114. package/components/Card/Card.cjs +4 -184
  115. package/components/Card/Card.cjs.map +1 -1
  116. package/components/Card/Card.d.ts +21 -50
  117. package/components/Card/Card.js +4 -184
  118. package/components/Card/Card.js.map +1 -1
  119. package/components/Card/Card.sx.d.ts +3 -6
  120. package/components/Card/index.d.ts +1 -1
  121. package/components/Checkbox/Checkbox.cjs +6 -0
  122. package/components/Checkbox/Checkbox.cjs.map +1 -0
  123. package/components/Checkbox/Checkbox.d.ts +55 -0
  124. package/components/Checkbox/Checkbox.js +6 -0
  125. package/components/Checkbox/Checkbox.js.map +1 -0
  126. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  127. package/components/Checkbox/index.d.ts +2 -0
  128. package/components/Checkbox.d.ts +6 -0
  129. package/components/Chip/Chip.cjs +4 -72
  130. package/components/Chip/Chip.cjs.map +1 -1
  131. package/components/Chip/Chip.js +3 -71
  132. package/components/Chip/Chip.js.map +1 -1
  133. package/components/Chip/index.d.ts +2 -1
  134. package/components/Chip.d.ts +4 -0
  135. package/components/Column/Column.cjs +1 -1
  136. package/components/Column/Column.cjs.map +1 -1
  137. package/components/Column/Column.d.ts +1 -1
  138. package/components/Column/Column.js +1 -1
  139. package/components/Column/Column.js.map +1 -1
  140. package/components/Column/index.d.ts +1 -0
  141. package/components/DatePicker/DatePicker.cjs +3 -200
  142. package/components/DatePicker/DatePicker.cjs.map +1 -1
  143. package/components/DatePicker/DatePicker.d.ts +1 -13
  144. package/components/DatePicker/DatePicker.js +3 -200
  145. package/components/DatePicker/DatePicker.js.map +1 -1
  146. package/components/DatePicker/index.d.ts +1 -1
  147. package/components/DateTimePicker/DateTimePicker.cjs +3 -219
  148. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  149. package/components/DateTimePicker/DateTimePicker.d.ts +10 -6
  150. package/components/DateTimePicker/DateTimePicker.definitions.d.ts +2 -0
  151. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +4 -2
  152. package/components/DateTimePicker/DateTimePicker.js +3 -219
  153. package/components/DateTimePicker/DateTimePicker.js.map +1 -1
  154. package/components/DateTimePicker/index.d.ts +1 -1
  155. package/components/Drawer/Drawer.cjs +25 -24
  156. package/components/Drawer/Drawer.cjs.map +1 -1
  157. package/components/Drawer/Drawer.d.ts +8 -1
  158. package/components/Drawer/Drawer.js +26 -25
  159. package/components/Drawer/Drawer.js.map +1 -1
  160. package/components/Drawer/DrawerItem.d.ts +6 -1
  161. package/components/Gallery/Gallery.cjs +154 -79
  162. package/components/Gallery/Gallery.cjs.map +1 -1
  163. package/components/Gallery/Gallery.d.ts +25 -9
  164. package/components/Gallery/Gallery.js +154 -79
  165. package/components/Gallery/Gallery.js.map +1 -1
  166. package/components/Gallery/GalleryLightbox.d.ts +6 -10
  167. package/components/Gallery/GalleryMain.d.ts +3 -7
  168. package/components/Gallery/GalleryThumbnails.d.ts +7 -11
  169. package/components/Gallery/index.d.ts +2 -1
  170. package/components/Gallery.d.ts +4 -0
  171. package/components/Icon/Icon.cjs +6 -8
  172. package/components/Icon/Icon.cjs.map +1 -1
  173. package/components/Icon/Icon.d.ts +11 -17
  174. package/components/Icon/Icon.js +6 -8
  175. package/components/Icon/Icon.js.map +1 -1
  176. package/components/Icon/index.d.ts +2 -1
  177. package/components/Icon.d.ts +4 -0
  178. package/components/Input/Input.cjs +3 -172
  179. package/components/Input/Input.cjs.map +1 -1
  180. package/components/Input/Input.d.ts +9 -2
  181. package/components/Input/Input.definitions.d.ts +1 -0
  182. package/components/Input/Input.helpers.d.ts +3 -3
  183. package/components/Input/Input.js +3 -172
  184. package/components/Input/Input.js.map +1 -1
  185. package/components/Input/index.d.ts +1 -1
  186. package/components/InputGroup/InputGroup.cjs +23 -22
  187. package/components/InputGroup/InputGroup.cjs.map +1 -1
  188. package/components/InputGroup/InputGroup.d.ts +4 -4
  189. package/components/InputGroup/InputGroup.js +22 -21
  190. package/components/InputGroup/InputGroup.js.map +1 -1
  191. package/components/InputGroup/index.d.ts +2 -1
  192. package/components/InputGroup.d.ts +4 -0
  193. package/components/Modal/Modal.cjs +7 -317
  194. package/components/Modal/Modal.cjs.map +1 -1
  195. package/components/Modal/Modal.d.ts +20 -5
  196. package/components/Modal/Modal.js +6 -316
  197. package/components/Modal/Modal.js.map +1 -1
  198. package/components/Modal/ModalBody.d.ts +6 -1
  199. package/components/Modal/ModalFooter.d.ts +4 -4
  200. package/components/Modal/ModalHeader.d.ts +6 -1
  201. package/components/Modal/index.d.ts +3 -1
  202. package/components/Modal.d.ts +4 -0
  203. package/components/RadioGroup/RadioGroup.cjs +6 -0
  204. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  205. package/components/RadioGroup/RadioGroup.d.ts +59 -0
  206. package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
  207. package/components/RadioGroup/RadioGroup.js +6 -0
  208. package/components/RadioGroup/RadioGroup.js.map +1 -0
  209. package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
  210. package/components/RadioGroup/index.d.ts +2 -0
  211. package/components/RadioGroup.d.ts +6 -0
  212. package/components/Select/Select.cjs +4 -445
  213. package/components/Select/Select.cjs.map +1 -1
  214. package/components/Select/Select.d.ts +37 -18
  215. package/components/Select/Select.helpers.d.ts +5 -19
  216. package/components/Select/Select.js +4 -445
  217. package/components/Select/Select.js.map +1 -1
  218. package/components/Select/index.d.ts +1 -1
  219. package/components/Spinner/Spinner.cjs +6 -0
  220. package/components/Spinner/Spinner.cjs.map +1 -0
  221. package/components/Spinner/Spinner.d.ts +26 -0
  222. package/components/Spinner/Spinner.js +6 -0
  223. package/components/Spinner/Spinner.js.map +1 -0
  224. package/components/Spinner/index.d.ts +2 -0
  225. package/components/Spinner.d.ts +6 -0
  226. package/components/Stat/Stat.cjs +4 -83
  227. package/components/Stat/Stat.cjs.map +1 -1
  228. package/components/Stat/Stat.js +3 -82
  229. package/components/Stat/Stat.js.map +1 -1
  230. package/components/Stat/index.d.ts +2 -1
  231. package/components/Stat.d.ts +4 -0
  232. package/components/StatusMessage/StatusMessage.cjs +4 -77
  233. package/components/StatusMessage/StatusMessage.cjs.map +1 -1
  234. package/components/StatusMessage/StatusMessage.d.ts +20 -36
  235. package/components/StatusMessage/StatusMessage.js +3 -76
  236. package/components/StatusMessage/StatusMessage.js.map +1 -1
  237. package/components/StatusMessage/index.d.ts +2 -1
  238. package/components/StatusMessage.d.ts +4 -0
  239. package/components/Stepper/Stepper.cjs +8 -47
  240. package/components/Stepper/Stepper.cjs.map +1 -1
  241. package/components/Stepper/Stepper.d.ts +9 -8
  242. package/components/Stepper/Stepper.js +7 -46
  243. package/components/Stepper/Stepper.js.map +1 -1
  244. package/{hooks/Wizard/WizardContext.d.ts → components/Stepper/StepperContext.d.ts} +29 -23
  245. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  246. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  247. package/components/Stepper/index.d.ts +6 -2
  248. package/components/Stepper.d.ts +4 -0
  249. package/components/Switch/Switch.cjs +6 -0
  250. package/components/Switch/Switch.cjs.map +1 -0
  251. package/components/Switch/Switch.d.ts +48 -0
  252. package/components/Switch/Switch.definitions.d.ts +7 -0
  253. package/components/Switch/Switch.js +6 -0
  254. package/components/Switch/Switch.js.map +1 -0
  255. package/components/Switch/Switch.sx.d.ts +22 -0
  256. package/components/Switch/Switch.types.d.ts +1 -0
  257. package/components/Switch/index.d.ts +2 -0
  258. package/components/Switch.d.ts +6 -0
  259. package/components/Table/Table.cjs +2 -528
  260. package/components/Table/Table.cjs.map +1 -1
  261. package/components/Table/Table.d.ts +1 -1
  262. package/components/Table/Table.js +2 -528
  263. package/components/Table/Table.js.map +1 -1
  264. package/components/Tabs/Tabs.cjs +5 -94
  265. package/components/Tabs/Tabs.cjs.map +1 -1
  266. package/components/Tabs/Tabs.d.ts +21 -16
  267. package/components/Tabs/Tabs.js +4 -93
  268. package/components/Tabs/Tabs.js.map +1 -1
  269. package/components/Tabs/index.d.ts +4 -2
  270. package/components/Tabs.d.ts +4 -0
  271. package/components/Timeline/Timeline.cjs +3 -2
  272. package/components/Timeline/Timeline.cjs.map +1 -1
  273. package/components/Timeline/Timeline.d.ts +4 -8
  274. package/components/Timeline/Timeline.js +3 -2
  275. package/components/Timeline/Timeline.js.map +1 -1
  276. package/components/Timeline/index.d.ts +4 -2
  277. package/components/Timeline.d.ts +4 -0
  278. package/components/_shared/mergeSx.d.ts +7 -0
  279. package/{formField.sx-DfVbMe0V.js → formField.sx-8_QRnKxv.js} +2 -11
  280. package/formField.sx-8_QRnKxv.js.map +1 -0
  281. package/{formField.sx-CQ1mbk9M.cjs → formField.sx-BAX7KwMR.cjs} +10 -19
  282. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  283. package/index.cjs +96 -6
  284. package/index.cjs.map +1 -1
  285. package/index.d.ts +36 -0
  286. package/index.js +70 -4
  287. package/index.js.map +1 -1
  288. package/local/affiliations/affiliations.dev.soyfri.com-key.pem +28 -0
  289. package/local/affiliations/affiliations.dev.soyfri.com.pem +27 -0
  290. package/local/aficiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
  291. package/local/aficiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
  292. package/local/afiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
  293. package/local/afiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
  294. package/local/root/rootCA-key.pem +40 -0
  295. package/local/root/rootCA.pem +30 -0
  296. package/local/soporte/supportweb.dev.soyfri.com-key.pem +28 -0
  297. package/local/soporte/supportweb.dev.soyfri.com.pem +27 -0
  298. package/local/support/supportweb.dev.soyfri.com-key.pem +28 -0
  299. package/local/support/supportweb.dev.soyfri.com.pem +27 -0
  300. package/mergeSx-BXoNZjB_.js +10 -0
  301. package/mergeSx-BXoNZjB_.js.map +1 -0
  302. package/mergeSx-Dbccoo_H.cjs +9 -0
  303. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  304. package/mui.d.ts +3 -1
  305. package/package.json +78 -73
  306. package/{resolvePreset-CT3kU-K2.cjs → resolvePreset-CxTI6_Ln.cjs} +3 -3
  307. package/{resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CxTI6_Ln.cjs.map} +1 -1
  308. package/{resolvePreset-B-IB0ehH.js → resolvePreset-K6_BfWHD.js} +3 -3
  309. package/{resolvePreset-B-IB0ehH.js.map → resolvePreset-K6_BfWHD.js.map} +1 -1
  310. package/theme/componentStyles.d.ts +1 -1
  311. package/tokens-BRrcP_p_.js +21 -0
  312. package/tokens-BRrcP_p_.js.map +1 -0
  313. package/tokens-jaWWNk39.cjs +20 -0
  314. package/tokens-jaWWNk39.cjs.map +1 -0
  315. package/utils/index.d.ts +2 -0
  316. package/{components/ScrollTopButton → utils}/scrollToTop.d.ts +6 -7
  317. package/components/AppBar/AppBarBrand.d.ts +0 -31
  318. package/components/AppBar/AppBarUserMenu.d.ts +0 -65
  319. package/components/Autocomplete/Autocomplete.types.d.ts +0 -1
  320. package/components/DatePicker/DatePicker.types.d.ts +0 -1
  321. package/components/DateRangePicker/DateRangePicker.cjs.map +0 -1
  322. package/components/DateRangePicker/DateRangePicker.d.ts +0 -15
  323. package/components/DateRangePicker/DateRangePicker.definitions.d.ts +0 -6
  324. package/components/DateRangePicker/DateRangePicker.js.map +0 -1
  325. package/components/DateRangePicker/index.d.ts +0 -1
  326. package/components/DateRangePicker.d.ts +0 -2
  327. package/components/DateTimePicker/DateTimePicker.types.d.ts +0 -1
  328. package/components/Input/Input.types.d.ts +0 -1
  329. package/components/PageLoader/PageLoader.cjs +0 -61
  330. package/components/PageLoader/PageLoader.cjs.map +0 -1
  331. package/components/PageLoader/PageLoader.d.ts +0 -38
  332. package/components/PageLoader/PageLoader.js +0 -61
  333. package/components/PageLoader/PageLoader.js.map +0 -1
  334. package/components/PageLoader/index.d.ts +0 -2
  335. package/components/PageLoader.d.ts +0 -6
  336. package/components/ScrollTopButton/ScrollTopButton.cjs +0 -79
  337. package/components/ScrollTopButton/ScrollTopButton.cjs.map +0 -1
  338. package/components/ScrollTopButton/ScrollTopButton.d.ts +0 -48
  339. package/components/ScrollTopButton/ScrollTopButton.js +0 -79
  340. package/components/ScrollTopButton/ScrollTopButton.js.map +0 -1
  341. package/components/ScrollTopButton/index.d.ts +0 -4
  342. package/components/ScrollTopButton.d.ts +0 -6
  343. package/components/Select/Select.definitions.d.ts +0 -17
  344. package/components/Select/Select.types.d.ts +0 -1
  345. package/components/Select/_parts/SelectSearchHeader.d.ts +0 -15
  346. package/formField.sx-CQ1mbk9M.cjs.map +0 -1
  347. package/formField.sx-DfVbMe0V.js.map +0 -1
  348. package/hooks/Wizard/Wizard.cjs +0 -7
  349. package/hooks/Wizard/Wizard.cjs.map +0 -1
  350. package/hooks/Wizard/Wizard.js +0 -7
  351. package/hooks/Wizard/Wizard.js.map +0 -1
  352. package/hooks/Wizard/index.d.ts +0 -3
  353. package/hooks/Wizard/useWizard.d.ts +0 -9
  354. package/hooks/Wizard.d.ts +0 -2
  355. package/useWizard-CWdIxZzX.cjs +0 -94
  356. package/useWizard-CWdIxZzX.cjs.map +0 -1
  357. package/useWizard-CWq--C3o.js +0 -95
  358. package/useWizard-CWq--C3o.js.map +0 -1
  359. /package/{styles.css → index.css} +0 -0
@@ -28,5 +28,5 @@ interface TableProps<T> {
28
28
  emptyMessage?: string;
29
29
  emptyImageSrc?: React.ReactNode;
30
30
  }
31
- export declare function Table<T>({ data, children, currentPage, pageSize, totalPages, previousPage, nextPage, pageSizeSelectorValue, onPageChange, onPageSizeChange, visiblePageNumbers, enableCSVExport, csvExportFileName, csvExportButtonText, csvExportColumns, enableExcelExport, excelExportFileName, excelExportButtonText, excelExportColumns, enableRowSelection, rowIdentifier, onSelectionChange, showPageSizeSelector, emptyTitle, emptyMessage, emptyImageSrc, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
31
+ export declare function Table<T>({ data, children, currentPage, pageSize, totalPages, previousPage: _previousPage, nextPage: _nextPage, pageSizeSelectorValue, onPageChange, onPageSizeChange, visiblePageNumbers, enableCSVExport, csvExportFileName, csvExportButtonText, csvExportColumns, enableExcelExport, excelExportFileName, excelExportButtonText, excelExportColumns, enableRowSelection, rowIdentifier, onSelectionChange, showPageSizeSelector, emptyTitle, emptyMessage, emptyImageSrc, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
32
32
  export default Table;
@@ -1,531 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- import { jsx, jsxs } from "react/jsx-runtime";
18
- import React__default, { Children, isValidElement, useState, useEffect } from "react";
19
- import { TableContainer, Table as Table$1, TableHead, TableRow, TableCell, Checkbox, Typography, TableBody, Box, Select, MenuItem, IconButton, Button, Snackbar } from "@mui/material";
20
- import MuiAlert from "@mui/material/Alert";
21
- import DownloadOutlinedIcon from "@mui/icons-material/DownloadOutlined";
22
- import FirstPageIcon from "@mui/icons-material/FirstPage";
23
- import LastPageIcon from "@mui/icons-material/LastPage";
24
- import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft";
25
- import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
26
- const exportToCSV = (options) => {
27
- const { data, columns, fileName, exportColumns, setSnackbarOpen, setSnackbarMessage, setSnackbarSeverity } = options;
28
- if (!data || data.length === 0) {
29
- setSnackbarMessage("No hay datos para exportar a CSV.");
30
- setSnackbarSeverity("warning");
31
- setSnackbarOpen(true);
32
- return;
33
- }
34
- setSnackbarMessage("Exportando datos a CSV...");
35
- setSnackbarSeverity("info");
36
- setSnackbarOpen(true);
37
- try {
38
- const columnsToExport = exportColumns ? columns.filter((col) => exportColumns.includes(col.props.name)) : columns;
39
- const headers = columnsToExport.map((col) => `"${col.props.name.replace(/"/g, '""')}"`).join(",");
40
- const csvRows = data.map((row) => {
41
- const values = columnsToExport.map((col) => {
42
- const field = col.props.field;
43
- let cellValue;
44
- if (Array.isArray(field)) {
45
- cellValue = row[field[0]];
46
- } else {
47
- cellValue = row[field];
48
- }
49
- let formattedValue = String(cellValue || "");
50
- if (formattedValue.includes(",") || formattedValue.includes('"') || formattedValue.includes("\n")) {
51
- formattedValue = `"${formattedValue.replace(/"/g, '""')}"`;
52
- }
53
- return formattedValue;
54
- });
55
- return values.join(",");
56
- });
57
- const csvContent = [headers, ...csvRows].join("\n");
58
- const blob = new Blob([csvContent], { type: "text/csv;charset=utf-8;" });
59
- const link = document.createElement("a");
60
- if (link.download !== void 0) {
61
- const url = URL.createObjectURL(blob);
62
- link.setAttribute("href", url);
63
- link.setAttribute("download", fileName + ".csv");
64
- link.style.visibility = "hidden";
65
- document.body.appendChild(link);
66
- link.click();
67
- document.body.removeChild(link);
68
- URL.revokeObjectURL(url);
69
- setSnackbarMessage("¡Exportación a CSV completada!");
70
- setSnackbarSeverity("success");
71
- } else {
72
- setSnackbarMessage("Tu navegador no soporta la descarga directa para CSV. Por favor, copia el contenido manualmente.");
73
- setSnackbarSeverity("error");
74
- }
75
- } catch (error) {
76
- console.error("Error al exportar los datos a CSV:", error);
77
- setSnackbarMessage("Error al exportar los datos a CSV.");
78
- setSnackbarSeverity("error");
79
- } finally {
80
- setSnackbarOpen(true);
81
- }
82
- };
83
- const exportToExcel = (options) => {
84
- const { data, columns, fileName, exportColumns, setSnackbarOpen, setSnackbarMessage, setSnackbarSeverity } = options;
85
- if (!data || data.length === 0) {
86
- setSnackbarMessage("No hay datos para exportar a Excel.");
87
- setSnackbarSeverity("warning");
88
- setSnackbarOpen(true);
89
- return;
90
- }
91
- setSnackbarMessage("Exportando datos a Excel (XLSX)...");
92
- setSnackbarSeverity("info");
93
- setSnackbarOpen(true);
94
- try {
95
- const columnsToExport = exportColumns ? columns.filter((col) => exportColumns.includes(col.props.name)) : columns;
96
- let tableHTML = `
97
- <html xmlns:o="urn:schemas-microsoft-com:office:office"
98
- xmlns:x="urn:schemas-microsoft-com:office:excel"
99
- xmlns="http://www.w3.org/TR/REC-html40">
100
- <head>
101
- <meta charset="utf-8" />
102
- <!--[if gte mso 9]><xml>
103
- <x:ExcelWorkbook>
104
- <x:ExcelWorksheets>
105
- <x:ExcelWorksheet>
106
- <x:Name>Hoja1</x:Name>
107
- <x:WorksheetOptions>
108
- <x:DisplayGridlines/>
109
- </x:WorksheetOptions>
110
- </x:ExcelWorksheet>
111
- </x:ExcelWorksheets>
112
- </x:ExcelWorkbook>
113
- </xml><![endif]-->
114
- </head>
115
- <body>
116
- <table>
117
- <thead>
118
- <tr>
119
- ${columnsToExport.map((col) => `<th>${col.props.name}</th>`).join("")}
120
- </tr>
121
- </thead>
122
- <tbody>
123
- ${data.map((row) => `
124
- <tr>
125
- ${columnsToExport.map((col) => {
126
- const field = col.props.field;
127
- let cellValue;
128
- if (Array.isArray(field)) {
129
- cellValue = row[field[0]];
130
- } else {
131
- cellValue = row[field];
132
- }
133
- return `<td>${String(cellValue || "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")}</td>`;
134
- }).join("")}
135
- </tr>
136
- `).join("")}
137
- </tbody>
138
- </table>
139
- </body>
140
- </html>
141
- `;
142
- const blob = new Blob([tableHTML], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8;" });
143
- const link = document.createElement("a");
144
- if (link.download !== void 0) {
145
- const url = URL.createObjectURL(blob);
146
- link.setAttribute("href", url);
147
- link.setAttribute("download", fileName + ".xlsx");
148
- link.style.visibility = "hidden";
149
- document.body.appendChild(link);
150
- link.click();
151
- document.body.removeChild(link);
152
- URL.revokeObjectURL(url);
153
- setSnackbarMessage("¡Exportación a Excel (XLSX) completada!");
154
- setSnackbarSeverity("success");
155
- } else {
156
- setSnackbarMessage("Tu navegador no soporta la descarga directa para Excel (XLSX). Por favor, copia el contenido manualmente.");
157
- setSnackbarSeverity("error");
158
- }
159
- } catch (error) {
160
- console.error("Error al exportar los datos a Excel (XLSX):", error);
161
- setSnackbarMessage("Error al exportar los datos a Excel (XLSX).");
162
- setSnackbarSeverity("error");
163
- } finally {
164
- setSnackbarOpen(true);
165
- }
166
- };
167
- const EmptyImage = "data:image/png;base64,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";
168
- const Alert = React__default.forwardRef(function Alert2(props, ref) {
169
- return /* @__PURE__ */ jsx(MuiAlert, __spreadValues({ elevation: 6, ref, variant: "filled" }, props));
170
- });
171
- function Table({
172
- data,
173
- children,
174
- currentPage,
175
- pageSize,
176
- totalPages,
177
- previousPage,
178
- nextPage,
179
- pageSizeSelectorValue = 10,
180
- onPageChange,
181
- onPageSizeChange,
182
- visiblePageNumbers = 5,
183
- enableCSVExport = false,
184
- csvExportFileName = "data.csv",
185
- csvExportButtonText = "Exportar CSV",
186
- csvExportColumns,
187
- enableExcelExport = false,
188
- excelExportFileName = "data.xlsx",
189
- excelExportButtonText = "Exportar Excel",
190
- excelExportColumns,
191
- enableRowSelection = false,
192
- rowIdentifier,
193
- onSelectionChange,
194
- showPageSizeSelector = true,
195
- emptyTitle = "No hay datos disponibles",
196
- emptyMessage,
197
- emptyImageSrc = /* @__PURE__ */ jsx(Box, { mb: 2, children: /* @__PURE__ */ jsx("img", { src: EmptyImage, alt: "No data", style: { maxWidth: "150px", opacity: 0.6 } }) })
198
- }) {
199
- const columns = Children.toArray(children).filter(
200
- (child) => isValidElement(child) && child.type.displayName === "Column"
201
- );
202
- const [snackbarOpen, setSnackbarOpen] = useState(false);
203
- const [snackbarMessage, setSnackbarMessage] = useState("");
204
- const [snackbarSeverity, setSnackbarSeverity] = useState("info");
205
- const [selectedRows, setSelectedRows] = useState([]);
206
- useEffect(() => {
207
- setSelectedRows([]);
208
- }, [data, currentPage, pageSize]);
209
- useEffect(() => {
210
- onSelectionChange == null ? void 0 : onSelectionChange(selectedRows);
211
- }, [selectedRows, onSelectionChange]);
212
- const handleSnackbarClose = (event, reason) => {
213
- if (reason === "clickaway") {
214
- return;
215
- }
216
- setSnackbarOpen(false);
217
- };
218
- const isControlled = typeof onPageChange === "function" && typeof currentPage === "number";
219
- const [internalPage, setInternalPage] = useState(1);
220
- const [internalPageSize, setInternalPageSize] = useState(pageSizeSelectorValue);
221
- const activePage = isControlled ? currentPage : internalPage;
222
- const activePageSize = isControlled ? pageSize : internalPageSize;
223
- const paginatedData = isControlled ? data : data.slice((activePage - 1) * activePageSize, activePage * activePageSize);
224
- const effectiveTotalPages = isControlled ? totalPages : Math.ceil(data.length / activePageSize);
225
- const handlePageChange = (newPage) => {
226
- if (newPage < 1 || newPage > effectiveTotalPages) return;
227
- if (isControlled) onPageChange == null ? void 0 : onPageChange(newPage);
228
- else setInternalPage(newPage);
229
- };
230
- const handlePageSizeChange = (newSize) => {
231
- if (isControlled) {
232
- onPageSizeChange == null ? void 0 : onPageSizeChange(newSize);
233
- onPageChange == null ? void 0 : onPageChange(1);
234
- } else {
235
- setInternalPageSize(newSize);
236
- setInternalPage(1);
237
- }
238
- };
239
- const getPageNumbers = () => {
240
- const pages = [];
241
- const maxPages = effectiveTotalPages;
242
- const current = activePage;
243
- const half = Math.floor(visiblePageNumbers / 2);
244
- let startPage = Math.max(1, current - half);
245
- let endPage = Math.min(maxPages, current + half);
246
- if (endPage - startPage + 1 < visiblePageNumbers) {
247
- if (startPage === 1) {
248
- endPage = Math.min(maxPages, startPage + visiblePageNumbers - 1);
249
- } else if (endPage === maxPages) {
250
- startPage = Math.max(1, maxPages - visiblePageNumbers + 1);
251
- }
252
- }
253
- for (let i = startPage; i <= endPage; i++) {
254
- pages.push(i);
255
- }
256
- return pages;
257
- };
258
- const pageNumbers = getPageNumbers();
259
- const handleSelectAllClick = (event) => {
260
- if (!rowIdentifier) {
261
- console.warn("`rowIdentifier` prop is required for row selection.");
262
- return;
263
- }
264
- if (event.target.checked) {
265
- const newSelecteds = [...selectedRows];
266
- paginatedData.forEach((row) => {
267
- const rowId = row[rowIdentifier];
268
- if (!newSelecteds.some((selectedRow) => selectedRow[rowIdentifier] === rowId)) {
269
- newSelecteds.push(row);
270
- }
271
- });
272
- setSelectedRows(newSelecteds);
273
- } else {
274
- const newSelecteds = selectedRows.filter(
275
- (selectedRow) => !paginatedData.some((row) => row[rowIdentifier] === selectedRow[rowIdentifier])
276
- );
277
- setSelectedRows(newSelecteds);
278
- }
279
- };
280
- const handleRowClick = (event, row) => {
281
- if (!rowIdentifier) {
282
- console.warn("`rowIdentifier` prop is required for row selection.");
283
- return;
284
- }
285
- const rowId = row[rowIdentifier];
286
- const selectedIndex = selectedRows.findIndex((selectedRow) => selectedRow[rowIdentifier] === rowId);
287
- let newSelected = [];
288
- if (selectedIndex === -1) {
289
- newSelected = newSelected.concat(selectedRows, row);
290
- } else if (selectedIndex === 0) {
291
- newSelected = newSelected.concat(selectedRows.slice(1));
292
- } else if (selectedIndex === selectedRows.length - 1) {
293
- newSelected = newSelected.concat(selectedRows.slice(0, -1));
294
- } else if (selectedIndex > 0) {
295
- newSelected = newSelected.concat(
296
- selectedRows.slice(0, selectedIndex),
297
- selectedRows.slice(selectedIndex + 1)
298
- );
299
- }
300
- setSelectedRows(newSelected);
301
- };
302
- const isSelected = (row) => {
303
- if (!rowIdentifier) return false;
304
- return selectedRows.some((selectedRow) => selectedRow[rowIdentifier] === row[rowIdentifier]);
305
- };
306
- const numSelectedOnPage = paginatedData.filter(isSelected).length;
307
- const isAllSelectedOnPage = paginatedData.length > 0 && numSelectedOnPage === paginatedData.length;
308
- const isIndeterminateOnPage = numSelectedOnPage > 0 && numSelectedOnPage < paginatedData.length;
309
- return /* @__PURE__ */ jsxs(TableContainer, { children: [
310
- /* @__PURE__ */ jsxs(Table$1, { sx: { minWidth: 650 }, "aria-label": "custom table", style: paginatedData.length === 0 ? { display: "none" } : {}, children: [
311
- /* @__PURE__ */ jsx(TableHead, { sx: { backgroundColor: "#fff" }, children: /* @__PURE__ */ jsxs(TableRow, { children: [
312
- enableRowSelection && /* @__PURE__ */ jsxs(TableCell, { padding: "checkbox", sx: { width: "50px" }, children: [
313
- " ",
314
- /* @__PURE__ */ jsx(
315
- Checkbox,
316
- {
317
- color: "primary",
318
- indeterminate: isIndeterminateOnPage,
319
- checked: isAllSelectedOnPage,
320
- onChange: handleSelectAllClick,
321
- inputProps: { "aria-label": "select all desserts" }
322
- }
323
- )
324
- ] }),
325
- columns.map((column, index) => /* @__PURE__ */ jsx(
326
- TableCell,
327
- {
328
- sx: {
329
- fontSize: "12px",
330
- color: (theme) => theme.palette.text.secondary,
331
- width: column.props.width || "auto",
332
- // APLICA EL ANCHO AQUÍ
333
- whiteSpace: "nowrap"
334
- // Evita que el texto se ajuste si la columna es pequeña
335
- },
336
- children: /* @__PURE__ */ jsx(Typography, { sx: { fontSize: "12px" }, children: column.props.name })
337
- },
338
- index
339
- ))
340
- ] }) }),
341
- /* @__PURE__ */ jsx(TableBody, { sx: { borderRadius: "10px", overflow: "hidden" }, children: paginatedData.map((row, rowIndex) => {
342
- const isRowSelected = enableRowSelection && isSelected(row);
343
- return /* @__PURE__ */ jsxs(
344
- TableRow,
345
- {
346
- sx: { backgroundColor: "#F8F8F8", "&:last-child td, &:last-child th": { border: 0 }, "&:hover": { backgroundColor: (theme) => "#FFF" } },
347
- selected: isRowSelected,
348
- children: [
349
- enableRowSelection && /* @__PURE__ */ jsxs(TableCell, { padding: "checkbox", sx: { width: "50px" }, children: [
350
- " ",
351
- /* @__PURE__ */ jsx(
352
- Checkbox,
353
- {
354
- color: "primary",
355
- checked: isRowSelected,
356
- onClick: (event) => handleRowClick(event, row),
357
- inputProps: { "aria-labelledby": `table-checkbox-${rowIndex}` }
358
- }
359
- )
360
- ] }),
361
- columns.map((column, colIndex) => {
362
- const { field, children: cellRenderer } = column.props;
363
- let fieldData;
364
- if (Array.isArray(field)) {
365
- if (field.length === 0) {
366
- fieldData = __spreadValues({}, row);
367
- } else {
368
- fieldData = field.reduce((acc, currentField) => {
369
- acc[currentField] = row[currentField];
370
- return acc;
371
- }, {});
372
- }
373
- } else {
374
- fieldData = { [field]: row[field] };
375
- }
376
- return /* @__PURE__ */ jsx(
377
- TableCell,
378
- {
379
- sx: {
380
- fontSize: "14px",
381
- width: column.props.width || "auto",
382
- // APLICA EL ANCHO AQUÍ TAMBIÉN
383
- whiteSpace: "nowrap",
384
- // Asegura que el contenido no se rompa prematuramente
385
- padding: "12px 16px",
386
- // Asegura un padding consistente
387
- borderBottom: "none"
388
- },
389
- children: cellRenderer(fieldData)
390
- },
391
- colIndex
392
- );
393
- })
394
- ]
395
- },
396
- rowIndex
397
- );
398
- }) })
399
- ] }),
400
- paginatedData.length === 0 && /* @__PURE__ */ jsxs(Box, { display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", p: 4, children: [
401
- emptyImageSrc,
402
- /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#878E9A", fontSize: "18px", fontWeight: "600", children: emptyTitle || "No hay datos disponibles para mostrar." }),
403
- /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#878E9A", fontSize: "14px", mt: 1, children: emptyMessage || "Intente ajustar sus filtros o agregar nuevos datos." })
404
- ] }),
405
- (effectiveTotalPages > 0 || enableCSVExport || enableExcelExport || enableRowSelection && selectedRows.length > 0) && /* @__PURE__ */ jsxs(Box, { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2, children: [
406
- effectiveTotalPages > 0 && showPageSizeSelector && /* @__PURE__ */ jsx(
407
- Select,
408
- {
409
- size: "small",
410
- value: activePageSize,
411
- onChange: (e) => handlePageSizeChange(Number(e.target.value)),
412
- children: [1, 2, 3, 5, 10, 20, 50, 100].map((size) => /* @__PURE__ */ jsxs(MenuItem, { value: size, children: [
413
- "Mostrar ",
414
- size
415
- ] }, size))
416
- }
417
- ),
418
- effectiveTotalPages > 0 && /* @__PURE__ */ jsxs(
419
- Box,
420
- {
421
- display: "flex",
422
- alignItems: "center",
423
- gap: 0.5,
424
- sx: { flexGrow: 1, justifyContent: "center" },
425
- children: [
426
- /* @__PURE__ */ jsx(
427
- IconButton,
428
- {
429
- onClick: () => handlePageChange(1),
430
- disabled: activePage <= 1,
431
- size: "small",
432
- color: "primary",
433
- children: /* @__PURE__ */ jsx(FirstPageIcon, { fontSize: "small" })
434
- }
435
- ),
436
- /* @__PURE__ */ jsx(
437
- IconButton,
438
- {
439
- onClick: () => handlePageChange(activePage - 1),
440
- disabled: activePage <= 1,
441
- size: "small",
442
- color: "primary",
443
- children: /* @__PURE__ */ jsx(KeyboardArrowLeftIcon, { fontSize: "small" })
444
- }
445
- ),
446
- pageNumbers.map((pageNumber) => /* @__PURE__ */ jsx(
447
- Button,
448
- {
449
- onClick: () => handlePageChange(pageNumber),
450
- variant: activePage === pageNumber ? "contained" : "text",
451
- size: "small",
452
- sx: { minWidth: "32px", height: "32px" },
453
- children: pageNumber
454
- },
455
- pageNumber
456
- )),
457
- /* @__PURE__ */ jsx(
458
- IconButton,
459
- {
460
- onClick: () => handlePageChange(activePage + 1),
461
- disabled: activePage >= effectiveTotalPages,
462
- size: "small",
463
- color: "primary",
464
- children: /* @__PURE__ */ jsx(KeyboardArrowRightIcon, { fontSize: "small" })
465
- }
466
- ),
467
- /* @__PURE__ */ jsx(
468
- IconButton,
469
- {
470
- onClick: () => handlePageChange(effectiveTotalPages),
471
- disabled: activePage >= effectiveTotalPages,
472
- size: "small",
473
- color: "primary",
474
- children: /* @__PURE__ */ jsx(LastPageIcon, { fontSize: "small" })
475
- }
476
- )
477
- ]
478
- }
479
- ),
480
- enableRowSelection && selectedRows.length > 0 && /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", sx: { mr: 2 }, children: [
481
- selectedRows.length,
482
- " seleccionados"
483
- ] }),
484
- (enableCSVExport || enableExcelExport) && /* @__PURE__ */ jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
485
- enableCSVExport && /* @__PURE__ */ jsx(
486
- Button,
487
- {
488
- variant: "text",
489
- color: "primary",
490
- onClick: () => exportToCSV({
491
- data,
492
- columns,
493
- fileName: csvExportFileName,
494
- exportColumns: csvExportColumns,
495
- setSnackbarOpen,
496
- setSnackbarMessage,
497
- setSnackbarSeverity
498
- }),
499
- size: "small",
500
- startIcon: /* @__PURE__ */ jsx(DownloadOutlinedIcon, {}),
501
- children: csvExportButtonText
502
- }
503
- ),
504
- enableExcelExport && /* @__PURE__ */ jsx(
505
- Button,
506
- {
507
- variant: "text",
508
- color: "primary",
509
- onClick: () => exportToExcel({
510
- data,
511
- columns,
512
- fileName: excelExportFileName,
513
- exportColumns: excelExportColumns,
514
- setSnackbarOpen,
515
- setSnackbarMessage,
516
- setSnackbarSeverity
517
- }),
518
- size: "small",
519
- startIcon: /* @__PURE__ */ jsx(DownloadOutlinedIcon, {}),
520
- children: excelExportButtonText
521
- }
522
- )
523
- ] })
524
- ] }),
525
- /* @__PURE__ */ jsx(Snackbar, { open: snackbarOpen, autoHideDuration: 3e3, onClose: handleSnackbarClose, anchorOrigin: { vertical: "bottom", horizontal: "center" }, children: /* @__PURE__ */ jsx(Alert, { onClose: handleSnackbarClose, severity: snackbarSeverity, sx: { width: "100%" }, children: snackbarMessage }) })
526
- ] });
527
- }
1
+ import { T } from "../../Table-C2LbW0B1.js";
528
2
  export {
529
- Table
3
+ T as Table
530
4
  };
531
5
  //# sourceMappingURL=Table.js.map