@soyfri/shared-library 4.0.4 → 4.1.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +393 -0
- package/chunks/ActionMenu-D81Xb35f.cjs.map +1 -0
- package/chunks/ActionMenu-co4b8doH.mjs +106 -0
- package/chunks/ActionMenu-co4b8doH.mjs.map +1 -0
- package/chunks/Alert-6Wiwby6L.mjs +53 -0
- package/chunks/Alert-6Wiwby6L.mjs.map +1 -0
- package/chunks/Alert-CLBHE4sH.cjs +52 -0
- package/chunks/Alert-CLBHE4sH.cjs.map +1 -0
- package/chunks/AppBarMenuToggle-BsN5zZTv.cjs +134 -0
- package/chunks/AppBarMenuToggle-BsN5zZTv.cjs.map +1 -0
- package/chunks/AppBarMenuToggle-DN_dFthr.mjs +135 -0
- package/chunks/AppBarMenuToggle-DN_dFthr.mjs.map +1 -0
- package/chunks/Autocomplete-BKuHgS8H.mjs +361 -0
- package/chunks/Autocomplete-BKuHgS8H.mjs.map +1 -0
- package/chunks/Autocomplete-CxZhdrSA.cjs +360 -0
- package/chunks/Autocomplete-CxZhdrSA.cjs.map +1 -0
- package/chunks/Avatar-BTEyuYXI.mjs +184 -0
- package/chunks/Avatar-BTEyuYXI.mjs.map +1 -0
- package/chunks/Avatar-CJlBSdDl.cjs +183 -0
- package/chunks/Avatar-CJlBSdDl.cjs.map +1 -0
- package/chunks/Breadcrumbs-DH0KAc8w.cjs +41 -0
- package/chunks/Breadcrumbs-DH0KAc8w.cjs.map +1 -0
- package/chunks/Breadcrumbs-Du_7W4gr.mjs +42 -0
- package/chunks/Breadcrumbs-Du_7W4gr.mjs.map +1 -0
- package/chunks/Button-BCNhPNKU.cjs +51 -0
- package/chunks/Button-BCNhPNKU.cjs.map +1 -0
- package/chunks/Button-DbqDgTAR.mjs +52 -0
- package/chunks/Button-DbqDgTAR.mjs.map +1 -0
- package/chunks/ButtonGroup-B9AnoOt_.cjs +64 -0
- package/chunks/ButtonGroup-B9AnoOt_.cjs.map +1 -0
- package/chunks/ButtonGroup-DFPzal0z.mjs +65 -0
- package/chunks/ButtonGroup-DFPzal0z.mjs.map +1 -0
- package/chunks/Card-DfueKp5e.mjs +155 -0
- package/chunks/Card-DfueKp5e.mjs.map +1 -0
- package/chunks/Card-DpKG8AOc.cjs +154 -0
- package/chunks/Card-DpKG8AOc.cjs.map +1 -0
- package/chunks/Checkbox-BaVffFaF.cjs +192 -0
- package/chunks/Checkbox-BaVffFaF.cjs.map +1 -0
- package/chunks/Checkbox-Bvky878D.mjs +193 -0
- package/chunks/Checkbox-Bvky878D.mjs.map +1 -0
- package/chunks/Chip-5QNjzffa.cjs +75 -0
- package/chunks/Chip-5QNjzffa.cjs.map +1 -0
- package/chunks/Chip-5ZYwvVc1.mjs +76 -0
- package/chunks/Chip-5ZYwvVc1.mjs.map +1 -0
- package/chunks/DataRow-6oYxHTYF.cjs +123 -0
- package/chunks/DataRow-6oYxHTYF.cjs.map +1 -0
- package/chunks/DataRow-B8SZkwHB.mjs +124 -0
- package/chunks/DataRow-B8SZkwHB.mjs.map +1 -0
- package/chunks/DatePicker-BEwQDuPy.mjs +187 -0
- package/chunks/DatePicker-BEwQDuPy.mjs.map +1 -0
- package/chunks/DatePicker-Dl46Ae5T.cjs +186 -0
- package/chunks/DatePicker-Dl46Ae5T.cjs.map +1 -0
- package/chunks/DateTimePicker-BDlUoDyR.cjs +230 -0
- package/chunks/DateTimePicker-BDlUoDyR.cjs.map +1 -0
- package/chunks/DateTimePicker-BXghtoRm.mjs +231 -0
- package/chunks/DateTimePicker-BXghtoRm.mjs.map +1 -0
- package/chunks/Divider-CSDEVgHL.cjs +41 -0
- package/chunks/Divider-CSDEVgHL.cjs.map +1 -0
- package/chunks/Divider-LWjGO0ja.mjs +42 -0
- package/chunks/Divider-LWjGO0ja.mjs.map +1 -0
- package/chunks/DrawerItem-BX8llYa3.cjs +274 -0
- package/chunks/DrawerItem-BX8llYa3.cjs.map +1 -0
- package/chunks/DrawerItem-BaLZe-DV.mjs +275 -0
- package/chunks/DrawerItem-BaLZe-DV.mjs.map +1 -0
- package/chunks/EmptyState-C3G5C0DO.cjs +91 -0
- package/chunks/EmptyState-C3G5C0DO.cjs.map +1 -0
- package/chunks/EmptyState-CVaRjXkT.mjs +92 -0
- package/chunks/EmptyState-CVaRjXkT.mjs.map +1 -0
- package/chunks/Flyout-BSaOisD7.mjs +118 -0
- package/chunks/Flyout-BSaOisD7.mjs.map +1 -0
- package/chunks/Flyout-CVH3IASy.cjs +117 -0
- package/chunks/Flyout-CVH3IASy.cjs.map +1 -0
- package/chunks/Gallery-B5XDZBRu.mjs +494 -0
- package/chunks/Gallery-B5XDZBRu.mjs.map +1 -0
- package/chunks/Gallery-BJ3O0SEf.cjs +493 -0
- package/chunks/Gallery-BJ3O0SEf.cjs.map +1 -0
- package/chunks/Icon-C4laDiIR.cjs +158 -0
- package/chunks/Icon-C4laDiIR.cjs.map +1 -0
- package/chunks/Icon-C5vYo9Is.mjs +159 -0
- package/chunks/Icon-C5vYo9Is.mjs.map +1 -0
- package/chunks/Input-BOt_sv7B.mjs +206 -0
- package/chunks/Input-BOt_sv7B.mjs.map +1 -0
- package/chunks/Input-Bcm7XRHs.cjs +205 -0
- package/chunks/Input-Bcm7XRHs.cjs.map +1 -0
- package/chunks/InputGroup-CSQ4zpAf.cjs +160 -0
- package/chunks/InputGroup-CSQ4zpAf.cjs.map +1 -0
- package/chunks/InputGroup-DIMk8yiS.mjs +161 -0
- package/chunks/InputGroup-DIMk8yiS.mjs.map +1 -0
- package/chunks/MenuButton-BqCkrXmM.cjs +79 -0
- package/chunks/MenuButton-BqCkrXmM.cjs.map +1 -0
- package/chunks/MenuButton-DUlSw-sF.mjs +80 -0
- package/chunks/MenuButton-DUlSw-sF.mjs.map +1 -0
- package/chunks/Modal-E1V8hyFI.mjs +362 -0
- package/chunks/Modal-E1V8hyFI.mjs.map +1 -0
- package/chunks/Modal-KRUDCrlp.cjs +361 -0
- package/chunks/Modal-KRUDCrlp.cjs.map +1 -0
- package/chunks/PageHeader-C5tVfSvH.cjs +88 -0
- package/chunks/PageHeader-C5tVfSvH.cjs.map +1 -0
- package/chunks/PageHeader-DAYz1_fF.mjs +89 -0
- package/chunks/PageHeader-DAYz1_fF.mjs.map +1 -0
- package/chunks/RadioGroup-DT5IaA5K.cjs +202 -0
- package/chunks/RadioGroup-DT5IaA5K.cjs.map +1 -0
- package/chunks/RadioGroup-atKq1EWA.mjs +203 -0
- package/chunks/RadioGroup-atKq1EWA.mjs.map +1 -0
- package/chunks/Select-CWZJnddP.mjs +389 -0
- package/chunks/Select-CWZJnddP.mjs.map +1 -0
- package/chunks/Select-CjiKx_1z.cjs +388 -0
- package/chunks/Select-CjiKx_1z.cjs.map +1 -0
- package/chunks/Spinner-ColidLuW.mjs +100 -0
- package/chunks/Spinner-ColidLuW.mjs.map +1 -0
- package/chunks/Spinner-D3Klgy3Z.cjs +99 -0
- package/chunks/Spinner-D3Klgy3Z.cjs.map +1 -0
- package/chunks/Stat-BYqc3PFf.cjs +149 -0
- package/chunks/Stat-BYqc3PFf.cjs.map +1 -0
- package/chunks/Stat-DX2kcT36.mjs +150 -0
- package/chunks/Stat-DX2kcT36.mjs.map +1 -0
- package/chunks/StatusMessage-Bl_E83nN.cjs +108 -0
- package/chunks/StatusMessage-Bl_E83nN.cjs.map +1 -0
- package/chunks/StatusMessage-Pa5IutUR.mjs +109 -0
- package/chunks/StatusMessage-Pa5IutUR.mjs.map +1 -0
- package/chunks/Step-BdgcmiDk.mjs +301 -0
- package/chunks/Step-BdgcmiDk.mjs.map +1 -0
- package/chunks/Step-fng1hpkt.cjs +300 -0
- package/chunks/Step-fng1hpkt.cjs.map +1 -0
- package/chunks/Switch-9zvnchC7.cjs +201 -0
- package/chunks/Switch-9zvnchC7.cjs.map +1 -0
- package/chunks/Switch-CsYwGxu5.mjs +185 -0
- package/chunks/Switch-CsYwGxu5.mjs.map +1 -0
- package/chunks/Tab-BXTh3QSn.mjs +138 -0
- package/chunks/Tab-BXTh3QSn.mjs.map +1 -0
- package/chunks/Tab-CjCGp0aH.cjs +137 -0
- package/chunks/Tab-CjCGp0aH.cjs.map +1 -0
- package/chunks/Table-BcI9uvYg.cjs +539 -0
- package/chunks/Table-BcI9uvYg.cjs.map +1 -0
- package/chunks/Table-DGmx3UyH.mjs +540 -0
- package/chunks/Table-DGmx3UyH.mjs.map +1 -0
- package/chunks/TimelineItem-BWFnies7.mjs +72 -0
- package/chunks/TimelineItem-BWFnies7.mjs.map +1 -0
- package/chunks/TimelineItem-CceZABwX.cjs +88 -0
- package/chunks/TimelineItem-CceZABwX.cjs.map +1 -0
- package/chunks/Tooltip-BWffoOtY.mjs +59 -0
- package/chunks/Tooltip-BWffoOtY.mjs.map +1 -0
- package/chunks/Tooltip-BtEsQB-y.cjs +58 -0
- package/chunks/Tooltip-BtEsQB-y.cjs.map +1 -0
- package/chunks/formField.sx-BLA6rq1F.mjs +109 -0
- package/chunks/formField.sx-BLA6rq1F.mjs.map +1 -0
- package/chunks/formField.sx-DEDuTUQS.cjs +108 -0
- package/chunks/formField.sx-DEDuTUQS.cjs.map +1 -0
- package/chunks/mergeSlotProps-D-7l6IPd.mjs +32 -0
- package/chunks/mergeSlotProps-D-7l6IPd.mjs.map +1 -0
- package/chunks/mergeSlotProps-DixXUzK1.cjs +31 -0
- package/chunks/mergeSlotProps-DixXUzK1.cjs.map +1 -0
- package/chunks/mergeSx-BXoNZjB_.mjs +10 -0
- package/chunks/mergeSx-BXoNZjB_.mjs.map +1 -0
- package/chunks/mergeSx-Dbccoo_H.cjs.map +1 -0
- package/chunks/resolvePreset-CxTI6_Ln.cjs.map +1 -0
- package/chunks/resolvePreset-K6_BfWHD.mjs +15 -0
- package/chunks/resolvePreset-K6_BfWHD.mjs.map +1 -0
- package/chunks/tokens-B5kmy5Gy.cjs +36 -0
- package/chunks/tokens-B5kmy5Gy.cjs.map +1 -0
- package/chunks/tokens-C2AKLGbM.mjs +37 -0
- package/chunks/tokens-C2AKLGbM.mjs.map +1 -0
- package/components/ActionMenu/ActionMenu.d.cts +44 -0
- package/components/ActionMenu/ActionMenu.d.mts +44 -0
- package/components/ActionMenu/index.cjs +7 -0
- package/components/ActionMenu/index.cjs.map +1 -0
- package/components/ActionMenu/index.d.cts +2 -0
- package/components/ActionMenu/index.d.mts +2 -0
- package/components/ActionMenu/index.mjs +7 -0
- package/components/ActionMenu/index.mjs.map +1 -0
- package/components/ActionMenu.d.cts +6 -0
- package/components/ActionMenu.d.mts +6 -0
- package/components/Alert/Alert.d.cts +26 -0
- package/components/Alert/Alert.d.mts +26 -0
- package/components/Alert/Alert.d.ts +3 -8
- package/components/Alert/index.cjs +6 -0
- package/components/Alert/index.cjs.map +1 -0
- package/components/Alert/index.d.cts +2 -0
- package/components/Alert/index.d.mts +2 -0
- package/components/Alert/index.mjs +6 -0
- package/components/Alert/index.mjs.map +1 -0
- package/components/Alert.d.cts +6 -0
- package/components/Alert.d.mts +6 -0
- package/components/AppBar/AppBar.d.cts +38 -0
- package/components/AppBar/AppBar.d.mts +38 -0
- package/components/AppBar/AppBar.d.ts +2 -19
- package/components/AppBar/AppBar.sx.d.cts +21 -0
- package/components/AppBar/AppBar.sx.d.mts +21 -0
- package/components/AppBar/AppBar.sx.d.ts +12 -3
- package/components/AppBar/AppBarContext.d.cts +18 -0
- package/components/AppBar/AppBarContext.d.mts +18 -0
- package/components/AppBar/AppBarMenuToggle.d.cts +39 -0
- package/components/AppBar/AppBarMenuToggle.d.mts +39 -0
- package/components/AppBar/index.cjs +9 -0
- package/components/AppBar/index.cjs.map +1 -0
- package/components/AppBar/index.d.cts +6 -0
- package/components/AppBar/index.d.mts +6 -0
- package/components/AppBar/index.mjs +9 -0
- package/components/AppBar/index.mjs.map +1 -0
- package/components/AppBar.d.cts +6 -0
- package/components/AppBar.d.mts +6 -0
- package/components/Autocomplete/Autocomplete.d.cts +102 -0
- package/components/Autocomplete/Autocomplete.d.mts +102 -0
- package/components/Autocomplete/Autocomplete.helpers.d.cts +22 -0
- package/components/Autocomplete/Autocomplete.helpers.d.mts +22 -0
- package/components/Autocomplete/Autocomplete.sx.d.cts +12 -0
- package/components/Autocomplete/Autocomplete.sx.d.mts +12 -0
- package/components/Autocomplete/Autocomplete.sx.d.ts +8 -3
- package/components/Autocomplete/_parts/AutocompleteChips.d.cts +20 -0
- package/components/Autocomplete/_parts/AutocompleteChips.d.mts +20 -0
- package/components/Autocomplete/_parts/AutocompleteLoader.d.cts +9 -0
- package/components/Autocomplete/_parts/AutocompleteLoader.d.mts +9 -0
- package/components/Autocomplete/_parts/AutocompleteOption.d.cts +16 -0
- package/components/Autocomplete/_parts/AutocompleteOption.d.mts +16 -0
- package/components/Autocomplete/index.cjs +7 -0
- package/components/Autocomplete/index.cjs.map +1 -0
- package/components/Autocomplete/index.d.cts +2 -0
- package/components/Autocomplete/index.d.mts +2 -0
- package/components/Autocomplete/index.mjs +7 -0
- package/components/Autocomplete/index.mjs.map +1 -0
- package/components/Autocomplete.d.cts +6 -0
- package/components/Autocomplete.d.mts +6 -0
- package/components/Avatar/Avatar.d.cts +48 -0
- package/components/Avatar/Avatar.d.mts +48 -0
- package/components/Avatar/Avatar.d.ts +3 -3
- package/components/Avatar/index.cjs +5 -0
- package/components/Avatar/index.cjs.map +1 -0
- package/components/Avatar/index.d.cts +2 -0
- package/components/Avatar/index.d.mts +2 -0
- package/components/Avatar/index.mjs +5 -0
- package/components/Avatar/index.mjs.map +1 -0
- package/components/Avatar.d.cts +2 -0
- package/components/Avatar.d.mts +2 -0
- package/components/Breadcrumbs/Breadcrumbs.d.cts +9 -0
- package/components/Breadcrumbs/Breadcrumbs.d.mts +9 -0
- package/components/Breadcrumbs/Breadcrumbs.d.ts +3 -10
- package/components/Breadcrumbs/index.cjs +6 -0
- package/components/Breadcrumbs/index.cjs.map +1 -0
- package/components/Breadcrumbs/index.d.cts +2 -0
- package/components/Breadcrumbs/index.d.mts +2 -0
- package/components/Breadcrumbs/index.mjs +6 -0
- package/components/Breadcrumbs/index.mjs.map +1 -0
- package/components/Breadcrumbs.d.cts +6 -0
- package/components/Breadcrumbs.d.mts +6 -0
- package/components/Button/Button.d.cts +17 -0
- package/components/Button/Button.d.mts +17 -0
- package/components/Button/Button.d.ts +16 -21
- package/components/Button/index.cjs +5 -0
- package/components/Button/index.cjs.map +1 -0
- package/components/Button/index.d.cts +2 -0
- package/components/Button/index.d.mts +2 -0
- package/components/Button/index.mjs +5 -0
- package/components/Button/index.mjs.map +1 -0
- package/components/Button.d.cts +2 -0
- package/components/Button.d.mts +2 -0
- package/components/ButtonGroup/ButtonGroup.d.cts +9 -0
- package/components/ButtonGroup/ButtonGroup.d.mts +9 -0
- package/components/ButtonGroup/ButtonGroup.d.ts +3 -12
- package/components/ButtonGroup/index.cjs +6 -0
- package/components/ButtonGroup/index.cjs.map +1 -0
- package/components/ButtonGroup/index.d.cts +2 -0
- package/components/ButtonGroup/index.d.mts +2 -0
- package/components/ButtonGroup/index.mjs +6 -0
- package/components/ButtonGroup/index.mjs.map +1 -0
- package/components/ButtonGroup.d.cts +6 -0
- package/components/ButtonGroup.d.mts +6 -0
- package/components/Card/Card.d.cts +72 -0
- package/components/Card/Card.d.mts +72 -0
- package/components/Card/Card.d.ts +25 -7
- package/components/Card/Card.sx.d.cts +25 -0
- package/components/Card/Card.sx.d.mts +25 -0
- package/components/Card/Card.sx.d.ts +16 -5
- package/components/Card/index.cjs +8 -0
- package/components/Card/index.cjs.map +1 -0
- package/components/Card/index.d.cts +4 -0
- package/components/Card/index.d.mts +4 -0
- package/components/Card/index.d.ts +1 -1
- package/components/Card/index.mjs +8 -0
- package/components/Card/index.mjs.map +1 -0
- package/components/Card.d.cts +6 -0
- package/components/Card.d.mts +6 -0
- package/components/Checkbox/Checkbox.d.cts +54 -0
- package/components/Checkbox/Checkbox.d.mts +54 -0
- package/components/Checkbox/Checkbox.d.ts +1 -2
- package/components/Checkbox/Checkbox.sx.d.cts +19 -0
- package/components/Checkbox/Checkbox.sx.d.mts +19 -0
- package/components/Checkbox/Checkbox.sx.d.ts +10 -4
- package/components/Checkbox/index.cjs +6 -0
- package/components/Checkbox/index.cjs.map +1 -0
- package/components/Checkbox/index.d.cts +2 -0
- package/components/Checkbox/index.d.mts +2 -0
- package/components/Checkbox/index.mjs +6 -0
- package/components/Checkbox/index.mjs.map +1 -0
- package/components/Checkbox.d.cts +6 -0
- package/components/Checkbox.d.mts +6 -0
- package/components/Chip/Chip.d.cts +20 -0
- package/components/Chip/Chip.d.mts +20 -0
- package/components/Chip/Chip.d.ts +1 -1
- package/components/Chip/index.cjs +6 -0
- package/components/Chip/index.cjs.map +1 -0
- package/components/Chip/index.d.cts +2 -0
- package/components/Chip/index.d.mts +2 -0
- package/components/Chip/index.mjs +6 -0
- package/components/Chip/index.mjs.map +1 -0
- package/components/Chip.d.cts +6 -0
- package/components/Chip.d.mts +6 -0
- package/components/Column/Column.d.cts +12 -0
- package/components/Column/Column.d.mts +12 -0
- package/components/Column/index.cjs +8 -0
- package/components/Column/index.cjs.map +1 -0
- package/components/Column/index.d.cts +2 -0
- package/components/Column/index.d.mts +2 -0
- package/components/Column/index.mjs +8 -0
- package/components/Column/index.mjs.map +1 -0
- package/components/Column.d.cts +2 -0
- package/components/Column.d.mts +2 -0
- package/components/DataRow/DataRow.d.cts +62 -0
- package/components/DataRow/DataRow.d.mts +62 -0
- package/components/DataRow/DataRow.d.ts +30 -12
- package/components/DataRow/index.cjs +6 -0
- package/components/DataRow/index.cjs.map +1 -0
- package/components/DataRow/index.d.cts +2 -0
- package/components/DataRow/index.d.mts +2 -0
- package/components/DataRow/index.mjs +6 -0
- package/components/DataRow/index.mjs.map +1 -0
- package/components/DataRow.d.cts +6 -0
- package/components/DataRow.d.mts +6 -0
- package/components/DatePicker/DatePicker.d.cts +44 -0
- package/components/DatePicker/DatePicker.d.mts +44 -0
- package/components/DatePicker/DatePicker.d.ts +1 -1
- package/components/DatePicker/DatePicker.helpers.d.cts +7 -0
- package/components/DatePicker/DatePicker.helpers.d.mts +7 -0
- package/components/DatePicker/DatePicker.sx.d.cts +16 -0
- package/components/DatePicker/DatePicker.sx.d.mts +16 -0
- package/components/DatePicker/DatePicker.sx.d.ts +11 -4
- package/components/DatePicker/index.cjs +6 -0
- package/components/DatePicker/index.cjs.map +1 -0
- package/components/DatePicker/index.d.cts +2 -0
- package/components/DatePicker/index.d.mts +2 -0
- package/components/DatePicker/index.mjs +6 -0
- package/components/DatePicker/index.mjs.map +1 -0
- package/components/DatePicker.d.cts +6 -0
- package/components/DatePicker.d.mts +6 -0
- package/components/DateTimePicker/DateTimePicker.d.cts +78 -0
- package/components/DateTimePicker/DateTimePicker.d.mts +78 -0
- package/components/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/components/DateTimePicker/DateTimePicker.helpers.d.cts +13 -0
- package/components/DateTimePicker/DateTimePicker.helpers.d.mts +13 -0
- package/components/DateTimePicker/DateTimePicker.sx.d.cts +10 -0
- package/components/DateTimePicker/DateTimePicker.sx.d.mts +10 -0
- package/components/DateTimePicker/DateTimePicker.sx.d.ts +5 -2
- package/components/DateTimePicker/index.cjs +6 -0
- package/components/DateTimePicker/index.cjs.map +1 -0
- package/components/DateTimePicker/index.d.cts +2 -0
- package/components/DateTimePicker/index.d.mts +2 -0
- package/components/DateTimePicker/index.mjs +6 -0
- package/components/DateTimePicker/index.mjs.map +1 -0
- package/components/DateTimePicker.d.cts +6 -0
- package/components/DateTimePicker.d.mts +6 -0
- package/components/Divider/Divider.d.cts +9 -0
- package/components/Divider/Divider.d.mts +9 -0
- package/components/Divider/Divider.d.ts +3 -11
- package/components/Divider/index.cjs +6 -0
- package/components/Divider/index.cjs.map +1 -0
- package/components/Divider/index.d.cts +2 -0
- package/components/Divider/index.d.mts +2 -0
- package/components/Divider/index.mjs +6 -0
- package/components/Divider/index.mjs.map +1 -0
- package/components/Divider.d.cts +6 -0
- package/components/Divider.d.mts +6 -0
- package/components/Drawer/Drawer.d.cts +58 -0
- package/components/Drawer/Drawer.d.mts +58 -0
- package/components/Drawer/Drawer.d.ts +1 -1
- package/components/Drawer/Drawer.sx.d.cts +28 -0
- package/components/Drawer/Drawer.sx.d.mts +28 -0
- package/components/Drawer/Drawer.sx.d.ts +9 -4
- package/components/Drawer/DrawerContext.d.cts +18 -0
- package/components/Drawer/DrawerContext.d.mts +18 -0
- package/components/Drawer/DrawerItem.d.cts +40 -0
- package/components/Drawer/DrawerItem.d.mts +40 -0
- package/components/Drawer/index.cjs +8 -0
- package/components/Drawer/index.cjs.map +1 -0
- package/components/Drawer/index.d.cts +6 -0
- package/components/Drawer/index.d.mts +6 -0
- package/components/Drawer/index.mjs +8 -0
- package/components/Drawer/index.mjs.map +1 -0
- package/components/Drawer.d.cts +6 -0
- package/components/Drawer.d.mts +6 -0
- package/components/EmptyState/EmptyState.d.cts +37 -0
- package/components/EmptyState/EmptyState.d.mts +37 -0
- package/components/EmptyState/EmptyState.d.ts +18 -5
- package/components/EmptyState/index.cjs +6 -0
- package/components/EmptyState/index.cjs.map +1 -0
- package/components/EmptyState/index.d.cts +2 -0
- package/components/EmptyState/index.d.mts +2 -0
- package/components/EmptyState/index.mjs +6 -0
- package/components/EmptyState/index.mjs.map +1 -0
- package/components/EmptyState.d.cts +6 -0
- package/components/EmptyState.d.mts +6 -0
- package/components/Flyout/Flyout.d.cts +13 -0
- package/components/Flyout/Flyout.d.mts +13 -0
- package/components/Flyout/Flyout.d.ts +1 -1
- package/components/Flyout/index.cjs +5 -0
- package/components/Flyout/index.cjs.map +1 -0
- package/components/Flyout/index.d.cts +1 -0
- package/components/Flyout/index.d.mts +1 -0
- package/components/Flyout/index.mjs +5 -0
- package/components/Flyout/index.mjs.map +1 -0
- package/components/Flyout.d.cts +2 -0
- package/components/Flyout.d.mts +2 -0
- package/components/Gallery/Gallery.d.cts +28 -0
- package/components/Gallery/Gallery.d.mts +28 -0
- package/components/Gallery/Gallery.d.ts +1 -1
- package/components/Gallery/Gallery.definition.d.cts +1 -0
- package/components/Gallery/Gallery.definition.d.mts +1 -0
- package/components/Gallery/GalleryLightbox.d.cts +16 -0
- package/components/Gallery/GalleryLightbox.d.mts +16 -0
- package/components/Gallery/GalleryMain.d.cts +8 -0
- package/components/Gallery/GalleryMain.d.mts +8 -0
- package/components/Gallery/GalleryThumbnails.d.cts +13 -0
- package/components/Gallery/GalleryThumbnails.d.mts +13 -0
- package/components/Gallery/index.cjs +6 -0
- package/components/Gallery/index.cjs.map +1 -0
- package/components/Gallery/index.d.cts +2 -0
- package/components/Gallery/index.d.mts +2 -0
- package/components/Gallery/index.mjs +6 -0
- package/components/Gallery/index.mjs.map +1 -0
- package/components/Gallery.d.cts +6 -0
- package/components/Gallery.d.mts +6 -0
- package/components/Icon/Icon.d.cts +48 -0
- package/components/Icon/Icon.d.mts +48 -0
- package/components/Icon/Icon.d.ts +2 -2
- package/components/Icon/index.cjs +6 -0
- package/components/Icon/index.cjs.map +1 -0
- package/components/Icon/index.d.cts +2 -0
- package/components/Icon/index.d.mts +2 -0
- package/components/Icon/index.mjs +6 -0
- package/components/Icon/index.mjs.map +1 -0
- package/components/Icon.d.cts +6 -0
- package/components/Icon.d.mts +6 -0
- package/components/Input/Input.d.cts +48 -0
- package/components/Input/Input.d.mts +48 -0
- package/components/Input/Input.d.ts +1 -1
- package/components/Input/Input.helpers.d.cts +14 -0
- package/components/Input/Input.helpers.d.mts +14 -0
- package/components/Input/Input.sx.d.cts +11 -0
- package/components/Input/Input.sx.d.mts +11 -0
- package/components/Input/Input.sx.d.ts +6 -3
- package/components/Input/index.cjs +6 -0
- package/components/Input/index.cjs.map +1 -0
- package/components/Input/index.d.cts +2 -0
- package/components/Input/index.d.mts +2 -0
- package/components/Input/index.mjs +6 -0
- package/components/Input/index.mjs.map +1 -0
- package/components/Input.d.cts +6 -0
- package/components/Input.d.mts +6 -0
- package/components/InputGroup/InputGroup.d.cts +41 -0
- package/components/InputGroup/InputGroup.d.mts +41 -0
- package/components/InputGroup/InputGroup.d.ts +3 -4
- package/components/InputGroup/index.cjs +6 -0
- package/components/InputGroup/index.cjs.map +1 -0
- package/components/InputGroup/index.d.cts +2 -0
- package/components/InputGroup/index.d.mts +2 -0
- package/components/InputGroup/index.mjs +6 -0
- package/components/InputGroup/index.mjs.map +1 -0
- package/components/InputGroup.d.cts +6 -0
- package/components/InputGroup.d.mts +6 -0
- package/components/MenuButton/MenuButton.d.cts +24 -0
- package/components/MenuButton/MenuButton.d.mts +24 -0
- package/components/MenuButton/MenuButton.d.ts +4 -1
- package/components/MenuButton/index.cjs +5 -0
- package/components/MenuButton/index.cjs.map +1 -0
- package/components/MenuButton/index.d.cts +2 -0
- package/components/MenuButton/index.d.mts +2 -0
- package/components/MenuButton/index.d.ts +1 -0
- package/components/MenuButton/index.mjs +5 -0
- package/components/MenuButton/index.mjs.map +1 -0
- package/components/MenuButton.d.cts +2 -0
- package/components/MenuButton.d.mts +2 -0
- package/components/Modal/Modal.d.cts +87 -0
- package/components/Modal/Modal.d.mts +87 -0
- package/components/Modal/ModalBody.d.cts +11 -0
- package/components/Modal/ModalBody.d.mts +11 -0
- package/components/Modal/ModalFooter.d.cts +27 -0
- package/components/Modal/ModalFooter.d.mts +27 -0
- package/components/Modal/ModalHeader.d.cts +11 -0
- package/components/Modal/ModalHeader.d.mts +11 -0
- package/components/Modal/index.cjs +9 -0
- package/components/Modal/index.cjs.map +1 -0
- package/components/Modal/index.d.cts +8 -0
- package/components/Modal/index.d.mts +8 -0
- package/components/Modal/index.mjs +9 -0
- package/components/Modal/index.mjs.map +1 -0
- package/components/Modal.d.cts +6 -0
- package/components/Modal.d.mts +6 -0
- package/components/PageHeader/PageHeader.d.cts +36 -0
- package/components/PageHeader/PageHeader.d.mts +36 -0
- package/components/PageHeader/PageHeader.d.ts +16 -5
- package/components/PageHeader/index.cjs +6 -0
- package/components/PageHeader/index.cjs.map +1 -0
- package/components/PageHeader/index.d.cts +2 -0
- package/components/PageHeader/index.d.mts +2 -0
- package/components/PageHeader/index.mjs +6 -0
- package/components/PageHeader/index.mjs.map +1 -0
- package/components/PageHeader.d.cts +6 -0
- package/components/PageHeader.d.mts +6 -0
- package/components/RadioGroup/RadioGroup.d.cts +58 -0
- package/components/RadioGroup/RadioGroup.d.mts +58 -0
- package/components/RadioGroup/RadioGroup.d.ts +1 -2
- package/components/RadioGroup/RadioGroup.sx.d.cts +25 -0
- package/components/RadioGroup/RadioGroup.sx.d.mts +25 -0
- package/components/RadioGroup/RadioGroup.sx.d.ts +6 -1
- package/components/RadioGroup/index.cjs +6 -0
- package/components/RadioGroup/index.cjs.map +1 -0
- package/components/RadioGroup/index.d.cts +2 -0
- package/components/RadioGroup/index.d.mts +2 -0
- package/components/RadioGroup/index.mjs +6 -0
- package/components/RadioGroup/index.mjs.map +1 -0
- package/components/RadioGroup.d.cts +6 -0
- package/components/RadioGroup.d.mts +6 -0
- package/components/Select/Select.d.cts +99 -0
- package/components/Select/Select.d.mts +99 -0
- package/components/Select/Select.helpers.d.cts +14 -0
- package/components/Select/Select.helpers.d.mts +14 -0
- package/components/Select/Select.sx.d.cts +10 -0
- package/components/Select/Select.sx.d.mts +10 -0
- package/components/Select/Select.sx.d.ts +5 -2
- package/components/Select/_parts/SelectMenuItem.d.cts +20 -0
- package/components/Select/_parts/SelectMenuItem.d.mts +20 -0
- package/components/Select/_parts/SelectValue.d.cts +22 -0
- package/components/Select/_parts/SelectValue.d.mts +22 -0
- package/components/Select/index.cjs +7 -0
- package/components/Select/index.cjs.map +1 -0
- package/components/Select/index.d.cts +2 -0
- package/components/Select/index.d.mts +2 -0
- package/components/Select/index.mjs +7 -0
- package/components/Select/index.mjs.map +1 -0
- package/components/Select.d.cts +6 -0
- package/components/Select.d.mts +6 -0
- package/components/Spinner/Spinner.d.cts +27 -0
- package/components/Spinner/Spinner.d.mts +27 -0
- package/components/Spinner/Spinner.d.ts +3 -2
- package/components/Spinner/index.cjs +6 -0
- package/components/Spinner/index.cjs.map +1 -0
- package/components/Spinner/index.d.cts +2 -0
- package/components/Spinner/index.d.mts +2 -0
- package/components/Spinner/index.mjs +6 -0
- package/components/Spinner/index.mjs.map +1 -0
- package/components/Spinner.d.cts +6 -0
- package/components/Spinner.d.mts +6 -0
- package/components/Stat/Stat.d.cts +58 -0
- package/components/Stat/Stat.d.mts +58 -0
- package/components/Stat/Stat.d.ts +48 -10
- package/components/Stat/index.cjs +6 -0
- package/components/Stat/index.cjs.map +1 -0
- package/components/Stat/index.d.cts +2 -0
- package/components/Stat/index.d.mts +2 -0
- package/components/Stat/index.mjs +6 -0
- package/components/Stat/index.mjs.map +1 -0
- package/components/Stat.d.cts +6 -0
- package/components/Stat.d.mts +6 -0
- package/components/StatusMessage/StatusMessage.d.cts +35 -0
- package/components/StatusMessage/StatusMessage.d.mts +35 -0
- package/components/StatusMessage/StatusMessage.d.ts +9 -2
- package/components/StatusMessage/StatusMessageContext.d.cts +18 -0
- package/components/StatusMessage/StatusMessageContext.d.mts +18 -0
- package/components/StatusMessage/StatusMessageContext.d.ts +3 -1
- package/components/StatusMessage/StatusMessageRenderer.d.cts +1 -0
- package/components/StatusMessage/StatusMessageRenderer.d.mts +1 -0
- package/components/StatusMessage/StatusMessageRenderer.d.ts +1 -0
- package/components/StatusMessage/index.cjs +86 -0
- package/components/StatusMessage/index.cjs.map +1 -0
- package/components/StatusMessage/index.d.cts +6 -0
- package/components/StatusMessage/index.d.mts +6 -0
- package/components/StatusMessage/index.d.ts +2 -0
- package/components/StatusMessage/index.mjs +86 -0
- package/components/StatusMessage/index.mjs.map +1 -0
- package/components/StatusMessage/useStatusMessage.d.cts +6 -0
- package/components/StatusMessage/useStatusMessage.d.mts +6 -0
- package/components/StatusMessage/useStatusMessage.d.ts +6 -0
- package/components/StatusMessage.d.cts +6 -0
- package/components/StatusMessage.d.mts +6 -0
- package/components/Stepper/Step.d.cts +18 -0
- package/components/Stepper/Step.d.mts +18 -0
- package/components/Stepper/Stepper.d.cts +18 -0
- package/components/Stepper/Stepper.d.mts +18 -0
- package/components/Stepper/Stepper.d.ts +4 -3
- package/components/Stepper/StepperContext.d.cts +73 -0
- package/components/Stepper/StepperContext.d.mts +73 -0
- package/components/Stepper/_hooks/useHorizontalScroll.d.cts +19 -0
- package/components/Stepper/_hooks/useHorizontalScroll.d.mts +19 -0
- package/components/Stepper/_parts/StepperScrollArrow.d.cts +19 -0
- package/components/Stepper/_parts/StepperScrollArrow.d.mts +19 -0
- package/components/Stepper/index.cjs +10 -0
- package/components/Stepper/index.cjs.map +1 -0
- package/components/Stepper/index.d.cts +6 -0
- package/components/Stepper/index.d.mts +6 -0
- package/components/Stepper/index.mjs +10 -0
- package/components/Stepper/index.mjs.map +1 -0
- package/components/Stepper.d.cts +6 -0
- package/components/Stepper.d.mts +6 -0
- package/components/Switch/Switch.d.cts +49 -0
- package/components/Switch/Switch.d.mts +49 -0
- package/components/Switch/Switch.d.ts +2 -1
- package/components/Switch/Switch.sx.d.cts +27 -0
- package/components/Switch/Switch.sx.d.mts +27 -0
- package/components/Switch/Switch.sx.d.ts +6 -1
- package/components/Switch/Switch.types.d.cts +1 -0
- package/components/Switch/Switch.types.d.mts +1 -0
- package/components/Switch/index.cjs +6 -0
- package/components/Switch/index.cjs.map +1 -0
- package/components/Switch/index.d.cts +2 -0
- package/components/Switch/index.d.mts +2 -0
- package/components/Switch/index.mjs +6 -0
- package/components/Switch/index.mjs.map +1 -0
- package/components/Switch.d.cts +6 -0
- package/components/Switch.d.mts +6 -0
- package/components/Table/Table.d.cts +41 -0
- package/components/Table/Table.d.mts +41 -0
- package/components/Table/data.d.cts +3 -0
- package/components/Table/data.d.mts +3 -0
- package/components/Table/exportsUtils.d.cts +24 -0
- package/components/Table/exportsUtils.d.mts +24 -0
- package/components/Table/index.cjs +5 -0
- package/components/Table/index.cjs.map +1 -0
- package/components/Table/index.d.cts +1 -0
- package/components/Table/index.d.mts +1 -0
- package/components/Table/index.mjs +5 -0
- package/components/Table/index.mjs.map +1 -0
- package/components/Table/types.d.cts +31 -0
- package/components/Table/types.d.mts +31 -0
- package/components/Table.d.cts +2 -0
- package/components/Table.d.mts +2 -0
- package/components/Tabs/Tab.d.cts +24 -0
- package/components/Tabs/Tab.d.mts +24 -0
- package/components/Tabs/Tabs.d.cts +36 -0
- package/components/Tabs/Tabs.d.mts +36 -0
- package/components/Tabs/Tabs.d.ts +2 -2
- package/components/Tabs/_tabUtils.d.cts +4 -0
- package/components/Tabs/_tabUtils.d.mts +4 -0
- package/components/Tabs/index.cjs +7 -0
- package/components/Tabs/index.cjs.map +1 -0
- package/components/Tabs/index.d.cts +4 -0
- package/components/Tabs/index.d.mts +4 -0
- package/components/Tabs/index.mjs +7 -0
- package/components/Tabs/index.mjs.map +1 -0
- package/components/Tabs.d.cts +6 -0
- package/components/Tabs.d.mts +6 -0
- package/components/Timeline/Timeline.d.cts +8 -0
- package/components/Timeline/Timeline.d.mts +8 -0
- package/components/Timeline/Timeline.d.ts +3 -4
- package/components/Timeline/TimelineItem.d.cts +9 -0
- package/components/Timeline/TimelineItem.d.mts +9 -0
- package/components/Timeline/TimelineItem.d.ts +4 -2
- package/components/Timeline/index.cjs +7 -0
- package/components/Timeline/index.cjs.map +1 -0
- package/components/Timeline/index.d.cts +4 -0
- package/components/Timeline/index.d.mts +4 -0
- package/components/Timeline/index.mjs +7 -0
- package/components/Timeline/index.mjs.map +1 -0
- package/components/Timeline.d.cts +6 -0
- package/components/Timeline.d.mts +6 -0
- package/components/Tooltip/Tooltip.d.cts +24 -0
- package/components/Tooltip/Tooltip.d.mts +24 -0
- package/components/Tooltip/Tooltip.d.ts +12 -11
- package/components/Tooltip/index.cjs +6 -0
- package/components/Tooltip/index.cjs.map +1 -0
- package/components/Tooltip/index.d.cts +2 -0
- package/components/Tooltip/index.d.mts +2 -0
- package/components/Tooltip/index.d.ts +2 -1
- package/components/Tooltip/index.mjs +6 -0
- package/components/Tooltip/index.mjs.map +1 -0
- package/components/Tooltip.d.cts +6 -0
- package/components/Tooltip.d.mts +6 -0
- package/components/Tooltip.d.ts +4 -0
- package/components/_shared/formField.sx.d.cts +62 -0
- package/components/_shared/formField.sx.d.mts +62 -0
- package/components/_shared/formField.sx.d.ts +30 -1
- package/components/_shared/mergeSlotProps.d.cts +19 -0
- package/components/_shared/mergeSlotProps.d.mts +19 -0
- package/components/_shared/mergeSlotProps.d.ts +19 -0
- package/components/_shared/mergeSx.d.cts +7 -0
- package/components/_shared/mergeSx.d.mts +7 -0
- package/components/_shared/resolvePreset.d.cts +22 -0
- package/components/_shared/resolvePreset.d.mts +22 -0
- package/hooks/ClipBoard/ClipBoard.d.cts +30 -0
- package/hooks/ClipBoard/ClipBoard.d.mts +30 -0
- package/hooks/ClipBoard/ClipboardUnifiedDemo.d.cts +14 -0
- package/hooks/ClipBoard/ClipboardUnifiedDemo.d.mts +14 -0
- package/hooks/ClipBoard/index.cjs +100 -0
- package/hooks/ClipBoard/index.cjs.map +1 -0
- package/hooks/ClipBoard/index.d.cts +1 -0
- package/hooks/ClipBoard/index.d.mts +1 -0
- package/hooks/ClipBoard/index.mjs +100 -0
- package/hooks/ClipBoard/index.mjs.map +1 -0
- package/hooks/ClipBoard.d.cts +2 -0
- package/hooks/ClipBoard.d.mts +2 -0
- package/index.cjs +90 -88
- package/index.cjs.map +1 -1
- package/index.d.cts +63 -0
- package/index.d.mts +63 -0
- package/index.d.ts +1 -0
- package/index.mjs +148 -0
- package/index.mjs.map +1 -0
- package/mui.d.cts +8 -0
- package/mui.d.mts +8 -0
- package/package.json +404 -143
- package/theme/componentStyles.d.cts +33 -0
- package/theme/componentStyles.d.mts +33 -0
- package/theme/componentStyles.d.ts +3 -2
- package/theme/friComponents.d.cts +138 -0
- package/theme/friComponents.d.mts +138 -0
- package/theme/friComponents.d.ts +138 -0
- package/theme/tokens.d.cts +38 -0
- package/theme/tokens.d.mts +38 -0
- package/utils/index.d.cts +2 -0
- package/utils/index.d.mts +2 -0
- package/utils/scrollToTop.d.cts +28 -0
- package/utils/scrollToTop.d.mts +28 -0
- package/ActionMenu-D81Xb35f.cjs.map +0 -1
- package/ActionMenu-DYPA_tYk.js +0 -106
- package/ActionMenu-DYPA_tYk.js.map +0 -1
- package/Alert-B3SMPD1s.cjs +0 -31
- package/Alert-B3SMPD1s.cjs.map +0 -1
- package/Alert-YsPScpSE.js +0 -32
- package/Alert-YsPScpSE.js.map +0 -1
- package/AppBarMenuToggle-BpXBMeca.js +0 -128
- package/AppBarMenuToggle-BpXBMeca.js.map +0 -1
- package/AppBarMenuToggle-D_RJGtHO.cjs +0 -127
- package/AppBarMenuToggle-D_RJGtHO.cjs.map +0 -1
- package/Autocomplete-Baqwboth.cjs +0 -362
- package/Autocomplete-Baqwboth.cjs.map +0 -1
- package/Autocomplete-Cvf16lFk.js +0 -363
- package/Autocomplete-Cvf16lFk.js.map +0 -1
- package/Avatar-BjyfSNvP.cjs +0 -162
- package/Avatar-BjyfSNvP.cjs.map +0 -1
- package/Avatar-C_C4bcb9.js +0 -163
- package/Avatar-C_C4bcb9.js.map +0 -1
- package/Breadcrumbs-B9I3vxPb.cjs +0 -25
- package/Breadcrumbs-B9I3vxPb.cjs.map +0 -1
- package/Breadcrumbs-C41SPbtX.js +0 -26
- package/Breadcrumbs-C41SPbtX.js.map +0 -1
- package/Button-C17mExpd.cjs +0 -63
- package/Button-C17mExpd.cjs.map +0 -1
- package/Button-UkkP-bNw.js +0 -64
- package/Button-UkkP-bNw.js.map +0 -1
- package/ButtonGroup-CNunDofQ.cjs +0 -33
- package/ButtonGroup-CNunDofQ.cjs.map +0 -1
- package/ButtonGroup-CcKUZ-lT.js +0 -34
- package/ButtonGroup-CcKUZ-lT.js.map +0 -1
- package/Card-DYKGY-NG.js +0 -116
- package/Card-DYKGY-NG.js.map +0 -1
- package/Card-Dr1-ATRY.cjs +0 -115
- package/Card-Dr1-ATRY.cjs.map +0 -1
- package/Checkbox-BL4kvHFB.js +0 -189
- package/Checkbox-BL4kvHFB.js.map +0 -1
- package/Checkbox-Bx4Asmg7.cjs +0 -188
- package/Checkbox-Bx4Asmg7.cjs.map +0 -1
- package/Chip-OPYQ1uQ_.js +0 -74
- package/Chip-OPYQ1uQ_.js.map +0 -1
- package/Chip-qoJLDiva.cjs +0 -73
- package/Chip-qoJLDiva.cjs.map +0 -1
- package/DataRow-B7fJ5taA.js +0 -55
- package/DataRow-B7fJ5taA.js.map +0 -1
- package/DataRow-CfCaSdaJ.cjs +0 -54
- package/DataRow-CfCaSdaJ.cjs.map +0 -1
- package/DatePicker-D5BH4v1p.js +0 -182
- package/DatePicker-D5BH4v1p.js.map +0 -1
- package/DatePicker-mz7CYtVw.cjs +0 -181
- package/DatePicker-mz7CYtVw.cjs.map +0 -1
- package/DateTimePicker-ZCf0Wh4r.js +0 -226
- package/DateTimePicker-ZCf0Wh4r.js.map +0 -1
- package/DateTimePicker-ejQDpjgX.cjs +0 -225
- package/DateTimePicker-ejQDpjgX.cjs.map +0 -1
- package/Divider-BApcM5CV.js +0 -28
- package/Divider-BApcM5CV.js.map +0 -1
- package/Divider-CIY0JK4U.cjs +0 -27
- package/Divider-CIY0JK4U.cjs.map +0 -1
- package/DrawerItem-DlnG_NdY.cjs +0 -272
- package/DrawerItem-DlnG_NdY.cjs.map +0 -1
- package/DrawerItem-at1lsEo9.js +0 -273
- package/DrawerItem-at1lsEo9.js.map +0 -1
- package/EmptyState-DJj9KOEy.cjs +0 -47
- package/EmptyState-DJj9KOEy.cjs.map +0 -1
- package/EmptyState-kEoDkg1B.js +0 -48
- package/EmptyState-kEoDkg1B.js.map +0 -1
- package/Flyout-DCcDBYKT.js +0 -117
- package/Flyout-DCcDBYKT.js.map +0 -1
- package/Flyout-fycujUVf.cjs +0 -116
- package/Flyout-fycujUVf.cjs.map +0 -1
- package/Gallery-ClBJxCMc.js +0 -491
- package/Gallery-ClBJxCMc.js.map +0 -1
- package/Gallery-Cn1Bj_ao.cjs +0 -490
- package/Gallery-Cn1Bj_ao.cjs.map +0 -1
- package/Icon-CUwK2c8z.js +0 -108
- package/Icon-CUwK2c8z.js.map +0 -1
- package/Icon-ChnAivGo.cjs +0 -107
- package/Icon-ChnAivGo.cjs.map +0 -1
- package/Input-CmvuMwXZ.js +0 -194
- package/Input-CmvuMwXZ.js.map +0 -1
- package/Input-hnQ7g6b7.cjs +0 -193
- package/Input-hnQ7g6b7.cjs.map +0 -1
- package/InputGroup-BZ7cmAcg.cjs +0 -140
- package/InputGroup-BZ7cmAcg.cjs.map +0 -1
- package/InputGroup-D5pXKGjZ.js +0 -141
- package/InputGroup-D5pXKGjZ.js.map +0 -1
- package/MenuButton-C4s8rG05.cjs +0 -79
- package/MenuButton-C4s8rG05.cjs.map +0 -1
- package/MenuButton-CZRN4P6x.js +0 -80
- package/MenuButton-CZRN4P6x.js.map +0 -1
- package/Modal-BqW0Nk3l.js +0 -362
- package/Modal-BqW0Nk3l.js.map +0 -1
- package/Modal-Cfyr-RsW.cjs +0 -361
- package/Modal-Cfyr-RsW.cjs.map +0 -1
- package/PageHeader-BQZOqjNr.cjs +0 -37
- package/PageHeader-BQZOqjNr.cjs.map +0 -1
- package/PageHeader-DDYi6Nhy.js +0 -38
- package/PageHeader-DDYi6Nhy.js.map +0 -1
- package/RadioGroup-DVvmmDs3.cjs +0 -203
- package/RadioGroup-DVvmmDs3.cjs.map +0 -1
- package/RadioGroup-cKCpag8W.js +0 -204
- package/RadioGroup-cKCpag8W.js.map +0 -1
- package/Select-CZ0BiKVN.js +0 -383
- package/Select-CZ0BiKVN.js.map +0 -1
- package/Select-ZhFf4SBp.cjs +0 -382
- package/Select-ZhFf4SBp.cjs.map +0 -1
- package/Spinner-B6sThC1p.js +0 -74
- package/Spinner-B6sThC1p.js.map +0 -1
- package/Spinner-D7qRmNS9.cjs +0 -73
- package/Spinner-D7qRmNS9.cjs.map +0 -1
- package/Stat-BUcFCGrz.cjs +0 -83
- package/Stat-BUcFCGrz.cjs.map +0 -1
- package/Stat-C06A_izS.js +0 -84
- package/Stat-C06A_izS.js.map +0 -1
- package/StatusMessageContext-BMsbLKRq.cjs +0 -106
- package/StatusMessageContext-BMsbLKRq.cjs.map +0 -1
- package/StatusMessageContext-DgYiObYE.js +0 -107
- package/StatusMessageContext-DgYiObYE.js.map +0 -1
- package/Step-BArsou1V.js +0 -301
- package/Step-BArsou1V.js.map +0 -1
- package/Step-Nd7SJbRZ.cjs +0 -300
- package/Step-Nd7SJbRZ.cjs.map +0 -1
- package/Switch-B4ex7yKR.cjs +0 -183
- package/Switch-B4ex7yKR.cjs.map +0 -1
- package/Switch-CY1Dd2ff.js +0 -184
- package/Switch-CY1Dd2ff.js.map +0 -1
- package/Tab-D1S7kxXI.cjs +0 -137
- package/Tab-D1S7kxXI.cjs.map +0 -1
- package/Tab-DycIMXmQ.js +0 -138
- package/Tab-DycIMXmQ.js.map +0 -1
- package/Table-BpnAkCgd.cjs +0 -528
- package/Table-BpnAkCgd.cjs.map +0 -1
- package/Table-BuALBQWX.js +0 -529
- package/Table-BuALBQWX.js.map +0 -1
- package/TimelineItem-0jRPFT11.js +0 -68
- package/TimelineItem-0jRPFT11.js.map +0 -1
- package/TimelineItem-BbhUWJhU.cjs +0 -84
- package/TimelineItem-BbhUWJhU.cjs.map +0 -1
- package/Tooltip-B15a34_o.js +0 -40
- package/Tooltip-B15a34_o.js.map +0 -1
- package/Tooltip-CEEDkwds.cjs +0 -39
- package/Tooltip-CEEDkwds.cjs.map +0 -1
- package/components/ActionMenu/ActionMenu.cjs +0 -7
- package/components/ActionMenu/ActionMenu.cjs.map +0 -1
- package/components/ActionMenu/ActionMenu.js +0 -7
- package/components/ActionMenu/ActionMenu.js.map +0 -1
- package/components/Alert/Alert.cjs +0 -6
- package/components/Alert/Alert.cjs.map +0 -1
- package/components/Alert/Alert.js +0 -6
- package/components/Alert/Alert.js.map +0 -1
- package/components/AppBar/AppBar.cjs +0 -9
- package/components/AppBar/AppBar.cjs.map +0 -1
- package/components/AppBar/AppBar.js +0 -9
- package/components/AppBar/AppBar.js.map +0 -1
- package/components/Autocomplete/Autocomplete.cjs +0 -7
- package/components/Autocomplete/Autocomplete.cjs.map +0 -1
- package/components/Autocomplete/Autocomplete.js +0 -7
- package/components/Autocomplete/Autocomplete.js.map +0 -1
- package/components/Avatar/Avatar.cjs +0 -5
- package/components/Avatar/Avatar.cjs.map +0 -1
- package/components/Avatar/Avatar.js +0 -5
- package/components/Avatar/Avatar.js.map +0 -1
- package/components/Breadcrumbs/Breadcrumbs.cjs +0 -6
- package/components/Breadcrumbs/Breadcrumbs.cjs.map +0 -1
- package/components/Breadcrumbs/Breadcrumbs.js +0 -6
- package/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
- package/components/Button/Button.cjs +0 -5
- package/components/Button/Button.cjs.map +0 -1
- package/components/Button/Button.js +0 -5
- package/components/Button/Button.js.map +0 -1
- package/components/ButtonGroup/ButtonGroup.cjs +0 -6
- package/components/ButtonGroup/ButtonGroup.cjs.map +0 -1
- package/components/ButtonGroup/ButtonGroup.js +0 -6
- package/components/ButtonGroup/ButtonGroup.js.map +0 -1
- package/components/Card/Card.cjs +0 -7
- package/components/Card/Card.cjs.map +0 -1
- package/components/Card/Card.js +0 -7
- package/components/Card/Card.js.map +0 -1
- package/components/Checkbox/Checkbox.cjs +0 -6
- package/components/Checkbox/Checkbox.cjs.map +0 -1
- package/components/Checkbox/Checkbox.js +0 -6
- package/components/Checkbox/Checkbox.js.map +0 -1
- package/components/Chip/Chip.cjs +0 -6
- package/components/Chip/Chip.cjs.map +0 -1
- package/components/Chip/Chip.js +0 -6
- package/components/Chip/Chip.js.map +0 -1
- package/components/Column/Column.cjs +0 -8
- package/components/Column/Column.cjs.map +0 -1
- package/components/Column/Column.js +0 -8
- package/components/Column/Column.js.map +0 -1
- package/components/DataRow/DataRow.cjs +0 -6
- package/components/DataRow/DataRow.cjs.map +0 -1
- package/components/DataRow/DataRow.js +0 -6
- package/components/DataRow/DataRow.js.map +0 -1
- package/components/DatePicker/DatePicker.cjs +0 -6
- package/components/DatePicker/DatePicker.cjs.map +0 -1
- package/components/DatePicker/DatePicker.js +0 -6
- package/components/DatePicker/DatePicker.js.map +0 -1
- package/components/DateTimePicker/DateTimePicker.cjs +0 -6
- package/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
- package/components/DateTimePicker/DateTimePicker.js +0 -6
- package/components/DateTimePicker/DateTimePicker.js.map +0 -1
- package/components/Divider/Divider.cjs +0 -6
- package/components/Divider/Divider.cjs.map +0 -1
- package/components/Divider/Divider.js +0 -6
- package/components/Divider/Divider.js.map +0 -1
- package/components/Drawer/Drawer.cjs +0 -8
- package/components/Drawer/Drawer.cjs.map +0 -1
- package/components/Drawer/Drawer.js +0 -8
- package/components/Drawer/Drawer.js.map +0 -1
- package/components/EmptyState/EmptyState.cjs +0 -6
- package/components/EmptyState/EmptyState.cjs.map +0 -1
- package/components/EmptyState/EmptyState.js +0 -6
- package/components/EmptyState/EmptyState.js.map +0 -1
- package/components/Flyout/Flyout.cjs +0 -5
- package/components/Flyout/Flyout.cjs.map +0 -1
- package/components/Flyout/Flyout.js +0 -5
- package/components/Flyout/Flyout.js.map +0 -1
- package/components/Gallery/Gallery.cjs +0 -6
- package/components/Gallery/Gallery.cjs.map +0 -1
- package/components/Gallery/Gallery.js +0 -6
- package/components/Gallery/Gallery.js.map +0 -1
- package/components/Icon/Icon.cjs +0 -6
- package/components/Icon/Icon.cjs.map +0 -1
- package/components/Icon/Icon.js +0 -6
- package/components/Icon/Icon.js.map +0 -1
- package/components/Input/Input.cjs +0 -6
- package/components/Input/Input.cjs.map +0 -1
- package/components/Input/Input.js +0 -6
- package/components/Input/Input.js.map +0 -1
- package/components/InputGroup/InputGroup.cjs +0 -6
- package/components/InputGroup/InputGroup.cjs.map +0 -1
- package/components/InputGroup/InputGroup.js +0 -6
- package/components/InputGroup/InputGroup.js.map +0 -1
- package/components/MenuButton/MenuButton.cjs +0 -5
- package/components/MenuButton/MenuButton.cjs.map +0 -1
- package/components/MenuButton/MenuButton.js +0 -5
- package/components/MenuButton/MenuButton.js.map +0 -1
- package/components/Modal/Modal.cjs +0 -9
- package/components/Modal/Modal.cjs.map +0 -1
- package/components/Modal/Modal.js +0 -9
- package/components/Modal/Modal.js.map +0 -1
- package/components/PageHeader/PageHeader.cjs +0 -6
- package/components/PageHeader/PageHeader.cjs.map +0 -1
- package/components/PageHeader/PageHeader.js +0 -6
- package/components/PageHeader/PageHeader.js.map +0 -1
- package/components/RadioGroup/RadioGroup.cjs +0 -6
- package/components/RadioGroup/RadioGroup.cjs.map +0 -1
- package/components/RadioGroup/RadioGroup.js +0 -6
- package/components/RadioGroup/RadioGroup.js.map +0 -1
- package/components/Select/Select.cjs +0 -7
- package/components/Select/Select.cjs.map +0 -1
- package/components/Select/Select.js +0 -7
- package/components/Select/Select.js.map +0 -1
- package/components/Spinner/Spinner.cjs +0 -6
- package/components/Spinner/Spinner.cjs.map +0 -1
- package/components/Spinner/Spinner.js +0 -6
- package/components/Spinner/Spinner.js.map +0 -1
- package/components/Stat/Stat.cjs +0 -6
- package/components/Stat/Stat.cjs.map +0 -1
- package/components/Stat/Stat.js +0 -6
- package/components/Stat/Stat.js.map +0 -1
- package/components/StatusMessage/StatusMessage.cjs +0 -8
- package/components/StatusMessage/StatusMessage.cjs.map +0 -1
- package/components/StatusMessage/StatusMessage.js +0 -8
- package/components/StatusMessage/StatusMessage.js.map +0 -1
- package/components/Stepper/Stepper.cjs +0 -10
- package/components/Stepper/Stepper.cjs.map +0 -1
- package/components/Stepper/Stepper.js +0 -10
- package/components/Stepper/Stepper.js.map +0 -1
- package/components/Switch/Switch.cjs +0 -6
- package/components/Switch/Switch.cjs.map +0 -1
- package/components/Switch/Switch.js +0 -6
- package/components/Switch/Switch.js.map +0 -1
- package/components/Table/Table.cjs +0 -5
- package/components/Table/Table.cjs.map +0 -1
- package/components/Table/Table.js +0 -5
- package/components/Table/Table.js.map +0 -1
- package/components/Tabs/Tabs.cjs +0 -7
- package/components/Tabs/Tabs.cjs.map +0 -1
- package/components/Tabs/Tabs.js +0 -7
- package/components/Tabs/Tabs.js.map +0 -1
- package/components/Timeline/Timeline.cjs +0 -7
- package/components/Timeline/Timeline.cjs.map +0 -1
- package/components/Timeline/Timeline.js +0 -7
- package/components/Timeline/Timeline.js.map +0 -1
- package/components/Tooltip/Tooltip.cjs +0 -5
- package/components/Tooltip/Tooltip.cjs.map +0 -1
- package/components/Tooltip/Tooltip.js +0 -5
- package/components/Tooltip/Tooltip.js.map +0 -1
- package/demos/themes.d.ts +0 -29
- package/formField.sx-BZj7TaMa.cjs +0 -92
- package/formField.sx-BZj7TaMa.cjs.map +0 -1
- package/formField.sx-DD1sxwWH.js +0 -93
- package/formField.sx-DD1sxwWH.js.map +0 -1
- package/hooks/ClipBoard/ClipBoard.cjs +0 -100
- package/hooks/ClipBoard/ClipBoard.cjs.map +0 -1
- package/hooks/ClipBoard/ClipBoard.js +0 -100
- package/hooks/ClipBoard/ClipBoard.js.map +0 -1
- package/index.css +0 -3
- package/index.js +0 -146
- package/index.js.map +0 -1
- package/mergeSx-BXoNZjB_.js +0 -10
- package/mergeSx-BXoNZjB_.js.map +0 -1
- package/mergeSx-Dbccoo_H.cjs.map +0 -1
- package/resolvePreset-CxTI6_Ln.cjs.map +0 -1
- package/resolvePreset-K6_BfWHD.js +0 -15
- package/resolvePreset-K6_BfWHD.js.map +0 -1
- package/tokens-BGPazVFO.cjs +0 -22
- package/tokens-BGPazVFO.cjs.map +0 -1
- package/tokens-DE2fV3a9.js +0 -23
- package/tokens-DE2fV3a9.js.map +0 -1
- /package/{ActionMenu-D81Xb35f.cjs → chunks/ActionMenu-D81Xb35f.cjs} +0 -0
- /package/{mergeSx-Dbccoo_H.cjs → chunks/mergeSx-Dbccoo_H.cjs} +0 -0
- /package/{resolvePreset-CxTI6_Ln.cjs → chunks/resolvePreset-CxTI6_Ln.cjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table-DGmx3UyH.mjs","sources":["../../src/components/Table/exportsUtils.ts","../../src/components/Table/EmptyTable.png","../../src/components/Table/Table.tsx"],"sourcesContent":["import React from 'react';\nimport { AlertProps } from '@mui/material/Alert';\nimport { ColumnProps } from '../Column/Column'; // Importa ColumnProps y FieldName desde Column.tsx\n\n// Define las propiedades comunes para las funciones de exportación\ninterface ExportOptions<T> {\n data: T[]; // Los datos a exportar\n columns: React.ReactElement<ColumnProps<T>>[]; // Las definiciones de las columnas\n fileName: string; // El nombre del archivo a descargar\n exportColumns?: string[]; // Nombres de columnas específicas para exportar\n setSnackbarOpen: React.Dispatch<React.SetStateAction<boolean>>; // Setter para abrir/cerrar el Snackbar\n setSnackbarMessage: React.Dispatch<React.SetStateAction<string>>; // Setter para el mensaje del Snackbar\n setSnackbarSeverity: React.Dispatch<React.SetStateAction<AlertProps['severity']>>; // Setter para la severidad del Snackbar\n}\n\n/**\n * Función para exportar datos a un archivo CSV.\n * @param options Opciones de exportación, incluyendo datos, columnas, nombre de archivo y setters de Snackbar.\n */\nexport const exportToCSV = <T>(options: ExportOptions<T>) => {\n const { data, columns, fileName, exportColumns, setSnackbarOpen, setSnackbarMessage, setSnackbarSeverity } = options;\n\n if (!data || data.length === 0) {\n setSnackbarMessage(\"No hay datos para exportar a CSV.\");\n setSnackbarSeverity('warning');\n setSnackbarOpen(true);\n return;\n }\n\n setSnackbarMessage(\"Exportando datos a CSV...\");\n setSnackbarSeverity('info');\n setSnackbarOpen(true);\n\n try {\n // Filtra las columnas si se especifican columnas para exportar, de lo contrario, usa todas las columnas definidas.\n const columnsToExport = exportColumns\n ? columns.filter(col => exportColumns.includes(col.props.name))\n : columns;\n\n // Obtiene los encabezados (nombres de las columnas) y los escapa para CSV.\n const headers = columnsToExport.map(col => `\"${col.props.name.replace(/\"/g, '\"\"')}\"`).join(',');\n\n // Mapea los datos a filas CSV.\n const csvRows = data.map(row => {\n const values = columnsToExport.map(col => {\n const field = col.props.field;\n let cellValue: any;\n\n // Si 'field' es un array, toma el valor del primer campo para la exportación.\n if (Array.isArray(field)) {\n cellValue = (row as any)[field[0]];\n } else {\n cellValue = (row as any)[field];\n }\n\n // Convierte a string y maneja comas, comillas dobles y saltos de línea para CSV.\n let formattedValue = String(cellValue || '');\n if (formattedValue.includes(',') || formattedValue.includes('\"') || formattedValue.includes('\\n')) {\n formattedValue = `\"${formattedValue.replace(/\"/g, '\"\"')}\"`;\n }\n return formattedValue;\n });\n return values.join(',');\n });\n\n const csvContent = [headers, ...csvRows].join('\\n'); // Une los encabezados y las filas.\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', fileName + '.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n\n setSnackbarMessage(\"¡Exportación a CSV completada!\");\n setSnackbarSeverity('success');\n } else {\n setSnackbarMessage(\"Tu navegador no soporta la descarga directa para CSV. Por favor, copia el contenido manualmente.\");\n setSnackbarSeverity('error');\n }\n } catch (error) {\n console.error(\"Error al exportar los datos a CSV:\", error);\n setSnackbarMessage(\"Error al exportar los datos a CSV.\");\n setSnackbarSeverity('error');\n } finally {\n setSnackbarOpen(true);\n }\n};\n\n/**\n * Función para exportar datos a un archivo Excel (formato XLSX).\n * Genera una tabla HTML que luego se descarga como un archivo .xlsx.\n * @param options Opciones de exportación, incluyendo datos, columnas, nombre de archivo y setters de Snackbar.\n */\nexport const exportToExcel = <T>(options: ExportOptions<T>) => {\n const { data, columns, fileName, exportColumns, setSnackbarOpen, setSnackbarMessage, setSnackbarSeverity } = options;\n\n if (!data || data.length === 0) {\n setSnackbarMessage(\"No hay datos para exportar a Excel.\");\n setSnackbarSeverity('warning');\n setSnackbarOpen(true);\n return;\n }\n\n setSnackbarMessage(\"Exportando datos a Excel (XLSX)...\");\n setSnackbarSeverity('info');\n setSnackbarOpen(true);\n\n try {\n const columnsToExport = exportColumns\n ? columns.filter(col => exportColumns.includes(col.props.name))\n : columns;\n\n // Construye el contenido HTML de la tabla.\n const tableHTML = `\n <html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:x=\"urn:schemas-microsoft-com:office:excel\"\n xmlns=\"http://www.w3.org/TR/REC-html40\">\n <head>\n <meta charset=\"utf-8\" />\n <!--[if gte mso 9]><xml>\n <x:ExcelWorkbook>\n <x:ExcelWorksheets>\n <x:ExcelWorksheet>\n <x:Name>Hoja1</x:Name>\n <x:WorksheetOptions>\n <x:DisplayGridlines/>\n </x:WorksheetOptions>\n </x:ExcelWorksheet>\n </x:ExcelWorksheets>\n </x:ExcelWorkbook>\n </xml><![endif]-->\n </head>\n <body>\n <table>\n <thead>\n <tr>\n ${columnsToExport.map(col => `<th>${col.props.name}</th>`).join('')}\n </tr>\n </thead>\n <tbody>\n ${data.map(row => `\n <tr>\n ${columnsToExport.map(col => {\n const field = col.props.field;\n let cellValue: any;\n if (Array.isArray(field)) {\n cellValue = (row as any)[field[0]];\n } else {\n cellValue = (row as any)[field];\n }\n // Escapa caracteres HTML para el contenido de la celda.\n return `<td>${String(cellValue || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</td>`;\n }).join('')}\n </tr>\n `).join('')}\n </tbody>\n </table>\n </body>\n </html>\n `;\n\n // Crea un Blob con el contenido HTML y el tipo MIME de XLSX.\n const blob = new Blob([tableHTML], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8;' }); \n\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', fileName + '.xlsx'); // Usa la extensión .xlsx\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n\n setSnackbarMessage(\"¡Exportación a Excel (XLSX) completada!\");\n setSnackbarSeverity('success');\n } else {\n setSnackbarMessage(\"Tu navegador no soporta la descarga directa para Excel (XLSX). Por favor, copia el contenido manualmente.\");\n setSnackbarSeverity('error');\n }\n } catch (error) {\n console.error(\"Error al exportar los datos a Excel (XLSX):\", error);\n setSnackbarMessage(\"Error al exportar los datos a Excel (XLSX).\");\n setSnackbarSeverity('error');\n } finally {\n setSnackbarOpen(true);\n }\n};\n","export default \"data:image/png;base64,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\"","import React, { Children, isValidElement, useState, useEffect, useRef } from 'react';\nimport {\n TableContainer,\n Table as MuiTable,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n Typography,\n Select,\n MenuItem,\n Box,\n Button,\n Snackbar,\n IconButton,\n Checkbox,\n} from '@mui/material';\nimport MuiAlert, { AlertProps } from '@mui/material/Alert';\nimport { ColumnProps } from '../Column/Column'; // Asegúrate de que esta ruta sea correcta\nimport DownloadOutlinedIcon from '@mui/icons-material/DownloadOutlined';\nimport FirstPageIcon from '@mui/icons-material/FirstPage';\nimport LastPageIcon from '@mui/icons-material/LastPage';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\n\nimport { exportToCSV, exportToExcel } from './exportsUtils';\n\n// El import de `.png` sólo tipa bajo el tsconfig del IDE (trae los tipos de\n// Vite); el del build (`tsconfig.build.json`, moduleResolution node) no los\n// tiene. Tiene que ser `@ts-ignore` y no `@ts-expect-error`: bajo el tsconfig\n// del IDE no hay error y `expect-error` fallaría por directiva sin usar.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport EmptyImage from './EmptyTable.png';\n\nexport type FieldName<T> = keyof T | Array<keyof T>;\n\ninterface TableProps<T> {\n data: T[];\n children: React.ReactNode;\n\n currentPage?: number;\n pageSize?: number;\n totalPages?: number;\n previousPage?: number;\n nextPage?: number;\n pageSizeSelectorValue?: number;\n onPageChange?: (newPage: number) => void;\n onPageSizeChange?: (newSize: number) => void;\n visiblePageNumbers?: number;\n\n enableCSVExport?: boolean;\n csvExportFileName?: string;\n csvExportButtonText?: string;\n csvExportColumns?: string[];\n\n enableExcelExport?: boolean;\n excelExportFileName?: string;\n excelExportButtonText?: string;\n excelExportColumns?: string[];\n\n enableRowSelection?: boolean;\n rowIdentifier?: keyof T;\n onSelectionChange?: (selectedItems: T[]) => void;\n showPageSizeSelector?: boolean;\n emptyTitle?: string;\n emptyMessage?: string;\n emptyImageSrc?: React.ReactNode;\n /**\n * Ancho mínimo de la tabla. Default: `650`.\n *\n * Por debajo de ese ancho el contenedor scrollea en horizontal, así que en un\n * panel angosto (una card lateral, un móvil) las últimas columnas quedan\n * escondidas detrás del scroll. Bajarlo —o ponerlo en `0`— deja que las\n * columnas se compriman en vez de desbordar.\n */\n minWidth?: number | string;\n}\n\nconst Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(\n props,\n ref,\n) {\n return <MuiAlert elevation={6} ref={ref} variant=\"filled\" {...props} />;\n});\n\nexport function Table<T>({\n data,\n children,\n currentPage,\n pageSize,\n totalPages,\n previousPage: _previousPage,\n nextPage: _nextPage,\n pageSizeSelectorValue = 10,\n onPageChange,\n onPageSizeChange,\n visiblePageNumbers = 5,\n enableCSVExport = false,\n csvExportFileName = 'data.csv',\n csvExportButtonText = 'Exportar CSV',\n csvExportColumns,\n enableExcelExport = false,\n excelExportFileName = 'data.xlsx',\n excelExportButtonText = 'Exportar Excel',\n excelExportColumns,\n enableRowSelection = false,\n rowIdentifier,\n onSelectionChange,\n showPageSizeSelector = true,\n emptyTitle = 'No hay datos disponibles',\n emptyMessage,\n emptyImageSrc = <Box mb={2}>\n <img src={EmptyImage} alt=\"No data\" style={{ maxWidth: '150px', opacity: 0.6 }} />\n </Box>,\n minWidth = 650,\n}: TableProps<T>) {\n const columns = Children.toArray(children).filter(\n (child): child is React.ReactElement<ColumnProps<T>> =>\n isValidElement(child) && (child.type as any).displayName === 'Column'\n );\n\n const [snackbarOpen, setSnackbarOpen] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n const [snackbarSeverity, setSnackbarSeverity] = useState<AlertProps['severity']>('info');\n\n const [selectedRows, setSelectedRows] = useState<T[]>([]);\n\n // `onSelectionChange` casi siempre llega como arrow inline, así que su\n // identidad cambia en cada render del consumidor. Tenerla en las deps hacía\n // que el effect se re-disparara en CADA render y volviera a notificar la\n // misma selección; si el consumidor setea estado en ese callback, es un loop\n // de renders. La ref la despega: el effect corre sólo cuando la selección\n // cambia de verdad.\n const onSelectionChangeRef = useRef(onSelectionChange);\n useEffect(() => {\n onSelectionChangeRef.current = onSelectionChange;\n });\n useEffect(() => {\n onSelectionChangeRef.current?.(selectedRows);\n }, [selectedRows]);\n\n const handleSnackbarClose = (_event?: React.SyntheticEvent | Event, reason?: string) => {\n if (reason === 'clickaway') {\n return;\n }\n setSnackbarOpen(false);\n };\n\n const isControlled = typeof onPageChange === 'function' && typeof currentPage === 'number';\n const [internalPage, setInternalPage] = useState(1);\n const [internalPageSize, setInternalPageSize] = useState(pageSizeSelectorValue);\n\n const activePage = isControlled ? currentPage! : internalPage;\n const activePageSize = isControlled ? pageSize! : internalPageSize;\n\n // Limpiar la selección al cambiar de datos o de página, DURANTE el render\n // (patrón documentado de React para \"resetear estado cuando cambia una\n // prop\") y no en un effect: con el effect React commitea un frame con la\n // selección vieja aplicada a las filas nuevas y la limpia recién después.\n //\n // Va contra `activePage`/`activePageSize`, no contra las props `currentPage`/\n // `pageSize`: esas sólo existen en modo controlado. Con paginación interna\n // quedaban en `undefined` y nunca cambiaban, así que el reset NO ocurría —\n // se pasaba de página y el contador seguía diciendo \"2 seleccionados\" con\n // los checkboxes ya vacíos. Encontrado en QA con Playwright.\n const [origenSeleccion, setOrigenSeleccion] = useState({\n data,\n activePage,\n activePageSize,\n });\n if (\n origenSeleccion.data !== data ||\n origenSeleccion.activePage !== activePage ||\n origenSeleccion.activePageSize !== activePageSize\n ) {\n setOrigenSeleccion({ data, activePage, activePageSize });\n setSelectedRows([]);\n }\n\n const paginatedData = isControlled ? data : data.slice((activePage - 1) * activePageSize, activePage * activePageSize);\n\n const effectiveTotalPages = isControlled\n ? totalPages!\n : Math.ceil(data.length / activePageSize);\n\n const handlePageChange = (newPage: number) => {\n if (newPage < 1 || newPage > effectiveTotalPages) return;\n if (isControlled) onPageChange?.(newPage);\n else setInternalPage(newPage);\n };\n\n const handlePageSizeChange = (newSize: number) => {\n if (isControlled) {\n onPageSizeChange?.(newSize);\n onPageChange?.(1);\n } else {\n setInternalPageSize(newSize);\n setInternalPage(1);\n }\n };\n\n const getPageNumbers = () => {\n const pages = [];\n const maxPages = effectiveTotalPages;\n const current = activePage;\n const half = Math.floor(visiblePageNumbers / 2);\n\n let startPage = Math.max(1, current - half);\n let endPage = Math.min(maxPages, current + half);\n\n if (endPage - startPage + 1 < visiblePageNumbers) {\n if (startPage === 1) {\n endPage = Math.min(maxPages, startPage + visiblePageNumbers - 1);\n } else if (endPage === maxPages) {\n startPage = Math.max(1, maxPages - visiblePageNumbers + 1);\n }\n }\n\n for (let i = startPage; i <= endPage; i++) {\n pages.push(i);\n }\n return pages;\n };\n\n const pageNumbers = getPageNumbers();\n\n const handleSelectAllClick = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!rowIdentifier) {\n console.warn(\"`rowIdentifier` prop is required for row selection.\");\n return;\n }\n\n if (event.target.checked) {\n const newSelecteds = [...selectedRows];\n paginatedData.forEach(row => {\n const rowId = row[rowIdentifier] as any;\n if (!newSelecteds.some(selectedRow => (selectedRow as any)[rowIdentifier] === rowId)) {\n newSelecteds.push(row);\n }\n });\n setSelectedRows(newSelecteds);\n } else {\n const newSelecteds = selectedRows.filter(selectedRow =>\n !paginatedData.some(row => (row as any)[rowIdentifier] === (selectedRow as any)[rowIdentifier])\n );\n setSelectedRows(newSelecteds);\n }\n };\n\n const handleRowClick = (_event: React.MouseEvent<unknown>, row: T) => {\n if (!rowIdentifier) {\n console.warn(\"`rowIdentifier` prop is required for row selection.\");\n return;\n }\n\n const rowId = row[rowIdentifier] as any;\n const selectedIndex = selectedRows.findIndex(selectedRow => (selectedRow as any)[rowIdentifier] === rowId);\n let newSelected: T[] = [];\n\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selectedRows, row);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selectedRows.slice(1));\n } else if (selectedIndex === selectedRows.length - 1) {\n newSelected = newSelected.concat(selectedRows.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selectedRows.slice(0, selectedIndex),\n selectedRows.slice(selectedIndex + 1),\n );\n }\n setSelectedRows(newSelected);\n };\n\n const isSelected = (row: T) => {\n if (!rowIdentifier) return false;\n return selectedRows.some(selectedRow => (selectedRow as any)[rowIdentifier] === (row as any)[rowIdentifier]);\n };\n\n const numSelectedOnPage = paginatedData.filter(isSelected).length;\n const isAllSelectedOnPage = paginatedData.length > 0 && numSelectedOnPage === paginatedData.length;\n const isIndeterminateOnPage = numSelectedOnPage > 0 && numSelectedOnPage < paginatedData.length;\n\n return (\n <TableContainer >\n\n <MuiTable sx={{ minWidth }} aria-label=\"custom table\" style={ paginatedData.length === 0 ? { display: 'none' } : {} }>\n {/* Table Header */}\n {/* Sin colores propios: la cabecera y las filas las pinta el theme del\n consumidor (MuiTableCell.head / MuiTableRow), que es donde vive el\n sistema visual. Hardcodear acá le ganaba al theme por ser `sx`. */}\n <TableHead>\n <TableRow>\n {enableRowSelection && (\n <TableCell padding=\"checkbox\" sx={{ width: '50px' }}> {/* Puedes ajustar este ancho fijo si lo deseas */}\n <Checkbox\n color=\"primary\"\n indeterminate={isIndeterminateOnPage}\n checked={isAllSelectedOnPage}\n onChange={handleSelectAllClick}\n inputProps={{ 'aria-label': 'select all desserts' }}\n />\n </TableCell>\n )}\n {columns.map((column, index) => (\n <TableCell\n key={index}\n sx={{\n width: column.props.width || 'auto', // APLICA EL ANCHO AQUÍ\n whiteSpace: 'nowrap', // Evita que el texto se ajuste si la columna es pequeña\n }}\n >\n <Typography variant=\"inherit\" component=\"span\">\n {column.props.name}\n </Typography>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n {/* Table Body */}\n <TableBody sx={{ borderRadius: '10px', overflow: 'hidden' }}>\n {paginatedData.map((row, rowIndex) => {\n const isRowSelected = enableRowSelection && isSelected(row);\n return (\n <TableRow\n key={rowIndex}\n hover\n sx={{ '&:last-child td, &:last-child th': { border: 0 } }}\n selected={isRowSelected}\n >\n {enableRowSelection && (\n <TableCell padding=\"checkbox\" sx={{ width: '50px' }}> {/* Mismo ancho para la celda de la fila */}\n <Checkbox\n color=\"primary\"\n checked={isRowSelected}\n onClick={(event) => handleRowClick(event, row)}\n inputProps={{ 'aria-labelledby': `table-checkbox-${rowIndex}` }}\n />\n </TableCell>\n )}\n {columns.map((column, colIndex) => {\n const { field, children: cellRenderer } = column.props;\n\n let fieldData: Partial<T>;\n\n if (Array.isArray(field)) {\n if(field.length === 0){\n fieldData = {...row};\n }else{\n fieldData = (field as Array<keyof T>).reduce((acc, currentField) => {\n (acc as any)[currentField] = (row as any)[currentField];\n return acc;\n }, {} as Partial<T>);\n }\n\n } else {\n fieldData = { [field]: (row as any)[field] } as Partial<T>;\n }\n\n return (\n <TableCell\n key={colIndex}\n sx={{\n // Solo layout de columna. Tamaño, padding y regla de fila\n // son del theme del consumidor (MuiTableCell).\n width: column.props.width || 'auto', // APLICA EL ANCHO AQUÍ TAMBIÉN\n whiteSpace: 'nowrap', // Asegura que el contenido no se rompa prematuramente\n }}\n >\n {cellRenderer(fieldData)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n {/* Empty table message */}\n \n </TableBody>\n </MuiTable>\n\n { paginatedData.length === 0 && (\n <Box display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" p={4} > \n { emptyImageSrc }\n\n <Typography variant=\"body2\" color=\"#878E9A\" fontSize=\"18px\" fontWeight=\"600\">\n {emptyTitle || 'No hay datos disponibles para mostrar.'}\n </Typography>\n <Typography variant=\"body2\" color=\"#878E9A\" fontSize=\"14px\" mt={1}> \n {emptyMessage || 'Intente ajustar sus filtros o agregar nuevos datos.'}\n </Typography>\n\n </Box>\n )\n }\n\n {/* Pagination and Export Controls */}\n {(effectiveTotalPages > 0 || enableCSVExport || enableExcelExport || (enableRowSelection && selectedRows.length > 0)) && (\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" p={2}>\n {/* Page Size Selector (Left) */}\n {(effectiveTotalPages > 0 && showPageSizeSelector) && (\n <Select\n size=\"small\"\n value={activePageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n >\n {[1, 2, 3, 5, 10, 20, 50, 100].map((size) => (\n <MenuItem key={size} value={size}>\n Mostrar {size}\n </MenuItem>\n ))}\n </Select>\n )}\n\n {/* Pagination Controls (Center) */}\n {effectiveTotalPages > 0 && (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n gap={0.5}\n sx={{ flexGrow: 1, justifyContent: 'center' }}\n >\n <IconButton\n onClick={() => handlePageChange(1)}\n disabled={activePage <= 1}\n size=\"small\"\n color=\"primary\"\n >\n <FirstPageIcon fontSize=\"small\" />\n </IconButton>\n\n <IconButton\n onClick={() => handlePageChange(activePage - 1)}\n disabled={activePage <= 1}\n size=\"small\"\n color=\"primary\"\n >\n <KeyboardArrowLeftIcon fontSize=\"small\" />\n </IconButton>\n\n {pageNumbers.map((pageNumber) => (\n <Button\n key={pageNumber}\n onClick={() => handlePageChange(pageNumber)}\n variant={activePage === pageNumber ? 'contained' : 'text'}\n size=\"small\"\n sx={{ minWidth: '32px', height: '32px' }}\n >\n {pageNumber}\n </Button>\n ))}\n\n <IconButton\n onClick={() => handlePageChange(activePage + 1)}\n disabled={activePage >= effectiveTotalPages}\n size=\"small\"\n color=\"primary\"\n >\n <KeyboardArrowRightIcon fontSize=\"small\" />\n </IconButton>\n\n <IconButton\n onClick={() => handlePageChange(effectiveTotalPages)}\n disabled={activePage >= effectiveTotalPages}\n size=\"small\"\n color=\"primary\"\n >\n <LastPageIcon fontSize=\"small\" />\n </IconButton>\n </Box>\n )}\n\n {enableRowSelection && selectedRows.length > 0 && (\n <Typography variant=\"subtitle2\" sx={{ mr: 2 }}>\n {selectedRows.length} seleccionados\n </Typography>\n )}\n\n {(enableCSVExport || enableExcelExport) && (\n <Box display=\"flex\" alignItems=\"center\" gap={1}>\n {enableCSVExport && (\n <Button\n variant=\"text\"\n color=\"primary\"\n onClick={() =>\n exportToCSV({\n data,\n columns,\n fileName: csvExportFileName,\n exportColumns: csvExportColumns,\n setSnackbarOpen,\n setSnackbarMessage,\n setSnackbarSeverity,\n })\n }\n size=\"small\"\n startIcon={<DownloadOutlinedIcon />}\n >\n {csvExportButtonText}\n </Button>\n )}\n {enableExcelExport && (\n <Button\n variant=\"text\"\n color=\"primary\"\n onClick={() =>\n exportToExcel({\n data,\n columns,\n fileName: excelExportFileName,\n exportColumns: excelExportColumns,\n setSnackbarOpen,\n setSnackbarMessage,\n setSnackbarSeverity,\n })\n }\n size=\"small\"\n startIcon={<DownloadOutlinedIcon />}\n >\n {excelExportButtonText}\n </Button>\n )}\n </Box>\n )}\n </Box>\n )}\n\n <Snackbar open={snackbarOpen} autoHideDuration={3000} onClose={handleSnackbarClose} anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}>\n <Alert onClose={handleSnackbarClose} severity={snackbarSeverity} sx={{ width: '100%' }}>\n {snackbarMessage}\n </Alert>\n </Snackbar>\n </TableContainer>\n );\n}\n\nexport default Table;"],"names":["React","Alert","MuiTable"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
33
|
+
import * as React from "react";
|
|
34
|
+
import MuiTimeline from "@mui/lab/Timeline";
|
|
35
|
+
import MuiTimelineItem, { timelineItemClasses } from "@mui/lab/TimelineItem";
|
|
36
|
+
import { m as mergeSx } from "./mergeSx-BXoNZjB_.mjs";
|
|
37
|
+
import MuiTimelineSeparator from "@mui/lab/TimelineSeparator";
|
|
38
|
+
import MuiTimelineConnector from "@mui/lab/TimelineConnector";
|
|
39
|
+
import MuiTimelineContent from "@mui/lab/TimelineContent";
|
|
40
|
+
import MuiTimelineDot from "@mui/lab/TimelineDot";
|
|
41
|
+
const Timeline = React.forwardRef(function Timeline2(_a, ref) {
|
|
42
|
+
var _b = _a, { children, position = "right", sx } = _b, rest = __objRest(_b, ["children", "position", "sx"]);
|
|
43
|
+
const count = React.Children.count(children);
|
|
44
|
+
const alignedSx = position === "left" || position === "right" ? { [`& .${timelineItemClasses.root}:before`]: { flex: 0, padding: 0 } } : {};
|
|
45
|
+
return /* @__PURE__ */ jsx(MuiTimeline, __spreadProps(__spreadValues({ ref, position }, rest), { sx: mergeSx(alignedSx, sx), children: React.Children.map(
|
|
46
|
+
children,
|
|
47
|
+
(child, idx) => {
|
|
48
|
+
var _a2;
|
|
49
|
+
return React.isValidElement(child) ? React.cloneElement(child, {
|
|
50
|
+
connectorColor: idx < count - 1 ? (_a2 = child.props.connectorColor) != null ? _a2 : "grey" : void 0
|
|
51
|
+
}) : null;
|
|
52
|
+
}
|
|
53
|
+
) }));
|
|
54
|
+
});
|
|
55
|
+
const TimelineItem = React.forwardRef(
|
|
56
|
+
function TimelineItem2(_c, ref) {
|
|
57
|
+
var _d = _c, { dotColor = "grey", connectorColor, children } = _d, rest = __objRest(_d, ["dotColor", "connectorColor", "children"]);
|
|
58
|
+
const color = connectorColor ? `${connectorColor}.main` : "secondary.main";
|
|
59
|
+
return /* @__PURE__ */ jsxs(MuiTimelineItem, __spreadProps(__spreadValues({ ref }, rest), { children: [
|
|
60
|
+
/* @__PURE__ */ jsxs(MuiTimelineSeparator, { children: [
|
|
61
|
+
/* @__PURE__ */ jsx(MuiTimelineDot, { color: dotColor }),
|
|
62
|
+
connectorColor !== void 0 && /* @__PURE__ */ jsx(MuiTimelineConnector, { sx: { bgcolor: color } })
|
|
63
|
+
] }),
|
|
64
|
+
/* @__PURE__ */ jsx(MuiTimelineContent, { children })
|
|
65
|
+
] }));
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
export {
|
|
69
|
+
Timeline as T,
|
|
70
|
+
TimelineItem as a
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=TimelineItem-BWFnies7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineItem-BWFnies7.mjs","sources":["../../src/components/Timeline/Timeline.tsx","../../src/components/Timeline/TimelineItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport MuiTimeline, { type TimelineProps as MuiTimelineProps } from '@mui/lab/Timeline';\nimport { timelineItemClasses } from '@mui/lab/TimelineItem';\n\nimport { mergeSx } from '../_shared/mergeSx';\nimport type { TimelineItemProps } from './TimelineItem';\n\nexport interface TimelineProps extends Omit<MuiTimelineProps, 'children'> {\n children: React.ReactElement<TimelineItemProps>[];\n}\n\nexport const Timeline = React.forwardRef<HTMLUListElement, TimelineProps>(function Timeline(\n { children, position = 'right', sx, ...rest },\n ref,\n) {\n const count = React.Children.count(children);\n\n // En `left`/`right` el pseudo-elemento `:before` de cada item reserva el\n // espacio del lado opuesto; sin esto la línea queda descentrada.\n const alignedSx =\n position === 'left' || position === 'right'\n ? { [`& .${timelineItemClasses.root}:before`]: { flex: 0, padding: 0 } }\n : {};\n\n return (\n <MuiTimeline ref={ref} position={position} {...rest} sx={mergeSx(alignedSx, sx)}>\n {React.Children.map(children, (child, idx) =>\n React.isValidElement(child)\n ? React.cloneElement(child, {\n connectorColor:\n idx < count - 1 ? (child.props.connectorColor ?? 'grey') : undefined,\n })\n : null,\n )}\n </MuiTimeline>\n );\n});\n\nexport default Timeline;\n","import * as React from 'react';\nimport MuiTimelineItem, {\n type TimelineItemProps as MuiTimelineItemProps,\n} from '@mui/lab/TimelineItem';\nimport MuiTimelineSeparator from '@mui/lab/TimelineSeparator';\nimport MuiTimelineConnector from '@mui/lab/TimelineConnector';\nimport MuiTimelineContent from '@mui/lab/TimelineContent';\nimport MuiTimelineDot from '@mui/lab/TimelineDot';\n\nexport interface TimelineItemProps extends Omit<MuiTimelineItemProps, 'children'> {\n dotColor?:\n | 'primary'\n | 'secondary'\n | 'grey'\n | 'inherit'\n | 'success'\n | 'error'\n | 'info'\n | 'warning';\n connectorColor?:\n | 'success'\n | 'error'\n | 'info'\n | 'warning'\n | 'primary'\n | 'secondary'\n | 'grey';\n children: React.ReactNode;\n}\n\nexport const TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n function TimelineItem({ dotColor = 'grey', connectorColor, children, ...rest }, ref) {\n const color = connectorColor ? `${connectorColor}.main` : 'secondary.main';\n return (\n <MuiTimelineItem ref={ref} {...rest}>\n <MuiTimelineSeparator>\n <MuiTimelineDot color={dotColor} />\n {connectorColor !== undefined && <MuiTimelineConnector sx={{ bgcolor: color }} />}\n </MuiTimelineSeparator>\n <MuiTimelineContent>{children}</MuiTimelineContent>\n </MuiTimelineItem>\n );\n },\n);\n\nexport default TimelineItem;\n"],"names":["Timeline","_a","TimelineItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,WAAW,MAAM,WAA4C,SAASA,UACjF,IACA,KACA;AAFA,eAAE,YAAU,WAAW,SAAS,OAAhC,IAAuC,iBAAvC,IAAuC,CAArC,YAAU,YAAoB;AAGhC,QAAM,QAAQ,MAAM,SAAS,MAAM,QAAQ;AAI3C,QAAM,YACJ,aAAa,UAAU,aAAa,UAChC,EAAE,CAAC,MAAM,oBAAoB,IAAI,SAAS,GAAG,EAAE,MAAM,GAAG,SAAS,EAAA,EAAE,IACnE,CAAA;AAEN,SACE,oBAAC,aAAA,+BAAY,KAAU,YAAwB,OAA9C,EAAoD,IAAI,QAAQ,WAAW,EAAE,GAC3E,UAAA,MAAM,SAAS;AAAA,IAAI;AAAA,IAAU,CAAC,OAAO,QAAA;;AACpC,mBAAM,eAAe,KAAK,IACtB,MAAM,aAAa,OAAO;AAAA,QACxB,gBACE,MAAM,QAAQ,KAAKC,MAAA,MAAM,MAAM,mBAAZ,OAAAA,MAA8B,SAAU;AAAA,MAAA,CAC9D,IACD;AAAA;AAAA,EAAA,IAER;AAEJ,CAAC;ACNM,MAAM,eAAe,MAAM;AAAA,EAChC,SAASC,cAAa,IAA0D,KAAK;AAA/D,iBAAE,aAAW,QAAQ,gBAAgB,aAArC,IAAkD,iBAAlD,IAAkD,CAAhD,YAAmB,kBAAgB;AACzD,UAAM,QAAQ,iBAAiB,GAAG,cAAc,UAAU;AAC1D,WACE,qBAAC,iBAAA,+BAAgB,OAAc,OAA9B,EACC,UAAA;AAAA,MAAA,qBAAC,sBAAA,EACC,UAAA;AAAA,QAAA,oBAAC,gBAAA,EAAe,OAAO,SAAA,CAAU;AAAA,QAChC,mBAAmB,UAAa,oBAAC,sBAAA,EAAqB,IAAI,EAAE,SAAS,QAAM,CAAG;AAAA,MAAA,GACjF;AAAA,MACA,oBAAC,sBAAoB,SAAA,CAAS;AAAA,IAAA,IAChC;AAAA,EAEJ;AACF;"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
var __objRest = (source, exclude) => {
|
|
22
|
+
var target = {};
|
|
23
|
+
for (var prop in source)
|
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
}
|
|
31
|
+
return target;
|
|
32
|
+
};
|
|
33
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
34
|
+
const React = require("react");
|
|
35
|
+
const MuiTimeline = require("@mui/lab/Timeline");
|
|
36
|
+
const MuiTimelineItem = require("@mui/lab/TimelineItem");
|
|
37
|
+
const mergeSx = require("./mergeSx-Dbccoo_H.cjs");
|
|
38
|
+
const MuiTimelineSeparator = require("@mui/lab/TimelineSeparator");
|
|
39
|
+
const MuiTimelineConnector = require("@mui/lab/TimelineConnector");
|
|
40
|
+
const MuiTimelineContent = require("@mui/lab/TimelineContent");
|
|
41
|
+
const MuiTimelineDot = require("@mui/lab/TimelineDot");
|
|
42
|
+
function _interopNamespaceDefault(e) {
|
|
43
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
44
|
+
if (e) {
|
|
45
|
+
for (const k in e) {
|
|
46
|
+
if (k !== "default") {
|
|
47
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
48
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: () => e[k]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
n.default = e;
|
|
56
|
+
return Object.freeze(n);
|
|
57
|
+
}
|
|
58
|
+
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
59
|
+
const Timeline = React__namespace.forwardRef(function Timeline2(_a, ref) {
|
|
60
|
+
var _b = _a, { children, position = "right", sx } = _b, rest = __objRest(_b, ["children", "position", "sx"]);
|
|
61
|
+
const count = React__namespace.Children.count(children);
|
|
62
|
+
const alignedSx = position === "left" || position === "right" ? { [`& .${MuiTimelineItem.timelineItemClasses.root}:before`]: { flex: 0, padding: 0 } } : {};
|
|
63
|
+
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimeline, __spreadProps(__spreadValues({ ref, position }, rest), { sx: mergeSx.mergeSx(alignedSx, sx), children: React__namespace.Children.map(
|
|
64
|
+
children,
|
|
65
|
+
(child, idx) => {
|
|
66
|
+
var _a2;
|
|
67
|
+
return React__namespace.isValidElement(child) ? React__namespace.cloneElement(child, {
|
|
68
|
+
connectorColor: idx < count - 1 ? (_a2 = child.props.connectorColor) != null ? _a2 : "grey" : void 0
|
|
69
|
+
}) : null;
|
|
70
|
+
}
|
|
71
|
+
) }));
|
|
72
|
+
});
|
|
73
|
+
const TimelineItem = React__namespace.forwardRef(
|
|
74
|
+
function TimelineItem2(_c, ref) {
|
|
75
|
+
var _d = _c, { dotColor = "grey", connectorColor, children } = _d, rest = __objRest(_d, ["dotColor", "connectorColor", "children"]);
|
|
76
|
+
const color = connectorColor ? `${connectorColor}.main` : "secondary.main";
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(MuiTimelineItem, __spreadProps(__spreadValues({ ref }, rest), { children: [
|
|
78
|
+
/* @__PURE__ */ jsxRuntime.jsxs(MuiTimelineSeparator, { children: [
|
|
79
|
+
/* @__PURE__ */ jsxRuntime.jsx(MuiTimelineDot, { color: dotColor }),
|
|
80
|
+
connectorColor !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineConnector, { sx: { bgcolor: color } })
|
|
81
|
+
] }),
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx(MuiTimelineContent, { children })
|
|
83
|
+
] }));
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
exports.Timeline = Timeline;
|
|
87
|
+
exports.TimelineItem = TimelineItem;
|
|
88
|
+
//# sourceMappingURL=TimelineItem-CceZABwX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineItem-CceZABwX.cjs","sources":["../../src/components/Timeline/Timeline.tsx","../../src/components/Timeline/TimelineItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport MuiTimeline, { type TimelineProps as MuiTimelineProps } from '@mui/lab/Timeline';\nimport { timelineItemClasses } from '@mui/lab/TimelineItem';\n\nimport { mergeSx } from '../_shared/mergeSx';\nimport type { TimelineItemProps } from './TimelineItem';\n\nexport interface TimelineProps extends Omit<MuiTimelineProps, 'children'> {\n children: React.ReactElement<TimelineItemProps>[];\n}\n\nexport const Timeline = React.forwardRef<HTMLUListElement, TimelineProps>(function Timeline(\n { children, position = 'right', sx, ...rest },\n ref,\n) {\n const count = React.Children.count(children);\n\n // En `left`/`right` el pseudo-elemento `:before` de cada item reserva el\n // espacio del lado opuesto; sin esto la línea queda descentrada.\n const alignedSx =\n position === 'left' || position === 'right'\n ? { [`& .${timelineItemClasses.root}:before`]: { flex: 0, padding: 0 } }\n : {};\n\n return (\n <MuiTimeline ref={ref} position={position} {...rest} sx={mergeSx(alignedSx, sx)}>\n {React.Children.map(children, (child, idx) =>\n React.isValidElement(child)\n ? React.cloneElement(child, {\n connectorColor:\n idx < count - 1 ? (child.props.connectorColor ?? 'grey') : undefined,\n })\n : null,\n )}\n </MuiTimeline>\n );\n});\n\nexport default Timeline;\n","import * as React from 'react';\nimport MuiTimelineItem, {\n type TimelineItemProps as MuiTimelineItemProps,\n} from '@mui/lab/TimelineItem';\nimport MuiTimelineSeparator from '@mui/lab/TimelineSeparator';\nimport MuiTimelineConnector from '@mui/lab/TimelineConnector';\nimport MuiTimelineContent from '@mui/lab/TimelineContent';\nimport MuiTimelineDot from '@mui/lab/TimelineDot';\n\nexport interface TimelineItemProps extends Omit<MuiTimelineItemProps, 'children'> {\n dotColor?:\n | 'primary'\n | 'secondary'\n | 'grey'\n | 'inherit'\n | 'success'\n | 'error'\n | 'info'\n | 'warning';\n connectorColor?:\n | 'success'\n | 'error'\n | 'info'\n | 'warning'\n | 'primary'\n | 'secondary'\n | 'grey';\n children: React.ReactNode;\n}\n\nexport const TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n function TimelineItem({ dotColor = 'grey', connectorColor, children, ...rest }, ref) {\n const color = connectorColor ? `${connectorColor}.main` : 'secondary.main';\n return (\n <MuiTimelineItem ref={ref} {...rest}>\n <MuiTimelineSeparator>\n <MuiTimelineDot color={dotColor} />\n {connectorColor !== undefined && <MuiTimelineConnector sx={{ bgcolor: color }} />}\n </MuiTimelineSeparator>\n <MuiTimelineContent>{children}</MuiTimelineContent>\n </MuiTimelineItem>\n );\n },\n);\n\nexport default TimelineItem;\n"],"names":["React","Timeline","timelineItemClasses","jsx","mergeSx","_a","TimelineItem","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,WAAWA,iBAAM,WAA4C,SAASC,UACjF,IACA,KACA;AAFA,eAAE,YAAU,WAAW,SAAS,OAAhC,IAAuC,iBAAvC,IAAuC,CAArC,YAAU,YAAoB;AAGhC,QAAM,QAAQD,iBAAM,SAAS,MAAM,QAAQ;AAI3C,QAAM,YACJ,aAAa,UAAU,aAAa,UAChC,EAAE,CAAC,MAAME,gBAAAA,oBAAoB,IAAI,SAAS,GAAG,EAAE,MAAM,GAAG,SAAS,EAAA,EAAE,IACnE,CAAA;AAEN,SACEC,2BAAAA,IAAC,aAAA,+BAAY,KAAU,YAAwB,OAA9C,EAAoD,IAAIC,QAAAA,QAAQ,WAAW,EAAE,GAC3E,UAAAJ,iBAAM,SAAS;AAAA,IAAI;AAAA,IAAU,CAAC,OAAO,QAAA;;AACpCA,8BAAM,eAAe,KAAK,IACtBA,iBAAM,aAAa,OAAO;AAAA,QACxB,gBACE,MAAM,QAAQ,KAAKK,MAAA,MAAM,MAAM,mBAAZ,OAAAA,MAA8B,SAAU;AAAA,MAAA,CAC9D,IACD;AAAA;AAAA,EAAA,IAER;AAEJ,CAAC;ACNM,MAAM,eAAeL,iBAAM;AAAA,EAChC,SAASM,cAAa,IAA0D,KAAK;AAA/D,iBAAE,aAAW,QAAQ,gBAAgB,aAArC,IAAkD,iBAAlD,IAAkD,CAAhD,YAAmB,kBAAgB;AACzD,UAAM,QAAQ,iBAAiB,GAAG,cAAc,UAAU;AAC1D,WACEC,2BAAAA,KAAC,iBAAA,+BAAgB,OAAc,OAA9B,EACC,UAAA;AAAA,MAAAA,gCAAC,sBAAA,EACC,UAAA;AAAA,QAAAJ,2BAAAA,IAAC,gBAAA,EAAe,OAAO,SAAA,CAAU;AAAA,QAChC,mBAAmB,UAAaA,2BAAAA,IAAC,sBAAA,EAAqB,IAAI,EAAE,SAAS,QAAM,CAAG;AAAA,MAAA,GACjF;AAAA,MACAA,+BAAC,sBAAoB,SAAA,CAAS;AAAA,IAAA,IAChC;AAAA,EAEJ;AACF;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
import { jsx } from "react/jsx-runtime";
|
|
33
|
+
import { forwardRef } from "react";
|
|
34
|
+
import MuiTooltip from "@mui/material/Tooltip";
|
|
35
|
+
import Typography from "@mui/material/Typography";
|
|
36
|
+
import Box from "@mui/material/Box";
|
|
37
|
+
import { m as mergeSx } from "./mergeSx-BXoNZjB_.mjs";
|
|
38
|
+
const tooltipContentStyle = {
|
|
39
|
+
padding: "4px 8px",
|
|
40
|
+
textAlign: "center"
|
|
41
|
+
};
|
|
42
|
+
const Tooltip = forwardRef(function Tooltip2(_a, ref) {
|
|
43
|
+
var _b = _a, { text, maxWidth, children, sx, placement = "top", arrow = true, slotProps } = _b, rest = __objRest(_b, ["text", "maxWidth", "children", "sx", "placement", "arrow", "slotProps"]);
|
|
44
|
+
return /* @__PURE__ */ jsx(
|
|
45
|
+
MuiTooltip,
|
|
46
|
+
__spreadProps(__spreadValues({
|
|
47
|
+
title: /* @__PURE__ */ jsx(Typography, { variant: "caption", component: "span", sx: tooltipContentStyle, children: text }),
|
|
48
|
+
placement,
|
|
49
|
+
arrow,
|
|
50
|
+
slotProps: maxWidth ? __spreadProps(__spreadValues({}, slotProps), { tooltip: __spreadProps(__spreadValues({}, slotProps == null ? void 0 : slotProps.tooltip), { sx: { maxWidth } }) }) : slotProps
|
|
51
|
+
}, rest), {
|
|
52
|
+
children: /* @__PURE__ */ jsx(Box, { ref, component: "span", sx: mergeSx({ display: "inline-block" }, sx), children })
|
|
53
|
+
})
|
|
54
|
+
);
|
|
55
|
+
});
|
|
56
|
+
export {
|
|
57
|
+
Tooltip as T
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=Tooltip-BWffoOtY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip-BWffoOtY.mjs","sources":["../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport MuiTooltip, { type TooltipProps as MuiTooltipProps } from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport { SxProps, Theme } from '@mui/material';\n\nimport { mergeSx } from '../_shared/mergeSx';\n\n/**\n * Propiedades del componente Tooltip. Extiende las de MUI salvo `title`\n * (acá se arma con `text`) y `children`, que puede ser cualquier nodo: el\n * componente lo envuelve en un `span` porque MUI necesita un hijo capaz de\n * sostener una ref.\n */\nexport interface TooltipProps\n extends Omit<MuiTooltipProps, 'title' | 'children' | 'ref'> {\n /** El texto a mostrar dentro del Tooltip. */\n text: string;\n /** Ancho máximo opcional del Tooltip en píxeles. */\n maxWidth?: number;\n children: React.ReactNode;\n /** Estilos del `span` contenedor. */\n sx?: SxProps<Theme>;\n}\n\nconst tooltipContentStyle: SxProps<Theme> = {\n padding: '4px 8px',\n textAlign: 'center',\n};\n\n/**\n * Tooltip reutilizable: muestra un texto al pasar el ratón sobre su hijo,\n * con ancho máximo configurable.\n */\nexport const Tooltip = forwardRef<HTMLSpanElement, TooltipProps>(function Tooltip(\n { text, maxWidth, children, sx, placement = 'top', arrow = true, slotProps, ...rest },\n ref,\n) {\n return (\n <MuiTooltip\n title={\n <Typography variant=\"caption\" component=\"span\" sx={tooltipContentStyle}>\n {text}\n </Typography>\n }\n placement={placement}\n arrow={arrow}\n // `maxWidth` va en la superficie del tooltip, no en el texto: si se aplica\n // al hijo, MUI mantiene su caja en los 300px por default y sólo el texto\n // corta antes, dejando aire muerto a la derecha.\n slotProps={\n maxWidth\n ? { ...slotProps, tooltip: { ...slotProps?.tooltip, sx: { maxWidth } } }\n : slotProps\n }\n {...rest}\n >\n <Box ref={ref} component=\"span\" sx={mergeSx({ display: 'inline-block' }, sx)}>\n {children}\n </Box>\n </MuiTooltip>\n );\n});\n\nexport default Tooltip;\n"],"names":["Tooltip"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,sBAAsC;AAAA,EAC1C,SAAS;AAAA,EACT,WAAW;AACb;AAMO,MAAM,UAAU,WAA0C,SAASA,SACxE,IACA,KACA;AAFA,eAAE,QAAM,UAAU,UAAU,IAAI,YAAY,OAAO,QAAQ,MAAM,cAAjE,IAA+E,iBAA/E,IAA+E,CAA7E,QAAM,YAAU,YAAU,MAAI,aAAmB,SAAc;AAGjE,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,2BACG,YAAA,EAAW,SAAQ,WAAU,WAAU,QAAO,IAAI,qBAChD,UAAA,KAAA,CACH;AAAA,MAEF;AAAA,MACA;AAAA,MAIA,WACE,WACI,iCAAK,YAAL,EAAgB,SAAS,iCAAK,uCAAW,UAAhB,EAAyB,IAAI,EAAE,SAAA,EAAS,QACjE;AAAA,OAEF,OAhBL;AAAA,MAkBC,UAAA,oBAAC,KAAA,EAAI,KAAU,WAAU,QAAO,IAAI,QAAQ,EAAE,SAAS,eAAA,GAAkB,EAAE,GACxE,SAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
var __objRest = (source, exclude) => {
|
|
22
|
+
var target = {};
|
|
23
|
+
for (var prop in source)
|
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
}
|
|
31
|
+
return target;
|
|
32
|
+
};
|
|
33
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
34
|
+
const React = require("react");
|
|
35
|
+
const MuiTooltip = require("@mui/material/Tooltip");
|
|
36
|
+
const Typography = require("@mui/material/Typography");
|
|
37
|
+
const Box = require("@mui/material/Box");
|
|
38
|
+
const mergeSx = require("./mergeSx-Dbccoo_H.cjs");
|
|
39
|
+
const tooltipContentStyle = {
|
|
40
|
+
padding: "4px 8px",
|
|
41
|
+
textAlign: "center"
|
|
42
|
+
};
|
|
43
|
+
const Tooltip = React.forwardRef(function Tooltip2(_a, ref) {
|
|
44
|
+
var _b = _a, { text, maxWidth, children, sx, placement = "top", arrow = true, slotProps } = _b, rest = __objRest(_b, ["text", "maxWidth", "children", "sx", "placement", "arrow", "slotProps"]);
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
+
MuiTooltip,
|
|
47
|
+
__spreadProps(__spreadValues({
|
|
48
|
+
title: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", component: "span", sx: tooltipContentStyle, children: text }),
|
|
49
|
+
placement,
|
|
50
|
+
arrow,
|
|
51
|
+
slotProps: maxWidth ? __spreadProps(__spreadValues({}, slotProps), { tooltip: __spreadProps(__spreadValues({}, slotProps == null ? void 0 : slotProps.tooltip), { sx: { maxWidth } }) }) : slotProps
|
|
52
|
+
}, rest), {
|
|
53
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, component: "span", sx: mergeSx.mergeSx({ display: "inline-block" }, sx), children })
|
|
54
|
+
})
|
|
55
|
+
);
|
|
56
|
+
});
|
|
57
|
+
exports.Tooltip = Tooltip;
|
|
58
|
+
//# sourceMappingURL=Tooltip-BtEsQB-y.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip-BtEsQB-y.cjs","sources":["../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport MuiTooltip, { type TooltipProps as MuiTooltipProps } from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport { SxProps, Theme } from '@mui/material';\n\nimport { mergeSx } from '../_shared/mergeSx';\n\n/**\n * Propiedades del componente Tooltip. Extiende las de MUI salvo `title`\n * (acá se arma con `text`) y `children`, que puede ser cualquier nodo: el\n * componente lo envuelve en un `span` porque MUI necesita un hijo capaz de\n * sostener una ref.\n */\nexport interface TooltipProps\n extends Omit<MuiTooltipProps, 'title' | 'children' | 'ref'> {\n /** El texto a mostrar dentro del Tooltip. */\n text: string;\n /** Ancho máximo opcional del Tooltip en píxeles. */\n maxWidth?: number;\n children: React.ReactNode;\n /** Estilos del `span` contenedor. */\n sx?: SxProps<Theme>;\n}\n\nconst tooltipContentStyle: SxProps<Theme> = {\n padding: '4px 8px',\n textAlign: 'center',\n};\n\n/**\n * Tooltip reutilizable: muestra un texto al pasar el ratón sobre su hijo,\n * con ancho máximo configurable.\n */\nexport const Tooltip = forwardRef<HTMLSpanElement, TooltipProps>(function Tooltip(\n { text, maxWidth, children, sx, placement = 'top', arrow = true, slotProps, ...rest },\n ref,\n) {\n return (\n <MuiTooltip\n title={\n <Typography variant=\"caption\" component=\"span\" sx={tooltipContentStyle}>\n {text}\n </Typography>\n }\n placement={placement}\n arrow={arrow}\n // `maxWidth` va en la superficie del tooltip, no en el texto: si se aplica\n // al hijo, MUI mantiene su caja en los 300px por default y sólo el texto\n // corta antes, dejando aire muerto a la derecha.\n slotProps={\n maxWidth\n ? { ...slotProps, tooltip: { ...slotProps?.tooltip, sx: { maxWidth } } }\n : slotProps\n }\n {...rest}\n >\n <Box ref={ref} component=\"span\" sx={mergeSx({ display: 'inline-block' }, sx)}>\n {children}\n </Box>\n </MuiTooltip>\n );\n});\n\nexport default Tooltip;\n"],"names":["forwardRef","Tooltip","jsx","mergeSx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,sBAAsC;AAAA,EAC1C,SAAS;AAAA,EACT,WAAW;AACb;AAMO,MAAM,UAAUA,MAAAA,WAA0C,SAASC,SACxE,IACA,KACA;AAFA,eAAE,QAAM,UAAU,UAAU,IAAI,YAAY,OAAO,QAAQ,MAAM,cAAjE,IAA+E,iBAA/E,IAA+E,CAA7E,QAAM,YAAU,YAAU,MAAI,aAAmB,SAAc;AAGjE,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,sCACG,YAAA,EAAW,SAAQ,WAAU,WAAU,QAAO,IAAI,qBAChD,UAAA,KAAA,CACH;AAAA,MAEF;AAAA,MACA;AAAA,MAIA,WACE,WACI,iCAAK,YAAL,EAAgB,SAAS,iCAAK,uCAAW,UAAhB,EAAyB,IAAI,EAAE,SAAA,EAAS,QACjE;AAAA,OAEF,OAhBL;AAAA,MAkBC,UAAAA,2BAAAA,IAAC,KAAA,EAAI,KAAU,WAAU,QAAO,IAAIC,QAAAA,QAAQ,EAAE,SAAS,eAAA,GAAkB,EAAE,GACxE,SAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;;"}
|
|
@@ -0,0 +1,109 @@
|
|
|
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 { a as FIELD_INPUT_PADDING_Y, b as LABEL_COLOR_FOCUSED, c as LABEL_FONT_WEIGHT_FILLED, d as LABEL_COLOR_FILLED, e as LABEL_TRANSFORM_ORIGIN, f as LABEL_SHRINK_TRANSFORM, g as LABEL_TRANSITION, h as LABEL_COLOR_REST, L as LABEL_MARGIN_TOP } from "./tokens-C2AKLGbM.mjs";
|
|
21
|
+
const toRadius = (borderRadius) => typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
|
|
22
|
+
const buildFormFieldStyles = (theme, options) => {
|
|
23
|
+
const base = buildFormFieldSx(options);
|
|
24
|
+
const label = base["& .MuiInputLabel-root"];
|
|
25
|
+
if (!label) return base;
|
|
26
|
+
const shrink = label["&.MuiInputLabel-shrink"];
|
|
27
|
+
const focused = label["&.Mui-focused"];
|
|
28
|
+
return __spreadProps(__spreadValues({}, base), {
|
|
29
|
+
"& .MuiInputLabel-root": __spreadProps(__spreadValues({}, label), {
|
|
30
|
+
color: theme.palette.text.secondary,
|
|
31
|
+
"&.MuiInputLabel-shrink": __spreadProps(__spreadValues({}, shrink), { color: theme.palette.text.primary }),
|
|
32
|
+
"&.Mui-focused": __spreadProps(__spreadValues({}, focused), { color: theme.palette.primary.main })
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const buildFormFieldSx = ({
|
|
37
|
+
borderRadius,
|
|
38
|
+
labelPosition,
|
|
39
|
+
includePickersApi = false,
|
|
40
|
+
extraOutsideSx,
|
|
41
|
+
extraFloatingSx
|
|
42
|
+
}) => {
|
|
43
|
+
const radius = toRadius(borderRadius);
|
|
44
|
+
const outlinedRootSelector = includePickersApi ? "& .MuiOutlinedInput-root, & .MuiPickersOutlinedInput-root" : "& .MuiOutlinedInput-root";
|
|
45
|
+
const inputBaseSelector = includePickersApi ? "& .MuiInputBase-root, & .MuiPickersInputBase-root" : "& .MuiInputBase-root";
|
|
46
|
+
const notchedOutlineSelector = includePickersApi ? "& .MuiOutlinedInput-notchedOutline, & .MuiPickersOutlinedInput-notchedOutline" : "& .MuiOutlinedInput-notchedOutline";
|
|
47
|
+
if (labelPosition === "floating") {
|
|
48
|
+
return __spreadValues({
|
|
49
|
+
[outlinedRootSelector]: { borderRadius: radius }
|
|
50
|
+
}, extraFloatingSx != null ? extraFloatingSx : {});
|
|
51
|
+
}
|
|
52
|
+
return __spreadValues(__spreadProps(__spreadValues({
|
|
53
|
+
marginTop: LABEL_MARGIN_TOP,
|
|
54
|
+
"& .MuiInputLabel-root": {
|
|
55
|
+
color: LABEL_COLOR_REST,
|
|
56
|
+
transition: LABEL_TRANSITION,
|
|
57
|
+
// Estado shrunk (focused o con valor): flota ARRIBA del input.
|
|
58
|
+
"&.MuiInputLabel-shrink": {
|
|
59
|
+
transform: LABEL_SHRINK_TRANSFORM,
|
|
60
|
+
transformOrigin: LABEL_TRANSFORM_ORIGIN,
|
|
61
|
+
color: LABEL_COLOR_FILLED,
|
|
62
|
+
fontWeight: LABEL_FONT_WEIGHT_FILLED
|
|
63
|
+
},
|
|
64
|
+
"&.Mui-focused": { color: LABEL_COLOR_FOCUSED }
|
|
65
|
+
},
|
|
66
|
+
// Input base — centra verticalmente (clásico y, si aplica, pickers).
|
|
67
|
+
[inputBaseSelector]: {
|
|
68
|
+
borderRadius: radius,
|
|
69
|
+
display: "flex",
|
|
70
|
+
alignItems: "center"
|
|
71
|
+
},
|
|
72
|
+
// Altura uniforme de TODOS los campos: el padding vertical del control
|
|
73
|
+
// interno se fija acá y no en cada componente.
|
|
74
|
+
//
|
|
75
|
+
// ⚠️ La garantía es PARCIAL — ver la nota de `buildFormFieldStyles`. Gana
|
|
76
|
+
// contra un `MuiOutlinedInput.styleOverrides.input` del consumidor, pero
|
|
77
|
+
// NO contra `MuiSelect.styleOverrides.select`, que empata en especificidad
|
|
78
|
+
// y gana por orden de inyección. Si el consumidor pone las dos cosas
|
|
79
|
+
// (soporte pone 11px a ambas), el Select queda 4px más alto que el Input.
|
|
80
|
+
"& .MuiInputBase-input": {
|
|
81
|
+
paddingTop: FIELD_INPUT_PADDING_Y,
|
|
82
|
+
paddingBottom: FIELD_INPUT_PADDING_Y
|
|
83
|
+
},
|
|
84
|
+
"& .MuiSelect-select": {
|
|
85
|
+
paddingTop: FIELD_INPUT_PADDING_Y,
|
|
86
|
+
paddingBottom: FIELD_INPUT_PADDING_Y,
|
|
87
|
+
minHeight: "auto"
|
|
88
|
+
}
|
|
89
|
+
}, includePickersApi ? {
|
|
90
|
+
"& .MuiPickersInputBase-sectionsContainer": {
|
|
91
|
+
paddingTop: FIELD_INPUT_PADDING_Y,
|
|
92
|
+
paddingBottom: FIELD_INPUT_PADDING_Y
|
|
93
|
+
}
|
|
94
|
+
} : {}), {
|
|
95
|
+
// El label flota afuera: ocultar legend del notch.
|
|
96
|
+
[notchedOutlineSelector]: {
|
|
97
|
+
top: 0,
|
|
98
|
+
"& legend": { display: "none" }
|
|
99
|
+
},
|
|
100
|
+
"& .MuiFormHelperText-root": {
|
|
101
|
+
marginLeft: 0
|
|
102
|
+
}
|
|
103
|
+
}), extraOutsideSx != null ? extraOutsideSx : {});
|
|
104
|
+
};
|
|
105
|
+
export {
|
|
106
|
+
buildFormFieldSx as a,
|
|
107
|
+
buildFormFieldStyles as b
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=formField.sx-BLA6rq1F.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formField.sx-BLA6rq1F.mjs","sources":["../../src/components/_shared/formField.sx.ts"],"sourcesContent":["import type { CSSObject, SxProps, Theme } from '@mui/material/styles';\n\nimport {\n FIELD_INPUT_PADDING_Y,\n LABEL_COLOR_FILLED,\n LABEL_COLOR_FOCUSED,\n LABEL_COLOR_REST,\n LABEL_FONT_WEIGHT_FILLED,\n LABEL_MARGIN_TOP,\n LABEL_SHRINK_TRANSFORM,\n LABEL_TRANSFORM_ORIGIN,\n LABEL_TRANSITION,\n} from '../../theme/tokens';\n\nexport type LabelPosition = 'outside' | 'floating';\n\nexport interface BuildFormFieldSxOptions {\n borderRadius: number | string;\n labelPosition: LabelPosition;\n /**\n * Si es `true`, los selectores incluyen también la API nueva de MUI X\n * Pickers (v8): `MuiPickersInputBase-root`, `MuiPickersOutlinedInput-*`.\n */\n includePickersApi?: boolean;\n /**\n * Selectores/valores extra que se mergean SOLO cuando labelPosition === 'outside'.\n * Usar para paddings específicos del componente (p.ej. MuiAutocomplete-input).\n */\n extraOutsideSx?: Record<string, any>;\n /**\n * Selectores/valores extra que se mergean SOLO cuando labelPosition === 'floating'.\n */\n extraFloatingSx?: Record<string, any>;\n}\n\nconst toRadius = (borderRadius: number | string) =>\n typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n/**\n * Versión en CSS real del builder compartido, para consumir desde `styled()`.\n *\n * La única diferencia con `buildFormFieldSx` es que los tres colores del label\n * son atajos de paleta (`'text.secondary'`, …), que `sx` resuelve solo pero\n * emotion no: acá se resuelven contra `theme.palette` explícitamente. El resto\n * del builder ya era CSS plano.\n *\n * **Sobre la altura uniforme de los campos (medido, no supuesto).** Las reglas\n * de acá salen como selector descendiente\n * (`.FriInput-root .MuiInputBase-input`, especificidad 0-2-0):\n *\n * - vs `MuiOutlinedInput.styleOverrides.input` del consumidor (0-1-0) → **gana\n * el paquete**. Los campos mantienen su altura.\n * - vs `MuiSelect.styleOverrides.select` (0-2-0, porque MUI lo serializa como\n * `.css-hash.MuiSelect-select`, dos clases) → **empata y gana el consumidor**\n * por orden de inyección: MUI monta el hijo después del padre.\n *\n * O sea que la garantía de altura uniforme es parcial y siempre lo fue. El\n * comentario anterior decía que estar en `sx` era lo que la sostenía; no era\n * cierto — con `sx` pasaba exactamente lo mismo. Está fijado en la story\n * `Input/Tematizado`, que mide los dos casos.\n *\n * **Decisión del equipo (2026-09): se deja así.** El paquete no escala la\n * especificidad para ganarle al theme del consumidor — hacerlo (subir estas\n * reglas a `&&`) volvería la altura intematizable. Si una app necesita que sus\n * campos midan lo mismo, lo resuelve en su propio theme.\n */\nexport const buildFormFieldStyles = (\n theme: Theme,\n options: BuildFormFieldSxOptions,\n): CSSObject => {\n const base = buildFormFieldSx(options) as Record<string, unknown>;\n\n const label = base['& .MuiInputLabel-root'] as Record<string, unknown> | undefined;\n if (!label) return base as CSSObject;\n\n const shrink = label['&.MuiInputLabel-shrink'] as Record<string, unknown>;\n const focused = label['&.Mui-focused'] as Record<string, unknown>;\n\n return {\n ...base,\n '& .MuiInputLabel-root': {\n ...label,\n color: theme.palette.text.secondary,\n '&.MuiInputLabel-shrink': { ...shrink, color: theme.palette.text.primary },\n '&.Mui-focused': { ...focused, color: theme.palette.primary.main },\n },\n } as CSSObject;\n};\n\n/**\n * Builder del sx compartido por todos los campos de formulario\n * (Input/Select/Autocomplete/DatePicker/DateTimePicker).\n *\n * Produce:\n * - en modo \"floating\": sólo el border-radius del outlined input;\n * - en modo \"outside\": todo el pack (margen superior, label flotante afuera,\n * input base, notched outline oculto, helper text sin margen izquierdo).\n *\n * Componentes con paddings o selectores propios pueden inyectarlos vía\n * `extraOutsideSx` / `extraFloatingSx`.\n */\nexport const buildFormFieldSx = ({\n borderRadius,\n labelPosition,\n includePickersApi = false,\n extraOutsideSx,\n extraFloatingSx,\n}: BuildFormFieldSxOptions): SxProps<Theme> => {\n const radius = toRadius(borderRadius);\n\n // ── Selectores (alternan según la API de pickers) ────────────────────\n const outlinedRootSelector = includePickersApi\n ? '& .MuiOutlinedInput-root, & .MuiPickersOutlinedInput-root'\n : '& .MuiOutlinedInput-root';\n\n const inputBaseSelector = includePickersApi\n ? '& .MuiInputBase-root, & .MuiPickersInputBase-root'\n : '& .MuiInputBase-root';\n\n const notchedOutlineSelector = includePickersApi\n ? '& .MuiOutlinedInput-notchedOutline, & .MuiPickersOutlinedInput-notchedOutline'\n : '& .MuiOutlinedInput-notchedOutline';\n\n // ── Floating ─────────────────────────────────────────────────────────\n if (labelPosition === 'floating') {\n return {\n [outlinedRootSelector]: { borderRadius: radius },\n ...(extraFloatingSx ?? {}),\n };\n }\n\n // ── Outside ──────────────────────────────────────────────────────────\n return {\n marginTop: LABEL_MARGIN_TOP,\n\n '& .MuiInputLabel-root': {\n color: LABEL_COLOR_REST,\n transition: LABEL_TRANSITION,\n\n // Estado shrunk (focused o con valor): flota ARRIBA del input.\n '&.MuiInputLabel-shrink': {\n transform: LABEL_SHRINK_TRANSFORM,\n transformOrigin: LABEL_TRANSFORM_ORIGIN,\n color: LABEL_COLOR_FILLED,\n fontWeight: LABEL_FONT_WEIGHT_FILLED,\n },\n\n '&.Mui-focused': { color: LABEL_COLOR_FOCUSED },\n },\n\n // Input base — centra verticalmente (clásico y, si aplica, pickers).\n [inputBaseSelector]: {\n borderRadius: radius,\n display: 'flex',\n alignItems: 'center',\n },\n\n // Altura uniforme de TODOS los campos: el padding vertical del control\n // interno se fija acá y no en cada componente.\n //\n // ⚠️ La garantía es PARCIAL — ver la nota de `buildFormFieldStyles`. Gana\n // contra un `MuiOutlinedInput.styleOverrides.input` del consumidor, pero\n // NO contra `MuiSelect.styleOverrides.select`, que empata en especificidad\n // y gana por orden de inyección. Si el consumidor pone las dos cosas\n // (soporte pone 11px a ambas), el Select queda 4px más alto que el Input.\n '& .MuiInputBase-input': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n\n '& .MuiSelect-select': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n minHeight: 'auto',\n },\n\n // Secciones editables del PickersTextField (DD/MM/YYYY en la API v8).\n ...(includePickersApi\n ? {\n '& .MuiPickersInputBase-sectionsContainer': {\n paddingTop: FIELD_INPUT_PADDING_Y,\n paddingBottom: FIELD_INPUT_PADDING_Y,\n },\n }\n : {}),\n\n // El label flota afuera: ocultar legend del notch.\n [notchedOutlineSelector]: {\n top: 0,\n '& legend': { display: 'none' },\n },\n\n '& .MuiFormHelperText-root': {\n marginLeft: 0,\n },\n\n ...(extraOutsideSx ?? {}),\n };\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAmCA,MAAM,WAAW,CAAC,iBAChB,OAAO,iBAAiB,WAAW,GAAG,YAAY,OAAO;AA8BpD,MAAM,uBAAuB,CAClC,OACA,YACc;AACd,QAAM,OAAO,iBAAiB,OAAO;AAErC,QAAM,QAAQ,KAAK,uBAAuB;AAC1C,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,SAAS,MAAM,wBAAwB;AAC7C,QAAM,UAAU,MAAM,eAAe;AAErC,SAAO,iCACF,OADE;AAAA,IAEL,yBAAyB,iCACpB,QADoB;AAAA,MAEvB,OAAO,MAAM,QAAQ,KAAK;AAAA,MAC1B,0BAA0B,iCAAK,SAAL,EAAa,OAAO,MAAM,QAAQ,KAAK,QAAA;AAAA,MACjE,iBAAiB,iCAAK,UAAL,EAAc,OAAO,MAAM,QAAQ,QAAQ,KAAA;AAAA,IAAK;AAAA,EACnE;AAEJ;AAcO,MAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AACF,MAA+C;AAC7C,QAAM,SAAS,SAAS,YAAY;AAGpC,QAAM,uBAAuB,oBACzB,8DACA;AAEJ,QAAM,oBAAoB,oBACtB,sDACA;AAEJ,QAAM,yBAAyB,oBAC3B,kFACA;AAGJ,MAAI,kBAAkB,YAAY;AAChC,WAAO;AAAA,MACL,CAAC,oBAAoB,GAAG,EAAE,cAAc,OAAA;AAAA,OACpC,4CAAmB,CAAA;AAAA,EAE3B;AAGA,SAAO;AAAA,IACL,WAAW;AAAA,IAEX,yBAAyB;AAAA,MACvB,OAAO;AAAA,MACP,YAAY;AAAA;AAAA,MAGZ,0BAA0B;AAAA,QACxB,WAAW;AAAA,QACX,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,MAGd,iBAAiB,EAAE,OAAO,oBAAA;AAAA,IAAoB;AAAA;AAAA,IAIhD,CAAC,iBAAiB,GAAG;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,YAAY;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWd,yBAAyB;AAAA,MACvB,YAAY;AAAA,MACZ,eAAe;AAAA,IAAA;AAAA,IAGjB,uBAAuB;AAAA,MACrB,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA,IAAA;AAAA,KAIT,oBACA;AAAA,IACE,4CAA4C;AAAA,MAC1C,YAAY;AAAA,MACZ,eAAe;AAAA,IAAA;AAAA,EACjB,IAEF,CAAA,IApDC;AAAA;AAAA,IAuDL,CAAC,sBAAsB,GAAG;AAAA,MACxB,KAAK;AAAA,MACL,YAAY,EAAE,SAAS,OAAA;AAAA,IAAO;AAAA,IAGhC,6BAA6B;AAAA,MAC3B,YAAY;AAAA,IAAA;AAAA,MAGV,0CAAkB,CAAA;AAE1B;"}
|