@soyfri/shared-library 2.0.0-beta8 → 2.0.1

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 (315) hide show
  1. package/Button-C17mExpd.cjs.map +1 -1
  2. package/Button-UkkP-bNw.js.map +1 -1
  3. package/README.md +182 -150
  4. package/components/ActionMenu/ActionMenu.cjs +52 -52
  5. package/components/ActionMenu/ActionMenu.cjs.map +1 -1
  6. package/components/ActionMenu/ActionMenu.d.ts +20 -36
  7. package/components/ActionMenu/ActionMenu.js +55 -55
  8. package/components/ActionMenu/ActionMenu.js.map +1 -1
  9. package/components/ActionMenu/index.d.ts +2 -2
  10. package/components/AppBar/AppBar.cjs +3 -220
  11. package/components/AppBar/AppBar.cjs.map +1 -1
  12. package/components/AppBar/AppBar.d.ts +6 -6
  13. package/components/AppBar/AppBar.js +6 -223
  14. package/components/AppBar/AppBar.js.map +1 -1
  15. package/components/AppBar/index.d.ts +0 -6
  16. package/components/Autocomplete/Autocomplete.cjs +310 -4
  17. package/components/Autocomplete/Autocomplete.cjs.map +1 -1
  18. package/components/Autocomplete/Autocomplete.d.ts +29 -26
  19. package/components/Autocomplete/Autocomplete.definitions.d.ts +2 -1
  20. package/components/Autocomplete/Autocomplete.helpers.d.ts +12 -8
  21. package/components/Autocomplete/Autocomplete.js +310 -4
  22. package/components/Autocomplete/Autocomplete.js.map +1 -1
  23. package/components/Autocomplete/_parts/AutocompleteChips.d.ts +7 -6
  24. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +10 -13
  25. package/components/Autocomplete/index.d.ts +1 -1
  26. package/components/Avatar/Avatar.cjs +159 -2
  27. package/components/Avatar/Avatar.cjs.map +1 -1
  28. package/components/Avatar/Avatar.js +159 -2
  29. package/components/Avatar/Avatar.js.map +1 -1
  30. package/components/Avatar/index.d.ts +1 -0
  31. package/components/Button/Button.d.ts +5 -5
  32. package/components/Button/index.d.ts +1 -0
  33. package/components/Card/Card.cjs +95 -7
  34. package/components/Card/Card.cjs.map +1 -1
  35. package/components/Card/Card.d.ts +3 -50
  36. package/components/Card/Card.js +95 -7
  37. package/components/Card/Card.js.map +1 -1
  38. package/components/Card/Card.sx.d.ts +3 -6
  39. package/components/Card/index.d.ts +1 -1
  40. package/{Switch-BIeobv6i.cjs → components/Checkbox/Checkbox.cjs} +30 -20
  41. package/components/Checkbox/Checkbox.cjs.map +1 -0
  42. package/components/Checkbox/Checkbox.d.ts +55 -0
  43. package/{Switch-DQEOxM2R.js → components/Checkbox/Checkbox.js} +29 -20
  44. package/components/Checkbox/Checkbox.js.map +1 -0
  45. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  46. package/components/Checkbox/index.d.ts +2 -0
  47. package/components/Checkbox.d.ts +6 -0
  48. package/components/Chip/Chip.cjs +73 -3
  49. package/components/Chip/Chip.cjs.map +1 -1
  50. package/components/Chip/Chip.js +72 -2
  51. package/components/Chip/Chip.js.map +1 -1
  52. package/components/Chip/index.d.ts +2 -1
  53. package/components/Chip.d.ts +4 -0
  54. package/components/Column/Column.cjs +1 -1
  55. package/components/Column/Column.cjs.map +1 -1
  56. package/components/Column/Column.d.ts +1 -1
  57. package/components/Column/Column.js +1 -1
  58. package/components/Column/Column.js.map +1 -1
  59. package/components/Column/index.d.ts +0 -1
  60. package/components/DatePicker/DatePicker.cjs +177 -3
  61. package/components/DatePicker/DatePicker.cjs.map +1 -1
  62. package/components/DatePicker/DatePicker.d.ts +1 -13
  63. package/components/DatePicker/DatePicker.js +177 -3
  64. package/components/DatePicker/DatePicker.js.map +1 -1
  65. package/components/DatePicker/index.d.ts +1 -1
  66. package/components/DateRangePicker/DateRangePicker.cjs +73 -2
  67. package/components/DateRangePicker/DateRangePicker.cjs.map +1 -1
  68. package/components/DateRangePicker/DateRangePicker.js +73 -2
  69. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  70. package/components/DateTimePicker/DateTimePicker.cjs +195 -3
  71. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  72. package/components/DateTimePicker/DateTimePicker.d.ts +9 -17
  73. package/components/DateTimePicker/DateTimePicker.definitions.d.ts +2 -0
  74. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +4 -2
  75. package/components/DateTimePicker/DateTimePicker.js +195 -3
  76. package/components/DateTimePicker/DateTimePicker.js.map +1 -1
  77. package/components/DateTimePicker/index.d.ts +1 -1
  78. package/components/Drawer/Drawer.cjs +13 -7
  79. package/components/Drawer/Drawer.cjs.map +1 -1
  80. package/components/Drawer/Drawer.d.ts +3 -1
  81. package/components/Drawer/Drawer.js +14 -8
  82. package/components/Drawer/Drawer.js.map +1 -1
  83. package/components/Drawer/DrawerItem.d.ts +6 -1
  84. package/components/Gallery/Gallery.cjs +154 -79
  85. package/components/Gallery/Gallery.cjs.map +1 -1
  86. package/components/Gallery/Gallery.d.ts +25 -9
  87. package/components/Gallery/Gallery.js +154 -79
  88. package/components/Gallery/Gallery.js.map +1 -1
  89. package/components/Gallery/GalleryLightbox.d.ts +6 -10
  90. package/components/Gallery/GalleryMain.d.ts +3 -7
  91. package/components/Gallery/GalleryThumbnails.d.ts +7 -11
  92. package/components/Gallery/index.d.ts +2 -1
  93. package/components/Gallery.d.ts +4 -0
  94. package/components/Icon/Icon.cjs +6 -8
  95. package/components/Icon/Icon.cjs.map +1 -1
  96. package/components/Icon/Icon.d.ts +11 -17
  97. package/components/Icon/Icon.js +6 -8
  98. package/components/Icon/Icon.js.map +1 -1
  99. package/components/Icon/index.d.ts +2 -1
  100. package/components/Icon.d.ts +4 -0
  101. package/components/Input/Input.cjs +185 -3
  102. package/components/Input/Input.cjs.map +1 -1
  103. package/components/Input/Input.d.ts +9 -2
  104. package/components/Input/Input.helpers.d.ts +3 -3
  105. package/components/Input/Input.js +185 -3
  106. package/components/Input/Input.js.map +1 -1
  107. package/components/Input/index.d.ts +1 -1
  108. package/components/InputGroup/InputGroup.cjs +23 -22
  109. package/components/InputGroup/InputGroup.cjs.map +1 -1
  110. package/components/InputGroup/InputGroup.d.ts +4 -4
  111. package/components/InputGroup/InputGroup.js +22 -21
  112. package/components/InputGroup/InputGroup.js.map +1 -1
  113. package/components/InputGroup/index.d.ts +2 -1
  114. package/components/InputGroup.d.ts +4 -0
  115. package/components/Modal/Modal.cjs +345 -6
  116. package/components/Modal/Modal.cjs.map +1 -1
  117. package/components/Modal/Modal.d.ts +20 -5
  118. package/components/Modal/Modal.js +345 -6
  119. package/components/Modal/Modal.js.map +1 -1
  120. package/components/Modal/ModalBody.d.ts +6 -1
  121. package/components/Modal/ModalFooter.d.ts +4 -4
  122. package/components/Modal/ModalHeader.d.ts +6 -1
  123. package/components/Modal/index.d.ts +4 -3
  124. package/components/RadioGroup/RadioGroup.cjs +201 -3
  125. package/components/RadioGroup/RadioGroup.cjs.map +1 -1
  126. package/components/RadioGroup/RadioGroup.d.ts +9 -3
  127. package/components/RadioGroup/RadioGroup.js +201 -3
  128. package/components/RadioGroup/RadioGroup.js.map +1 -1
  129. package/components/RadioGroup/index.d.ts +1 -1
  130. package/components/Select/Select.cjs +310 -4
  131. package/components/Select/Select.cjs.map +1 -1
  132. package/components/Select/Select.d.ts +35 -20
  133. package/components/Select/Select.helpers.d.ts +6 -19
  134. package/components/Select/Select.js +310 -4
  135. package/components/Select/Select.js.map +1 -1
  136. package/components/Select/index.d.ts +1 -1
  137. package/components/Stat/Stat.cjs +83 -4
  138. package/components/Stat/Stat.cjs.map +1 -1
  139. package/components/Stat/Stat.js +82 -3
  140. package/components/Stat/Stat.js.map +1 -1
  141. package/components/Stat/index.d.ts +2 -1
  142. package/components/Stat.d.ts +4 -0
  143. package/components/StatusMessage/StatusMessage.cjs +105 -3
  144. package/components/StatusMessage/StatusMessage.cjs.map +1 -1
  145. package/components/StatusMessage/StatusMessage.d.ts +20 -36
  146. package/components/StatusMessage/StatusMessage.js +105 -3
  147. package/components/StatusMessage/StatusMessage.js.map +1 -1
  148. package/components/StatusMessage/StatusMessageContext.d.ts +16 -0
  149. package/components/StatusMessage/index.d.ts +2 -0
  150. package/components/Stepper/Stepper.cjs +324 -4
  151. package/components/Stepper/Stepper.cjs.map +1 -1
  152. package/components/Stepper/Stepper.d.ts +9 -8
  153. package/components/Stepper/Stepper.js +323 -3
  154. package/components/Stepper/Stepper.js.map +1 -1
  155. package/{hooks/Wizard/WizardContext.d.ts → components/Stepper/StepperContext.d.ts} +28 -22
  156. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  157. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  158. package/components/Stepper/index.d.ts +6 -2
  159. package/components/Stepper.d.ts +4 -0
  160. package/components/Switch/Switch.cjs +181 -3
  161. package/components/Switch/Switch.cjs.map +1 -1
  162. package/components/Switch/Switch.d.ts +7 -2
  163. package/components/Switch/Switch.js +181 -3
  164. package/components/Switch/Switch.js.map +1 -1
  165. package/components/Table/Table.cjs +528 -2
  166. package/components/Table/Table.cjs.map +1 -1
  167. package/components/Table/Table.d.ts +1 -1
  168. package/components/Table/Table.js +528 -2
  169. package/components/Table/Table.js.map +1 -1
  170. package/components/Tabs/Tabs.cjs +110 -4
  171. package/components/Tabs/Tabs.cjs.map +1 -1
  172. package/components/Tabs/Tabs.d.ts +21 -16
  173. package/components/Tabs/Tabs.js +109 -3
  174. package/components/Tabs/Tabs.js.map +1 -1
  175. package/components/Tabs/index.d.ts +4 -2
  176. package/components/Tabs.d.ts +4 -0
  177. package/components/Timeline/Timeline.cjs +3 -2
  178. package/components/Timeline/Timeline.cjs.map +1 -1
  179. package/components/Timeline/Timeline.d.ts +4 -8
  180. package/components/Timeline/Timeline.js +3 -2
  181. package/components/Timeline/Timeline.js.map +1 -1
  182. package/components/Timeline/index.d.ts +4 -2
  183. package/components/Timeline.d.ts +4 -0
  184. package/components/_shared/mergeSx.d.ts +7 -0
  185. package/{formField.sx-DfVbMe0V.js → formField.sx-8_QRnKxv.js} +2 -11
  186. package/formField.sx-8_QRnKxv.js.map +1 -0
  187. package/{formField.sx-CQ1mbk9M.cjs → formField.sx-BAX7KwMR.cjs} +10 -19
  188. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  189. package/index.cjs +63 -47
  190. package/index.cjs.map +1 -1
  191. package/index.d.ts +1 -30
  192. package/index.js +25 -48
  193. package/index.js.map +1 -1
  194. package/mergeSx-BXoNZjB_.js +10 -0
  195. package/mergeSx-BXoNZjB_.js.map +1 -0
  196. package/mergeSx-Dbccoo_H.cjs +9 -0
  197. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  198. package/mui.d.ts +4 -2
  199. package/package.json +8 -20
  200. package/{resolvePreset-K6_BfWHD.js → resolvePreset-B-IB0ehH.js} +3 -3
  201. package/{resolvePreset-K6_BfWHD.js.map → resolvePreset-B-IB0ehH.js.map} +1 -1
  202. package/{resolvePreset-CxTI6_Ln.cjs → resolvePreset-CT3kU-K2.cjs} +3 -3
  203. package/{resolvePreset-CxTI6_Ln.cjs.map → resolvePreset-CT3kU-K2.cjs.map} +1 -1
  204. package/theme/componentStyles.d.ts +1 -1
  205. package/tokens-BRrcP_p_.js +21 -0
  206. package/tokens-BRrcP_p_.js.map +1 -0
  207. package/tokens-jaWWNk39.cjs +20 -0
  208. package/tokens-jaWWNk39.cjs.map +1 -0
  209. package/utils/index.d.ts +2 -0
  210. package/{components/ScrollTopButton → utils}/scrollToTop.d.ts +6 -7
  211. package/Autocomplete-BA-cGASd.js +0 -316
  212. package/Autocomplete-BA-cGASd.js.map +0 -1
  213. package/Autocomplete-C2x-lBvZ.cjs +0 -315
  214. package/Autocomplete-C2x-lBvZ.cjs.map +0 -1
  215. package/Avatar-9L7YMxya.cjs +0 -162
  216. package/Avatar-9L7YMxya.cjs.map +0 -1
  217. package/Avatar-BJTr-PBd.js +0 -163
  218. package/Avatar-BJTr-PBd.js.map +0 -1
  219. package/Card-DG_crfkK.cjs +0 -185
  220. package/Card-DG_crfkK.cjs.map +0 -1
  221. package/Card-Ug-ttVSh.js +0 -186
  222. package/Card-Ug-ttVSh.js.map +0 -1
  223. package/Chip-OPYQ1uQ_.js +0 -74
  224. package/Chip-OPYQ1uQ_.js.map +0 -1
  225. package/Chip-qoJLDiva.cjs +0 -73
  226. package/Chip-qoJLDiva.cjs.map +0 -1
  227. package/DatePicker-8f_9bwhS.js +0 -202
  228. package/DatePicker-8f_9bwhS.js.map +0 -1
  229. package/DatePicker-DLSfkgGA.cjs +0 -201
  230. package/DatePicker-DLSfkgGA.cjs.map +0 -1
  231. package/DateRangePicker-BVpeJCHI.js +0 -76
  232. package/DateRangePicker-BVpeJCHI.js.map +0 -1
  233. package/DateRangePicker-B_hKQhbj.cjs +0 -75
  234. package/DateRangePicker-B_hKQhbj.cjs.map +0 -1
  235. package/DateTimePicker-CWNW09-O.cjs +0 -220
  236. package/DateTimePicker-CWNW09-O.cjs.map +0 -1
  237. package/DateTimePicker-D4L9GAod.js +0 -221
  238. package/DateTimePicker-D4L9GAod.js.map +0 -1
  239. package/Input-Cp911l23.js +0 -174
  240. package/Input-Cp911l23.js.map +0 -1
  241. package/Input-DI0jfq5X.cjs +0 -173
  242. package/Input-DI0jfq5X.cjs.map +0 -1
  243. package/Modal-Bm_HH9cv.cjs +0 -319
  244. package/Modal-Bm_HH9cv.cjs.map +0 -1
  245. package/Modal-Bnz6d9m9.js +0 -320
  246. package/Modal-Bnz6d9m9.js.map +0 -1
  247. package/RadioGroup-CxqDHap1.cjs +0 -200
  248. package/RadioGroup-CxqDHap1.cjs.map +0 -1
  249. package/RadioGroup-DMi9FvMP.js +0 -201
  250. package/RadioGroup-DMi9FvMP.js.map +0 -1
  251. package/Select-3CBOfM2H.js +0 -447
  252. package/Select-3CBOfM2H.js.map +0 -1
  253. package/Select-Bku4f4f8.cjs +0 -446
  254. package/Select-Bku4f4f8.cjs.map +0 -1
  255. package/Stat-BUcFCGrz.cjs +0 -83
  256. package/Stat-BUcFCGrz.cjs.map +0 -1
  257. package/Stat-C06A_izS.js +0 -84
  258. package/Stat-C06A_izS.js.map +0 -1
  259. package/StatusMessage-C5B6oGZ_.cjs +0 -78
  260. package/StatusMessage-C5B6oGZ_.cjs.map +0 -1
  261. package/StatusMessage-D1GlfQdz.js +0 -79
  262. package/StatusMessage-D1GlfQdz.js.map +0 -1
  263. package/Step-Dq0N72YB.js +0 -49
  264. package/Step-Dq0N72YB.js.map +0 -1
  265. package/Step-a8U8O-91.cjs +0 -48
  266. package/Step-a8U8O-91.cjs.map +0 -1
  267. package/Switch-BIeobv6i.cjs.map +0 -1
  268. package/Switch-DQEOxM2R.js.map +0 -1
  269. package/Tab-Co31KY2k.cjs +0 -95
  270. package/Tab-Co31KY2k.cjs.map +0 -1
  271. package/Tab-DiK62gRz.js +0 -96
  272. package/Tab-DiK62gRz.js.map +0 -1
  273. package/Table-C2LbW0B1.js +0 -531
  274. package/Table-C2LbW0B1.js.map +0 -1
  275. package/Table-C4OM6rrC.cjs +0 -530
  276. package/Table-C4OM6rrC.cjs.map +0 -1
  277. package/components/AppBar/AppBarBrand.d.ts +0 -31
  278. package/components/AppBar/AppBarUserMenu.d.ts +0 -65
  279. package/components/Autocomplete/Autocomplete.types.d.ts +0 -1
  280. package/components/DatePicker/DatePicker.types.d.ts +0 -1
  281. package/components/DateTimePicker/DateTimePicker.types.d.ts +0 -1
  282. package/components/Input/Input.types.d.ts +0 -1
  283. package/components/PageLoader/PageLoader.cjs +0 -61
  284. package/components/PageLoader/PageLoader.cjs.map +0 -1
  285. package/components/PageLoader/PageLoader.d.ts +0 -38
  286. package/components/PageLoader/PageLoader.js +0 -61
  287. package/components/PageLoader/PageLoader.js.map +0 -1
  288. package/components/PageLoader/index.d.ts +0 -2
  289. package/components/PageLoader.d.ts +0 -6
  290. package/components/RadioGroup/RadioGroup.types.d.ts +0 -1
  291. package/components/ScrollTopButton/ScrollTopButton.cjs +0 -79
  292. package/components/ScrollTopButton/ScrollTopButton.cjs.map +0 -1
  293. package/components/ScrollTopButton/ScrollTopButton.d.ts +0 -48
  294. package/components/ScrollTopButton/ScrollTopButton.js +0 -79
  295. package/components/ScrollTopButton/ScrollTopButton.js.map +0 -1
  296. package/components/ScrollTopButton/index.d.ts +0 -4
  297. package/components/ScrollTopButton.d.ts +0 -6
  298. package/components/Select/Select.definitions.d.ts +0 -17
  299. package/components/Select/Select.types.d.ts +0 -1
  300. package/components/Select/_parts/SelectSearchHeader.d.ts +0 -15
  301. package/components/Select/_parts/SelectValue.d.ts +0 -22
  302. package/formField.sx-CQ1mbk9M.cjs.map +0 -1
  303. package/formField.sx-DfVbMe0V.js.map +0 -1
  304. package/hooks/Wizard/Wizard.cjs +0 -7
  305. package/hooks/Wizard/Wizard.cjs.map +0 -1
  306. package/hooks/Wizard/Wizard.js +0 -7
  307. package/hooks/Wizard/Wizard.js.map +0 -1
  308. package/hooks/Wizard/index.d.ts +0 -3
  309. package/hooks/Wizard/useWizard.d.ts +0 -9
  310. package/hooks/Wizard.d.ts +0 -2
  311. package/useWizard-CWdIxZzX.cjs +0 -94
  312. package/useWizard-CWdIxZzX.cjs.map +0 -1
  313. package/useWizard-CWq--C3o.js +0 -95
  314. package/useWizard-CWq--C3o.js.map +0 -1
  315. /package/{styles.css → index.css} +0 -0
