@soyfri/shared-library 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1028) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +281 -0
  3. package/chunks/ActionMenu-D81Xb35f.cjs.map +1 -0
  4. package/chunks/ActionMenu-co4b8doH.mjs +106 -0
  5. package/chunks/ActionMenu-co4b8doH.mjs.map +1 -0
  6. package/chunks/Alert-6Wiwby6L.mjs +53 -0
  7. package/chunks/Alert-6Wiwby6L.mjs.map +1 -0
  8. package/chunks/Alert-CLBHE4sH.cjs +52 -0
  9. package/chunks/Alert-CLBHE4sH.cjs.map +1 -0
  10. package/chunks/AppBarMenuToggle-BsN5zZTv.cjs +134 -0
  11. package/chunks/AppBarMenuToggle-BsN5zZTv.cjs.map +1 -0
  12. package/chunks/AppBarMenuToggle-DN_dFthr.mjs +135 -0
  13. package/chunks/AppBarMenuToggle-DN_dFthr.mjs.map +1 -0
  14. package/chunks/Autocomplete-BKuHgS8H.mjs +361 -0
  15. package/chunks/Autocomplete-BKuHgS8H.mjs.map +1 -0
  16. package/chunks/Autocomplete-CxZhdrSA.cjs +360 -0
  17. package/chunks/Autocomplete-CxZhdrSA.cjs.map +1 -0
  18. package/chunks/Avatar-BTEyuYXI.mjs +184 -0
  19. package/chunks/Avatar-BTEyuYXI.mjs.map +1 -0
  20. package/chunks/Avatar-CJlBSdDl.cjs +183 -0
  21. package/chunks/Avatar-CJlBSdDl.cjs.map +1 -0
  22. package/chunks/Breadcrumbs-DH0KAc8w.cjs +41 -0
  23. package/chunks/Breadcrumbs-DH0KAc8w.cjs.map +1 -0
  24. package/chunks/Breadcrumbs-Du_7W4gr.mjs +42 -0
  25. package/chunks/Breadcrumbs-Du_7W4gr.mjs.map +1 -0
  26. package/chunks/Button-BCNhPNKU.cjs +51 -0
  27. package/chunks/Button-BCNhPNKU.cjs.map +1 -0
  28. package/chunks/Button-DbqDgTAR.mjs +52 -0
  29. package/chunks/Button-DbqDgTAR.mjs.map +1 -0
  30. package/chunks/ButtonGroup-B9AnoOt_.cjs +64 -0
  31. package/chunks/ButtonGroup-B9AnoOt_.cjs.map +1 -0
  32. package/chunks/ButtonGroup-DFPzal0z.mjs +65 -0
  33. package/chunks/ButtonGroup-DFPzal0z.mjs.map +1 -0
  34. package/chunks/Card-DfueKp5e.mjs +155 -0
  35. package/chunks/Card-DfueKp5e.mjs.map +1 -0
  36. package/chunks/Card-DpKG8AOc.cjs +154 -0
  37. package/chunks/Card-DpKG8AOc.cjs.map +1 -0
  38. package/chunks/Checkbox-BaVffFaF.cjs +192 -0
  39. package/chunks/Checkbox-BaVffFaF.cjs.map +1 -0
  40. package/chunks/Checkbox-Bvky878D.mjs +193 -0
  41. package/chunks/Checkbox-Bvky878D.mjs.map +1 -0
  42. package/chunks/Chip-5QNjzffa.cjs +75 -0
  43. package/chunks/Chip-5QNjzffa.cjs.map +1 -0
  44. package/chunks/Chip-5ZYwvVc1.mjs +76 -0
  45. package/chunks/Chip-5ZYwvVc1.mjs.map +1 -0
  46. package/chunks/DataRow-6oYxHTYF.cjs +123 -0
  47. package/chunks/DataRow-6oYxHTYF.cjs.map +1 -0
  48. package/chunks/DataRow-B8SZkwHB.mjs +124 -0
  49. package/chunks/DataRow-B8SZkwHB.mjs.map +1 -0
  50. package/chunks/DatePicker-BEwQDuPy.mjs +187 -0
  51. package/chunks/DatePicker-BEwQDuPy.mjs.map +1 -0
  52. package/chunks/DatePicker-Dl46Ae5T.cjs +186 -0
  53. package/chunks/DatePicker-Dl46Ae5T.cjs.map +1 -0
  54. package/chunks/DateTimePicker-BDlUoDyR.cjs +230 -0
  55. package/chunks/DateTimePicker-BDlUoDyR.cjs.map +1 -0
  56. package/chunks/DateTimePicker-BXghtoRm.mjs +231 -0
  57. package/chunks/DateTimePicker-BXghtoRm.mjs.map +1 -0
  58. package/chunks/Divider-CSDEVgHL.cjs +41 -0
  59. package/chunks/Divider-CSDEVgHL.cjs.map +1 -0
  60. package/chunks/Divider-LWjGO0ja.mjs +42 -0
  61. package/chunks/Divider-LWjGO0ja.mjs.map +1 -0
  62. package/chunks/DrawerItem-BX8llYa3.cjs +274 -0
  63. package/chunks/DrawerItem-BX8llYa3.cjs.map +1 -0
  64. package/chunks/DrawerItem-BaLZe-DV.mjs +275 -0
  65. package/chunks/DrawerItem-BaLZe-DV.mjs.map +1 -0
  66. package/chunks/EmptyState-C3G5C0DO.cjs +91 -0
  67. package/chunks/EmptyState-C3G5C0DO.cjs.map +1 -0
  68. package/chunks/EmptyState-CVaRjXkT.mjs +92 -0
  69. package/chunks/EmptyState-CVaRjXkT.mjs.map +1 -0
  70. package/chunks/Flyout-BSaOisD7.mjs +118 -0
  71. package/chunks/Flyout-BSaOisD7.mjs.map +1 -0
  72. package/chunks/Flyout-CVH3IASy.cjs +117 -0
  73. package/chunks/Flyout-CVH3IASy.cjs.map +1 -0
  74. package/chunks/Gallery-B5XDZBRu.mjs +494 -0
  75. package/chunks/Gallery-B5XDZBRu.mjs.map +1 -0
  76. package/chunks/Gallery-BJ3O0SEf.cjs +493 -0
  77. package/chunks/Gallery-BJ3O0SEf.cjs.map +1 -0
  78. package/chunks/Icon-C4laDiIR.cjs +158 -0
  79. package/chunks/Icon-C4laDiIR.cjs.map +1 -0
  80. package/chunks/Icon-C5vYo9Is.mjs +159 -0
  81. package/chunks/Icon-C5vYo9Is.mjs.map +1 -0
  82. package/chunks/Input-BOt_sv7B.mjs +206 -0
  83. package/chunks/Input-BOt_sv7B.mjs.map +1 -0
  84. package/chunks/Input-Bcm7XRHs.cjs +205 -0
  85. package/chunks/Input-Bcm7XRHs.cjs.map +1 -0
  86. package/chunks/InputGroup-CSQ4zpAf.cjs +160 -0
  87. package/chunks/InputGroup-CSQ4zpAf.cjs.map +1 -0
  88. package/chunks/InputGroup-DIMk8yiS.mjs +161 -0
  89. package/chunks/InputGroup-DIMk8yiS.mjs.map +1 -0
  90. package/chunks/MenuButton-BqCkrXmM.cjs +79 -0
  91. package/chunks/MenuButton-BqCkrXmM.cjs.map +1 -0
  92. package/chunks/MenuButton-DUlSw-sF.mjs +80 -0
  93. package/chunks/MenuButton-DUlSw-sF.mjs.map +1 -0
  94. package/chunks/Modal-E1V8hyFI.mjs +362 -0
  95. package/chunks/Modal-E1V8hyFI.mjs.map +1 -0
  96. package/chunks/Modal-KRUDCrlp.cjs +361 -0
  97. package/chunks/Modal-KRUDCrlp.cjs.map +1 -0
  98. package/chunks/PageHeader-C5tVfSvH.cjs +88 -0
  99. package/chunks/PageHeader-C5tVfSvH.cjs.map +1 -0
  100. package/chunks/PageHeader-DAYz1_fF.mjs +89 -0
  101. package/chunks/PageHeader-DAYz1_fF.mjs.map +1 -0
  102. package/chunks/RadioGroup-DT5IaA5K.cjs +202 -0
  103. package/chunks/RadioGroup-DT5IaA5K.cjs.map +1 -0
  104. package/chunks/RadioGroup-atKq1EWA.mjs +203 -0
  105. package/chunks/RadioGroup-atKq1EWA.mjs.map +1 -0
  106. package/chunks/Select-CWZJnddP.mjs +389 -0
  107. package/chunks/Select-CWZJnddP.mjs.map +1 -0
  108. package/chunks/Select-CjiKx_1z.cjs +388 -0
  109. package/chunks/Select-CjiKx_1z.cjs.map +1 -0
  110. package/chunks/Spinner-ColidLuW.mjs +100 -0
  111. package/chunks/Spinner-ColidLuW.mjs.map +1 -0
  112. package/chunks/Spinner-D3Klgy3Z.cjs +99 -0
  113. package/chunks/Spinner-D3Klgy3Z.cjs.map +1 -0
  114. package/chunks/Stat-BYqc3PFf.cjs +149 -0
  115. package/chunks/Stat-BYqc3PFf.cjs.map +1 -0
  116. package/chunks/Stat-DX2kcT36.mjs +150 -0
  117. package/chunks/Stat-DX2kcT36.mjs.map +1 -0
  118. package/chunks/StatusMessage-B0oqiu3w.mjs +102 -0
  119. package/chunks/StatusMessage-B0oqiu3w.mjs.map +1 -0
  120. package/chunks/StatusMessage-CV1xnzeu.cjs +101 -0
  121. package/chunks/StatusMessage-CV1xnzeu.cjs.map +1 -0
  122. package/chunks/Step-BdgcmiDk.mjs +301 -0
  123. package/chunks/Step-BdgcmiDk.mjs.map +1 -0
  124. package/chunks/Step-fng1hpkt.cjs +300 -0
  125. package/chunks/Step-fng1hpkt.cjs.map +1 -0
  126. package/chunks/Switch-9zvnchC7.cjs +201 -0
  127. package/chunks/Switch-9zvnchC7.cjs.map +1 -0
  128. package/chunks/Switch-CsYwGxu5.mjs +185 -0
  129. package/chunks/Switch-CsYwGxu5.mjs.map +1 -0
  130. package/chunks/Tab-BXTh3QSn.mjs +138 -0
  131. package/chunks/Tab-BXTh3QSn.mjs.map +1 -0
  132. package/chunks/Tab-CjCGp0aH.cjs +137 -0
  133. package/chunks/Tab-CjCGp0aH.cjs.map +1 -0
  134. package/chunks/Table-BcI9uvYg.cjs +539 -0
  135. package/chunks/Table-BcI9uvYg.cjs.map +1 -0
  136. package/chunks/Table-DGmx3UyH.mjs +540 -0
  137. package/chunks/Table-DGmx3UyH.mjs.map +1 -0
  138. package/chunks/TimelineItem-BWFnies7.mjs +72 -0
  139. package/chunks/TimelineItem-BWFnies7.mjs.map +1 -0
  140. package/chunks/TimelineItem-CceZABwX.cjs +88 -0
  141. package/chunks/TimelineItem-CceZABwX.cjs.map +1 -0
  142. package/chunks/Tooltip-BWffoOtY.mjs +59 -0
  143. package/chunks/Tooltip-BWffoOtY.mjs.map +1 -0
  144. package/chunks/Tooltip-BtEsQB-y.cjs +58 -0
  145. package/chunks/Tooltip-BtEsQB-y.cjs.map +1 -0
  146. package/chunks/formField.sx-BLA6rq1F.mjs +109 -0
  147. package/chunks/formField.sx-BLA6rq1F.mjs.map +1 -0
  148. package/chunks/formField.sx-DEDuTUQS.cjs +108 -0
  149. package/chunks/formField.sx-DEDuTUQS.cjs.map +1 -0
  150. package/chunks/mergeSlotProps-D-7l6IPd.mjs +32 -0
  151. package/chunks/mergeSlotProps-D-7l6IPd.mjs.map +1 -0
  152. package/chunks/mergeSlotProps-DixXUzK1.cjs +31 -0
  153. package/chunks/mergeSlotProps-DixXUzK1.cjs.map +1 -0
  154. package/chunks/mergeSx-BXoNZjB_.mjs +10 -0
  155. package/chunks/mergeSx-BXoNZjB_.mjs.map +1 -0
  156. package/chunks/mergeSx-Dbccoo_H.cjs.map +1 -0
  157. package/chunks/resolvePreset-CxTI6_Ln.cjs.map +1 -0
  158. package/chunks/resolvePreset-K6_BfWHD.mjs +15 -0
  159. package/chunks/resolvePreset-K6_BfWHD.mjs.map +1 -0
  160. package/chunks/tokens-B5kmy5Gy.cjs +36 -0
  161. package/chunks/tokens-B5kmy5Gy.cjs.map +1 -0
  162. package/chunks/tokens-C2AKLGbM.mjs +37 -0
  163. package/chunks/tokens-C2AKLGbM.mjs.map +1 -0
  164. package/components/ActionMenu/ActionMenu.d.cts +44 -0
  165. package/components/ActionMenu/ActionMenu.d.mts +44 -0
  166. package/components/ActionMenu/index.cjs +7 -0
  167. package/components/ActionMenu/index.cjs.map +1 -0
  168. package/components/ActionMenu/index.d.cts +2 -0
  169. package/components/ActionMenu/index.d.mts +2 -0
  170. package/components/ActionMenu/index.mjs +7 -0
  171. package/components/ActionMenu/index.mjs.map +1 -0
  172. package/components/ActionMenu.d.cts +6 -0
  173. package/components/ActionMenu.d.mts +6 -0
  174. package/components/Alert/Alert.d.cts +26 -0
  175. package/components/Alert/Alert.d.mts +26 -0
  176. package/components/Alert/Alert.d.ts +3 -8
  177. package/components/Alert/index.cjs +6 -0
  178. package/components/Alert/index.cjs.map +1 -0
  179. package/components/Alert/index.d.cts +2 -0
  180. package/components/Alert/index.d.mts +2 -0
  181. package/components/Alert/index.mjs +6 -0
  182. package/components/Alert/index.mjs.map +1 -0
  183. package/components/Alert.d.cts +6 -0
  184. package/components/Alert.d.mts +6 -0
  185. package/components/AppBar/AppBar.d.cts +38 -0
  186. package/components/AppBar/AppBar.d.mts +38 -0
  187. package/components/AppBar/AppBar.d.ts +2 -19
  188. package/components/AppBar/AppBar.sx.d.cts +21 -0
  189. package/components/AppBar/AppBar.sx.d.mts +21 -0
  190. package/components/AppBar/AppBar.sx.d.ts +12 -3
  191. package/components/AppBar/AppBarContext.d.cts +18 -0
  192. package/components/AppBar/AppBarContext.d.mts +18 -0
  193. package/components/AppBar/AppBarMenuToggle.d.cts +39 -0
  194. package/components/AppBar/AppBarMenuToggle.d.mts +39 -0
  195. package/components/AppBar/index.cjs +9 -0
  196. package/components/AppBar/index.cjs.map +1 -0
  197. package/components/AppBar/index.d.cts +6 -0
  198. package/components/AppBar/index.d.mts +6 -0
  199. package/components/AppBar/index.mjs +9 -0
  200. package/components/AppBar/index.mjs.map +1 -0
  201. package/components/AppBar.d.cts +6 -0
  202. package/components/AppBar.d.mts +6 -0
  203. package/components/Autocomplete/Autocomplete.d.cts +102 -0
  204. package/components/Autocomplete/Autocomplete.d.mts +102 -0
  205. package/components/Autocomplete/Autocomplete.helpers.d.cts +22 -0
  206. package/components/Autocomplete/Autocomplete.helpers.d.mts +22 -0
  207. package/components/Autocomplete/Autocomplete.sx.d.cts +12 -0
  208. package/components/Autocomplete/Autocomplete.sx.d.mts +12 -0
  209. package/components/Autocomplete/Autocomplete.sx.d.ts +8 -3
  210. package/components/Autocomplete/_parts/AutocompleteChips.d.cts +20 -0
  211. package/components/Autocomplete/_parts/AutocompleteChips.d.mts +20 -0
  212. package/components/Autocomplete/_parts/AutocompleteLoader.d.cts +9 -0
  213. package/components/Autocomplete/_parts/AutocompleteLoader.d.mts +9 -0
  214. package/components/Autocomplete/_parts/AutocompleteOption.d.cts +16 -0
  215. package/components/Autocomplete/_parts/AutocompleteOption.d.mts +16 -0
  216. package/components/Autocomplete/index.cjs +7 -0
  217. package/components/Autocomplete/index.cjs.map +1 -0
  218. package/components/Autocomplete/index.d.cts +2 -0
  219. package/components/Autocomplete/index.d.mts +2 -0
  220. package/components/Autocomplete/index.mjs +7 -0
  221. package/components/Autocomplete/index.mjs.map +1 -0
  222. package/components/Autocomplete.d.cts +6 -0
  223. package/components/Autocomplete.d.mts +6 -0
  224. package/components/Avatar/Avatar.d.cts +48 -0
  225. package/components/Avatar/Avatar.d.mts +48 -0
  226. package/components/Avatar/Avatar.d.ts +3 -3
  227. package/components/Avatar/index.cjs +5 -0
  228. package/components/Avatar/index.cjs.map +1 -0
  229. package/components/Avatar/index.d.cts +2 -0
  230. package/components/Avatar/index.d.mts +2 -0
  231. package/components/Avatar/index.mjs +5 -0
  232. package/components/Avatar/index.mjs.map +1 -0
  233. package/components/Avatar.d.cts +2 -0
  234. package/components/Avatar.d.mts +2 -0
  235. package/components/Breadcrumbs/Breadcrumbs.d.cts +9 -0
  236. package/components/Breadcrumbs/Breadcrumbs.d.mts +9 -0
  237. package/components/Breadcrumbs/Breadcrumbs.d.ts +3 -10
  238. package/components/Breadcrumbs/index.cjs +6 -0
  239. package/components/Breadcrumbs/index.cjs.map +1 -0
  240. package/components/Breadcrumbs/index.d.cts +2 -0
  241. package/components/Breadcrumbs/index.d.mts +2 -0
  242. package/components/Breadcrumbs/index.mjs +6 -0
  243. package/components/Breadcrumbs/index.mjs.map +1 -0
  244. package/components/Breadcrumbs.d.cts +6 -0
  245. package/components/Breadcrumbs.d.mts +6 -0
  246. package/components/Button/Button.d.cts +17 -0
  247. package/components/Button/Button.d.mts +17 -0
  248. package/components/Button/Button.d.ts +16 -21
  249. package/components/Button/index.cjs +5 -0
  250. package/components/Button/index.cjs.map +1 -0
  251. package/components/Button/index.d.cts +2 -0
  252. package/components/Button/index.d.mts +2 -0
  253. package/components/Button/index.mjs +5 -0
  254. package/components/Button/index.mjs.map +1 -0
  255. package/components/Button.d.cts +2 -0
  256. package/components/Button.d.mts +2 -0
  257. package/components/ButtonGroup/ButtonGroup.d.cts +9 -0
  258. package/components/ButtonGroup/ButtonGroup.d.mts +9 -0
  259. package/components/ButtonGroup/ButtonGroup.d.ts +3 -12
  260. package/components/ButtonGroup/index.cjs +6 -0
  261. package/components/ButtonGroup/index.cjs.map +1 -0
  262. package/components/ButtonGroup/index.d.cts +2 -0
  263. package/components/ButtonGroup/index.d.mts +2 -0
  264. package/components/ButtonGroup/index.mjs +6 -0
  265. package/components/ButtonGroup/index.mjs.map +1 -0
  266. package/components/ButtonGroup.d.cts +6 -0
  267. package/components/ButtonGroup.d.mts +6 -0
  268. package/components/Card/Card.d.cts +72 -0
  269. package/components/Card/Card.d.mts +72 -0
  270. package/components/Card/Card.d.ts +25 -7
  271. package/components/Card/Card.sx.d.cts +25 -0
  272. package/components/Card/Card.sx.d.mts +25 -0
  273. package/components/Card/Card.sx.d.ts +16 -5
  274. package/components/Card/index.cjs +8 -0
  275. package/components/Card/index.cjs.map +1 -0
  276. package/components/Card/index.d.cts +4 -0
  277. package/components/Card/index.d.mts +4 -0
  278. package/components/Card/index.d.ts +1 -1
  279. package/components/Card/index.mjs +8 -0
  280. package/components/Card/index.mjs.map +1 -0
  281. package/components/Card.d.cts +6 -0
  282. package/components/Card.d.mts +6 -0
  283. package/components/Checkbox/Checkbox.d.cts +54 -0
  284. package/components/Checkbox/Checkbox.d.mts +54 -0
  285. package/components/Checkbox/Checkbox.d.ts +1 -2
  286. package/components/Checkbox/Checkbox.sx.d.cts +19 -0
  287. package/components/Checkbox/Checkbox.sx.d.mts +19 -0
  288. package/components/Checkbox/Checkbox.sx.d.ts +10 -4
  289. package/components/Checkbox/index.cjs +6 -0
  290. package/components/Checkbox/index.cjs.map +1 -0
  291. package/components/Checkbox/index.d.cts +2 -0
  292. package/components/Checkbox/index.d.mts +2 -0
  293. package/components/Checkbox/index.mjs +6 -0
  294. package/components/Checkbox/index.mjs.map +1 -0
  295. package/components/Checkbox.d.cts +6 -0
  296. package/components/Checkbox.d.mts +6 -0
  297. package/components/Chip/Chip.d.cts +20 -0
  298. package/components/Chip/Chip.d.mts +20 -0
  299. package/components/Chip/Chip.d.ts +1 -1
  300. package/components/Chip/index.cjs +6 -0
  301. package/components/Chip/index.cjs.map +1 -0
  302. package/components/Chip/index.d.cts +2 -0
  303. package/components/Chip/index.d.mts +2 -0
  304. package/components/Chip/index.mjs +6 -0
  305. package/components/Chip/index.mjs.map +1 -0
  306. package/components/Chip.d.cts +6 -0
  307. package/components/Chip.d.mts +6 -0
  308. package/components/Column/Column.d.cts +12 -0
  309. package/components/Column/Column.d.mts +12 -0
  310. package/components/Column/index.cjs +8 -0
  311. package/components/Column/index.cjs.map +1 -0
  312. package/components/Column/index.d.cts +2 -0
  313. package/components/Column/index.d.mts +2 -0
  314. package/components/Column/index.mjs +8 -0
  315. package/components/Column/index.mjs.map +1 -0
  316. package/components/Column.d.cts +2 -0
  317. package/components/Column.d.mts +2 -0
  318. package/components/DataRow/DataRow.d.cts +62 -0
  319. package/components/DataRow/DataRow.d.mts +62 -0
  320. package/components/DataRow/DataRow.d.ts +30 -12
  321. package/components/DataRow/index.cjs +6 -0
  322. package/components/DataRow/index.cjs.map +1 -0
  323. package/components/DataRow/index.d.cts +2 -0
  324. package/components/DataRow/index.d.mts +2 -0
  325. package/components/DataRow/index.mjs +6 -0
  326. package/components/DataRow/index.mjs.map +1 -0
  327. package/components/DataRow.d.cts +6 -0
  328. package/components/DataRow.d.mts +6 -0
  329. package/components/DatePicker/DatePicker.d.cts +44 -0
  330. package/components/DatePicker/DatePicker.d.mts +44 -0
  331. package/components/DatePicker/DatePicker.d.ts +1 -1
  332. package/components/DatePicker/DatePicker.helpers.d.cts +7 -0
  333. package/components/DatePicker/DatePicker.helpers.d.mts +7 -0
  334. package/components/DatePicker/DatePicker.sx.d.cts +16 -0
  335. package/components/DatePicker/DatePicker.sx.d.mts +16 -0
  336. package/components/DatePicker/DatePicker.sx.d.ts +11 -4
  337. package/components/DatePicker/index.cjs +6 -0
  338. package/components/DatePicker/index.cjs.map +1 -0
  339. package/components/DatePicker/index.d.cts +2 -0
  340. package/components/DatePicker/index.d.mts +2 -0
  341. package/components/DatePicker/index.mjs +6 -0
  342. package/components/DatePicker/index.mjs.map +1 -0
  343. package/components/DatePicker.d.cts +6 -0
  344. package/components/DatePicker.d.mts +6 -0
  345. package/components/DateTimePicker/DateTimePicker.d.cts +78 -0
  346. package/components/DateTimePicker/DateTimePicker.d.mts +78 -0
  347. package/components/DateTimePicker/DateTimePicker.d.ts +1 -1
  348. package/components/DateTimePicker/DateTimePicker.helpers.d.cts +13 -0
  349. package/components/DateTimePicker/DateTimePicker.helpers.d.mts +13 -0
  350. package/components/DateTimePicker/DateTimePicker.sx.d.cts +10 -0
  351. package/components/DateTimePicker/DateTimePicker.sx.d.mts +10 -0
  352. package/components/DateTimePicker/DateTimePicker.sx.d.ts +5 -2
  353. package/components/DateTimePicker/index.cjs +6 -0
  354. package/components/DateTimePicker/index.cjs.map +1 -0
  355. package/components/DateTimePicker/index.d.cts +2 -0
  356. package/components/DateTimePicker/index.d.mts +2 -0
  357. package/components/DateTimePicker/index.mjs +6 -0
  358. package/components/DateTimePicker/index.mjs.map +1 -0
  359. package/components/DateTimePicker.d.cts +6 -0
  360. package/components/DateTimePicker.d.mts +6 -0
  361. package/components/Divider/Divider.d.cts +9 -0
  362. package/components/Divider/Divider.d.mts +9 -0
  363. package/components/Divider/Divider.d.ts +3 -11
  364. package/components/Divider/index.cjs +6 -0
  365. package/components/Divider/index.cjs.map +1 -0
  366. package/components/Divider/index.d.cts +2 -0
  367. package/components/Divider/index.d.mts +2 -0
  368. package/components/Divider/index.mjs +6 -0
  369. package/components/Divider/index.mjs.map +1 -0
  370. package/components/Divider.d.cts +6 -0
  371. package/components/Divider.d.mts +6 -0
  372. package/components/Drawer/Drawer.d.cts +58 -0
  373. package/components/Drawer/Drawer.d.mts +58 -0
  374. package/components/Drawer/Drawer.d.ts +1 -1
  375. package/components/Drawer/Drawer.sx.d.cts +28 -0
  376. package/components/Drawer/Drawer.sx.d.mts +28 -0
  377. package/components/Drawer/Drawer.sx.d.ts +9 -4
  378. package/components/Drawer/DrawerContext.d.cts +18 -0
  379. package/components/Drawer/DrawerContext.d.mts +18 -0
  380. package/components/Drawer/DrawerItem.d.cts +40 -0
  381. package/components/Drawer/DrawerItem.d.mts +40 -0
  382. package/components/Drawer/index.cjs +8 -0
  383. package/components/Drawer/index.cjs.map +1 -0
  384. package/components/Drawer/index.d.cts +6 -0
  385. package/components/Drawer/index.d.mts +6 -0
  386. package/components/Drawer/index.mjs +8 -0
  387. package/components/Drawer/index.mjs.map +1 -0
  388. package/components/Drawer.d.cts +6 -0
  389. package/components/Drawer.d.mts +6 -0
  390. package/components/EmptyState/EmptyState.d.cts +37 -0
  391. package/components/EmptyState/EmptyState.d.mts +37 -0
  392. package/components/EmptyState/EmptyState.d.ts +18 -5
  393. package/components/EmptyState/index.cjs +6 -0
  394. package/components/EmptyState/index.cjs.map +1 -0
  395. package/components/EmptyState/index.d.cts +2 -0
  396. package/components/EmptyState/index.d.mts +2 -0
  397. package/components/EmptyState/index.mjs +6 -0
  398. package/components/EmptyState/index.mjs.map +1 -0
  399. package/components/EmptyState.d.cts +6 -0
  400. package/components/EmptyState.d.mts +6 -0
  401. package/components/Flyout/Flyout.d.cts +13 -0
  402. package/components/Flyout/Flyout.d.mts +13 -0
  403. package/components/Flyout/Flyout.d.ts +1 -1
  404. package/components/Flyout/index.cjs +5 -0
  405. package/components/Flyout/index.cjs.map +1 -0
  406. package/components/Flyout/index.d.cts +1 -0
  407. package/components/Flyout/index.d.mts +1 -0
  408. package/components/Flyout/index.mjs +5 -0
  409. package/components/Flyout/index.mjs.map +1 -0
  410. package/components/Flyout.d.cts +2 -0
  411. package/components/Flyout.d.mts +2 -0
  412. package/components/Gallery/Gallery.d.cts +28 -0
  413. package/components/Gallery/Gallery.d.mts +28 -0
  414. package/components/Gallery/Gallery.d.ts +1 -1
  415. package/components/Gallery/Gallery.definition.d.cts +1 -0
  416. package/components/Gallery/Gallery.definition.d.mts +1 -0
  417. package/components/Gallery/GalleryLightbox.d.cts +16 -0
  418. package/components/Gallery/GalleryLightbox.d.mts +16 -0
  419. package/components/Gallery/GalleryMain.d.cts +8 -0
  420. package/components/Gallery/GalleryMain.d.mts +8 -0
  421. package/components/Gallery/GalleryThumbnails.d.cts +13 -0
  422. package/components/Gallery/GalleryThumbnails.d.mts +13 -0
  423. package/components/Gallery/index.cjs +6 -0
  424. package/components/Gallery/index.cjs.map +1 -0
  425. package/components/Gallery/index.d.cts +2 -0
  426. package/components/Gallery/index.d.mts +2 -0
  427. package/components/Gallery/index.mjs +6 -0
  428. package/components/Gallery/index.mjs.map +1 -0
  429. package/components/Gallery.d.cts +6 -0
  430. package/components/Gallery.d.mts +6 -0
  431. package/components/Icon/Icon.d.cts +48 -0
  432. package/components/Icon/Icon.d.mts +48 -0
  433. package/components/Icon/Icon.d.ts +2 -2
  434. package/components/Icon/index.cjs +6 -0
  435. package/components/Icon/index.cjs.map +1 -0
  436. package/components/Icon/index.d.cts +2 -0
  437. package/components/Icon/index.d.mts +2 -0
  438. package/components/Icon/index.mjs +6 -0
  439. package/components/Icon/index.mjs.map +1 -0
  440. package/components/Icon.d.cts +6 -0
  441. package/components/Icon.d.mts +6 -0
  442. package/components/Input/Input.d.cts +48 -0
  443. package/components/Input/Input.d.mts +48 -0
  444. package/components/Input/Input.d.ts +1 -1
  445. package/components/Input/Input.helpers.d.cts +14 -0
  446. package/components/Input/Input.helpers.d.mts +14 -0
  447. package/components/Input/Input.sx.d.cts +11 -0
  448. package/components/Input/Input.sx.d.mts +11 -0
  449. package/components/Input/Input.sx.d.ts +6 -3
  450. package/components/Input/index.cjs +6 -0
  451. package/components/Input/index.cjs.map +1 -0
  452. package/components/Input/index.d.cts +2 -0
  453. package/components/Input/index.d.mts +2 -0
  454. package/components/Input/index.mjs +6 -0
  455. package/components/Input/index.mjs.map +1 -0
  456. package/components/Input.d.cts +6 -0
  457. package/components/Input.d.mts +6 -0
  458. package/components/InputGroup/InputGroup.d.cts +41 -0
  459. package/components/InputGroup/InputGroup.d.mts +41 -0
  460. package/components/InputGroup/InputGroup.d.ts +3 -4
  461. package/components/InputGroup/index.cjs +6 -0
  462. package/components/InputGroup/index.cjs.map +1 -0
  463. package/components/InputGroup/index.d.cts +2 -0
  464. package/components/InputGroup/index.d.mts +2 -0
  465. package/components/InputGroup/index.mjs +6 -0
  466. package/components/InputGroup/index.mjs.map +1 -0
  467. package/components/InputGroup.d.cts +6 -0
  468. package/components/InputGroup.d.mts +6 -0
  469. package/components/MenuButton/MenuButton.d.cts +24 -0
  470. package/components/MenuButton/MenuButton.d.mts +24 -0
  471. package/components/MenuButton/MenuButton.d.ts +4 -1
  472. package/components/MenuButton/index.cjs +5 -0
  473. package/components/MenuButton/index.cjs.map +1 -0
  474. package/components/MenuButton/index.d.cts +2 -0
  475. package/components/MenuButton/index.d.mts +2 -0
  476. package/components/MenuButton/index.d.ts +1 -0
  477. package/components/MenuButton/index.mjs +5 -0
  478. package/components/MenuButton/index.mjs.map +1 -0
  479. package/components/MenuButton.d.cts +2 -0
  480. package/components/MenuButton.d.mts +2 -0
  481. package/components/Modal/Modal.d.cts +87 -0
  482. package/components/Modal/Modal.d.mts +87 -0
  483. package/components/Modal/ModalBody.d.cts +11 -0
  484. package/components/Modal/ModalBody.d.mts +11 -0
  485. package/components/Modal/ModalFooter.d.cts +27 -0
  486. package/components/Modal/ModalFooter.d.mts +27 -0
  487. package/components/Modal/ModalHeader.d.cts +11 -0
  488. package/components/Modal/ModalHeader.d.mts +11 -0
  489. package/components/Modal/index.cjs +9 -0
  490. package/components/Modal/index.cjs.map +1 -0
  491. package/components/Modal/index.d.cts +8 -0
  492. package/components/Modal/index.d.mts +8 -0
  493. package/components/Modal/index.mjs +9 -0
  494. package/components/Modal/index.mjs.map +1 -0
  495. package/components/Modal.d.cts +6 -0
  496. package/components/Modal.d.mts +6 -0
  497. package/components/PageHeader/PageHeader.d.cts +36 -0
  498. package/components/PageHeader/PageHeader.d.mts +36 -0
  499. package/components/PageHeader/PageHeader.d.ts +16 -5
  500. package/components/PageHeader/index.cjs +6 -0
  501. package/components/PageHeader/index.cjs.map +1 -0
  502. package/components/PageHeader/index.d.cts +2 -0
  503. package/components/PageHeader/index.d.mts +2 -0
  504. package/components/PageHeader/index.mjs +6 -0
  505. package/components/PageHeader/index.mjs.map +1 -0
  506. package/components/PageHeader.d.cts +6 -0
  507. package/components/PageHeader.d.mts +6 -0
  508. package/components/RadioGroup/RadioGroup.d.cts +58 -0
  509. package/components/RadioGroup/RadioGroup.d.mts +58 -0
  510. package/components/RadioGroup/RadioGroup.d.ts +1 -2
  511. package/components/RadioGroup/RadioGroup.sx.d.cts +25 -0
  512. package/components/RadioGroup/RadioGroup.sx.d.mts +25 -0
  513. package/components/RadioGroup/RadioGroup.sx.d.ts +6 -1
  514. package/components/RadioGroup/index.cjs +6 -0
  515. package/components/RadioGroup/index.cjs.map +1 -0
  516. package/components/RadioGroup/index.d.cts +2 -0
  517. package/components/RadioGroup/index.d.mts +2 -0
  518. package/components/RadioGroup/index.mjs +6 -0
  519. package/components/RadioGroup/index.mjs.map +1 -0
  520. package/components/RadioGroup.d.cts +6 -0
  521. package/components/RadioGroup.d.mts +6 -0
  522. package/components/Select/Select.d.cts +99 -0
  523. package/components/Select/Select.d.mts +99 -0
  524. package/components/Select/Select.helpers.d.cts +14 -0
  525. package/components/Select/Select.helpers.d.mts +14 -0
  526. package/components/Select/Select.sx.d.cts +10 -0
  527. package/components/Select/Select.sx.d.mts +10 -0
  528. package/components/Select/Select.sx.d.ts +5 -2
  529. package/components/Select/_parts/SelectMenuItem.d.cts +20 -0
  530. package/components/Select/_parts/SelectMenuItem.d.mts +20 -0
  531. package/components/Select/_parts/SelectValue.d.cts +22 -0
  532. package/components/Select/_parts/SelectValue.d.mts +22 -0
  533. package/components/Select/index.cjs +7 -0
  534. package/components/Select/index.cjs.map +1 -0
  535. package/components/Select/index.d.cts +2 -0
  536. package/components/Select/index.d.mts +2 -0
  537. package/components/Select/index.mjs +7 -0
  538. package/components/Select/index.mjs.map +1 -0
  539. package/components/Select.d.cts +6 -0
  540. package/components/Select.d.mts +6 -0
  541. package/components/Spinner/Spinner.d.cts +27 -0
  542. package/components/Spinner/Spinner.d.mts +27 -0
  543. package/components/Spinner/Spinner.d.ts +3 -2
  544. package/components/Spinner/index.cjs +6 -0
  545. package/components/Spinner/index.cjs.map +1 -0
  546. package/components/Spinner/index.d.cts +2 -0
  547. package/components/Spinner/index.d.mts +2 -0
  548. package/components/Spinner/index.mjs +6 -0
  549. package/components/Spinner/index.mjs.map +1 -0
  550. package/components/Spinner.d.cts +6 -0
  551. package/components/Spinner.d.mts +6 -0
  552. package/components/Stat/Stat.d.cts +58 -0
  553. package/components/Stat/Stat.d.mts +58 -0
  554. package/components/Stat/Stat.d.ts +48 -10
  555. package/components/Stat/index.cjs +6 -0
  556. package/components/Stat/index.cjs.map +1 -0
  557. package/components/Stat/index.d.cts +2 -0
  558. package/components/Stat/index.d.mts +2 -0
  559. package/components/Stat/index.mjs +6 -0
  560. package/components/Stat/index.mjs.map +1 -0
  561. package/components/Stat.d.cts +6 -0
  562. package/components/Stat.d.mts +6 -0
  563. package/components/StatusMessage/StatusMessage.d.cts +35 -0
  564. package/components/StatusMessage/StatusMessage.d.mts +35 -0
  565. package/components/StatusMessage/StatusMessage.d.ts +9 -2
  566. package/components/StatusMessage/StatusMessageContext.d.cts +16 -0
  567. package/components/StatusMessage/StatusMessageContext.d.mts +16 -0
  568. package/components/StatusMessage/index.cjs +26 -0
  569. package/components/StatusMessage/index.cjs.map +1 -0
  570. package/components/StatusMessage/index.d.cts +4 -0
  571. package/components/StatusMessage/index.d.mts +4 -0
  572. package/components/StatusMessage/index.mjs +26 -0
  573. package/components/StatusMessage/index.mjs.map +1 -0
  574. package/components/StatusMessage.d.cts +6 -0
  575. package/components/StatusMessage.d.mts +6 -0
  576. package/components/Stepper/Step.d.cts +18 -0
  577. package/components/Stepper/Step.d.mts +18 -0
  578. package/components/Stepper/Stepper.d.cts +18 -0
  579. package/components/Stepper/Stepper.d.mts +18 -0
  580. package/components/Stepper/Stepper.d.ts +4 -3
  581. package/components/Stepper/StepperContext.d.cts +73 -0
  582. package/components/Stepper/StepperContext.d.mts +73 -0
  583. package/components/Stepper/_hooks/useHorizontalScroll.d.cts +19 -0
  584. package/components/Stepper/_hooks/useHorizontalScroll.d.mts +19 -0
  585. package/components/Stepper/_parts/StepperScrollArrow.d.cts +19 -0
  586. package/components/Stepper/_parts/StepperScrollArrow.d.mts +19 -0
  587. package/components/Stepper/index.cjs +10 -0
  588. package/components/Stepper/index.cjs.map +1 -0
  589. package/components/Stepper/index.d.cts +6 -0
  590. package/components/Stepper/index.d.mts +6 -0
  591. package/components/Stepper/index.mjs +10 -0
  592. package/components/Stepper/index.mjs.map +1 -0
  593. package/components/Stepper.d.cts +6 -0
  594. package/components/Stepper.d.mts +6 -0
  595. package/components/Switch/Switch.d.cts +49 -0
  596. package/components/Switch/Switch.d.mts +49 -0
  597. package/components/Switch/Switch.d.ts +2 -1
  598. package/components/Switch/Switch.sx.d.cts +27 -0
  599. package/components/Switch/Switch.sx.d.mts +27 -0
  600. package/components/Switch/Switch.sx.d.ts +6 -1
  601. package/components/Switch/Switch.types.d.cts +1 -0
  602. package/components/Switch/Switch.types.d.mts +1 -0
  603. package/components/Switch/index.cjs +6 -0
  604. package/components/Switch/index.cjs.map +1 -0
  605. package/components/Switch/index.d.cts +2 -0
  606. package/components/Switch/index.d.mts +2 -0
  607. package/components/Switch/index.mjs +6 -0
  608. package/components/Switch/index.mjs.map +1 -0
  609. package/components/Switch.d.cts +6 -0
  610. package/components/Switch.d.mts +6 -0
  611. package/components/Table/Table.d.cts +41 -0
  612. package/components/Table/Table.d.mts +41 -0
  613. package/components/Table/data.d.cts +3 -0
  614. package/components/Table/data.d.mts +3 -0
  615. package/components/Table/exportsUtils.d.cts +24 -0
  616. package/components/Table/exportsUtils.d.mts +24 -0
  617. package/components/Table/index.cjs +5 -0
  618. package/components/Table/index.cjs.map +1 -0
  619. package/components/Table/index.d.cts +1 -0
  620. package/components/Table/index.d.mts +1 -0
  621. package/components/Table/index.mjs +5 -0
  622. package/components/Table/index.mjs.map +1 -0
  623. package/components/Table/types.d.cts +31 -0
  624. package/components/Table/types.d.mts +31 -0
  625. package/components/Table.d.cts +2 -0
  626. package/components/Table.d.mts +2 -0
  627. package/components/Tabs/Tab.d.cts +24 -0
  628. package/components/Tabs/Tab.d.mts +24 -0
  629. package/components/Tabs/Tabs.d.cts +36 -0
  630. package/components/Tabs/Tabs.d.mts +36 -0
  631. package/components/Tabs/Tabs.d.ts +2 -2
  632. package/components/Tabs/_tabUtils.d.cts +4 -0
  633. package/components/Tabs/_tabUtils.d.mts +4 -0
  634. package/components/Tabs/index.cjs +7 -0
  635. package/components/Tabs/index.cjs.map +1 -0
  636. package/components/Tabs/index.d.cts +4 -0
  637. package/components/Tabs/index.d.mts +4 -0
  638. package/components/Tabs/index.mjs +7 -0
  639. package/components/Tabs/index.mjs.map +1 -0
  640. package/components/Tabs.d.cts +6 -0
  641. package/components/Tabs.d.mts +6 -0
  642. package/components/Timeline/Timeline.d.cts +8 -0
  643. package/components/Timeline/Timeline.d.mts +8 -0
  644. package/components/Timeline/Timeline.d.ts +3 -4
  645. package/components/Timeline/TimelineItem.d.cts +9 -0
  646. package/components/Timeline/TimelineItem.d.mts +9 -0
  647. package/components/Timeline/TimelineItem.d.ts +4 -2
  648. package/components/Timeline/index.cjs +7 -0
  649. package/components/Timeline/index.cjs.map +1 -0
  650. package/components/Timeline/index.d.cts +4 -0
  651. package/components/Timeline/index.d.mts +4 -0
  652. package/components/Timeline/index.mjs +7 -0
  653. package/components/Timeline/index.mjs.map +1 -0
  654. package/components/Timeline.d.cts +6 -0
  655. package/components/Timeline.d.mts +6 -0
  656. package/components/Tooltip/Tooltip.d.cts +24 -0
  657. package/components/Tooltip/Tooltip.d.mts +24 -0
  658. package/components/Tooltip/Tooltip.d.ts +12 -11
  659. package/components/Tooltip/index.cjs +6 -0
  660. package/components/Tooltip/index.cjs.map +1 -0
  661. package/components/Tooltip/index.d.cts +2 -0
  662. package/components/Tooltip/index.d.mts +2 -0
  663. package/components/Tooltip/index.d.ts +2 -1
  664. package/components/Tooltip/index.mjs +6 -0
  665. package/components/Tooltip/index.mjs.map +1 -0
  666. package/components/Tooltip.d.cts +6 -0
  667. package/components/Tooltip.d.mts +6 -0
  668. package/components/Tooltip.d.ts +4 -0
  669. package/components/_shared/formField.sx.d.cts +62 -0
  670. package/components/_shared/formField.sx.d.mts +62 -0
  671. package/components/_shared/formField.sx.d.ts +30 -1
  672. package/components/_shared/mergeSlotProps.d.cts +19 -0
  673. package/components/_shared/mergeSlotProps.d.mts +19 -0
  674. package/components/_shared/mergeSlotProps.d.ts +19 -0
  675. package/components/_shared/mergeSx.d.cts +7 -0
  676. package/components/_shared/mergeSx.d.mts +7 -0
  677. package/components/_shared/resolvePreset.d.cts +22 -0
  678. package/components/_shared/resolvePreset.d.mts +22 -0
  679. package/hooks/ClipBoard/ClipBoard.d.cts +30 -0
  680. package/hooks/ClipBoard/ClipBoard.d.mts +30 -0
  681. package/hooks/ClipBoard/ClipboardUnifiedDemo.d.cts +14 -0
  682. package/hooks/ClipBoard/ClipboardUnifiedDemo.d.mts +14 -0
  683. package/hooks/ClipBoard/index.cjs +100 -0
  684. package/hooks/ClipBoard/index.cjs.map +1 -0
  685. package/hooks/ClipBoard/index.d.cts +1 -0
  686. package/hooks/ClipBoard/index.d.mts +1 -0
  687. package/hooks/ClipBoard/index.mjs +100 -0
  688. package/hooks/ClipBoard/index.mjs.map +1 -0
  689. package/hooks/ClipBoard.d.cts +2 -0
  690. package/hooks/ClipBoard.d.mts +2 -0
  691. package/index.cjs +90 -88
  692. package/index.cjs.map +1 -1
  693. package/index.d.cts +63 -0
  694. package/index.d.mts +63 -0
  695. package/index.d.ts +1 -0
  696. package/index.mjs +148 -0
  697. package/index.mjs.map +1 -0
  698. package/mui.d.cts +8 -0
  699. package/mui.d.mts +8 -0
  700. package/package.json +404 -143
  701. package/theme/componentStyles.d.cts +33 -0
  702. package/theme/componentStyles.d.mts +33 -0
  703. package/theme/componentStyles.d.ts +3 -2
  704. package/theme/friComponents.d.cts +138 -0
  705. package/theme/friComponents.d.mts +138 -0
  706. package/theme/friComponents.d.ts +138 -0
  707. package/theme/tokens.d.cts +38 -0
  708. package/theme/tokens.d.mts +38 -0
  709. package/utils/index.d.cts +2 -0
  710. package/utils/index.d.mts +2 -0
  711. package/utils/scrollToTop.d.cts +28 -0
  712. package/utils/scrollToTop.d.mts +28 -0
  713. package/ActionMenu-D81Xb35f.cjs.map +0 -1
  714. package/ActionMenu-DYPA_tYk.js +0 -106
  715. package/ActionMenu-DYPA_tYk.js.map +0 -1
  716. package/Alert-B3SMPD1s.cjs +0 -31
  717. package/Alert-B3SMPD1s.cjs.map +0 -1
  718. package/Alert-YsPScpSE.js +0 -32
  719. package/Alert-YsPScpSE.js.map +0 -1
  720. package/AppBarMenuToggle-BpXBMeca.js +0 -128
  721. package/AppBarMenuToggle-BpXBMeca.js.map +0 -1
  722. package/AppBarMenuToggle-D_RJGtHO.cjs +0 -127
  723. package/AppBarMenuToggle-D_RJGtHO.cjs.map +0 -1
  724. package/Autocomplete-Baqwboth.cjs +0 -362
  725. package/Autocomplete-Baqwboth.cjs.map +0 -1
  726. package/Autocomplete-Cvf16lFk.js +0 -363
  727. package/Autocomplete-Cvf16lFk.js.map +0 -1
  728. package/Avatar-BjyfSNvP.cjs +0 -162
  729. package/Avatar-BjyfSNvP.cjs.map +0 -1
  730. package/Avatar-C_C4bcb9.js +0 -163
  731. package/Avatar-C_C4bcb9.js.map +0 -1
  732. package/Breadcrumbs-B9I3vxPb.cjs +0 -25
  733. package/Breadcrumbs-B9I3vxPb.cjs.map +0 -1
  734. package/Breadcrumbs-C41SPbtX.js +0 -26
  735. package/Breadcrumbs-C41SPbtX.js.map +0 -1
  736. package/Button-C17mExpd.cjs +0 -63
  737. package/Button-C17mExpd.cjs.map +0 -1
  738. package/Button-UkkP-bNw.js +0 -64
  739. package/Button-UkkP-bNw.js.map +0 -1
  740. package/ButtonGroup-CNunDofQ.cjs +0 -33
  741. package/ButtonGroup-CNunDofQ.cjs.map +0 -1
  742. package/ButtonGroup-CcKUZ-lT.js +0 -34
  743. package/ButtonGroup-CcKUZ-lT.js.map +0 -1
  744. package/Card-DYKGY-NG.js +0 -116
  745. package/Card-DYKGY-NG.js.map +0 -1
  746. package/Card-Dr1-ATRY.cjs +0 -115
  747. package/Card-Dr1-ATRY.cjs.map +0 -1
  748. package/Checkbox-BL4kvHFB.js +0 -189
  749. package/Checkbox-BL4kvHFB.js.map +0 -1
  750. package/Checkbox-Bx4Asmg7.cjs +0 -188
  751. package/Checkbox-Bx4Asmg7.cjs.map +0 -1
  752. package/Chip-OPYQ1uQ_.js +0 -74
  753. package/Chip-OPYQ1uQ_.js.map +0 -1
  754. package/Chip-qoJLDiva.cjs +0 -73
  755. package/Chip-qoJLDiva.cjs.map +0 -1
  756. package/DataRow-B7fJ5taA.js +0 -55
  757. package/DataRow-B7fJ5taA.js.map +0 -1
  758. package/DataRow-CfCaSdaJ.cjs +0 -54
  759. package/DataRow-CfCaSdaJ.cjs.map +0 -1
  760. package/DatePicker-D5BH4v1p.js +0 -182
  761. package/DatePicker-D5BH4v1p.js.map +0 -1
  762. package/DatePicker-mz7CYtVw.cjs +0 -181
  763. package/DatePicker-mz7CYtVw.cjs.map +0 -1
  764. package/DateTimePicker-ZCf0Wh4r.js +0 -226
  765. package/DateTimePicker-ZCf0Wh4r.js.map +0 -1
  766. package/DateTimePicker-ejQDpjgX.cjs +0 -225
  767. package/DateTimePicker-ejQDpjgX.cjs.map +0 -1
  768. package/Divider-BApcM5CV.js +0 -28
  769. package/Divider-BApcM5CV.js.map +0 -1
  770. package/Divider-CIY0JK4U.cjs +0 -27
  771. package/Divider-CIY0JK4U.cjs.map +0 -1
  772. package/DrawerItem-DlnG_NdY.cjs +0 -272
  773. package/DrawerItem-DlnG_NdY.cjs.map +0 -1
  774. package/DrawerItem-at1lsEo9.js +0 -273
  775. package/DrawerItem-at1lsEo9.js.map +0 -1
  776. package/EmptyState-DJj9KOEy.cjs +0 -47
  777. package/EmptyState-DJj9KOEy.cjs.map +0 -1
  778. package/EmptyState-kEoDkg1B.js +0 -48
  779. package/EmptyState-kEoDkg1B.js.map +0 -1
  780. package/Flyout-DCcDBYKT.js +0 -117
  781. package/Flyout-DCcDBYKT.js.map +0 -1
  782. package/Flyout-fycujUVf.cjs +0 -116
  783. package/Flyout-fycujUVf.cjs.map +0 -1
  784. package/Gallery-ClBJxCMc.js +0 -491
  785. package/Gallery-ClBJxCMc.js.map +0 -1
  786. package/Gallery-Cn1Bj_ao.cjs +0 -490
  787. package/Gallery-Cn1Bj_ao.cjs.map +0 -1
  788. package/Icon-CUwK2c8z.js +0 -108
  789. package/Icon-CUwK2c8z.js.map +0 -1
  790. package/Icon-ChnAivGo.cjs +0 -107
  791. package/Icon-ChnAivGo.cjs.map +0 -1
  792. package/Input-CmvuMwXZ.js +0 -194
  793. package/Input-CmvuMwXZ.js.map +0 -1
  794. package/Input-hnQ7g6b7.cjs +0 -193
  795. package/Input-hnQ7g6b7.cjs.map +0 -1
  796. package/InputGroup-BZ7cmAcg.cjs +0 -140
  797. package/InputGroup-BZ7cmAcg.cjs.map +0 -1
  798. package/InputGroup-D5pXKGjZ.js +0 -141
  799. package/InputGroup-D5pXKGjZ.js.map +0 -1
  800. package/MenuButton-C4s8rG05.cjs +0 -79
  801. package/MenuButton-C4s8rG05.cjs.map +0 -1
  802. package/MenuButton-CZRN4P6x.js +0 -80
  803. package/MenuButton-CZRN4P6x.js.map +0 -1
  804. package/Modal-BqW0Nk3l.js +0 -362
  805. package/Modal-BqW0Nk3l.js.map +0 -1
  806. package/Modal-Cfyr-RsW.cjs +0 -361
  807. package/Modal-Cfyr-RsW.cjs.map +0 -1
  808. package/PageHeader-BQZOqjNr.cjs +0 -37
  809. package/PageHeader-BQZOqjNr.cjs.map +0 -1
  810. package/PageHeader-DDYi6Nhy.js +0 -38
  811. package/PageHeader-DDYi6Nhy.js.map +0 -1
  812. package/RadioGroup-DVvmmDs3.cjs +0 -203
  813. package/RadioGroup-DVvmmDs3.cjs.map +0 -1
  814. package/RadioGroup-cKCpag8W.js +0 -204
  815. package/RadioGroup-cKCpag8W.js.map +0 -1
  816. package/Select-CZ0BiKVN.js +0 -383
  817. package/Select-CZ0BiKVN.js.map +0 -1
  818. package/Select-ZhFf4SBp.cjs +0 -382
  819. package/Select-ZhFf4SBp.cjs.map +0 -1
  820. package/Spinner-B6sThC1p.js +0 -74
  821. package/Spinner-B6sThC1p.js.map +0 -1
  822. package/Spinner-D7qRmNS9.cjs +0 -73
  823. package/Spinner-D7qRmNS9.cjs.map +0 -1
  824. package/Stat-BUcFCGrz.cjs +0 -83
  825. package/Stat-BUcFCGrz.cjs.map +0 -1
  826. package/Stat-C06A_izS.js +0 -84
  827. package/Stat-C06A_izS.js.map +0 -1
  828. package/StatusMessageContext-BMsbLKRq.cjs +0 -106
  829. package/StatusMessageContext-BMsbLKRq.cjs.map +0 -1
  830. package/StatusMessageContext-DgYiObYE.js +0 -107
  831. package/StatusMessageContext-DgYiObYE.js.map +0 -1
  832. package/Step-BArsou1V.js +0 -301
  833. package/Step-BArsou1V.js.map +0 -1
  834. package/Step-Nd7SJbRZ.cjs +0 -300
  835. package/Step-Nd7SJbRZ.cjs.map +0 -1
  836. package/Switch-B4ex7yKR.cjs +0 -183
  837. package/Switch-B4ex7yKR.cjs.map +0 -1
  838. package/Switch-CY1Dd2ff.js +0 -184
  839. package/Switch-CY1Dd2ff.js.map +0 -1
  840. package/Tab-D1S7kxXI.cjs +0 -137
  841. package/Tab-D1S7kxXI.cjs.map +0 -1
  842. package/Tab-DycIMXmQ.js +0 -138
  843. package/Tab-DycIMXmQ.js.map +0 -1
  844. package/Table-BpnAkCgd.cjs +0 -528
  845. package/Table-BpnAkCgd.cjs.map +0 -1
  846. package/Table-BuALBQWX.js +0 -529
  847. package/Table-BuALBQWX.js.map +0 -1
  848. package/TimelineItem-0jRPFT11.js +0 -68
  849. package/TimelineItem-0jRPFT11.js.map +0 -1
  850. package/TimelineItem-BbhUWJhU.cjs +0 -84
  851. package/TimelineItem-BbhUWJhU.cjs.map +0 -1
  852. package/Tooltip-B15a34_o.js +0 -40
  853. package/Tooltip-B15a34_o.js.map +0 -1
  854. package/Tooltip-CEEDkwds.cjs +0 -39
  855. package/Tooltip-CEEDkwds.cjs.map +0 -1
  856. package/components/ActionMenu/ActionMenu.cjs +0 -7
  857. package/components/ActionMenu/ActionMenu.cjs.map +0 -1
  858. package/components/ActionMenu/ActionMenu.js +0 -7
  859. package/components/ActionMenu/ActionMenu.js.map +0 -1
  860. package/components/Alert/Alert.cjs +0 -6
  861. package/components/Alert/Alert.cjs.map +0 -1
  862. package/components/Alert/Alert.js +0 -6
  863. package/components/Alert/Alert.js.map +0 -1
  864. package/components/AppBar/AppBar.cjs +0 -9
  865. package/components/AppBar/AppBar.cjs.map +0 -1
  866. package/components/AppBar/AppBar.js +0 -9
  867. package/components/AppBar/AppBar.js.map +0 -1
  868. package/components/Autocomplete/Autocomplete.cjs +0 -7
  869. package/components/Autocomplete/Autocomplete.cjs.map +0 -1
  870. package/components/Autocomplete/Autocomplete.js +0 -7
  871. package/components/Autocomplete/Autocomplete.js.map +0 -1
  872. package/components/Avatar/Avatar.cjs +0 -5
  873. package/components/Avatar/Avatar.cjs.map +0 -1
  874. package/components/Avatar/Avatar.js +0 -5
  875. package/components/Avatar/Avatar.js.map +0 -1
  876. package/components/Breadcrumbs/Breadcrumbs.cjs +0 -6
  877. package/components/Breadcrumbs/Breadcrumbs.cjs.map +0 -1
  878. package/components/Breadcrumbs/Breadcrumbs.js +0 -6
  879. package/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
  880. package/components/Button/Button.cjs +0 -5
  881. package/components/Button/Button.cjs.map +0 -1
  882. package/components/Button/Button.js +0 -5
  883. package/components/Button/Button.js.map +0 -1
  884. package/components/ButtonGroup/ButtonGroup.cjs +0 -6
  885. package/components/ButtonGroup/ButtonGroup.cjs.map +0 -1
  886. package/components/ButtonGroup/ButtonGroup.js +0 -6
  887. package/components/ButtonGroup/ButtonGroup.js.map +0 -1
  888. package/components/Card/Card.cjs +0 -7
  889. package/components/Card/Card.cjs.map +0 -1
  890. package/components/Card/Card.js +0 -7
  891. package/components/Card/Card.js.map +0 -1
  892. package/components/Checkbox/Checkbox.cjs +0 -6
  893. package/components/Checkbox/Checkbox.cjs.map +0 -1
  894. package/components/Checkbox/Checkbox.js +0 -6
  895. package/components/Checkbox/Checkbox.js.map +0 -1
  896. package/components/Chip/Chip.cjs +0 -6
  897. package/components/Chip/Chip.cjs.map +0 -1
  898. package/components/Chip/Chip.js +0 -6
  899. package/components/Chip/Chip.js.map +0 -1
  900. package/components/Column/Column.cjs +0 -8
  901. package/components/Column/Column.cjs.map +0 -1
  902. package/components/Column/Column.js +0 -8
  903. package/components/Column/Column.js.map +0 -1
  904. package/components/DataRow/DataRow.cjs +0 -6
  905. package/components/DataRow/DataRow.cjs.map +0 -1
  906. package/components/DataRow/DataRow.js +0 -6
  907. package/components/DataRow/DataRow.js.map +0 -1
  908. package/components/DatePicker/DatePicker.cjs +0 -6
  909. package/components/DatePicker/DatePicker.cjs.map +0 -1
  910. package/components/DatePicker/DatePicker.js +0 -6
  911. package/components/DatePicker/DatePicker.js.map +0 -1
  912. package/components/DateTimePicker/DateTimePicker.cjs +0 -6
  913. package/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
  914. package/components/DateTimePicker/DateTimePicker.js +0 -6
  915. package/components/DateTimePicker/DateTimePicker.js.map +0 -1
  916. package/components/Divider/Divider.cjs +0 -6
  917. package/components/Divider/Divider.cjs.map +0 -1
  918. package/components/Divider/Divider.js +0 -6
  919. package/components/Divider/Divider.js.map +0 -1
  920. package/components/Drawer/Drawer.cjs +0 -8
  921. package/components/Drawer/Drawer.cjs.map +0 -1
  922. package/components/Drawer/Drawer.js +0 -8
  923. package/components/Drawer/Drawer.js.map +0 -1
  924. package/components/EmptyState/EmptyState.cjs +0 -6
  925. package/components/EmptyState/EmptyState.cjs.map +0 -1
  926. package/components/EmptyState/EmptyState.js +0 -6
  927. package/components/EmptyState/EmptyState.js.map +0 -1
  928. package/components/Flyout/Flyout.cjs +0 -5
  929. package/components/Flyout/Flyout.cjs.map +0 -1
  930. package/components/Flyout/Flyout.js +0 -5
  931. package/components/Flyout/Flyout.js.map +0 -1
  932. package/components/Gallery/Gallery.cjs +0 -6
  933. package/components/Gallery/Gallery.cjs.map +0 -1
  934. package/components/Gallery/Gallery.js +0 -6
  935. package/components/Gallery/Gallery.js.map +0 -1
  936. package/components/Icon/Icon.cjs +0 -6
  937. package/components/Icon/Icon.cjs.map +0 -1
  938. package/components/Icon/Icon.js +0 -6
  939. package/components/Icon/Icon.js.map +0 -1
  940. package/components/Input/Input.cjs +0 -6
  941. package/components/Input/Input.cjs.map +0 -1
  942. package/components/Input/Input.js +0 -6
  943. package/components/Input/Input.js.map +0 -1
  944. package/components/InputGroup/InputGroup.cjs +0 -6
  945. package/components/InputGroup/InputGroup.cjs.map +0 -1
  946. package/components/InputGroup/InputGroup.js +0 -6
  947. package/components/InputGroup/InputGroup.js.map +0 -1
  948. package/components/MenuButton/MenuButton.cjs +0 -5
  949. package/components/MenuButton/MenuButton.cjs.map +0 -1
  950. package/components/MenuButton/MenuButton.js +0 -5
  951. package/components/MenuButton/MenuButton.js.map +0 -1
  952. package/components/Modal/Modal.cjs +0 -9
  953. package/components/Modal/Modal.cjs.map +0 -1
  954. package/components/Modal/Modal.js +0 -9
  955. package/components/Modal/Modal.js.map +0 -1
  956. package/components/PageHeader/PageHeader.cjs +0 -6
  957. package/components/PageHeader/PageHeader.cjs.map +0 -1
  958. package/components/PageHeader/PageHeader.js +0 -6
  959. package/components/PageHeader/PageHeader.js.map +0 -1
  960. package/components/RadioGroup/RadioGroup.cjs +0 -6
  961. package/components/RadioGroup/RadioGroup.cjs.map +0 -1
  962. package/components/RadioGroup/RadioGroup.js +0 -6
  963. package/components/RadioGroup/RadioGroup.js.map +0 -1
  964. package/components/Select/Select.cjs +0 -7
  965. package/components/Select/Select.cjs.map +0 -1
  966. package/components/Select/Select.js +0 -7
  967. package/components/Select/Select.js.map +0 -1
  968. package/components/Spinner/Spinner.cjs +0 -6
  969. package/components/Spinner/Spinner.cjs.map +0 -1
  970. package/components/Spinner/Spinner.js +0 -6
  971. package/components/Spinner/Spinner.js.map +0 -1
  972. package/components/Stat/Stat.cjs +0 -6
  973. package/components/Stat/Stat.cjs.map +0 -1
  974. package/components/Stat/Stat.js +0 -6
  975. package/components/Stat/Stat.js.map +0 -1
  976. package/components/StatusMessage/StatusMessage.cjs +0 -8
  977. package/components/StatusMessage/StatusMessage.cjs.map +0 -1
  978. package/components/StatusMessage/StatusMessage.js +0 -8
  979. package/components/StatusMessage/StatusMessage.js.map +0 -1
  980. package/components/Stepper/Stepper.cjs +0 -10
  981. package/components/Stepper/Stepper.cjs.map +0 -1
  982. package/components/Stepper/Stepper.js +0 -10
  983. package/components/Stepper/Stepper.js.map +0 -1
  984. package/components/Switch/Switch.cjs +0 -6
  985. package/components/Switch/Switch.cjs.map +0 -1
  986. package/components/Switch/Switch.js +0 -6
  987. package/components/Switch/Switch.js.map +0 -1
  988. package/components/Table/Table.cjs +0 -5
  989. package/components/Table/Table.cjs.map +0 -1
  990. package/components/Table/Table.js +0 -5
  991. package/components/Table/Table.js.map +0 -1
  992. package/components/Tabs/Tabs.cjs +0 -7
  993. package/components/Tabs/Tabs.cjs.map +0 -1
  994. package/components/Tabs/Tabs.js +0 -7
  995. package/components/Tabs/Tabs.js.map +0 -1
  996. package/components/Timeline/Timeline.cjs +0 -7
  997. package/components/Timeline/Timeline.cjs.map +0 -1
  998. package/components/Timeline/Timeline.js +0 -7
  999. package/components/Timeline/Timeline.js.map +0 -1
  1000. package/components/Tooltip/Tooltip.cjs +0 -5
  1001. package/components/Tooltip/Tooltip.cjs.map +0 -1
  1002. package/components/Tooltip/Tooltip.js +0 -5
  1003. package/components/Tooltip/Tooltip.js.map +0 -1
  1004. package/demos/themes.d.ts +0 -29
  1005. package/formField.sx-BZj7TaMa.cjs +0 -92
  1006. package/formField.sx-BZj7TaMa.cjs.map +0 -1
  1007. package/formField.sx-DD1sxwWH.js +0 -93
  1008. package/formField.sx-DD1sxwWH.js.map +0 -1
  1009. package/hooks/ClipBoard/ClipBoard.cjs +0 -100
  1010. package/hooks/ClipBoard/ClipBoard.cjs.map +0 -1
  1011. package/hooks/ClipBoard/ClipBoard.js +0 -100
  1012. package/hooks/ClipBoard/ClipBoard.js.map +0 -1
  1013. package/index.css +0 -3
  1014. package/index.js +0 -146
  1015. package/index.js.map +0 -1
  1016. package/mergeSx-BXoNZjB_.js +0 -10
  1017. package/mergeSx-BXoNZjB_.js.map +0 -1
  1018. package/mergeSx-Dbccoo_H.cjs.map +0 -1
  1019. package/resolvePreset-CxTI6_Ln.cjs.map +0 -1
  1020. package/resolvePreset-K6_BfWHD.js +0 -15
  1021. package/resolvePreset-K6_BfWHD.js.map +0 -1
  1022. package/tokens-BGPazVFO.cjs +0 -22
  1023. package/tokens-BGPazVFO.cjs.map +0 -1
  1024. package/tokens-DE2fV3a9.js +0 -23
  1025. package/tokens-DE2fV3a9.js.map +0 -1
  1026. /package/{ActionMenu-D81Xb35f.cjs → chunks/ActionMenu-D81Xb35f.cjs} +0 -0
  1027. /package/{mergeSx-Dbccoo_H.cjs → chunks/mergeSx-Dbccoo_H.cjs} +0 -0
  1028. /package/{resolvePreset-CxTI6_Ln.cjs → chunks/resolvePreset-CxTI6_Ln.cjs} +0 -0
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const React = require("react");
4
+ const material = require("@mui/material");
5
+ const MenuButton = ({
6
+ buttonText,
7
+ buttonIcon,
8
+ options,
9
+ variant = "contained",
10
+ "aria-label": ariaLabel
11
+ }) => {
12
+ const [anchorEl, setAnchorEl] = React.useState(null);
13
+ const [menuWidth, setMenuWidth] = React.useState(0);
14
+ const open = Boolean(anchorEl);
15
+ const buttonRef = React.useRef(null);
16
+ const uniqueId = React.useId();
17
+ const buttonId = `menu-button-${uniqueId}`;
18
+ const menuId = `menu-content-${uniqueId}`;
19
+ const handleClick = (event) => {
20
+ setAnchorEl(event.currentTarget);
21
+ if (buttonRef.current) {
22
+ setMenuWidth(buttonRef.current.offsetWidth);
23
+ }
24
+ };
25
+ const handleClose = () => {
26
+ setAnchorEl(null);
27
+ };
28
+ const handleMenuItemClick = (action) => {
29
+ handleClose();
30
+ action();
31
+ };
32
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33
+ /* @__PURE__ */ jsxRuntime.jsx(
34
+ material.Button,
35
+ {
36
+ ref: buttonRef,
37
+ variant,
38
+ id: buttonId,
39
+ "aria-label": buttonText ? void 0 : ariaLabel,
40
+ "aria-controls": open ? menuId : void 0,
41
+ "aria-haspopup": "true",
42
+ "aria-expanded": open ? "true" : void 0,
43
+ onClick: handleClick,
44
+ startIcon: buttonIcon,
45
+ children: buttonText
46
+ }
47
+ ),
48
+ /* @__PURE__ */ jsxRuntime.jsx(
49
+ material.Menu,
50
+ {
51
+ id: menuId,
52
+ anchorEl,
53
+ open,
54
+ onClose: handleClose,
55
+ MenuListProps: {
56
+ "aria-labelledby": buttonId
57
+ },
58
+ PaperProps: {
59
+ style: {
60
+ minWidth: menuWidth
61
+ }
62
+ },
63
+ children: options.map((option, index) => /* @__PURE__ */ jsxRuntime.jsxs(
64
+ material.MenuItem,
65
+ {
66
+ onClick: () => handleMenuItemClick(option.action),
67
+ children: [
68
+ option.icon && /* @__PURE__ */ jsxRuntime.jsx(material.ListItemIcon, { children: option.icon }),
69
+ /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "inherit", noWrap: true, children: option.label })
70
+ ]
71
+ },
72
+ index
73
+ ))
74
+ }
75
+ )
76
+ ] });
77
+ };
78
+ exports.MenuButton = MenuButton;
79
+ //# sourceMappingURL=MenuButton-BqCkrXmM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuButton-BqCkrXmM.cjs","sources":["../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import React, { useState, MouseEvent, ReactNode, useId, useRef } from 'react'; // 👈 Importa useRef\nimport { Button, Menu, MenuItem, ListItemIcon, Typography } from '@mui/material';\nimport { ButtonProps } from '@mui/material/Button';\n\n// Define la interfaz para cada opción del menú\nexport interface MenuOption {\n label: string;\n action: () => void;\n icon?: ReactNode;\n}\n\n// Define las props para el componente reutilizable\nexport interface MenuButtonProps {\n buttonText?: string;\n buttonIcon?: ReactNode;\n options: MenuOption[];\n variant?: ButtonProps['variant'];\n /**\n * Nombre accesible del botón. Obligatorio en la práctica cuando el disparador\n * es solo un ícono (`buttonText` vacío): sin esto el botón queda sin nombre\n * para lectores de pantalla, que es el caso de los menús de acción por fila.\n *\n * **Se ignora cuando hay `buttonText`**: ahí el nombre accesible lo da el\n * texto visible. Ver el comentario en el `<Button>`.\n */\n 'aria-label'?: string;\n}\n\nexport const MenuButton: React.FC<MenuButtonProps> = ({\n buttonText,\n buttonIcon,\n options,\n variant = 'contained',\n 'aria-label': ariaLabel,\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [menuWidth, setMenuWidth] = useState<number>(0);\n const open = Boolean(anchorEl);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const uniqueId = useId();\n const buttonId = `menu-button-${uniqueId}`;\n const menuId = `menu-content-${uniqueId}`;\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n if (buttonRef.current) {\n setMenuWidth(buttonRef.current.offsetWidth);\n }\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleMenuItemClick = (action: () => void) => {\n handleClose();\n action();\n };\n\n return (\n <>\n <Button\n ref={buttonRef}\n variant={variant}\n id={buttonId}\n // Un `aria-label` PISA al texto visible del botón. Con los dos\n // puestos, el lector de pantalla dice una cosa y la pantalla\n // otra: eso rompe WCAG 2.5.3 (Label in Name) y deja al dictado\n // por voz sin poder activar el botón — quien dice \"Acciones\" no\n // matchea contra \"Acciones de la fila\".\n // Por eso el nombre accesible solo se fuerza cuando NO hay texto\n // visible, que es el caso para el que existe esta prop.\n aria-label={buttonText ? undefined : ariaLabel}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"true\"\n aria-expanded={open ? 'true' : undefined}\n onClick={handleClick}\n startIcon={buttonIcon}\n >\n {buttonText}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': buttonId,\n }}\n PaperProps={{\n style: {\n minWidth: menuWidth,\n },\n }}\n >\n {options.map((option, index) => (\n <MenuItem\n key={index}\n onClick={() => handleMenuItemClick(option.action)}\n >\n {option.icon && (\n <ListItemIcon>\n {option.icon}\n </ListItemIcon>\n )}\n <Typography variant=\"inherit\" noWrap>\n {option.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default MenuButton;"],"names":["useState","useRef","useId","jsxs","Fragment","jsx","Button","Menu","MenuItem","ListItemIcon","Typography"],"mappings":";;;;AA4BO,MAAM,aAAwC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAClB,MAAM;AACF,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAA6B,IAAI;AACjE,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAiB,CAAC;AACpD,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,YAAYC,MAAAA,OAA0B,IAAI;AAEhD,QAAM,WAAWC,MAAAA,MAAA;AACjB,QAAM,WAAW,eAAe,QAAQ;AACxC,QAAM,SAAS,gBAAgB,QAAQ;AAEvC,QAAM,cAAc,CAAC,UAAyC;AAC1D,gBAAY,MAAM,aAAa;AAC/B,QAAI,UAAU,SAAS;AACnB,mBAAa,UAAU,QAAQ,WAAW;AAAA,IAC9C;AAAA,EACJ;AAEA,QAAM,cAAc,MAAM;AACtB,gBAAY,IAAI;AAAA,EACpB;AAEA,QAAM,sBAAsB,CAAC,WAAuB;AAChD,gBAAA;AACA,WAAA;AAAA,EACJ;AAEA,SACIC,2BAAAA,KAAAC,qBAAA,EACI,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAACC,SAAAA;AAAAA,MAAA;AAAA,QACG,KAAK;AAAA,QACL;AAAA,QACA,IAAI;AAAA,QAQJ,cAAY,aAAa,SAAY;AAAA,QACrC,iBAAe,OAAO,SAAS;AAAA,QAC/B,iBAAc;AAAA,QACd,iBAAe,OAAO,SAAS;AAAA,QAC/B,SAAS;AAAA,QACT,WAAW;AAAA,QAEV,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAELD,2BAAAA;AAAAA,MAACE,SAAAA;AAAAA,MAAA;AAAA,QACG,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,eAAe;AAAA,UACX,mBAAmB;AAAA,QAAA;AAAA,QAEvB,YAAY;AAAA,UACR,OAAO;AAAA,YACH,UAAU;AAAA,UAAA;AAAA,QACd;AAAA,QAGH,UAAA,QAAQ,IAAI,CAAC,QAAQ,UAClBJ,2BAAAA;AAAAA,UAACK,SAAAA;AAAAA,UAAA;AAAA,YAEG,SAAS,MAAM,oBAAoB,OAAO,MAAM;AAAA,YAE/C,UAAA;AAAA,cAAA,OAAO,QACJH,+BAACI,SAAAA,cAAA,EACI,UAAA,OAAO,MACZ;AAAA,6CAEHC,SAAAA,YAAA,EAAW,SAAQ,WAAU,QAAM,MAC/B,iBAAO,MAAA,CACZ;AAAA,YAAA;AAAA,UAAA;AAAA,UAVK;AAAA,QAAA,CAYZ;AAAA,MAAA;AAAA,IAAA;AAAA,EACL,GACJ;AAER;;"}
@@ -0,0 +1,80 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useId } from "react";
3
+ import { Button, Menu, MenuItem, ListItemIcon, Typography } from "@mui/material";
4
+ const MenuButton = ({
5
+ buttonText,
6
+ buttonIcon,
7
+ options,
8
+ variant = "contained",
9
+ "aria-label": ariaLabel
10
+ }) => {
11
+ const [anchorEl, setAnchorEl] = useState(null);
12
+ const [menuWidth, setMenuWidth] = useState(0);
13
+ const open = Boolean(anchorEl);
14
+ const buttonRef = useRef(null);
15
+ const uniqueId = useId();
16
+ const buttonId = `menu-button-${uniqueId}`;
17
+ const menuId = `menu-content-${uniqueId}`;
18
+ const handleClick = (event) => {
19
+ setAnchorEl(event.currentTarget);
20
+ if (buttonRef.current) {
21
+ setMenuWidth(buttonRef.current.offsetWidth);
22
+ }
23
+ };
24
+ const handleClose = () => {
25
+ setAnchorEl(null);
26
+ };
27
+ const handleMenuItemClick = (action) => {
28
+ handleClose();
29
+ action();
30
+ };
31
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ /* @__PURE__ */ jsx(
33
+ Button,
34
+ {
35
+ ref: buttonRef,
36
+ variant,
37
+ id: buttonId,
38
+ "aria-label": buttonText ? void 0 : ariaLabel,
39
+ "aria-controls": open ? menuId : void 0,
40
+ "aria-haspopup": "true",
41
+ "aria-expanded": open ? "true" : void 0,
42
+ onClick: handleClick,
43
+ startIcon: buttonIcon,
44
+ children: buttonText
45
+ }
46
+ ),
47
+ /* @__PURE__ */ jsx(
48
+ Menu,
49
+ {
50
+ id: menuId,
51
+ anchorEl,
52
+ open,
53
+ onClose: handleClose,
54
+ MenuListProps: {
55
+ "aria-labelledby": buttonId
56
+ },
57
+ PaperProps: {
58
+ style: {
59
+ minWidth: menuWidth
60
+ }
61
+ },
62
+ children: options.map((option, index) => /* @__PURE__ */ jsxs(
63
+ MenuItem,
64
+ {
65
+ onClick: () => handleMenuItemClick(option.action),
66
+ children: [
67
+ option.icon && /* @__PURE__ */ jsx(ListItemIcon, { children: option.icon }),
68
+ /* @__PURE__ */ jsx(Typography, { variant: "inherit", noWrap: true, children: option.label })
69
+ ]
70
+ },
71
+ index
72
+ ))
73
+ }
74
+ )
75
+ ] });
76
+ };
77
+ export {
78
+ MenuButton as M
79
+ };
80
+ //# sourceMappingURL=MenuButton-DUlSw-sF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuButton-DUlSw-sF.mjs","sources":["../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import React, { useState, MouseEvent, ReactNode, useId, useRef } from 'react'; // 👈 Importa useRef\nimport { Button, Menu, MenuItem, ListItemIcon, Typography } from '@mui/material';\nimport { ButtonProps } from '@mui/material/Button';\n\n// Define la interfaz para cada opción del menú\nexport interface MenuOption {\n label: string;\n action: () => void;\n icon?: ReactNode;\n}\n\n// Define las props para el componente reutilizable\nexport interface MenuButtonProps {\n buttonText?: string;\n buttonIcon?: ReactNode;\n options: MenuOption[];\n variant?: ButtonProps['variant'];\n /**\n * Nombre accesible del botón. Obligatorio en la práctica cuando el disparador\n * es solo un ícono (`buttonText` vacío): sin esto el botón queda sin nombre\n * para lectores de pantalla, que es el caso de los menús de acción por fila.\n *\n * **Se ignora cuando hay `buttonText`**: ahí el nombre accesible lo da el\n * texto visible. Ver el comentario en el `<Button>`.\n */\n 'aria-label'?: string;\n}\n\nexport const MenuButton: React.FC<MenuButtonProps> = ({\n buttonText,\n buttonIcon,\n options,\n variant = 'contained',\n 'aria-label': ariaLabel,\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [menuWidth, setMenuWidth] = useState<number>(0);\n const open = Boolean(anchorEl);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const uniqueId = useId();\n const buttonId = `menu-button-${uniqueId}`;\n const menuId = `menu-content-${uniqueId}`;\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n if (buttonRef.current) {\n setMenuWidth(buttonRef.current.offsetWidth);\n }\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleMenuItemClick = (action: () => void) => {\n handleClose();\n action();\n };\n\n return (\n <>\n <Button\n ref={buttonRef}\n variant={variant}\n id={buttonId}\n // Un `aria-label` PISA al texto visible del botón. Con los dos\n // puestos, el lector de pantalla dice una cosa y la pantalla\n // otra: eso rompe WCAG 2.5.3 (Label in Name) y deja al dictado\n // por voz sin poder activar el botón — quien dice \"Acciones\" no\n // matchea contra \"Acciones de la fila\".\n // Por eso el nombre accesible solo se fuerza cuando NO hay texto\n // visible, que es el caso para el que existe esta prop.\n aria-label={buttonText ? undefined : ariaLabel}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"true\"\n aria-expanded={open ? 'true' : undefined}\n onClick={handleClick}\n startIcon={buttonIcon}\n >\n {buttonText}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': buttonId,\n }}\n PaperProps={{\n style: {\n minWidth: menuWidth,\n },\n }}\n >\n {options.map((option, index) => (\n <MenuItem\n key={index}\n onClick={() => handleMenuItemClick(option.action)}\n >\n {option.icon && (\n <ListItemIcon>\n {option.icon}\n </ListItemIcon>\n )}\n <Typography variant=\"inherit\" noWrap>\n {option.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default MenuButton;"],"names":[],"mappings":";;;AA4BO,MAAM,aAAwC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAClB,MAAM;AACF,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAiB,CAAC;AACpD,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,YAAY,OAA0B,IAAI;AAEhD,QAAM,WAAW,MAAA;AACjB,QAAM,WAAW,eAAe,QAAQ;AACxC,QAAM,SAAS,gBAAgB,QAAQ;AAEvC,QAAM,cAAc,CAAC,UAAyC;AAC1D,gBAAY,MAAM,aAAa;AAC/B,QAAI,UAAU,SAAS;AACnB,mBAAa,UAAU,QAAQ,WAAW;AAAA,IAC9C;AAAA,EACJ;AAEA,QAAM,cAAc,MAAM;AACtB,gBAAY,IAAI;AAAA,EACpB;AAEA,QAAM,sBAAsB,CAAC,WAAuB;AAChD,gBAAA;AACA,WAAA;AAAA,EACJ;AAEA,SACI,qBAAA,UAAA,EACI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK;AAAA,QACL;AAAA,QACA,IAAI;AAAA,QAQJ,cAAY,aAAa,SAAY;AAAA,QACrC,iBAAe,OAAO,SAAS;AAAA,QAC/B,iBAAc;AAAA,QACd,iBAAe,OAAO,SAAS;AAAA,QAC/B,SAAS;AAAA,QACT,WAAW;AAAA,QAEV,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEL;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,eAAe;AAAA,UACX,mBAAmB;AAAA,QAAA;AAAA,QAEvB,YAAY;AAAA,UACR,OAAO;AAAA,YACH,UAAU;AAAA,UAAA;AAAA,QACd;AAAA,QAGH,UAAA,QAAQ,IAAI,CAAC,QAAQ,UAClB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEG,SAAS,MAAM,oBAAoB,OAAO,MAAM;AAAA,YAE/C,UAAA;AAAA,cAAA,OAAO,QACJ,oBAAC,cAAA,EACI,UAAA,OAAO,MACZ;AAAA,kCAEH,YAAA,EAAW,SAAQ,WAAU,QAAM,MAC/B,iBAAO,MAAA,CACZ;AAAA,YAAA;AAAA,UAAA;AAAA,UAVK;AAAA,QAAA,CAYZ;AAAA,MAAA;AAAA,IAAA;AAAA,EACL,GACJ;AAER;"}
@@ -0,0 +1,362 @@
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
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
21
+ import { forwardRef, useState, useId, useImperativeHandle, Children, isValidElement, cloneElement } from "react";
22
+ import { Box, Stack, Typography, useTheme, useMediaQuery, Modal as Modal$1, Paper } from "@mui/material";
23
+ import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
24
+ import WarningAmberIcon from "@mui/icons-material/WarningAmber";
25
+ import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
26
+ import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline";
27
+ import { B as Button } from "./Button-DbqDgTAR.mjs";
28
+ import { m as mergeSx } from "./mergeSx-BXoNZjB_.mjs";
29
+ const ModalFooter = ({
30
+ children,
31
+ showCloseButton = true,
32
+ closeButtonText = "Cerrar",
33
+ closeButtonDisabled = false,
34
+ onClose,
35
+ actions = []
36
+ }) => {
37
+ return /* @__PURE__ */ jsxs(
38
+ Box,
39
+ {
40
+ sx: {
41
+ padding: 2,
42
+ borderTop: (theme) => `1px solid ${theme.palette.divider}`,
43
+ display: "flex",
44
+ justifyContent: "flex-end",
45
+ gap: 1
46
+ },
47
+ children: [
48
+ children,
49
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
50
+ showCloseButton && /* @__PURE__ */ jsx(
51
+ Button,
52
+ {
53
+ onClick: onClose,
54
+ disabled: closeButtonDisabled,
55
+ variant: "outlined",
56
+ color: "secondary",
57
+ children: closeButtonText
58
+ }
59
+ ),
60
+ actions.map((action) => {
61
+ const { buttonProps, text, onClick, disabled, variant, color } = action;
62
+ return /* @__PURE__ */ jsx(
63
+ Button,
64
+ __spreadProps(__spreadValues({
65
+ onClick,
66
+ disabled,
67
+ variant: variant || "contained",
68
+ color: color || "primary"
69
+ }, buttonProps), {
70
+ children: text
71
+ }),
72
+ text
73
+ );
74
+ })
75
+ ] })
76
+ ]
77
+ }
78
+ );
79
+ };
80
+ ModalFooter.displayName = "ModalFooter";
81
+ const ModalHeader = ({ children, id }) => {
82
+ return /* @__PURE__ */ jsx(
83
+ Box,
84
+ {
85
+ sx: {
86
+ padding: 2,
87
+ borderBottom: (theme) => `1px solid ${theme.palette.divider}`,
88
+ display: "flex",
89
+ alignItems: "center",
90
+ justifyContent: "space-between"
91
+ },
92
+ children: /* @__PURE__ */ jsx(Typography, { id, variant: "h6", component: "h2", children })
93
+ }
94
+ );
95
+ };
96
+ ModalHeader.displayName = "ModalHeader";
97
+ const ModalBody = ({ children, id }) => {
98
+ return /* @__PURE__ */ jsx(Box, { id, sx: { padding: 2, overflowY: "auto", flexGrow: 1 }, children });
99
+ };
100
+ ModalBody.displayName = "ModalBody";
101
+ const isModalSlot = (child, Component, displayName) => {
102
+ if (child.type === Component) return true;
103
+ const type = child.type;
104
+ return (type == null ? void 0 : type.displayName) === displayName;
105
+ };
106
+ const modalStyle = {
107
+ position: "absolute",
108
+ top: "50%",
109
+ left: "50%",
110
+ transform: "translate(-50%, -50%)",
111
+ width: "90%",
112
+ maxHeight: "90vh",
113
+ display: "flex",
114
+ flexDirection: "column",
115
+ outline: "none"
116
+ };
117
+ const severityConfig = {
118
+ info: {
119
+ color: "primary",
120
+ icon: /* @__PURE__ */ jsx(InfoOutlinedIcon, { sx: { fontSize: 48 } }),
121
+ paletteKey: "primary"
122
+ },
123
+ warning: {
124
+ color: "warning",
125
+ icon: /* @__PURE__ */ jsx(WarningAmberIcon, { sx: { fontSize: 48 } }),
126
+ paletteKey: "warning"
127
+ },
128
+ error: {
129
+ color: "error",
130
+ icon: /* @__PURE__ */ jsx(ErrorOutlineIcon, { sx: { fontSize: 48 } }),
131
+ paletteKey: "error"
132
+ },
133
+ success: {
134
+ color: "success",
135
+ icon: /* @__PURE__ */ jsx(CheckCircleOutlineIcon, { sx: { fontSize: 48 } }),
136
+ paletteKey: "success"
137
+ }
138
+ };
139
+ const Modal = forwardRef(
140
+ ({
141
+ mode = "default",
142
+ open: controlledOpen,
143
+ onClose: controlledOnClose,
144
+ title,
145
+ children,
146
+ showCloseButton = true,
147
+ closeButtonText = "Cerrar",
148
+ closeButtonDisabled = false,
149
+ actions = [],
150
+ maxWidth = "sm",
151
+ hiddenHeader = false,
152
+ hiddenBody = false,
153
+ hiddenFooter = false,
154
+ staticBackdrop = false,
155
+ "data-testid": dataTestId,
156
+ sx,
157
+ paperSx,
158
+ className,
159
+ // Props del modo confirm
160
+ onConfirm,
161
+ confirmText = "Confirmar",
162
+ confirmDisabled = false,
163
+ severity = "info",
164
+ confirmMessage
165
+ }, ref) => {
166
+ const [internalOpen, setInternalOpen] = useState(false);
167
+ const [confirmLoading, setConfirmLoading] = useState(false);
168
+ const titleId = useId();
169
+ const descId = useId();
170
+ const isOpen = controlledOpen !== void 0 ? controlledOpen : internalOpen;
171
+ useImperativeHandle(ref, () => ({
172
+ open: () => setInternalOpen(true),
173
+ close: () => {
174
+ setInternalOpen(false);
175
+ controlledOnClose == null ? void 0 : controlledOnClose();
176
+ }
177
+ }));
178
+ const handleCloseInternal = (_event, reason) => {
179
+ if (staticBackdrop && (reason === "backdropClick" || reason === "escapeKeyDown")) {
180
+ return;
181
+ }
182
+ setInternalOpen(false);
183
+ controlledOnClose == null ? void 0 : controlledOnClose();
184
+ };
185
+ const handleConfirm = async () => {
186
+ if (!onConfirm) {
187
+ handleCloseInternal();
188
+ return;
189
+ }
190
+ const result = onConfirm();
191
+ if (!(result instanceof Promise)) {
192
+ handleCloseInternal();
193
+ return;
194
+ }
195
+ setConfirmLoading(true);
196
+ try {
197
+ await result;
198
+ handleCloseInternal();
199
+ } catch (err) {
200
+ console.error("Modal onConfirm failed:", err);
201
+ } finally {
202
+ setConfirmLoading(false);
203
+ }
204
+ };
205
+ const theme = useTheme();
206
+ const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
207
+ const getWidth = () => {
208
+ if (isMobile) return "95%";
209
+ switch (maxWidth) {
210
+ case "xs":
211
+ return 300;
212
+ case "sm":
213
+ return 500;
214
+ case "md":
215
+ return 700;
216
+ case "lg":
217
+ return 900;
218
+ case "xl":
219
+ return 1100;
220
+ case false:
221
+ return "auto";
222
+ default:
223
+ return typeof maxWidth === "string" ? maxWidth : 500;
224
+ }
225
+ };
226
+ const paperBaseSx = __spreadProps(__spreadValues({}, modalStyle), { width: getWidth() });
227
+ const mergedPaperSx = mergeSx(paperBaseSx, paperSx);
228
+ if (mode === "confirm") {
229
+ const config = severityConfig[severity];
230
+ const message = confirmMessage != null ? confirmMessage : children;
231
+ return /* @__PURE__ */ jsx(
232
+ Modal$1,
233
+ {
234
+ open: isOpen,
235
+ onClose: handleCloseInternal,
236
+ "aria-labelledby": title ? titleId : void 0,
237
+ "aria-describedby": message ? descId : void 0,
238
+ closeAfterTransition: true,
239
+ sx,
240
+ children: /* @__PURE__ */ jsxs(Paper, { className, sx: mergedPaperSx, "data-testid": dataTestId, children: [
241
+ /* @__PURE__ */ jsxs(Stack, { spacing: 2.5, sx: { p: 3, alignItems: "center", textAlign: "center" }, children: [
242
+ /* @__PURE__ */ jsx(
243
+ Box,
244
+ {
245
+ sx: {
246
+ width: 72,
247
+ height: 72,
248
+ borderRadius: "50%",
249
+ backgroundColor: (t) => t.palette[config.paletteKey].light,
250
+ color: (t) => t.palette[config.paletteKey].dark,
251
+ display: "flex",
252
+ alignItems: "center",
253
+ justifyContent: "center",
254
+ opacity: 0.9
255
+ },
256
+ children: config.icon
257
+ }
258
+ ),
259
+ title && /* @__PURE__ */ jsx(Typography, { id: titleId, variant: "h6", component: "h2", sx: { fontWeight: 700 }, children: title }),
260
+ message && /* @__PURE__ */ jsx(Typography, { id: descId, variant: "body2", color: "text.secondary", children: message })
261
+ ] }),
262
+ /* @__PURE__ */ jsx(
263
+ ModalFooter,
264
+ {
265
+ showCloseButton,
266
+ closeButtonText,
267
+ closeButtonDisabled: closeButtonDisabled || confirmLoading,
268
+ onClose: handleCloseInternal,
269
+ actions: [
270
+ {
271
+ text: confirmText,
272
+ onClick: handleConfirm,
273
+ disabled: confirmDisabled || confirmLoading,
274
+ variant: "contained",
275
+ color: config.color
276
+ }
277
+ ]
278
+ }
279
+ )
280
+ ] })
281
+ }
282
+ );
283
+ }
284
+ const renderChildren = () => {
285
+ let header = null;
286
+ let body = null;
287
+ let footer = null;
288
+ Children.forEach(children, (child) => {
289
+ var _a, _b, _c, _d, _e;
290
+ if (!isValidElement(child)) return;
291
+ if (isModalSlot(child, ModalHeader, "ModalHeader")) {
292
+ const headerChild = child;
293
+ header = cloneElement(headerChild, __spreadValues({ id: titleId }, headerChild.props));
294
+ } else if (isModalSlot(child, ModalBody, "ModalBody")) {
295
+ const bodyChild = child;
296
+ body = cloneElement(bodyChild, __spreadValues({ id: descId }, bodyChild.props));
297
+ } else if (isModalSlot(child, ModalFooter, "ModalFooter")) {
298
+ const footerChild = child;
299
+ const childProps = footerChild.props;
300
+ footer = cloneElement(footerChild, {
301
+ showCloseButton: (_a = childProps.showCloseButton) != null ? _a : showCloseButton,
302
+ closeButtonText: (_b = childProps.closeButtonText) != null ? _b : closeButtonText,
303
+ closeButtonDisabled: (_c = childProps.closeButtonDisabled) != null ? _c : closeButtonDisabled,
304
+ onClose: (_d = childProps.onClose) != null ? _d : handleCloseInternal,
305
+ actions: (_e = childProps.actions) != null ? _e : actions
306
+ });
307
+ }
308
+ });
309
+ if (!footer && !hiddenFooter) {
310
+ footer = /* @__PURE__ */ jsx(
311
+ ModalFooter,
312
+ {
313
+ showCloseButton,
314
+ closeButtonText,
315
+ closeButtonDisabled,
316
+ onClose: handleCloseInternal,
317
+ actions
318
+ }
319
+ );
320
+ }
321
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
322
+ !hiddenHeader && (header || title && /* @__PURE__ */ jsx(ModalHeader, { id: titleId, children: title })),
323
+ !hiddenBody && body,
324
+ footer
325
+ ] });
326
+ };
327
+ return /* @__PURE__ */ jsx(
328
+ Modal$1,
329
+ {
330
+ open: isOpen,
331
+ onClose: handleCloseInternal,
332
+ "aria-labelledby": titleId,
333
+ "aria-describedby": descId,
334
+ closeAfterTransition: true,
335
+ sx,
336
+ children: /* @__PURE__ */ jsx(
337
+ Paper,
338
+ {
339
+ role: "dialog",
340
+ "aria-modal": "true",
341
+ className,
342
+ sx: mergedPaperSx,
343
+ "data-testid": dataTestId,
344
+ children: renderChildren()
345
+ }
346
+ )
347
+ }
348
+ );
349
+ }
350
+ );
351
+ Modal.displayName = "Modal";
352
+ const ModalWithStatics = Modal;
353
+ ModalWithStatics.Header = ModalHeader;
354
+ ModalWithStatics.Body = ModalBody;
355
+ ModalWithStatics.Footer = ModalFooter;
356
+ export {
357
+ ModalWithStatics as M,
358
+ ModalHeader as a,
359
+ ModalBody as b,
360
+ ModalFooter as c
361
+ };
362
+ //# sourceMappingURL=Modal-E1V8hyFI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal-E1V8hyFI.mjs","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, Stack } from '@mui/material';\nimport type { ButtonProps as MuiButtonProps } from '@mui/material/Button';\n\nimport { Button } from '../Button';\n\n// Interfaz para acciones personalizadas (se mantiene aquí)\nexport interface ModalAction {\n text: string;\n onClick?: () => void;\n disabled?: boolean;\n variant?: MuiButtonProps['variant'];\n color?: MuiButtonProps['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<MuiButtonProps> & { form?: string };\n}\n\nexport interface ModalFooterProps {\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> = ({\n children,\n showCloseButton = true,\n closeButtonText = 'Cerrar',\n closeButtonDisabled = false,\n onClose,\n actions = [],\n}) => {\n return (\n <Box\n sx={{\n padding: 2,\n borderTop: (theme) => `1px solid ${theme.palette.divider}`,\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 1,\n }}\n >\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) => {\n const { buttonProps, text, onClick, disabled, variant, color } = action;\n return (\n <Button\n key={text}\n onClick={onClick}\n disabled={disabled}\n variant={variant || 'contained'}\n color={color || 'primary'}\n {...(buttonProps as any)}\n >\n {text}\n </Button>\n );\n })}\n </Stack>\n </Box>\n );\n};\n\nModalFooter.displayName = 'ModalFooter';\n\nexport default ModalFooter;\n","import React from 'react';\nimport { Box, Typography } from '@mui/material';\n\nexport interface ModalHeaderProps {\n children: React.ReactNode;\n /**\n * ID del elemento — usado para `aria-labelledby` del Modal. Se setea\n * automáticamente cuando el header se renderiza dentro de `<Modal>`.\n */\n id?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({ children, id }) => {\n return (\n <Box\n sx={{\n padding: 2,\n borderBottom: (theme) => `1px solid ${theme.palette.divider}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n <Typography id={id} variant=\"h6\" component=\"h2\">\n {children}\n </Typography>\n </Box>\n );\n};\n\nModalHeader.displayName = 'ModalHeader';\n\nexport default ModalHeader;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nexport interface ModalBodyProps {\n children: React.ReactNode;\n /**\n * ID del elemento — usado para `aria-describedby` del Modal. Se setea\n * automáticamente cuando el body se renderiza dentro de `<Modal>`.\n */\n id?: string;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ children, id }) => {\n return (\n <Box id={id} sx={{ padding: 2, overflowY: 'auto', flexGrow: 1 }}>\n {children}\n </Box>\n );\n};\n\nModalBody.displayName = 'ModalBody';\n\nexport default ModalBody;\n","import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useId,\n useImperativeHandle,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport {\n Modal as MuiModal,\n Paper,\n useMediaQuery,\n useTheme,\n Box,\n Stack,\n Typography,\n} from '@mui/material';\nimport type { SxProps, Theme } from '@mui/material/styles';\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 { ModalFooter, type ModalAction, type ModalFooterProps } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\nimport { mergeSx } from '../_shared/mergeSx';\n\n// Detección robusta de sub-componentes — funciona con wrappers / HMR que\n// rompen la igualdad de referencia (`child.type === ModalHeader`).\nconst isModalSlot = (\n child: ReactElement,\n Component: unknown,\n displayName: string,\n): boolean => {\n if (child.type === Component) return true;\n const type = child.type as { displayName?: string };\n return type?.displayName === displayName;\n};\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\nexport interface 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 /**\n * Si `true`, el modal NO se cierra al hacer click en el backdrop ni con Escape\n * (equivale a `backdrop=\"static\"`). Cerrar solo vía botón/acción.\n */\n staticBackdrop?: boolean;\n /** Test id aplicado al Paper interno (contenedor visual). */\n 'data-testid'?: string;\n /** Oculta el header (incluso si hay `title` o se pasa un `<Modal.Header>`). */\n hiddenHeader?: boolean;\n /** Oculta el body (incluso si se pasa un `<Modal.Body>`). */\n hiddenBody?: boolean;\n /** Oculta el footer (incluso si se pasa un `<Modal.Footer>` o `actions`). */\n hiddenFooter?: boolean;\n /** sx del Modal root (MuiModal). */\n sx?: SxProps<Theme>;\n /** sx del Paper interno (contenedor visual). Se mergea sobre el default. */\n paperSx?: SxProps<Theme>;\n /** className del Paper interno. */\n className?: string;\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 * Si la promesa **rechaza**, el modal queda abierto para que el consumer\n * pueda mostrar el error en su UI. El modal se cierra solo en éxito.\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; paletteKey: 'primary' | 'warning' | 'error' | 'success' }\n> = {\n info: {\n color: 'primary',\n icon: <InfoOutlinedIcon sx={{ fontSize: 48 }} />,\n paletteKey: 'primary',\n },\n warning: {\n color: 'warning',\n icon: <WarningAmberIcon sx={{ fontSize: 48 }} />,\n paletteKey: 'warning',\n },\n error: {\n color: 'error',\n icon: <ErrorOutlineIcon sx={{ fontSize: 48 }} />,\n paletteKey: 'error',\n },\n success: {\n color: 'success',\n icon: <CheckCircleOutlineIcon sx={{ fontSize: 48 }} />,\n paletteKey: 'success',\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 hiddenHeader = false,\n hiddenBody = false,\n hiddenFooter = false,\n staticBackdrop = false,\n 'data-testid': dataTestId,\n sx,\n paperSx,\n className,\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 // IDs estables para a11y: `aria-labelledby` y `aria-describedby`.\n const titleId = useId();\n const descId = useId();\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 _event?: object,\n reason?: 'backdropClick' | 'escapeKeyDown',\n ) => {\n // Backdrop estático: ignora cierres por click fuera o Escape.\n if (\n staticBackdrop &&\n (reason === 'backdropClick' || reason === 'escapeKeyDown')\n ) {\n return;\n }\n setInternalOpen(false);\n controlledOnClose?.();\n };\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n handleCloseInternal();\n return;\n }\n const result = onConfirm();\n if (!(result instanceof Promise)) {\n handleCloseInternal();\n return;\n }\n setConfirmLoading(true);\n try {\n await result;\n handleCloseInternal();\n } catch (err) {\n // No cerrar el modal en caso de error — el consumer es responsable\n // de mostrar un estado de error en su UI. Logueamos para trazabilidad\n // en dev.\n // eslint-disable-next-line no-console\n console.error('Modal onConfirm failed:', err);\n } finally {\n setConfirmLoading(false);\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 // Soporta string custom: `maxWidth=\"600px\"` se pasa tal cual.\n return typeof maxWidth === 'string' ? maxWidth : 500;\n }\n };\n\n // Base sx del Paper + width responsive; el consumer puede pisarlos via `paperSx`.\n const paperBaseSx: SxProps<Theme> = { ...modalStyle, width: getWidth() };\n const mergedPaperSx = mergeSx(paperBaseSx, paperSx);\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={title ? titleId : undefined}\n aria-describedby={message ? descId : undefined}\n closeAfterTransition\n sx={sx}\n >\n <Paper className={className} sx={mergedPaperSx} data-testid={dataTestId}>\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) => t.palette[config.paletteKey].light,\n color: (t) => t.palette[config.paletteKey].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 id={titleId} variant=\"h6\" component=\"h2\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n )}\n {message && (\n <Typography id={descId} 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 (compuesto) ─────────────────────────────────\n const renderChildren = () => {\n let header: ReactNode | null = null;\n let body: ReactNode | null = null;\n let footer: ReactNode | null = null;\n\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n\n if (isModalSlot(child, ModalHeader, 'ModalHeader')) {\n const headerChild = child as ReactElement<{ id?: string }>;\n header = cloneElement(headerChild, { id: titleId, ...headerChild.props });\n } else if (isModalSlot(child, ModalBody, 'ModalBody')) {\n const bodyChild = child as ReactElement<{ id?: string }>;\n body = cloneElement(bodyChild, { id: descId, ...bodyChild.props });\n } else if (isModalSlot(child, ModalFooter, 'ModalFooter')) {\n const footerChild = child as ReactElement<ModalFooterProps>;\n // Props del child ganan sobre los del Modal padre: si el consumer\n // declara `<Modal.Footer showCloseButton={false}>`, ese valor se\n // respeta. Solo los que vengan `undefined` caen al default del padre.\n const childProps = footerChild.props;\n footer = cloneElement(footerChild, {\n showCloseButton: childProps.showCloseButton ?? showCloseButton,\n closeButtonText: childProps.closeButtonText ?? closeButtonText,\n closeButtonDisabled: childProps.closeButtonDisabled ?? closeButtonDisabled,\n onClose: childProps.onClose ?? handleCloseInternal,\n actions: childProps.actions ?? actions,\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 {!hiddenHeader && (header || (title && <ModalHeader id={titleId}>{title}</ModalHeader>))}\n {!hiddenBody && body}\n {footer}\n </>\n );\n };\n\n return (\n <MuiModal\n open={isOpen}\n onClose={handleCloseInternal}\n aria-labelledby={titleId}\n aria-describedby={descId}\n closeAfterTransition\n sx={sx}\n >\n {/*\n `role=\"dialog\"` + `aria-modal` van en el Paper, no en MuiModal: el root\n de MuiModal es un `presentation` y sin esto el lector de pantalla anuncia\n el contenido como texto suelto, sin decir que hay un diálogo abierto ni\n acotar la navegación a su interior.\n */}\n <Paper\n role=\"dialog\"\n aria-modal=\"true\"\n className={className}\n sx={mergedPaperSx}\n data-testid={dataTestId}\n >\n {renderChildren()}\n </Paper>\n </MuiModal>\n );\n },\n);\n\nModal.displayName = 'Modal';\n\n// Define los sub-componentes como propiedades estáticas con tipos explícitos\ntype ModalComponent = ReturnType<typeof forwardRef<ModalRef, ModalProps>> & {\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":["MuiModal"],"mappings":"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"}