@@ -1,319 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __spreadValues = (a, b) => {
10
- for (var prop in b || (b = {}))
11
- if (__hasOwnProp.call(b, prop))
12
- __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols)
14
- for (var prop of __getOwnPropSymbols(b)) {
15
- if (__propIsEnum.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
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
- };
33
- const jsxRuntime = require("react/jsx-runtime");
34
- const React = require("react");
35
- const material = require("@mui/material");
36
- const InfoOutlinedIcon = require("@mui/icons-material/InfoOutlined");
37
- const WarningAmberIcon = require("@mui/icons-material/WarningAmber");
38
- const ErrorOutlineIcon = require("@mui/icons-material/ErrorOutline");
39
- const CheckCircleOutlineIcon = require("@mui/icons-material/CheckCircleOutline");
40
- const ModalFooter = ({
41
- // Renombrado
42
- children,
43
- showCloseButton = true,
44
- closeButtonText = "Cerrar",
45
- closeButtonDisabled = false,
46
- onClose,
47
- actions = []
48
- }) => {
49
- return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { padding: 2, borderTop: "1px solid #e0e0e0", display: "flex", justifyContent: "flex-end", gap: 1 }, children: [
50
- children,
51
- /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { direction: "row", spacing: 1, children: [
52
- showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
53
- material.Button,
54
- {
55
- onClick: onClose,
56
- disabled: closeButtonDisabled,
57
- variant: "outlined",
58
- color: "secondary",
59
- children: closeButtonText
60
- }
61
- ),
62
- actions.map((action, index) => {
63
- const { buttonProps } = action;
64
- return /* @__PURE__ */ jsxRuntime.jsx(
65
- material.Button,
66
- __spreadProps(__spreadValues({
67
- onClick: action.onClick,
68
- disabled: action.disabled,
69
- variant: action.variant || "contained",
70
- color: action.color || "primary"
71
- }, buttonProps), {
72
- children: action.text
73
- }),
74
- index
75
- );
76
- })
77
- ] })
78
- ] });
79
- };
80
- const ModalHeader = ({ children }) => {
81
- return /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { padding: 2, borderBottom: "1px solid #e0e0e0", display: "flex", alignItems: "center", justifyContent: "space-between" }, children: /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "h6", component: "h2", children }) });
82
- };
83
- const ModalBody = ({ children }) => {
84
- return /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { padding: 2, overflowY: "auto", flexGrow: 1 }, children });
85
- };
86
- const modalStyle = {
87
- position: "absolute",
88
- top: "50%",
89
- left: "50%",
90
- transform: "translate(-50%, -50%)",
91
- width: "90%",
92
- maxHeight: "90vh",
93
- display: "flex",
94
- flexDirection: "column",
95
- outline: "none"
96
- };
97
- const severityConfig = {
98
- info: {
99
- color: "primary",
100
- icon: /* @__PURE__ */ jsxRuntime.jsx(InfoOutlinedIcon, { sx: { fontSize: 48 } }),
101
- bg: "primary.light"
102
- },
103
- warning: {
104
- color: "warning",
105
- icon: /* @__PURE__ */ jsxRuntime.jsx(WarningAmberIcon, { sx: { fontSize: 48 } }),
106
- bg: "warning.light"
107
- },
108
- error: {
109
- color: "error",
110
- icon: /* @__PURE__ */ jsxRuntime.jsx(ErrorOutlineIcon, { sx: { fontSize: 48 } }),
111
- bg: "error.light"
112
- },
113
- success: {
114
- color: "success",
115
- icon: /* @__PURE__ */ jsxRuntime.jsx(CheckCircleOutlineIcon, { sx: { fontSize: 48 } }),
116
- bg: "success.light"
117
- }
118
- };
119
- const Modal = React.forwardRef(
120
- ({
121
- mode = "default",
122
- open: controlledOpen,
123
- onClose: controlledOnClose,
124
- title,
125
- children,
126
- showCloseButton = true,
127
- closeButtonText = "Cerrar",
128
- closeButtonDisabled = false,
129
- actions = [],
130
- maxWidth = "sm",
131
- hiddenFooter = false,
132
- // Props del modo confirm
133
- onConfirm,
134
- confirmText = "Confirmar",
135
- confirmDisabled = false,
136
- severity = "info",
137
- confirmMessage
138
- }, ref) => {
139
- const [internalOpen, setInternalOpen] = React.useState(false);
140
- const [confirmLoading, setConfirmLoading] = React.useState(false);
141
- const isOpen = controlledOpen !== void 0 ? controlledOpen : internalOpen;
142
- React.useImperativeHandle(ref, () => ({
143
- open: () => setInternalOpen(true),
144
- close: () => {
145
- setInternalOpen(false);
146
- controlledOnClose == null ? void 0 : controlledOnClose();
147
- }
148
- }));
149
- const handleCloseInternal = () => {
150
- setInternalOpen(false);
151
- controlledOnClose == null ? void 0 : controlledOnClose();
152
- };
153
- const handleConfirm = async () => {
154
- if (!onConfirm) {
155
- handleCloseInternal();
156
- return;
157
- }
158
- try {
159
- const result = onConfirm();
160
- if (result instanceof Promise) {
161
- setConfirmLoading(true);
162
- await result;
163
- }
164
- } finally {
165
- setConfirmLoading(false);
166
- handleCloseInternal();
167
- }
168
- };
169
- const theme = material.useTheme();
170
- const isMobile = material.useMediaQuery(theme.breakpoints.down("sm"));
171
- const getWidth = () => {
172
- if (isMobile) return "95%";
173
- switch (maxWidth) {
174
- case "xs":
175
- return 300;
176
- case "sm":
177
- return 500;
178
- case "md":
179
- return 700;
180
- case "lg":
181
- return 900;
182
- case "xl":
183
- return 1100;
184
- case false:
185
- return "auto";
186
- default:
187
- return 500;
188
- }
189
- };
190
- if (mode === "confirm") {
191
- const config = severityConfig[severity];
192
- const message = confirmMessage != null ? confirmMessage : children;
193
- return /* @__PURE__ */ jsxRuntime.jsx(
194
- material.Modal,
195
- {
196
- open: isOpen,
197
- onClose: handleCloseInternal,
198
- "aria-labelledby": "modal-title",
199
- closeAfterTransition: true,
200
- children: /* @__PURE__ */ jsxRuntime.jsxs(material.Paper, { sx: __spreadProps(__spreadValues({}, modalStyle), { width: getWidth() }), children: [
201
- /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { spacing: 2.5, sx: { p: 3, alignItems: "center", textAlign: "center" }, children: [
202
- /* @__PURE__ */ jsxRuntime.jsx(
203
- material.Box,
204
- {
205
- sx: {
206
- width: 72,
207
- height: 72,
208
- borderRadius: "50%",
209
- backgroundColor: (t) => t.palette[severity === "info" ? "primary" : severity].light,
210
- color: (t) => t.palette[severity === "info" ? "primary" : severity].dark,
211
- display: "flex",
212
- alignItems: "center",
213
- justifyContent: "center",
214
- opacity: 0.9
215
- },
216
- children: config.icon
217
- }
218
- ),
219
- title && /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "h6", component: "h2", sx: { fontWeight: 700 }, children: title }),
220
- message && /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "body2", color: "text.secondary", children: message })
221
- ] }),
222
- /* @__PURE__ */ jsxRuntime.jsx(
223
- ModalFooter,
224
- {
225
- showCloseButton,
226
- closeButtonText,
227
- closeButtonDisabled: closeButtonDisabled || confirmLoading,
228
- onClose: handleCloseInternal,
229
- actions: [
230
- {
231
- text: confirmText,
232
- onClick: handleConfirm,
233
- disabled: confirmDisabled || confirmLoading,
234
- variant: "contained",
235
- color: config.color
236
- }
237
- ]
238
- }
239
- )
240
- ] })
241
- }
242
- );
243
- }
244
- const renderChildren = () => {
245
- let header = null;
246
- let body = null;
247
- let footer = null;
248
- React.Children.forEach(children, (child) => {
249
- if (React.isValidElement(child)) {
250
- if (child.type === ModalHeader) {
251
- header = child;
252
- } else if (child.type === ModalBody) {
253
- body = child;
254
- } else if (child.type === ModalFooter) {
255
- const footerChild = child;
256
- const _a = footerChild.props, {
257
- showCloseButton: childShowCloseButton,
258
- closeButtonText: childCloseButtonText,
259
- closeButtonDisabled: childCloseButtonDisabled,
260
- onClose: childOnClose,
261
- actions: childActions
262
- } = _a, restOfFooterProps = __objRest(_a, [
263
- "showCloseButton",
264
- "closeButtonText",
265
- "closeButtonDisabled",
266
- "onClose",
267
- "actions"
268
- ]);
269
- footer = React.cloneElement(footerChild, __spreadValues({
270
- showCloseButton,
271
- closeButtonText,
272
- closeButtonDisabled,
273
- onClose: handleCloseInternal,
274
- actions
275
- }, restOfFooterProps));
276
- }
277
- }
278
- });
279
- if (!footer && !hiddenFooter) {
280
- footer = /* @__PURE__ */ jsxRuntime.jsx(
281
- ModalFooter,
282
- {
283
- showCloseButton,
284
- closeButtonText,
285
- closeButtonDisabled,
286
- onClose: handleCloseInternal,
287
- actions
288
- }
289
- );
290
- }
291
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
292
- header || title && /* @__PURE__ */ jsxRuntime.jsx(ModalHeader, { children: title }),
293
- body,
294
- footer
295
- ] });
296
- };
297
- return /* @__PURE__ */ jsxRuntime.jsx(
298
- material.Modal,
299
- {
300
- open: isOpen,
301
- onClose: handleCloseInternal,
302
- "aria-labelledby": "modal-title",
303
- "aria-describedby": "modal-description",
304
- closeAfterTransition: true,
305
- children: /* @__PURE__ */ jsxRuntime.jsx(material.Paper, { sx: __spreadProps(__spreadValues({}, modalStyle), { width: getWidth() }), children: renderChildren() })
306
- }
307
- );
308
- }
309
- );
310
- const ModalWithStatics = Modal;
311
- ModalWithStatics.Header = ModalHeader;
312
- ModalWithStatics.Body = ModalBody;
313
- ModalWithStatics.Footer = ModalFooter;
314
- exports.Modal = Modal;
315
- exports.ModalBody = ModalBody;
316
- exports.ModalFooter = ModalFooter;
317
- exports.ModalHeader = ModalHeader;
318
- exports.ModalWithStatics = ModalWithStatics;
319
- //# sourceMappingURL=Modal-Bm_HH9cv.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Modal-Bm_HH9cv.cjs","sources":["../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/Modal/ModalBody.tsx","../src/components/Modal/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Button, Stack } from '@mui/material';\nimport { ButtonProps } from '@mui/material/Button';\n\n// Interfaz para acciones personalizadas (se mantiene aquí)\nexport interface ModalAction {\n text: string;\n onClick?: () => void;\n disabled?: boolean;\n variant?: ButtonProps['variant'];\n color?: ButtonProps['color'];\n /**\n * Props adicionales que se forwardean al `<Button>` interno. Útil para casos\n * avanzados como conectar el botón con un `<form id=\"...\">` externo usando\n * `buttonProps={{ type: 'submit', form: 'my-form-id' }}`.\n */\n buttonProps?: Partial<ButtonProps> & { form?: string };\n}\n\nexport interface ModalFooterProps { // Renombrado\n children?: React.ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n onClose: () => void;\n actions?: ModalAction[];\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ // Renombrado\n children,\n showCloseButton = true,\n closeButtonText = \"Cerrar\",\n closeButtonDisabled = false,\n onClose,\n actions = [],\n}) => {\n return (\n <Box sx={{ padding: 2, borderTop: '1px solid #e0e0e0', display: 'flex', justifyContent: 'flex-end', gap: 1 }}>\n {children}\n <Stack direction=\"row\" spacing={1}>\n {showCloseButton && (\n <Button\n onClick={onClose}\n disabled={closeButtonDisabled}\n variant=\"outlined\"\n color=\"secondary\"\n >\n {closeButtonText}\n </Button>\n )}\n {actions.map((action, index) => {\n const { buttonProps } = action;\n return (\n <Button\n key={index}\n onClick={action.onClick}\n disabled={action.disabled}\n variant={action.variant || 'contained'}\n color={action.color || 'primary'}\n {...(buttonProps as any)}\n >\n {action.text}\n </Button>\n );\n })}\n </Stack>\n </Box>\n );\n};\n\nexport default ModalFooter;","import React from 'react';\nimport { Box, Typography } from '@mui/material';\n\ninterface ModalHeaderProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, borderBottom: '1px solid #e0e0e0', display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <Typography variant=\"h6\" component=\"h2\">\n {children}\n </Typography>\n </Box>\n );\n};\n\nexport default ModalHeader;","import React from 'react';\nimport { Box } from '@mui/material';\n\ninterface ModalBodyProps { // Renombrado\n children: React.ReactNode;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ children }) => { // Renombrado\n return (\n <Box sx={{ padding: 2, overflowY: 'auto', flexGrow: 1 }}>\n {children}\n </Box>\n );\n};\n\nexport default ModalBody;","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n type ReactNode,\n} from 'react';\nimport {\n Modal as MuiModal,\n Paper,\n useTheme,\n useMediaQuery,\n Box,\n Stack,\n Typography,\n} from '@mui/material';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport WarningAmberIcon from '@mui/icons-material/WarningAmber';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';\n\nimport type { DialogProps } from '@mui/material/Dialog';\nimport { ModalAction, ModalFooter, ModalFooterProps } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\n\n// Define la interfaz para los métodos que el padre puede llamar a través de la ref\nexport interface ModalRef {\n open: () => void;\n close: () => void;\n}\n\nexport type ModalMode = 'default' | 'confirm';\nexport type ModalSeverity = 'info' | 'warning' | 'error' | 'success';\n\ninterface ModalProps {\n /**\n * Modo del modal.\n * - `default` (default): modal genérico con slots `Header`/`Body`/`Footer` y\n * `actions` custom.\n * - `confirm`: reemplaza al `ConfirmModal` legacy. Renderiza un layout\n * focalizado con icono por severidad, mensaje y botones \"Cancelar\" /\n * \"Confirmar\".\n */\n mode?: ModalMode;\n\n // ── Props comunes ────────────────────────────────────────────────────\n /** Controlado externamente. Omitir si se usa vía ref. */\n open?: boolean;\n /** Callback al cerrar. También se dispara al confirmar/cancelar. */\n onClose?: () => void;\n title?: string;\n children?: ReactNode;\n showCloseButton?: boolean;\n closeButtonText?: string;\n closeButtonDisabled?: boolean;\n actions?: ModalAction[];\n maxWidth?: DialogProps['maxWidth'];\n hiddenFooter?: boolean;\n\n // ── Props del modo confirm ───────────────────────────────────────────\n /**\n * Callback de confirmación. Soporta promesa — si devuelve `Promise`, el\n * botón muestra estado `disabled` mientras resuelve.\n */\n onConfirm?: () => void | Promise<void>;\n /** Texto del botón primario en modo `confirm`. Default: \"Confirmar\". */\n confirmText?: string;\n /** Deshabilita el botón de confirmar. */\n confirmDisabled?: boolean;\n /**\n * Severidad visual en modo `confirm`. Controla el icono y el color del\n * botón de confirmación.\n * - `info` (default): primary\n * - `warning`: warning (amarillo)\n * - `error`: error (rojo) — típico para \"Eliminar\"\n * - `success`: success (verde) — típico para \"Aprobar\"\n */\n severity?: ModalSeverity;\n /**\n * Mensaje del confirm. Puede ser string o cualquier ReactNode. Si se omite,\n * se usa `children`.\n */\n confirmMessage?: ReactNode;\n}\n\nconst modalStyle = {\n position: 'absolute' as const,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '90%',\n maxHeight: '90vh',\n display: 'flex',\n flexDirection: 'column' as const,\n outline: 'none',\n};\n\nconst severityConfig: Record<\n ModalSeverity,\n { color: ModalAction['color']; icon: ReactNode; bg: string }\n> = {\n info: {\n color: 'primary',\n icon: <InfoOutlinedIcon sx={{ fontSize: 48 }} />,\n bg: 'primary.light',\n },\n warning: {\n color: 'warning',\n icon: <WarningAmberIcon sx={{ fontSize: 48 }} />,\n bg: 'warning.light',\n },\n error: {\n color: 'error',\n icon: <ErrorOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'error.light',\n },\n success: {\n color: 'success',\n icon: <CheckCircleOutlineIcon sx={{ fontSize: 48 }} />,\n bg: 'success.light',\n },\n};\n\nexport const Modal = forwardRef<ModalRef, ModalProps>(\n (\n {\n mode = 'default',\n open: controlledOpen,\n onClose: controlledOnClose,\n title,\n children,\n showCloseButton = true,\n closeButtonText = 'Cerrar',\n closeButtonDisabled = false,\n actions = [],\n maxWidth = 'sm',\n hiddenFooter = false,\n\n // Props del modo confirm\n onConfirm,\n confirmText = 'Confirmar',\n confirmDisabled = false,\n severity = 'info',\n confirmMessage,\n },\n ref,\n ) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const [confirmLoading, setConfirmLoading] = useState(false);\n\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n\n useImperativeHandle(ref, () => ({\n open: () => setInternalOpen(true),\n close: () => {\n setInternalOpen(false);\n controlledOnClose?.();\n },\n }));\n\n const handleCloseInternal = () => {\n setInternalOpen(false);\n controlledOnClose?.();\n };\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n handleCloseInternal();\n return;\n }\n try {\n const result = onConfirm();\n if (result instanceof Promise) {\n setConfirmLoading(true);\n await result;\n }\n } finally {\n setConfirmLoading(false);\n handleCloseInternal();\n }\n };\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const getWidth = () => {\n if (isMobile) return '95%';\n switch (maxWidth) {\n case 'xs':\n return 300;\n case 'sm':\n return 500;\n case 'md':\n return 700;\n case 'lg':\n return 900;\n case 'xl':\n return 1100;\n case false:\n return 'auto';\n default:\n return 500;\n }\n };\n\n // ── Render modo CONFIRM ─────────────────────────────────────────────\n if (mode === 'confirm') {\n const config = severityConfig[severity];\n const message = confirmMessage ?? children;\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n <Stack spacing={2.5} sx={{ p: 3, alignItems: 'center', textAlign: 'center' }}>\n <Box\n sx={{\n width: 72,\n height: 72,\n borderRadius: '50%',\n backgroundColor: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].light,\n color: (t) =>\n t.palette[severity === 'info' ? 'primary' : severity].dark,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0.9,\n }}\n >\n {config.icon}\n </Box>\n {title && (\n <Typography variant=\"h6\" component=\"h2\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n )}\n {message && (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n )}\n </Stack>\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled || confirmLoading}\n onClose={handleCloseInternal}\n actions={[\n {\n text: confirmText,\n onClick: handleConfirm,\n disabled: confirmDisabled || confirmLoading,\n variant: 'contained',\n color: config.color,\n },\n ]}\n />\n </Paper>\n </MuiModal>\n );\n }\n\n // ── Render modo DEFAULT (legacy) ────────────────────────────────────\n const renderChildren = () => {\n let header: ReactNode | null = null;\n let body: ReactNode | null = null;\n let footer: ReactNode | null = null;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === ModalHeader) {\n header = child;\n } else if (child.type === ModalBody) {\n body = child;\n } else if (child.type === ModalFooter) {\n const footerChild = child as React.ReactElement<ModalFooterProps>;\n const {\n showCloseButton: childShowCloseButton,\n closeButtonText: childCloseButtonText,\n closeButtonDisabled: childCloseButtonDisabled,\n onClose: childOnClose,\n actions: childActions,\n ...restOfFooterProps\n } = footerChild.props;\n\n footer = React.cloneElement(footerChild, {\n showCloseButton,\n closeButtonText,\n closeButtonDisabled,\n onClose: handleCloseInternal,\n actions,\n ...restOfFooterProps,\n });\n }\n }\n });\n\n if (!footer && !hiddenFooter) {\n footer = (\n <ModalFooter\n showCloseButton={showCloseButton}\n closeButtonText={closeButtonText}\n closeButtonDisabled={closeButtonDisabled}\n onClose={handleCloseInternal}\n actions={actions}\n />\n );\n }\n\n return (\n <>\n {header || (title && <ModalHeader>{title}</ModalHeader>)}\n {body}\n {footer}\n </>\n );\n };\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby=\"modal-title\"\n aria-describedby=\"modal-description\"\n closeAfterTransition\n >\n <Paper sx={{ ...modalStyle, width: getWidth() }}>\n {renderChildren()}\n </Paper>\n </MuiModal>\n );\n },\n);\n\n// Define los sub-componentes como propiedades estáticas con tipos explícitos\ntype ModalComponent = React.ForwardRefExoticComponent<\n ModalProps & React.RefAttributes<ModalRef>\n> & {\n Header: typeof ModalHeader;\n Body: typeof ModalBody;\n Footer: typeof ModalFooter;\n};\n\nconst ModalWithStatics = Modal as ModalComponent;\n\nModalWithStatics.Header = ModalHeader;\nModalWithStatics.Body = ModalBody;\nModalWithStatics.Footer = ModalFooter;\n\nexport default ModalWithStatics;\n"],"names":["jsxs","Box","Stack","jsx","Button","Typography","forwardRef","useState","useImperativeHandle","useTheme","useMediaQuery","MuiModal","Paper","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,cAA0C,CAAC;AAAA;AAAA,EACtD;AAAA,EACA,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB;AAAA,EACA,UAAU,CAAA;AACZ,MAAM;AACJ,SACEA,2BAAAA,KAACC,SAAAA,KAAA,EAAI,IAAI,EAAE,SAAS,GAAG,WAAW,qBAAqB,SAAS,QAAQ,gBAAgB,YAAY,KAAK,KACtG,UAAA;AAAA,IAAA;AAAA,IACDD,2BAAAA,KAACE,SAAAA,OAAA,EAAM,WAAU,OAAM,SAAS,GAC7B,UAAA;AAAA,MAAA,mBACCC,2BAAAA;AAAAA,QAACC,SAAAA;AAAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,SAAQ;AAAA,UACR,OAAM;AAAA,UAEL,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGJ,QAAQ,IAAI,CAAC,QAAQ,UAAU;AAC9B,cAAM,EAAE,gBAAgB;AACxB,eACED,2BAAAA;AAAAA,UAACC,SAAAA;AAAAA,UAAA;AAAA,YAEC,SAAS,OAAO;AAAA,YAChB,UAAU,OAAO;AAAA,YACjB,SAAS,OAAO,WAAW;AAAA,YAC3B,OAAO,OAAO,SAAS;AAAA,aAClB,cANN;AAAA,YAQE,UAAA,OAAO;AAAA,UAAA;AAAA,UAPH;AAAA,QAAA;AAAA,MAUX,CAAC;AAAA,IAAA,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;AC7DO,MAAM,cAA0C,CAAC,EAAE,eAAe;AACvE,SACED,+BAACF,SAAAA,OAAI,IAAI,EAAE,SAAS,GAAG,cAAc,qBAAqB,SAAS,QAAQ,YAAY,UAAU,gBAAgB,gBAAA,GAC/G,UAAAE,2BAAAA,IAACE,SAAAA,YAAA,EAAW,SAAQ,MAAK,WAAU,MAChC,SAAA,CACH,EAAA,CACF;AAEJ;ACRO,MAAM,YAAsC,CAAC,EAAE,eAAe;AACnE,SACEF,2BAAAA,IAACF,SAAAA,KAAA,EAAI,IAAI,EAAE,SAAS,GAAG,WAAW,QAAQ,UAAU,EAAA,GACjD,SAAA,CACH;AAEJ;ACwEA,MAAM,aAAa;AAAA,EACjB,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,SAAS;AACX;AAEA,MAAM,iBAGF;AAAA,EACF,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,MAAME,2BAAAA,IAAC,kBAAA,EAAiB,IAAI,EAAE,UAAU,MAAM;AAAA,IAC9C,IAAI;AAAA,EAAA;AAAA,EAEN,SAAS;AAAA,IACP,OAAO;AAAA,IACP,MAAMA,2BAAAA,IAAC,kBAAA,EAAiB,IAAI,EAAE,UAAU,MAAM;AAAA,IAC9C,IAAI;AAAA,EAAA;AAAA,EAEN,OAAO;AAAA,IACL,OAAO;AAAA,IACP,MAAMA,2BAAAA,IAAC,kBAAA,EAAiB,IAAI,EAAE,UAAU,MAAM;AAAA,IAC9C,IAAI;AAAA,EAAA;AAAA,EAEN,SAAS;AAAA,IACP,OAAO;AAAA,IACP,MAAMA,2BAAAA,IAAC,wBAAA,EAAuB,IAAI,EAAE,UAAU,MAAM;AAAA,IACpD,IAAI;AAAA,EAAA;AAER;AAEO,MAAM,QAAQG,MAAAA;AAAAA,EACnB,CACE;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,sBAAsB;AAAA,IACtB,UAAU,CAAA;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA;AAAA,IAGf;AAAA,IACA,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX;AAAA,EAAA,GAEF,QACG;AACH,UAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAAS,KAAK;AACtD,UAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAE1D,UAAM,SAAS,mBAAmB,SAAY,iBAAiB;AAE/DC,UAAAA,oBAAoB,KAAK,OAAO;AAAA,MAC9B,MAAM,MAAM,gBAAgB,IAAI;AAAA,MAChC,OAAO,MAAM;AACX,wBAAgB,KAAK;AACrB;AAAA,MACF;AAAA,IAAA,EACA;AAEF,UAAM,sBAAsB,MAAM;AAChC,sBAAgB,KAAK;AACrB;AAAA,IACF;AAEA,UAAM,gBAAgB,YAAY;AAChC,UAAI,CAAC,WAAW;AACd,4BAAA;AACA;AAAA,MACF;AACA,UAAI;AACF,cAAM,SAAS,UAAA;AACf,YAAI,kBAAkB,SAAS;AAC7B,4BAAkB,IAAI;AACtB,gBAAM;AAAA,QACR;AAAA,MACF,UAAA;AACE,0BAAkB,KAAK;AACvB,4BAAA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQC,SAAAA,SAAA;AACd,UAAM,WAAWC,SAAAA,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAE3D,UAAM,WAAW,MAAM;AACrB,UAAI,SAAU,QAAO;AACrB,cAAQ,UAAA;AAAA,QACN,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO;AAAA,MAAA;AAAA,IAEb;AAGA,QAAI,SAAS,WAAW;AACtB,YAAM,SAAS,eAAe,QAAQ;AACtC,YAAM,UAAU,0CAAkB;AAElC,aACEP,2BAAAA;AAAAA,QAACQ,SAAAA;AAAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,SAAS;AAAA,UACT,mBAAgB;AAAA,UAChB,sBAAoB;AAAA,UAEpB,UAAAX,2BAAAA,KAACY,kBAAM,IAAI,iCAAK,aAAL,EAAiB,OAAO,WAAS,IAC1C,UAAA;AAAA,YAAAZ,2BAAAA,KAACE,SAAAA,OAAA,EAAM,SAAS,KAAK,IAAI,EAAE,GAAG,GAAG,YAAY,UAAU,WAAW,SAAA,GAChE,UAAA;AAAA,cAAAC,2BAAAA;AAAAA,gBAACF,SAAAA;AAAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,oBACF,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,iBAAiB,CAAC,MAChB,EAAE,QAAQ,aAAa,SAAS,YAAY,QAAQ,EAAE;AAAA,oBACxD,OAAO,CAAC,MACN,EAAE,QAAQ,aAAa,SAAS,YAAY,QAAQ,EAAE;AAAA,oBACxD,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,gBAAgB;AAAA,oBAChB,SAAS;AAAA,kBAAA;AAAA,kBAGV,UAAA,OAAO;AAAA,gBAAA;AAAA,cAAA;AAAA,cAET,SACCE,2BAAAA,IAACE,SAAAA,YAAA,EAAW,SAAQ,MAAK,WAAU,MAAK,IAAI,EAAE,YAAY,IAAA,GACvD,UAAA,MAAA,CACH;AAAA,cAED,WACCF,2BAAAA,IAACE,SAAAA,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAC/B,UAAA,QAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YACAF,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,qBAAqB,uBAAuB;AAAA,gBAC5C,SAAS;AAAA,gBACT,SAAS;AAAA,kBACP;AAAA,oBACE,MAAM;AAAA,oBACN,SAAS;AAAA,oBACT,UAAU,mBAAmB;AAAA,oBAC7B,SAAS;AAAA,oBACT,OAAO,OAAO;AAAA,kBAAA;AAAA,gBAChB;AAAA,cACF;AAAA,YAAA;AAAA,UACF,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAGN;AAGA,UAAM,iBAAiB,MAAM;AAC3B,UAAI,SAA2B;AAC/B,UAAI,OAAyB;AAC7B,UAAI,SAA2B;AAE/B,YAAM,SAAS,QAAQ,UAAU,CAAC,UAAU;AAC1C,YAAI,MAAM,eAAe,KAAK,GAAG;AAC/B,cAAI,MAAM,SAAS,aAAa;AAC9B,qBAAS;AAAA,UACX,WAAW,MAAM,SAAS,WAAW;AACnC,mBAAO;AAAA,UACT,WAAW,MAAM,SAAS,aAAa;AACrC,kBAAM,cAAc;AACpB,kBAOI,iBAAY,OANd;AAAA,+BAAiB;AAAA,cACjB,iBAAiB;AAAA,cACjB,qBAAqB;AAAA,cACrB,SAAS;AAAA,cACT,SAAS;AAAA,gBAEP,IADC,8BACD,IADC;AAAA,cALH;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAIF,qBAAS,MAAM,aAAa,aAAa;AAAA,cACvC;AAAA,cACA;AAAA,cACA;AAAA,cACA,SAAS;AAAA,cACT;AAAA,eACG,kBACJ;AAAA,UACH;AAAA,QACF;AAAA,MACF,CAAC;AAED,UAAI,CAAC,UAAU,CAAC,cAAc;AAC5B,iBACEA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN;AAEA,aACEH,2BAAAA,KAAAa,qBAAA,EACG,UAAA;AAAA,QAAA,UAAW,SAASV,2BAAAA,IAAC,aAAA,EAAa,UAAA,OAAM;AAAA,QACxC;AAAA,QACA;AAAA,MAAA,GACH;AAAA,IAEJ;AAEA,WACEA,2BAAAA;AAAAA,MAACQ,SAAAA;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,mBAAgB;AAAA,QAChB,oBAAiB;AAAA,QACjB,sBAAoB;AAAA,QAEpB,UAAAR,2BAAAA,IAACS,gBAAA,EAAM,IAAI,iCAAK,aAAL,EAAiB,OAAO,SAAA,EAAS,IACzC,UAAA,eAAA,EAAe,CAClB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAWA,MAAM,mBAAmB;AAEzB,iBAAiB,SAAS;AAC1B,iBAAiB,OAAO;AACxB,iBAAiB,SAAS;;;;;;"}
package/Modal-Bnz6d9m9.js DELETED
@@ -1,320 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
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, { forwardRef, useState, useImperativeHandle } from "react";
34
- import { Box, Stack, Button, Typography, useTheme, useMediaQuery, Modal as Modal$1, Paper } from "@mui/material";
35
- import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
36
- import WarningAmberIcon from "@mui/icons-material/WarningAmber";
37
- import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
38
- import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline";
39
- const ModalFooter = ({
40
- // Renombrado
41
- children,
42
- showCloseButton = true,
43
- closeButtonText = "Cerrar",
44
- closeButtonDisabled = false,
45
- onClose,
46
- actions = []
47
- }) => {
48
- return /* @__PURE__ */ jsxs(Box, { sx: { padding: 2, borderTop: "1px solid #e0e0e0", display: "flex", justifyContent: "flex-end", gap: 1 }, children: [
49
- children,
50
- /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
51
- showCloseButton && /* @__PURE__ */ jsx(
52
- Button,
53
- {
54
- onClick: onClose,
55
- disabled: closeButtonDisabled,
56
- variant: "outlined",
57
- color: "secondary",
58
- children: closeButtonText
59
- }
60
- ),
61
- actions.map((action, index) => {
62
- const { buttonProps } = action;
63
- return /* @__PURE__ */ jsx(
64
- Button,
65
- __spreadProps(__spreadValues({
66
- onClick: action.onClick,
67
- disabled: action.disabled,
68
- variant: action.variant || "contained",
69
- color: action.color || "primary"
70
- }, buttonProps), {
71
- children: action.text
72
- }),
73
- index
74
- );
75
- })
76
- ] })
77
- ] });
78
- };
79
- const ModalHeader = ({ children }) => {
80
- return /* @__PURE__ */ jsx(Box, { sx: { padding: 2, borderBottom: "1px solid #e0e0e0", display: "flex", alignItems: "center", justifyContent: "space-between" }, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", component: "h2", children }) });
81
- };
82
- const ModalBody = ({ children }) => {
83
- return /* @__PURE__ */ jsx(Box, { sx: { padding: 2, overflowY: "auto", flexGrow: 1 }, children });
84
- };
85
- const modalStyle = {
86
- position: "absolute",
87
- top: "50%",
88
- left: "50%",
89
- transform: "translate(-50%, -50%)",
90
- width: "90%",
91
- maxHeight: "90vh",
92
- display: "flex",
93
- flexDirection: "column",
94
- outline: "none"
95
- };
96
- const severityConfig = {
97
- info: {
98
- color: "primary",
99
- icon: /* @__PURE__ */ jsx(InfoOutlinedIcon, { sx: { fontSize: 48 } }),
100
- bg: "primary.light"
101
- },
102
- warning: {
103
- color: "warning",
104
- icon: /* @__PURE__ */ jsx(WarningAmberIcon, { sx: { fontSize: 48 } }),
105
- bg: "warning.light"
106
- },
107
- error: {
108
- color: "error",
109
- icon: /* @__PURE__ */ jsx(ErrorOutlineIcon, { sx: { fontSize: 48 } }),
110
- bg: "error.light"
111
- },
112
- success: {
113
- color: "success",
114
- icon: /* @__PURE__ */ jsx(CheckCircleOutlineIcon, { sx: { fontSize: 48 } }),
115
- bg: "success.light"
116
- }
117
- };
118
- const Modal = forwardRef(
119
- ({
120
- mode = "default",
121
- open: controlledOpen,
122
- onClose: controlledOnClose,
123
- title,
124
- children,
125
- showCloseButton = true,
126
- closeButtonText = "Cerrar",
127
- closeButtonDisabled = false,
128
- actions = [],
129
- maxWidth = "sm",
130
- hiddenFooter = false,
131
- // Props del modo confirm
132
- onConfirm,
133
- confirmText = "Confirmar",
134
- confirmDisabled = false,
135
- severity = "info",
136
- confirmMessage
137
- }, ref) => {
138
- const [internalOpen, setInternalOpen] = useState(false);
139
- const [confirmLoading, setConfirmLoading] = useState(false);
140
- const isOpen = controlledOpen !== void 0 ? controlledOpen : internalOpen;
141
- useImperativeHandle(ref, () => ({
142
- open: () => setInternalOpen(true),
143
- close: () => {
144
- setInternalOpen(false);
145
- controlledOnClose == null ? void 0 : controlledOnClose();
146
- }
147
- }));
148
- const handleCloseInternal = () => {
149
- setInternalOpen(false);
150
- controlledOnClose == null ? void 0 : controlledOnClose();
151
- };
152
- const handleConfirm = async () => {
153
- if (!onConfirm) {
154
- handleCloseInternal();
155
- return;
156
- }
157
- try {
158
- const result = onConfirm();
159
- if (result instanceof Promise) {
160
- setConfirmLoading(true);
161
- await result;
162
- }
163
- } finally {
164
- setConfirmLoading(false);
165
- handleCloseInternal();
166
- }
167
- };
168
- const theme = useTheme();
169
- const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
170
- const getWidth = () => {
171
- if (isMobile) return "95%";
172
- switch (maxWidth) {
173
- case "xs":
174
- return 300;
175
- case "sm":
176
- return 500;
177
- case "md":
178
- return 700;
179
- case "lg":
180
- return 900;
181
- case "xl":
182
- return 1100;
183
- case false:
184
- return "auto";
185
- default:
186
- return 500;
187
- }
188
- };
189
- if (mode === "confirm") {
190
- const config = severityConfig[severity];
191
- const message = confirmMessage != null ? confirmMessage : children;
192
- return /* @__PURE__ */ jsx(
193
- Modal$1,
194
- {
195
- open: isOpen,
196
- onClose: handleCloseInternal,
197
- "aria-labelledby": "modal-title",
198
- closeAfterTransition: true,
199
- children: /* @__PURE__ */ jsxs(Paper, { sx: __spreadProps(__spreadValues({}, modalStyle), { width: getWidth() }), children: [
200
- /* @__PURE__ */ jsxs(Stack, { spacing: 2.5, sx: { p: 3, alignItems: "center", textAlign: "center" }, children: [
201
- /* @__PURE__ */ jsx(
202
- Box,
203
- {
204
- sx: {
205
- width: 72,
206
- height: 72,
207
- borderRadius: "50%",
208
- backgroundColor: (t) => t.palette[severity === "info" ? "primary" : severity].light,
209
- color: (t) => t.palette[severity === "info" ? "primary" : severity].dark,
210
- display: "flex",
211
- alignItems: "center",
212
- justifyContent: "center",
213
- opacity: 0.9
214
- },
215
- children: config.icon
216
- }
217
- ),
218
- title && /* @__PURE__ */ jsx(Typography, { variant: "h6", component: "h2", sx: { fontWeight: 700 }, children: title }),
219
- message && /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: message })
220
- ] }),
221
- /* @__PURE__ */ jsx(
222
- ModalFooter,
223
- {
224
- showCloseButton,
225
- closeButtonText,
226
- closeButtonDisabled: closeButtonDisabled || confirmLoading,
227
- onClose: handleCloseInternal,
228
- actions: [
229
- {
230
- text: confirmText,
231
- onClick: handleConfirm,
232
- disabled: confirmDisabled || confirmLoading,
233
- variant: "contained",
234
- color: config.color
235
- }
236
- ]
237
- }
238
- )
239
- ] })
240
- }
241
- );
242
- }
243
- const renderChildren = () => {
244
- let header = null;
245
- let body = null;
246
- let footer = null;
247
- React__default.Children.forEach(children, (child) => {
248
- if (React__default.isValidElement(child)) {
249
- if (child.type === ModalHeader) {
250
- header = child;
251
- } else if (child.type === ModalBody) {
252
- body = child;
253
- } else if (child.type === ModalFooter) {
254
- const footerChild = child;
255
- const _a = footerChild.props, {
256
- showCloseButton: childShowCloseButton,
257
- closeButtonText: childCloseButtonText,
258
- closeButtonDisabled: childCloseButtonDisabled,
259
- onClose: childOnClose,
260
- actions: childActions
261
- } = _a, restOfFooterProps = __objRest(_a, [
262
- "showCloseButton",
263
- "closeButtonText",
264
- "closeButtonDisabled",
265
- "onClose",
266
- "actions"
267
- ]);
268
- footer = React__default.cloneElement(footerChild, __spreadValues({
269
- showCloseButton,
270
- closeButtonText,
271
- closeButtonDisabled,
272
- onClose: handleCloseInternal,
273
- actions
274
- }, restOfFooterProps));
275
- }
276
- }
277
- });
278
- if (!footer && !hiddenFooter) {
279
- footer = /* @__PURE__ */ jsx(
280
- ModalFooter,
281
- {
282
- showCloseButton,
283
- closeButtonText,
284
- closeButtonDisabled,
285
- onClose: handleCloseInternal,
286
- actions
287
- }
288
- );
289
- }
290
- return /* @__PURE__ */ jsxs(Fragment, { children: [
291
- header || title && /* @__PURE__ */ jsx(ModalHeader, { children: title }),
292
- body,
293
- footer
294
- ] });
295
- };
296
- return /* @__PURE__ */ jsx(
297
- Modal$1,
298
- {
299
- open: isOpen,
300
- onClose: handleCloseInternal,
301
- "aria-labelledby": "modal-title",
302
- "aria-describedby": "modal-description",
303
- closeAfterTransition: true,
304
- children: /* @__PURE__ */ jsx(Paper, { sx: __spreadProps(__spreadValues({}, modalStyle), { width: getWidth() }), children: renderChildren() })
305
- }
306
- );
307
- }
308
- );
309
- const ModalWithStatics = Modal;
310
- ModalWithStatics.Header = ModalHeader;
311
- ModalWithStatics.Body = ModalBody;
312
- ModalWithStatics.Footer = ModalFooter;
313
- export {
314
- Modal as M,
315
- ModalHeader as a,
316
- ModalBody as b,
317
- ModalFooter as c,
318
- ModalWithStatics as d
319
- };
320
- //# sourceMappingURL=Modal-Bnz6d9m9.js.map