@soyfri/shared-library 2.0.0-beta.2 → 2.0.0-beta.21
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/.dockerignore +8 -0
- package/.github/workflows/publish.yml +107 -0
- package/.prettierrc +3 -0
- package/.storybook/main.ts +19 -0
- package/.storybook/preview.ts +14 -0
- package/.storybook/vitest.setup.ts +9 -0
- package/Dockerfile +37 -0
- package/build.js +117 -0
- package/chromatic.config.json +5 -0
- package/cleanDirectories.js +40 -0
- package/dist/Autocomplete-C_lW1VER.js +337 -0
- package/dist/Autocomplete-C_lW1VER.js.map +1 -0
- package/dist/Autocomplete-CejWztBY.cjs +336 -0
- package/dist/Autocomplete-CejWztBY.cjs.map +1 -0
- package/dist/Avatar-CgT7955R.js +162 -0
- package/dist/Avatar-CgT7955R.js.map +1 -0
- package/dist/Avatar-CuSrK8Wn.cjs +161 -0
- package/dist/Avatar-CuSrK8Wn.cjs.map +1 -0
- package/dist/Button-C17mExpd.cjs.map +1 -1
- package/dist/Button-UkkP-bNw.js.map +1 -1
- package/dist/Card-B1wtavyl.js +98 -0
- package/dist/Card-B1wtavyl.js.map +1 -0
- package/dist/Card-DfdU610V.cjs +97 -0
- package/dist/Card-DfdU610V.cjs.map +1 -0
- package/dist/Checkbox-BCqMFWt4.cjs +187 -0
- package/dist/Checkbox-BCqMFWt4.cjs.map +1 -0
- package/dist/Checkbox-gB5YKkVo.js +188 -0
- package/dist/Checkbox-gB5YKkVo.js.map +1 -0
- package/dist/{components/DateRangePicker/DateRangePicker.js → Chip-OPYQ1uQ_.js} +33 -35
- package/dist/Chip-OPYQ1uQ_.js.map +1 -0
- package/dist/{components/DateRangePicker/DateRangePicker.cjs → Chip-qoJLDiva.cjs} +33 -36
- package/dist/Chip-qoJLDiva.cjs.map +1 -0
- package/dist/DatePicker-_IGWc3I5.js +178 -0
- package/dist/DatePicker-_IGWc3I5.js.map +1 -0
- package/dist/DatePicker-t7uDTZMl.cjs +177 -0
- package/dist/DatePicker-t7uDTZMl.cjs.map +1 -0
- package/dist/DateTimePicker-BxQyjTCY.cjs +229 -0
- package/dist/DateTimePicker-BxQyjTCY.cjs.map +1 -0
- package/dist/DateTimePicker-CrmWav_j.js +230 -0
- package/dist/DateTimePicker-CrmWav_j.js.map +1 -0
- package/dist/Input-CScC87J5.cjs +185 -0
- package/dist/Input-CScC87J5.cjs.map +1 -0
- package/dist/Input-DP_fKl38.js +186 -0
- package/dist/Input-DP_fKl38.js.map +1 -0
- package/dist/Modal-BN5s-Tfk.cjs +347 -0
- package/dist/Modal-BN5s-Tfk.cjs.map +1 -0
- package/dist/Modal-BRZMPwDj.js +348 -0
- package/dist/Modal-BRZMPwDj.js.map +1 -0
- package/dist/README.md +243 -0
- package/dist/RadioGroup-Dd0rHXSX.cjs +202 -0
- package/dist/RadioGroup-Dd0rHXSX.cjs.map +1 -0
- package/dist/RadioGroup-bO-ahP9T.js +203 -0
- package/dist/RadioGroup-bO-ahP9T.js.map +1 -0
- package/dist/Select-Dycmh9vt.js +256 -0
- package/dist/Select-Dycmh9vt.js.map +1 -0
- package/dist/Select-kqR48jZU.cjs +255 -0
- package/dist/Select-kqR48jZU.cjs.map +1 -0
- package/dist/Stat-BUcFCGrz.cjs +83 -0
- package/dist/Stat-BUcFCGrz.cjs.map +1 -0
- package/dist/Stat-C06A_izS.js +84 -0
- package/dist/Stat-C06A_izS.js.map +1 -0
- package/dist/StatusMessage-B3nXpuRl.cjs +88 -0
- package/dist/StatusMessage-B3nXpuRl.cjs.map +1 -0
- package/dist/StatusMessage-D0WgSBx7.js +89 -0
- package/dist/StatusMessage-D0WgSBx7.js.map +1 -0
- package/dist/Step-BArsou1V.js +301 -0
- package/dist/Step-BArsou1V.js.map +1 -0
- package/dist/Step-Nd7SJbRZ.cjs +300 -0
- package/dist/Step-Nd7SJbRZ.cjs.map +1 -0
- package/dist/Switch-CQFOopYy.cjs +182 -0
- package/dist/Switch-CQFOopYy.cjs.map +1 -0
- package/dist/Switch-D72dpkH2.js +183 -0
- package/dist/Switch-D72dpkH2.js.map +1 -0
- package/dist/Tab-BbP8jBcK.cjs +110 -0
- package/dist/Tab-BbP8jBcK.cjs.map +1 -0
- package/dist/Tab-BxSxKJsP.js +111 -0
- package/dist/Tab-BxSxKJsP.js.map +1 -0
- package/dist/Table-C2LbW0B1.js +531 -0
- package/dist/Table-C2LbW0B1.js.map +1 -0
- package/dist/Table-C4OM6rrC.cjs +530 -0
- package/dist/Table-C4OM6rrC.cjs.map +1 -0
- package/dist/components/ActionMenu/ActionMenu.cjs +52 -52
- package/dist/components/ActionMenu/ActionMenu.cjs.map +1 -1
- package/dist/components/ActionMenu/ActionMenu.d.ts +20 -36
- package/dist/components/ActionMenu/ActionMenu.js +55 -55
- package/dist/components/ActionMenu/ActionMenu.js.map +1 -1
- package/dist/components/ActionMenu/index.d.ts +2 -2
- package/dist/components/AppBar/AppBar.cjs +3 -220
- package/dist/components/AppBar/AppBar.cjs.map +1 -1
- package/dist/components/AppBar/AppBar.d.ts +6 -6
- package/dist/components/AppBar/AppBar.js +6 -223
- package/dist/components/AppBar/AppBar.js.map +1 -1
- package/dist/components/AppBar/index.d.ts +0 -6
- package/dist/components/Autocomplete/Autocomplete.cjs +4 -311
- package/dist/components/Autocomplete/Autocomplete.cjs.map +1 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +8 -6
- package/dist/components/Autocomplete/Autocomplete.helpers.d.ts +8 -4
- package/dist/components/Autocomplete/Autocomplete.js +4 -311
- package/dist/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/components/Autocomplete/_parts/AutocompleteOption.d.ts +5 -8
- package/dist/components/Autocomplete/index.d.ts +1 -1
- package/dist/components/Avatar/Avatar.cjs +2 -160
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.js +2 -160
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Button/Button.d.ts +5 -5
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/Card/Card.cjs +4 -184
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.d.ts +3 -50
- package/dist/components/Card/Card.js +4 -184
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.sx.d.ts +3 -6
- package/dist/components/Card/index.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.cjs +6 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +55 -0
- package/dist/components/Checkbox/Checkbox.js +6 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.sx.d.ts +13 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox.d.ts +6 -0
- package/dist/components/Chip/Chip.cjs +4 -72
- package/dist/components/Chip/Chip.cjs.map +1 -1
- package/dist/components/Chip/Chip.js +3 -71
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/Chip/index.d.ts +2 -1
- package/dist/components/Chip.d.ts +4 -0
- package/dist/components/Column/Column.cjs +1 -1
- package/dist/components/Column/Column.cjs.map +1 -1
- package/dist/components/Column/Column.d.ts +1 -1
- package/dist/components/Column/Column.js +1 -1
- package/dist/components/Column/Column.js.map +1 -1
- package/dist/components/Column/index.d.ts +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +3 -200
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -13
- package/dist/components/DatePicker/DatePicker.js +3 -200
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/index.d.ts +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.cjs +3 -219
- package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +10 -6
- package/dist/components/DateTimePicker/DateTimePicker.definitions.d.ts +2 -0
- package/dist/components/DateTimePicker/DateTimePicker.helpers.d.ts +4 -2
- package/dist/components/DateTimePicker/DateTimePicker.js +3 -219
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/DateTimePicker/index.d.ts +1 -1
- package/dist/components/Drawer/Drawer.cjs +25 -24
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +8 -1
- package/dist/components/Drawer/Drawer.js +26 -25
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/DrawerItem.d.ts +6 -1
- package/dist/components/Gallery/Gallery.cjs +154 -79
- package/dist/components/Gallery/Gallery.cjs.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +25 -9
- package/dist/components/Gallery/Gallery.js +154 -79
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gallery/GalleryLightbox.d.ts +6 -10
- package/dist/components/Gallery/GalleryMain.d.ts +3 -7
- package/dist/components/Gallery/GalleryThumbnails.d.ts +7 -11
- package/dist/components/Gallery/index.d.ts +2 -1
- package/dist/components/Gallery.d.ts +4 -0
- package/dist/components/Icon/Icon.cjs +6 -8
- package/dist/components/Icon/Icon.cjs.map +1 -1
- package/dist/components/Icon/Icon.d.ts +11 -17
- package/dist/components/Icon/Icon.js +7 -9
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/index.d.ts +2 -1
- package/dist/components/Icon.d.ts +4 -0
- package/dist/components/Input/Input.cjs +3 -172
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.d.ts +9 -2
- package/dist/components/Input/Input.definitions.d.ts +1 -0
- package/dist/components/Input/Input.helpers.d.ts +3 -3
- package/dist/components/Input/Input.js +3 -172
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/index.d.ts +1 -1
- package/dist/components/InputGroup/InputGroup.cjs +23 -22
- package/dist/components/InputGroup/InputGroup.cjs.map +1 -1
- package/dist/components/InputGroup/InputGroup.d.ts +4 -4
- package/dist/components/InputGroup/InputGroup.js +22 -21
- package/dist/components/InputGroup/InputGroup.js.map +1 -1
- package/dist/components/InputGroup/index.d.ts +2 -1
- package/dist/components/InputGroup.d.ts +4 -0
- package/dist/components/Modal/Modal.cjs +7 -317
- package/dist/components/Modal/Modal.cjs.map +1 -1
- package/dist/components/Modal/Modal.d.ts +20 -5
- package/dist/components/Modal/Modal.js +6 -316
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/ModalBody.d.ts +6 -1
- package/dist/components/Modal/ModalFooter.d.ts +4 -4
- package/dist/components/Modal/ModalHeader.d.ts +6 -1
- package/dist/components/Modal/index.d.ts +4 -1
- package/dist/components/Modal.d.ts +4 -0
- package/dist/components/RadioGroup/RadioGroup.cjs +6 -0
- package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +59 -0
- package/dist/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
- package/dist/components/RadioGroup/RadioGroup.js +6 -0
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
- package/dist/components/RadioGroup/index.d.ts +2 -0
- package/dist/components/RadioGroup.d.ts +6 -0
- package/dist/components/Select/Select.cjs +4 -445
- package/dist/components/Select/Select.cjs.map +1 -1
- package/dist/components/Select/Select.d.ts +15 -18
- package/dist/components/Select/Select.helpers.d.ts +5 -19
- package/dist/components/Select/Select.js +4 -445
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Stat/Stat.cjs +4 -83
- package/dist/components/Stat/Stat.cjs.map +1 -1
- package/dist/components/Stat/Stat.js +3 -82
- package/dist/components/Stat/Stat.js.map +1 -1
- package/dist/components/Stat/index.d.ts +2 -1
- package/dist/components/Stat.d.ts +4 -0
- package/dist/components/StatusMessage/StatusMessage.cjs +4 -77
- package/dist/components/StatusMessage/StatusMessage.cjs.map +1 -1
- package/dist/components/StatusMessage/StatusMessage.d.ts +20 -36
- package/dist/components/StatusMessage/StatusMessage.js +3 -76
- package/dist/components/StatusMessage/StatusMessage.js.map +1 -1
- package/dist/components/StatusMessage/index.d.ts +2 -1
- package/dist/components/StatusMessage.d.ts +4 -0
- package/dist/components/Stepper/Stepper.cjs +8 -47
- package/dist/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.d.ts +9 -8
- package/dist/components/Stepper/Stepper.js +7 -46
- package/dist/components/Stepper/Stepper.js.map +1 -1
- package/dist/{hooks/Wizard/WizardContext.d.ts → components/Stepper/StepperContext.d.ts} +29 -23
- package/dist/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
- package/dist/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
- package/dist/components/Stepper/index.d.ts +6 -2
- package/dist/components/Stepper.d.ts +4 -0
- package/dist/components/Switch/Switch.cjs +6 -0
- package/dist/components/Switch/Switch.cjs.map +1 -0
- package/dist/components/Switch/Switch.d.ts +48 -0
- package/dist/components/Switch/Switch.definitions.d.ts +7 -0
- package/dist/components/Switch/Switch.js +6 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.sx.d.ts +22 -0
- package/dist/components/Switch/Switch.types.d.ts +1 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch.d.ts +6 -0
- package/dist/components/Table/Table.cjs +2 -528
- package/dist/components/Table/Table.cjs.map +1 -1
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Table/Table.js +2 -528
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Tabs/Tabs.cjs +5 -94
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +21 -16
- package/dist/components/Tabs/Tabs.js +4 -93
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/index.d.ts +4 -2
- package/dist/components/Tabs.d.ts +4 -0
- package/dist/components/Timeline/Timeline.cjs +3 -2
- package/dist/components/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.d.ts +4 -8
- package/dist/components/Timeline/Timeline.js +3 -2
- package/dist/components/Timeline/Timeline.js.map +1 -1
- package/dist/components/Timeline/index.d.ts +4 -2
- package/dist/components/Timeline.d.ts +4 -0
- package/dist/components/_shared/mergeSx.d.ts +7 -0
- package/dist/{formField.sx-DfVbMe0V.js → formField.sx-8_QRnKxv.js} +2 -11
- package/dist/formField.sx-8_QRnKxv.js.map +1 -0
- package/dist/{formField.sx-CQ1mbk9M.cjs → formField.sx-BAX7KwMR.cjs} +10 -19
- package/dist/formField.sx-BAX7KwMR.cjs.map +1 -0
- package/dist/index.cjs +92 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +32 -0
- package/dist/index.js +66 -3
- package/dist/index.js.map +1 -1
- package/dist/mergeSx-BXoNZjB_.js +10 -0
- package/dist/mergeSx-BXoNZjB_.js.map +1 -0
- package/dist/mergeSx-Dbccoo_H.cjs +9 -0
- package/dist/mergeSx-Dbccoo_H.cjs.map +1 -0
- package/dist/mui.d.ts +3 -1
- package/dist/package.json +190 -0
- package/dist/{resolvePreset-CT3kU-K2.cjs → resolvePreset-CxTI6_Ln.cjs} +3 -3
- package/dist/{resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CxTI6_Ln.cjs.map} +1 -1
- package/dist/{resolvePreset-B-IB0ehH.js → resolvePreset-K6_BfWHD.js} +3 -3
- package/dist/{resolvePreset-B-IB0ehH.js.map → resolvePreset-K6_BfWHD.js.map} +1 -1
- package/dist/theme/componentStyles.d.ts +1 -1
- package/dist/tokens-BRrcP_p_.js +21 -0
- package/dist/tokens-BRrcP_p_.js.map +1 -0
- package/dist/tokens-jaWWNk39.cjs +20 -0
- package/dist/tokens-jaWWNk39.cjs.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/{components/ScrollTopButton → utils}/scrollToTop.d.ts +6 -7
- package/package.json +25 -48
- package/rollup.config.cjs +87 -0
- package/scripts/gen-dist-pkg.mjs +15 -0
- package/shared-library-comercios-MUI.code-workspace +10 -0
- package/src/components/ActionMenu/ActionMenu.stories.tsx +427 -0
- package/src/components/ActionMenu/ActionMenu.tsx +153 -0
- package/src/components/ActionMenu/index.ts +2 -0
- package/src/components/AppBar/AppBar.stories.tsx +316 -0
- package/src/components/AppBar/AppBar.sx.ts +32 -0
- package/src/components/AppBar/AppBar.tsx +119 -0
- package/src/components/AppBar/AppBarContext.ts +25 -0
- package/src/components/AppBar/AppBarMenuToggle.tsx +90 -0
- package/src/components/AppBar/index.ts +12 -0
- package/src/components/Autocomplete/Autocomplete.definitions.ts +477 -0
- package/src/components/Autocomplete/Autocomplete.helpers.ts +80 -0
- package/src/components/Autocomplete/Autocomplete.stories.tsx +784 -0
- package/src/components/Autocomplete/Autocomplete.sx.ts +30 -0
- package/src/components/Autocomplete/Autocomplete.tsx +393 -0
- package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +55 -0
- package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +17 -0
- package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +29 -0
- package/src/components/Autocomplete/index.ts +12 -0
- package/src/components/Avatar/Avatar.definitions.ts +162 -0
- package/src/components/Avatar/Avatar.stories.tsx +258 -0
- package/src/components/Avatar/Avatar.tsx +206 -0
- package/src/components/Avatar/index.ts +2 -0
- package/src/components/Button/Button.definition.ts +97 -0
- package/src/components/Button/Button.stories.tsx +285 -0
- package/src/components/Button/Button.tsx +66 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Card/Card.definition.ts +5 -0
- package/src/components/Card/Card.stories.tsx +102 -0
- package/src/components/Card/Card.sx.ts +58 -0
- package/src/components/Card/Card.tsx +85 -0
- package/src/components/Card/index.ts +4 -0
- package/src/components/Checkbox/Checkbox.stories.tsx +212 -0
- package/src/components/Checkbox/Checkbox.sx.ts +67 -0
- package/src/components/Checkbox/Checkbox.tsx +208 -0
- package/src/components/Checkbox/index.ts +10 -0
- package/src/components/Chip/Chip.definitions.ts +167 -0
- package/src/components/Chip/Chip.stories.tsx +265 -0
- package/src/components/Chip/Chip.tsx +61 -0
- package/src/components/Chip/index.ts +2 -0
- package/src/components/Column/Column.tsx +29 -0
- package/src/components/Column/index.ts +2 -0
- package/src/components/DatePicker/DatePicker.definitions.ts +228 -0
- package/src/components/DatePicker/DatePicker.helpers.ts +24 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +309 -0
- package/src/components/DatePicker/DatePicker.sx.ts +33 -0
- package/src/components/DatePicker/DatePicker.tsx +133 -0
- package/src/components/DatePicker/index.ts +7 -0
- package/src/components/DateTimePicker/DateTimePicker.definitions.ts +317 -0
- package/src/components/DateTimePicker/DateTimePicker.helpers.ts +45 -0
- package/src/components/DateTimePicker/DateTimePicker.stories.tsx +415 -0
- package/src/components/DateTimePicker/DateTimePicker.sx.ts +30 -0
- package/src/components/DateTimePicker/DateTimePicker.tsx +240 -0
- package/src/components/DateTimePicker/index.ts +9 -0
- package/src/components/Drawer/Drawer.stories.tsx +438 -0
- package/src/components/Drawer/Drawer.sx.ts +106 -0
- package/src/components/Drawer/Drawer.tsx +224 -0
- package/src/components/Drawer/DrawerContext.ts +26 -0
- package/src/components/Drawer/DrawerItem.tsx +120 -0
- package/src/components/Drawer/index.ts +10 -0
- package/src/components/Flyout/Flyout.stories.tsx +282 -0
- package/src/components/Flyout/Flyout.tsx +122 -0
- package/src/components/Flyout/index.ts +1 -0
- package/src/components/Gallery/Gallery.definition.tsx +37 -0
- package/src/components/Gallery/Gallery.stories.tsx +82 -0
- package/src/components/Gallery/Gallery.tsx +158 -0
- package/src/components/Gallery/GalleryLightbox.tsx +186 -0
- package/src/components/Gallery/GalleryMain.tsx +87 -0
- package/src/components/Gallery/GalleryThumbnails.tsx +122 -0
- package/src/components/Gallery/index.ts +2 -0
- package/src/components/Icon/Icon.stories.tsx +121 -0
- package/src/components/Icon/Icon.tsx +163 -0
- package/src/components/Icon/index.ts +2 -0
- package/src/components/Input/Input.definitions.ts +348 -0
- package/src/components/Input/Input.helpers.ts +50 -0
- package/src/components/Input/Input.stories.tsx +528 -0
- package/src/components/Input/Input.sx.ts +42 -0
- package/src/components/Input/Input.tsx +162 -0
- package/src/components/Input/index.ts +10 -0
- package/src/components/InputGroup/InputGroup.definitions.ts +158 -0
- package/src/components/InputGroup/InputGroup.stories.tsx +267 -0
- package/src/components/InputGroup/InputGroup.tsx +180 -0
- package/src/components/InputGroup/index.ts +2 -0
- package/src/components/MenuButton/MenuButton.stories.tsx +197 -0
- package/src/components/MenuButton/MenuButton.tsx +100 -0
- package/src/components/MenuButton/index.ts +1 -0
- package/src/components/Modal/Modal.stories.tsx +721 -0
- package/src/components/Modal/Modal.tsx +407 -0
- package/src/components/Modal/ModalBody.tsx +23 -0
- package/src/components/Modal/ModalFooter.tsx +83 -0
- package/src/components/Modal/ModalHeader.tsx +33 -0
- package/src/components/Modal/index.ts +11 -0
- package/src/components/RadioGroup/RadioGroup.definitions.ts +177 -0
- package/src/components/RadioGroup/RadioGroup.stories.tsx +231 -0
- package/src/components/RadioGroup/RadioGroup.sx.ts +75 -0
- package/src/components/RadioGroup/RadioGroup.tsx +207 -0
- package/src/components/RadioGroup/index.ts +10 -0
- package/src/components/Select/Select.helpers.ts +31 -0
- package/src/components/Select/Select.stories.tsx +393 -0
- package/src/components/Select/Select.sx.ts +14 -0
- package/src/components/Select/Select.tsx +332 -0
- package/src/components/Select/_parts/SelectMenuItem.tsx +40 -0
- package/src/components/Select/_parts/SelectValue.tsx +95 -0
- package/src/components/Select/index.ts +12 -0
- package/src/components/Stat/Stat.stories.tsx +85 -0
- package/src/components/Stat/Stat.tsx +117 -0
- package/src/components/Stat/index.ts +2 -0
- package/src/components/StatusMessage/StatusMessage.stories.tsx +159 -0
- package/src/components/StatusMessage/StatusMessage.tsx +143 -0
- package/src/components/StatusMessage/index.ts +3 -0
- package/src/components/Stepper/Step.tsx +21 -0
- package/src/components/Stepper/Stepper.definition.ts +75 -0
- package/src/components/Stepper/Stepper.stories.tsx +194 -0
- package/src/components/Stepper/Stepper.tsx +194 -0
- package/src/components/Stepper/StepperContext.tsx +176 -0
- package/src/components/Stepper/StepperProvider.stories.tsx +286 -0
- package/src/components/Stepper/_hooks/useHorizontalScroll.ts +56 -0
- package/src/components/Stepper/_parts/StepperScrollArrow.tsx +50 -0
- package/src/components/Stepper/index.ts +15 -0
- package/src/components/Switch/Switch.definitions.ts +134 -0
- package/src/components/Switch/Switch.stories.tsx +213 -0
- package/src/components/Switch/Switch.sx.ts +81 -0
- package/src/components/Switch/Switch.tsx +188 -0
- package/src/components/Switch/Switch.types.ts +10 -0
- package/src/components/Switch/index.ts +9 -0
- package/src/components/Table/EmptyTable.png +0 -0
- package/src/components/Table/Table.definition.ts +580 -0
- package/src/components/Table/Table.stories.tsx +853 -0
- package/src/components/Table/Table.tsx +494 -0
- package/src/components/Table/data.ts +134 -0
- package/src/components/Table/exportsUtils.ts +195 -0
- package/src/components/Table/index.ts +3 -0
- package/src/components/Table/types.ts +34 -0
- package/src/components/Tabs/Tab.definition.ts +53 -0
- package/src/components/Tabs/Tab.tsx +19 -0
- package/src/components/Tabs/Tabs.stories.tsx +118 -0
- package/src/components/Tabs/Tabs.tsx +163 -0
- package/src/components/Tabs/_tabUtils.tsx +4 -0
- package/src/components/Tabs/index.ts +5 -0
- package/src/components/Timeline/Timeline.definition.ts +43 -0
- package/src/components/Timeline/Timeline.stories.tsx +108 -0
- package/src/components/Timeline/Timeline.tsx +44 -0
- package/src/components/Timeline/TimelineItem.tsx +31 -0
- package/src/components/Timeline/index.ts +5 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +129 -0
- package/src/components/Tooltip/Tooltip.tsx +58 -0
- package/src/components/Tooltip/index.ts +1 -0
- package/src/components/_shared/formField.sx.ts +118 -0
- package/src/components/_shared/mergeSx.ts +16 -0
- package/src/components/_shared/resolvePreset.ts +38 -0
- package/src/hooks/ClipBoard/ClipBoard.stories.tsx +168 -0
- package/src/hooks/ClipBoard/ClipBoard.tsx +131 -0
- package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +111 -0
- package/src/hooks/ClipBoard/index.ts +1 -0
- package/src/index.ts +51 -0
- package/src/mui.ts +57 -0
- package/src/styles.css +3 -0
- package/src/theme/componentStyles.ts +50 -0
- package/src/theme/tokens.ts +43 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/scrollToTop.ts +36 -0
- package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
- package/storybook-static/assets/AccountCircle-BDZFsbTw.js +1 -0
- package/storybook-static/assets/ActionMenu-EynP8yU1.js +19 -0
- package/storybook-static/assets/ActionMenu.stories-DqSqRGix.js +185 -0
- package/storybook-static/assets/Alert-3zvTPc0p.js +1 -0
- package/storybook-static/assets/AppBar.stories-DcX3M5th.js +172 -0
- package/storybook-static/assets/Autocomplete.stories-CXJm8FOT.js +788 -0
- package/storybook-static/assets/Avatar-NbFfkZws.js +1 -0
- package/storybook-static/assets/Avatar.stories-CwOYCzqU.js +390 -0
- package/storybook-static/assets/Box-BnhEcfFm.js +1 -0
- package/storybook-static/assets/Button-D9h7OggD.js +1 -0
- package/storybook-static/assets/Button-DBpqmVB_.js +1 -0
- package/storybook-static/assets/Button.stories-F20dmnjq.js +320 -0
- package/storybook-static/assets/ButtonBase-qyaMEhe4.js +74 -0
- package/storybook-static/assets/Card.stories-B3NpAhO0.js +154 -0
- package/storybook-static/assets/CheckCircleOutline-CEj5mDsl.js +1 -0
- package/storybook-static/assets/Chip-C3vKPpzR.js +1 -0
- package/storybook-static/assets/Chip.stories-sxcfHVo9.js +333 -0
- package/storybook-static/assets/CircularProgress-DC7ZNWwl.js +28 -0
- package/storybook-static/assets/Clear-4kYcKvT3.js +1 -0
- package/storybook-static/assets/ClipBoard-DvLBdNHe.js +1 -0
- package/storybook-static/assets/ClipBoard.stories-BGUo47r6.js +108 -0
- package/storybook-static/assets/Close-CgHeRgmh.js +1 -0
- package/storybook-static/assets/Close-Cy8nELYU.js +1 -0
- package/storybook-static/assets/Color-AVL7NMMY-BJKvwERm.js +1 -0
- package/storybook-static/assets/ContentCopy-BfLTDb10.js +1 -0
- package/storybook-static/assets/DatePicker-Clkpr-Ku.js +1 -0
- package/storybook-static/assets/DatePicker.stories-EaUCMkh3.js +444 -0
- package/storybook-static/assets/DateRangePicker.stories-BMlkj-8K.js +390 -0
- package/storybook-static/assets/DateTimePicker.stories-B6gdzKq5.js +555 -0
- package/storybook-static/assets/DefaultPropsProvider-BGoQxtDa.js +16 -0
- package/storybook-static/assets/Delete-D2SMMmIA.js +1 -0
- package/storybook-static/assets/DialogContent-BeCDKgax.js +1 -0
- package/storybook-static/assets/Divider-BbCj9wT4.js +1 -0
- package/storybook-static/assets/DocsRenderer-PQXLIZUC-BebLK5Y_.js +1243 -0
- package/storybook-static/assets/Drawer-DcFwy73r.js +1 -0
- package/storybook-static/assets/Drawer.stories-C5AZkJBk.js +173 -0
- package/storybook-static/assets/EmptyTable-B-RKtgVs.png +0 -0
- package/storybook-static/assets/ErrorOutline-D9gM7ART.js +1 -0
- package/storybook-static/assets/Fade-Ll96CvH8.js +1 -0
- package/storybook-static/assets/Flyout.stories-Cf7z6MNw.js +163 -0
- package/storybook-static/assets/Gallery.stories-DdpWVTF6.js +127 -0
- package/storybook-static/assets/Grow-8y4FglGK.js +1 -0
- package/storybook-static/assets/Home-BRvJEp2L.js +1 -0
- package/storybook-static/assets/Icon.stories-D0mUiW_t.js +78 -0
- package/storybook-static/assets/IconButton-9OYSTH58.js +1 -0
- package/storybook-static/assets/Input-CjX0t4h-.js +1 -0
- package/storybook-static/assets/Input.stories-BRxekliy.js +650 -0
- package/storybook-static/assets/InputGroup.stories-DH6gUfmn.js +306 -0
- package/storybook-static/assets/KeyboardArrowRight-WO_attK2.js +1 -0
- package/storybook-static/assets/KeyboardArrowUp-DsyVef-i.js +1 -0
- package/storybook-static/assets/ListItem-D3O0103N.js +1 -0
- package/storybook-static/assets/ListItemIcon-hca6xN79.js +1 -0
- package/storybook-static/assets/ListItemText-BFLAwLdl.js +1 -0
- package/storybook-static/assets/Logout-gj-P3AfU.js +1 -0
- package/storybook-static/assets/Menu-ClzfjLc3.js +1 -0
- package/storybook-static/assets/MenuButton.stories-B-W_QVDt.js +162 -0
- package/storybook-static/assets/MenuItem-iU6tAqJI.js +1 -0
- package/storybook-static/assets/Modal-3okp9H2i.js +1 -0
- package/storybook-static/assets/Modal.stories-DIWzm4qR.js +468 -0
- package/storybook-static/assets/MoreVert-BoIVG4gh.js +1 -0
- package/storybook-static/assets/Notifications-DY_A-Sho.js +1 -0
- package/storybook-static/assets/PageLoader.stories-DmtO1mlm.js +158 -0
- package/storybook-static/assets/Paper-SwQBhqI7.js +1 -0
- package/storybook-static/assets/Person-CkQl-mpq.js +1 -0
- package/storybook-static/assets/PickersModalDialog-Tjnr_cu5.js +10 -0
- package/storybook-static/assets/PickersToolbarButton-Tt185-si.js +1 -0
- package/storybook-static/assets/Popper-CnCTYXxy.js +1 -0
- package/storybook-static/assets/Portal-Cj8XF9Lf.js +1 -0
- package/storybook-static/assets/ScrollTopButton.stories-BflQCwNP.js +90 -0
- package/storybook-static/assets/Select-CjcuMAY0.js +4 -0
- package/storybook-static/assets/Select-DJh2biEb.js +3 -0
- package/storybook-static/assets/Select.stories-DU1Gb3I2.js +1103 -0
- package/storybook-static/assets/Settings-BLKc1CnO.js +1 -0
- package/storybook-static/assets/Snackbar-BtVeKTw6.js +1 -0
- package/storybook-static/assets/Stack-D01OUIXi.js +1 -0
- package/storybook-static/assets/Stat.stories-Bn9-iuPT.js +60 -0
- package/storybook-static/assets/StatusMessage.stories-hnfX8FeU.js +73 -0
- package/storybook-static/assets/Stepper-BtKB5ykn.js +2 -0
- package/storybook-static/assets/Stepper.stories-CTEZbgPc.js +165 -0
- package/storybook-static/assets/Table.stories-CTn2Ktmn.js +1260 -0
- package/storybook-static/assets/TableContainer-CzLNaEU-.js +1 -0
- package/storybook-static/assets/TableRow-CS88-1HF.js +2 -0
- package/storybook-static/assets/Tabs-DLpDOu_n.js +1 -0
- package/storybook-static/assets/Tabs.stories-BFVuFy_5.js +159 -0
- package/storybook-static/assets/TextField-22T-xHBm.js +1 -0
- package/storybook-static/assets/Timeline.stories-DJU_U2Hv.js +97 -0
- package/storybook-static/assets/Tooltip-DbnHUxNj.js +1 -0
- package/storybook-static/assets/Tooltip.stories-B7tA3dnV.js +66 -0
- package/storybook-static/assets/Typography-BgntX2Ep.js +1 -0
- package/storybook-static/assets/Wizard.stories-CVrJLK_D.js +23 -0
- package/storybook-static/assets/createSimplePaletteValueFilter-bm0fmN_7.js +1 -0
- package/storybook-static/assets/createSvgIcon-D_Gca4vA.js +1 -0
- package/storybook-static/assets/debounce-Be36O1Ab.js +1 -0
- package/storybook-static/assets/emotion-react.browser.esm--g-C9cX9.js +8 -0
- package/storybook-static/assets/extendSxProp-CEpa30hT.js +1 -0
- package/storybook-static/assets/formField.sx-DMCmZIAa.js +1 -0
- package/storybook-static/assets/getReactElementRef-BQ3ANZdy.js +1 -0
- package/storybook-static/assets/iframe-BAJnc_4n.js +1079 -0
- package/storybook-static/assets/index-B1tlhOpe.js +240 -0
- package/storybook-static/assets/index-BF3FAXTk.js +9 -0
- package/storybook-static/assets/index-CIeucmOB.js +2 -0
- package/storybook-static/assets/index-CY7j4a7o.js +1 -0
- package/storybook-static/assets/index-CxkKctw5.js +1 -0
- package/storybook-static/assets/isFocusVisible-B8k4qzLc.js +1 -0
- package/storybook-static/assets/isMuiElement-CTZSFcY5.js +1 -0
- package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +9 -0
- package/storybook-static/assets/listItemTextClasses-CC_rwJam.js +1 -0
- package/storybook-static/assets/mergeSlotProps-B0UBKBMe.js +1 -0
- package/storybook-static/assets/ownerDocument-DW-IO8s5.js +1 -0
- package/storybook-static/assets/ownerWindow-HkKU3E4x.js +1 -0
- package/storybook-static/assets/preload-helper-PPVm8Dsz.js +1 -0
- package/storybook-static/assets/react-18-BUJ64QCV.js +25 -0
- package/storybook-static/assets/resolvePreset-CN2aOJJr.js +1 -0
- package/storybook-static/assets/useControlled-DsVh1a5j.js +1 -0
- package/storybook-static/assets/useForkRef-0ANIrxcF.js +1 -0
- package/storybook-static/assets/useId-b4fZxjOL.js +1 -0
- package/storybook-static/assets/useMobilePicker-DK-c8xbD.js +1 -0
- package/storybook-static/assets/usePreviousProps-WR0rG4aR.js +1 -0
- package/storybook-static/assets/useSlot-b6pXgp5_.js +1 -0
- package/storybook-static/assets/useSlotProps-C0uMfuBt.js +1 -0
- package/storybook-static/assets/useTheme-BmOJK7ra.js +1 -0
- package/storybook-static/assets/useThemeProps-DYtxXiUU.js +1 -0
- package/storybook-static/assets/useThemeProps-U4yXiZ_5.js +1 -0
- package/storybook-static/assets/useTimeout-DNjRaOWc.js +1 -0
- package/storybook-static/assets/visuallyHidden-Dan1xhjv.js +1 -0
- package/storybook-static/favicon-wrapper.svg +46 -0
- package/storybook-static/favicon.svg +1 -0
- package/storybook-static/iframe.html +686 -0
- package/storybook-static/index.html +160 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js +356 -0
- package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js.LEGAL.txt +40 -0
- package/storybook-static/sb-addons/docs-4/manager-bundle.js +151 -0
- package/storybook-static/sb-addons/onboarding-1/manager-bundle.js +127 -0
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +971 -0
- package/storybook-static/sb-addons/vitest-3/manager-bundle.js +3 -0
- package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
- package/storybook-static/sb-common-assets/favicon.svg +1 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-module-info.js +797 -0
- package/storybook-static/sb-manager/globals-runtime.js +69679 -0
- package/storybook-static/sb-manager/globals.js +34 -0
- package/storybook-static/sb-manager/runtime.js +13195 -0
- package/storybook-static/vite-inject-mocker-entry.js +18 -0
- package/tailwind.config.js +10 -0
- package/tsconfig.json +48 -0
- package/tsup.config.js +41 -0
- package/vite.config.js +132 -0
- package/vitest.config.ts +35 -0
- package/dist/components/AppBar/AppBarBrand.d.ts +0 -31
- package/dist/components/AppBar/AppBarUserMenu.d.ts +0 -65
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +0 -1
- package/dist/components/DatePicker/DatePicker.types.d.ts +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.cjs.map +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +0 -15
- package/dist/components/DateRangePicker/DateRangePicker.definitions.d.ts +0 -6
- package/dist/components/DateRangePicker/DateRangePicker.js.map +0 -1
- package/dist/components/DateRangePicker/index.d.ts +0 -1
- package/dist/components/DateRangePicker.d.ts +0 -2
- package/dist/components/DateTimePicker/DateTimePicker.types.d.ts +0 -1
- package/dist/components/Input/Input.types.d.ts +0 -1
- package/dist/components/PageLoader/PageLoader.cjs +0 -61
- package/dist/components/PageLoader/PageLoader.cjs.map +0 -1
- package/dist/components/PageLoader/PageLoader.d.ts +0 -38
- package/dist/components/PageLoader/PageLoader.js +0 -61
- package/dist/components/PageLoader/PageLoader.js.map +0 -1
- package/dist/components/PageLoader/index.d.ts +0 -2
- package/dist/components/PageLoader.d.ts +0 -6
- package/dist/components/ScrollTopButton/ScrollTopButton.cjs +0 -79
- package/dist/components/ScrollTopButton/ScrollTopButton.cjs.map +0 -1
- package/dist/components/ScrollTopButton/ScrollTopButton.d.ts +0 -48
- package/dist/components/ScrollTopButton/ScrollTopButton.js +0 -79
- package/dist/components/ScrollTopButton/ScrollTopButton.js.map +0 -1
- package/dist/components/ScrollTopButton/index.d.ts +0 -4
- package/dist/components/ScrollTopButton.d.ts +0 -6
- package/dist/components/Select/Select.definitions.d.ts +0 -17
- package/dist/components/Select/Select.types.d.ts +0 -1
- package/dist/components/Select/_parts/SelectSearchHeader.d.ts +0 -15
- package/dist/formField.sx-CQ1mbk9M.cjs.map +0 -1
- package/dist/formField.sx-DfVbMe0V.js.map +0 -1
- package/dist/hooks/Wizard/Wizard.cjs +0 -7
- package/dist/hooks/Wizard/Wizard.cjs.map +0 -1
- package/dist/hooks/Wizard/Wizard.js +0 -7
- package/dist/hooks/Wizard/Wizard.js.map +0 -1
- package/dist/hooks/Wizard/index.d.ts +0 -3
- package/dist/hooks/Wizard/useWizard.d.ts +0 -9
- package/dist/hooks/Wizard.d.ts +0 -2
- package/dist/useWizard-CWdIxZzX.cjs +0 -94
- package/dist/useWizard-CWdIxZzX.cjs.map +0 -1
- package/dist/useWizard-CWq--C3o.js +0 -95
- package/dist/useWizard-CWq--C3o.js.map +0 -1
- /package/dist/{styles.css → index.css} +0 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
Typography,
|
|
6
|
+
Avatar, // Necesario para la historia con avatar
|
|
7
|
+
Chip as MuiChip, // Renombrado para evitar conflicto con nuestro componente Chip
|
|
8
|
+
} from '@mui/material';
|
|
9
|
+
import DeleteIcon from '@mui/icons-material/Delete'; // Icono para deletable chip
|
|
10
|
+
import FaceIcon from '@mui/icons-material/Face'; // Icono para chip con icono
|
|
11
|
+
import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline'; // Icono para custom content
|
|
12
|
+
|
|
13
|
+
// Importa el componente Chip
|
|
14
|
+
import { Chip } from './Chip';
|
|
15
|
+
|
|
16
|
+
// Importa las definiciones de las historias
|
|
17
|
+
import {
|
|
18
|
+
BasicChipDefinition,
|
|
19
|
+
ClickableChipDefinition,
|
|
20
|
+
DeletableChipDefinition,
|
|
21
|
+
ChipWithAvatarDefinition,
|
|
22
|
+
ChipWithIconDefinition,
|
|
23
|
+
DisabledChipDefinition,
|
|
24
|
+
ChipVariantsDefinition,
|
|
25
|
+
ChipColorsDefinition,
|
|
26
|
+
ChipSizesDefinition,
|
|
27
|
+
CustomContentChipDefinition,
|
|
28
|
+
} from './Chip.definitions';
|
|
29
|
+
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// Definición de las meta-propiedades para Storybook
|
|
32
|
+
// =============================================================================
|
|
33
|
+
const meta: Meta<typeof Chip> = {
|
|
34
|
+
title: 'Components/Chip',
|
|
35
|
+
component: Chip,
|
|
36
|
+
tags: ['autodocs'],
|
|
37
|
+
parameters: {
|
|
38
|
+
layout: 'centered',
|
|
39
|
+
docs: {
|
|
40
|
+
description: {
|
|
41
|
+
component: 'Un componente `Chip` reutilizable de Material UI que muestra una pequeña pieza de información. Soporta varias variantes visuales, avatares, iconos y acciones.',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
argTypes: {
|
|
46
|
+
label: { control: 'text', description: 'El contenido principal del chip. Puede ser un string o JSX.' },
|
|
47
|
+
onClick: { action: 'clicked', description: 'Función de callback que se dispara al hacer click en el chip.' },
|
|
48
|
+
onDelete: { action: 'deleted', description: 'Función de callback que se dispara al hacer click en el botón de borrar del chip. Si se provee, muestra un botón de borrar.' },
|
|
49
|
+
avatar: { control: false, description: 'Un componente `Avatar` a mostrar al inicio del chip.' },
|
|
50
|
+
icon: { control: false, description: 'Un componente `Icon` a mostrar al inicio del chip (alternativa al avatar).' },
|
|
51
|
+
disabled: { control: 'boolean', description: 'Si es verdadero, el chip estará deshabilitado y no interactuable.' },
|
|
52
|
+
variant: {
|
|
53
|
+
control: 'radio',
|
|
54
|
+
options: ['filled', 'outlined'],
|
|
55
|
+
description: 'La variante visual del chip.',
|
|
56
|
+
defaultValue: 'filled',
|
|
57
|
+
},
|
|
58
|
+
color: {
|
|
59
|
+
control: 'select',
|
|
60
|
+
options: ['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning'],
|
|
61
|
+
description: 'El color predefinido del chip.',
|
|
62
|
+
defaultValue: 'default',
|
|
63
|
+
},
|
|
64
|
+
size: {
|
|
65
|
+
control: 'radio',
|
|
66
|
+
options: ['small', 'medium'],
|
|
67
|
+
description: 'El tamaño del chip.',
|
|
68
|
+
defaultValue: 'medium',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default meta;
|
|
74
|
+
type Story = StoryObj<typeof Chip>;
|
|
75
|
+
|
|
76
|
+
// =============================================================================
|
|
77
|
+
// Historias
|
|
78
|
+
// =============================================================================
|
|
79
|
+
|
|
80
|
+
export const BasicChip: Story = {
|
|
81
|
+
render: () => {
|
|
82
|
+
return <Chip label="Etiqueta Básica" />;
|
|
83
|
+
},
|
|
84
|
+
parameters: {
|
|
85
|
+
docs: {
|
|
86
|
+
description: {
|
|
87
|
+
story: "Un chip simple con solo una etiqueta de texto."
|
|
88
|
+
},
|
|
89
|
+
source: { code: BasicChipDefinition.trim() }
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export const ClickableChip: Story = {
|
|
95
|
+
render: () => {
|
|
96
|
+
const handleClick = () => {
|
|
97
|
+
alert('Chip clickeado!');
|
|
98
|
+
};
|
|
99
|
+
return <Chip label="Clickeable" onClick={handleClick} />;
|
|
100
|
+
},
|
|
101
|
+
parameters: {
|
|
102
|
+
docs: {
|
|
103
|
+
description: {
|
|
104
|
+
story: "Un chip que puede ser clickeado y dispara un evento `onClick`."
|
|
105
|
+
},
|
|
106
|
+
source: { code: ClickableChipDefinition.trim() }
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const DeletableChip: Story = {
|
|
112
|
+
render: () => {
|
|
113
|
+
const handleDelete = () => {
|
|
114
|
+
alert('Chip borrado!');
|
|
115
|
+
};
|
|
116
|
+
return <Chip label="Borrable" onDelete={handleDelete} deleteIcon={<DeleteIcon />} />;
|
|
117
|
+
},
|
|
118
|
+
parameters: {
|
|
119
|
+
docs: {
|
|
120
|
+
description: {
|
|
121
|
+
story: "Un chip que incluye un botón de borrar (`DeleteIcon` por defecto o personalizado) y dispara un evento `onDelete`."
|
|
122
|
+
},
|
|
123
|
+
source: { code: DeletableChipDefinition.trim() }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export const ChipWithAvatar: Story = {
|
|
129
|
+
render: () => {
|
|
130
|
+
return (
|
|
131
|
+
<Chip
|
|
132
|
+
label="Con Avatar"
|
|
133
|
+
avatar={<Avatar alt="Avatar" src="https://placehold.co/40x40/FF7F50/FFFFFF?text=A" />}
|
|
134
|
+
/>
|
|
135
|
+
);
|
|
136
|
+
},
|
|
137
|
+
parameters: {
|
|
138
|
+
docs: {
|
|
139
|
+
description: {
|
|
140
|
+
story: "Un chip que muestra un `Avatar` al inicio, útil para representar usuarios o entidades."
|
|
141
|
+
},
|
|
142
|
+
source: { code: ChipWithAvatarDefinition.trim() }
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export const ChipWithIcon: Story = {
|
|
148
|
+
render: () => {
|
|
149
|
+
return <Chip label="Con Icono" icon={<FaceIcon />} />;
|
|
150
|
+
},
|
|
151
|
+
parameters: {
|
|
152
|
+
docs: {
|
|
153
|
+
description: {
|
|
154
|
+
story: "Un chip que muestra un `Icon` de Material UI al inicio, como alternativa a un avatar."
|
|
155
|
+
},
|
|
156
|
+
source: { code: ChipWithIconDefinition.trim() }
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export const DisabledChip: Story = {
|
|
162
|
+
render: () => {
|
|
163
|
+
return (
|
|
164
|
+
<Box sx={{ display: 'flex', gap: 2 }}>
|
|
165
|
+
<Chip label="Deshabilitado" disabled />
|
|
166
|
+
<Chip label="Deshabilitado Borrable" onDelete={() => alert('No se puede borrar!')} disabled />
|
|
167
|
+
</Box>
|
|
168
|
+
);
|
|
169
|
+
},
|
|
170
|
+
parameters: {
|
|
171
|
+
docs: {
|
|
172
|
+
description: {
|
|
173
|
+
story: "Chips que están deshabilitados, impidiendo cualquier interacción o acción."
|
|
174
|
+
},
|
|
175
|
+
source: { code: DisabledChipDefinition.trim() }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export const ChipVariants: Story = {
|
|
181
|
+
render: () => {
|
|
182
|
+
return (
|
|
183
|
+
<Box sx={{ display: 'flex', gap: 2 }}>
|
|
184
|
+
<Chip label="Filled (Default)" />
|
|
185
|
+
<Chip label="Outlined" variant="outlined" />
|
|
186
|
+
</Box>
|
|
187
|
+
);
|
|
188
|
+
},
|
|
189
|
+
parameters: {
|
|
190
|
+
docs: {
|
|
191
|
+
story: "Demuestra las variantes `filled` (por defecto) y `outlined` del chip."
|
|
192
|
+
},
|
|
193
|
+
source: { code: ChipVariantsDefinition.trim() }
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
export const ChipColors: Story = {
|
|
198
|
+
render: () => {
|
|
199
|
+
return (
|
|
200
|
+
<Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 2 }}>
|
|
201
|
+
<Chip label="Default" />
|
|
202
|
+
<Chip label="Primary" color="primary" />
|
|
203
|
+
<Chip label="Secondary" color="secondary" />
|
|
204
|
+
<Chip label="Error" color="error" />
|
|
205
|
+
<Chip label="Info" color="info" />
|
|
206
|
+
<Chip label="Success" color="success" />
|
|
207
|
+
<Chip label="Warning" color="warning" />
|
|
208
|
+
<MuiChip label="Primary Outlined" color="primary" variant="outlined" /> {/* Usando MuiChip para demostrar combinado */}
|
|
209
|
+
<MuiChip label="Success Outlined" color="success" variant="outlined" /> {/* Usando MuiChip para demostrar combinado */}
|
|
210
|
+
</Box>
|
|
211
|
+
);
|
|
212
|
+
},
|
|
213
|
+
parameters: {
|
|
214
|
+
docs: {
|
|
215
|
+
story: "Ejemplos de chips con diferentes colores predefinidos de Material UI, tanto en variante `filled` como `outlined`."
|
|
216
|
+
},
|
|
217
|
+
source: { code: ChipColorsDefinition.trim() }
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const ChipSizes: Story = {
|
|
222
|
+
render: () => {
|
|
223
|
+
return (
|
|
224
|
+
<Box sx={{ display: 'flex', gap: 2, alignItems: 'center' }}>
|
|
225
|
+
<Chip label="Pequeño" size="small" />
|
|
226
|
+
<Chip label="Mediano (Default)" size="medium" />
|
|
227
|
+
</Box>
|
|
228
|
+
);
|
|
229
|
+
},
|
|
230
|
+
parameters: {
|
|
231
|
+
docs: {
|
|
232
|
+
story: "Demuestra los diferentes tamaños disponibles para el chip: `small` y `medium`."
|
|
233
|
+
},
|
|
234
|
+
source: { code: ChipSizesDefinition.trim() }
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
export const CustomContentChip: Story = {
|
|
239
|
+
render: () => {
|
|
240
|
+
const handleClick = () => alert('Perfil visto!');
|
|
241
|
+
const handleDelete = () => alert('Perfil eliminado!');
|
|
242
|
+
|
|
243
|
+
return (
|
|
244
|
+
<Chip
|
|
245
|
+
avatar={<Avatar src="https://placehold.co/40x40/87CEEB/FFFFFF?text=PR" />}
|
|
246
|
+
label={
|
|
247
|
+
<Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>
|
|
248
|
+
<CheckCircleOutlineIcon sx={{ fontSize: 16 }} />
|
|
249
|
+
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>Perfil Completo</Typography>
|
|
250
|
+
</Box>
|
|
251
|
+
}
|
|
252
|
+
onDelete={handleDelete}
|
|
253
|
+
onClick={handleClick}
|
|
254
|
+
color="info"
|
|
255
|
+
variant="outlined"
|
|
256
|
+
/>
|
|
257
|
+
);
|
|
258
|
+
},
|
|
259
|
+
parameters: {
|
|
260
|
+
docs: {
|
|
261
|
+
story: "Un chip con contenido personalizado en su etiqueta, combinando iconos y tipografía avanzada."
|
|
262
|
+
},
|
|
263
|
+
source: { code: CustomContentChipDefinition.trim() }
|
|
264
|
+
}
|
|
265
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Chip as MuiChip, ChipProps as MuiChipProps } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
// Define las props para el componente Chip personalizado
|
|
5
|
+
// Omitimos algunas props de MuiChipProps que redefiniremos para mayor claridad
|
|
6
|
+
export interface ChipProps extends Omit<MuiChipProps, 'onClick' | 'onDelete' | 'avatar' | 'icon' | 'label' | 'variant' | 'color' | 'size'> {
|
|
7
|
+
// Contenido principal del chip
|
|
8
|
+
label: React.ReactNode;
|
|
9
|
+
// Handler para el evento click del chip
|
|
10
|
+
onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
11
|
+
// Handler para el evento delete del chip (muestra un botón de borrar)
|
|
12
|
+
onDelete?: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
13
|
+
// Elemento Avatar a mostrar al inicio del chip
|
|
14
|
+
avatar?: React.ReactElement;
|
|
15
|
+
// Icono a mostrar al inicio del chip (alternativa a avatar)
|
|
16
|
+
icon?: React.ReactElement;
|
|
17
|
+
// Si el chip está deshabilitado
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
// Variante visual del chip
|
|
20
|
+
variant?: 'filled' | 'outlined';
|
|
21
|
+
// Color del chip
|
|
22
|
+
color?: 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning';
|
|
23
|
+
// Tamaño del chip
|
|
24
|
+
size?: 'small' | 'medium';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Componente Chip personalizado de Material UI.
|
|
29
|
+
* Proporciona una interfaz simplificada para el componente Chip de Material UI,
|
|
30
|
+
* permitiendo una fácil personalización de etiquetas, avatares, iconos y acciones.
|
|
31
|
+
*/
|
|
32
|
+
export const Chip: React.FC<ChipProps> = ({
|
|
33
|
+
label,
|
|
34
|
+
onClick,
|
|
35
|
+
onDelete,
|
|
36
|
+
avatar,
|
|
37
|
+
icon,
|
|
38
|
+
disabled = false,
|
|
39
|
+
variant = 'filled', // Default variant
|
|
40
|
+
color = 'default', // Default color
|
|
41
|
+
size = 'medium', // Default size
|
|
42
|
+
...rest // Permite pasar otras props de MuiChipProps (ej. sx, className)
|
|
43
|
+
}) => {
|
|
44
|
+
return (
|
|
45
|
+
<MuiChip
|
|
46
|
+
label={label}
|
|
47
|
+
onClick={onClick}
|
|
48
|
+
onDelete={onDelete}
|
|
49
|
+
avatar={avatar}
|
|
50
|
+
icon={icon}
|
|
51
|
+
disabled={disabled}
|
|
52
|
+
variant={variant}
|
|
53
|
+
color={color}
|
|
54
|
+
size={size}
|
|
55
|
+
clickable={!!onClick} // Habilita el estilo clickable si se proporciona onClick
|
|
56
|
+
{...rest}
|
|
57
|
+
/>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export default Chip;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// -----------------------------------------------------------------------------
|
|
2
|
+
// Componente Column: Define la estructura de una columna en la tabla.
|
|
3
|
+
// Este componente NO renderiza nada directamente, solo pasa sus props al componente Table.
|
|
4
|
+
// -----------------------------------------------------------------------------
|
|
5
|
+
// Tipo auxiliar para 'field'.
|
|
6
|
+
// Define si 'field' es una sola clave (keyof T) o un array de claves (Array<keyof T>).
|
|
7
|
+
type FieldName<T> = keyof T | Array<keyof T>;
|
|
8
|
+
|
|
9
|
+
export interface ColumnProps<T> {
|
|
10
|
+
name: string; // Nombre a mostrar en el encabezado de la columna
|
|
11
|
+
field: FieldName<T>; // Define el campo o campos a usar de los datos
|
|
12
|
+
// La prop 'children' ahora recibe 'Partial<T>'.
|
|
13
|
+
// Esto permite a TypeScript inferir los tipos de las propiedades desestructuradas
|
|
14
|
+
// como 'avatar', 'nombre', etc., basándose en la interfaz genérica 'T' de tu data.
|
|
15
|
+
width?: string;
|
|
16
|
+
children: (fieldData: Partial<T>) => React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// El componente Column no renderiza nada directamente en el DOM.
|
|
20
|
+
// Su propósito es actuar como un contenedor de configuración para el componente Table.
|
|
21
|
+
export function Column<T>(_props: ColumnProps<T>): React.ReactNode {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Esto es crucial para que el componente Table pueda identificar a nuestros componentes Column
|
|
26
|
+
// entre sus hijos, utilizando (child.type as any).displayName === 'Column'.
|
|
27
|
+
Column.displayName = 'Column';
|
|
28
|
+
|
|
29
|
+
export default Column;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
// DatePicker.definitions.ts
|
|
2
|
+
|
|
3
|
+
export const BasicDatePickerDefinition = `
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
6
|
+
import dayjs from 'dayjs';
|
|
7
|
+
import { Box, Typography } from '@mui/material';
|
|
8
|
+
|
|
9
|
+
export const BasicDatePickerExample = () => {
|
|
10
|
+
const [selectedDate, setSelectedDate] = useState(dayjs());
|
|
11
|
+
return (
|
|
12
|
+
<Box sx={{ width: 300 }}>
|
|
13
|
+
<DatePicker
|
|
14
|
+
label="Seleccionar Fecha"
|
|
15
|
+
selectedDate={selectedDate}
|
|
16
|
+
onDateChange={setSelectedDate}
|
|
17
|
+
/>
|
|
18
|
+
<Typography sx={{ mt: 2 }}>
|
|
19
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
20
|
+
</Typography>
|
|
21
|
+
</Box>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
`;
|
|
25
|
+
|
|
26
|
+
export const DatePickerWithMinMaxDefinition = `
|
|
27
|
+
import React, { useState } from 'react';
|
|
28
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
29
|
+
import dayjs from 'dayjs';
|
|
30
|
+
import { Box, Typography } from '@mui/material';
|
|
31
|
+
|
|
32
|
+
export const DatePickerWithMinMaxExample = () => {
|
|
33
|
+
const [selectedDate, setSelectedDate] = useState(dayjs('2023-06-15'));
|
|
34
|
+
const minDate = dayjs('2023-06-01');
|
|
35
|
+
const maxDate = dayjs('2023-06-30');
|
|
36
|
+
return (
|
|
37
|
+
<Box sx={{ width: 300 }}>
|
|
38
|
+
<DatePicker
|
|
39
|
+
label="Fecha en Junio"
|
|
40
|
+
selectedDate={selectedDate}
|
|
41
|
+
onDateChange={setSelectedDate}
|
|
42
|
+
minDate={minDate}
|
|
43
|
+
maxDate={maxDate}
|
|
44
|
+
/>
|
|
45
|
+
<Typography sx={{ mt: 2 }}>
|
|
46
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
47
|
+
</Typography>
|
|
48
|
+
<Typography variant="caption" color="text.secondary">
|
|
49
|
+
(Rango: \${minDate.format('YYYY-MM-DD')} a \${maxDate.format('YYYY-MM-DD')})
|
|
50
|
+
</Typography>
|
|
51
|
+
</Box>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
`;
|
|
55
|
+
|
|
56
|
+
export const DateRangePickerDefinition = `
|
|
57
|
+
import React, { useState } from 'react';
|
|
58
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
59
|
+
import dayjs from 'dayjs';
|
|
60
|
+
import { Box, Typography } from '@mui/material';
|
|
61
|
+
|
|
62
|
+
export const DateRangePickerExample = () => {
|
|
63
|
+
const [startDate, setStartDate] = useState(dayjs('2023-01-01'));
|
|
64
|
+
const [endDate, setEndDate] = useState(dayjs('2023-01-31'));
|
|
65
|
+
|
|
66
|
+
const handleStartDateChange = (date) => {
|
|
67
|
+
setStartDate(date);
|
|
68
|
+
if (date && endDate && date.isAfter(endDate)) {
|
|
69
|
+
setEndDate(date);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const handleEndDateChange = (date) => {
|
|
74
|
+
setEndDate(date);
|
|
75
|
+
if (date && startDate && date.isBefore(startDate)) {
|
|
76
|
+
setStartDate(date);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
<Box sx={{ display: 'flex', gap: 3, flexDirection: 'column' }}>
|
|
82
|
+
<DatePicker
|
|
83
|
+
label="Fecha de Inicio"
|
|
84
|
+
selectedDate={startDate}
|
|
85
|
+
onDateChange={handleStartDateChange}
|
|
86
|
+
maxDate={endDate || undefined}
|
|
87
|
+
/>
|
|
88
|
+
<DatePicker
|
|
89
|
+
label="Fecha de Fin"
|
|
90
|
+
selectedDate={endDate}
|
|
91
|
+
onDateChange={handleEndDateChange}
|
|
92
|
+
minDate={startDate || undefined}
|
|
93
|
+
/>
|
|
94
|
+
<Typography>
|
|
95
|
+
Inicio: {startDate ? startDate.format('YYYY-MM-DD') : 'N/A'} |
|
|
96
|
+
Fin: {endDate ? endDate.format('YYYY-MM-DD') : 'N/A'}
|
|
97
|
+
</Typography>
|
|
98
|
+
</Box>
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
export const DatePickerWithErrorDefinition = `
|
|
104
|
+
import React, { useState } from 'react';
|
|
105
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
106
|
+
import dayjs from 'dayjs';
|
|
107
|
+
import { Box, Typography } from '@mui/material';
|
|
108
|
+
|
|
109
|
+
export const DatePickerWithErrorExample = () => {
|
|
110
|
+
const [selectedDate, setSelectedDate] = useState(dayjs('2023-01-01'));
|
|
111
|
+
// Intentamos establecer una fecha fuera de un rango muy restringido para forzar un error
|
|
112
|
+
const minDate = dayjs('2023-01-05');
|
|
113
|
+
const maxDate = dayjs('2023-01-10');
|
|
114
|
+
|
|
115
|
+
return (
|
|
116
|
+
<Box sx={{ width: 300 }}>
|
|
117
|
+
<DatePicker
|
|
118
|
+
label="Fecha (con error de rango)"
|
|
119
|
+
selectedDate={selectedDate}
|
|
120
|
+
onDateChange={setSelectedDate}
|
|
121
|
+
minDate={minDate}
|
|
122
|
+
maxDate={maxDate}
|
|
123
|
+
/>
|
|
124
|
+
<Typography sx={{ mt: 2 }}>
|
|
125
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
126
|
+
</Typography>
|
|
127
|
+
<Typography variant="caption" color="error">
|
|
128
|
+
(Intenta seleccionar una fecha fuera de \${minDate.format('YYYY-MM-DD')} - \${maxDate.format('YYYY-MM-DD')})
|
|
129
|
+
</Typography>
|
|
130
|
+
</Box>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
`;
|
|
134
|
+
|
|
135
|
+
export const DatePickerSmallSizeDefinition = `
|
|
136
|
+
import React, { useState } from 'react';
|
|
137
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
138
|
+
import dayjs from 'dayjs';
|
|
139
|
+
import { Box, Typography } from '@mui/material';
|
|
140
|
+
|
|
141
|
+
export const DatePickerSmallSizeExample = () => {
|
|
142
|
+
const [selectedDate, setSelectedDate] = useState(dayjs());
|
|
143
|
+
return (
|
|
144
|
+
<Box sx={{ width: 250 }}>
|
|
145
|
+
<DatePicker
|
|
146
|
+
label="Fecha (Pequeño)"
|
|
147
|
+
selectedDate={selectedDate}
|
|
148
|
+
onDateChange={setSelectedDate}
|
|
149
|
+
slotProps={{ textField: { size: 'small' } }} // Prop para hacer el TextField pequeño
|
|
150
|
+
/>
|
|
151
|
+
<Typography sx={{ mt: 2 }}>
|
|
152
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
153
|
+
</Typography>
|
|
154
|
+
</Box>
|
|
155
|
+
);
|
|
156
|
+
};
|
|
157
|
+
`;
|
|
158
|
+
|
|
159
|
+
export const DatePickerDisabledDefinition = `
|
|
160
|
+
import React, { useState } from 'react';
|
|
161
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
162
|
+
import dayjs from 'dayjs';
|
|
163
|
+
import { Box, Typography } from '@mui/material';
|
|
164
|
+
|
|
165
|
+
export const DatePickerDisabledExample = () => {
|
|
166
|
+
const [selectedDate, setSelectedDate] = useState(dayjs());
|
|
167
|
+
return (
|
|
168
|
+
<Box sx={{ width: 300 }}>
|
|
169
|
+
<DatePicker
|
|
170
|
+
label="Fecha (Deshabilitado)"
|
|
171
|
+
selectedDate={selectedDate}
|
|
172
|
+
onDateChange={setSelectedDate}
|
|
173
|
+
disabled
|
|
174
|
+
/>
|
|
175
|
+
<Typography sx={{ mt: 2 }}>
|
|
176
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
177
|
+
</Typography>
|
|
178
|
+
</Box>
|
|
179
|
+
);
|
|
180
|
+
};
|
|
181
|
+
`;
|
|
182
|
+
|
|
183
|
+
export const DatePickerReadOnlyDefinition = `
|
|
184
|
+
import React, { useState } from 'react';
|
|
185
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
186
|
+
import dayjs from 'dayjs';
|
|
187
|
+
import { Box, Typography } from '@mui/material';
|
|
188
|
+
|
|
189
|
+
export const DatePickerReadOnlyDefinition = () => {
|
|
190
|
+
const [selectedDate, setSelectedDate] = useState<Dayjs | null>(dayjs('2024-07-24'));
|
|
191
|
+
return (
|
|
192
|
+
<Box sx={{ width: 300 }}>
|
|
193
|
+
<DatePicker
|
|
194
|
+
label="Fecha (Solo Lectura)"
|
|
195
|
+
selectedDate={selectedDate}
|
|
196
|
+
onDateChange={() => {}} // No permite cambios
|
|
197
|
+
readOnly
|
|
198
|
+
/>
|
|
199
|
+
<Typography sx={{ mt: 2 }}>
|
|
200
|
+
Fecha seleccionada: {selectedDate ? selectedDate.format('YYYY-MM-DD') : 'Ninguna'}
|
|
201
|
+
</Typography>
|
|
202
|
+
</Box>
|
|
203
|
+
);
|
|
204
|
+
};
|
|
205
|
+
`;
|
|
206
|
+
export const DatePickerEmptyWithMaskDefinition = `
|
|
207
|
+
import React, { useState } from 'react';
|
|
208
|
+
import { DatePicker } from '@soyfri/shared-library/DatePicker';
|
|
209
|
+
import { Dayjs } from 'dayjs';
|
|
210
|
+
import { Box, Typography } from '@mui/material';
|
|
211
|
+
|
|
212
|
+
export const DatePickerEmptyWithMaskExample = () => {
|
|
213
|
+
const [selectedDate, setSelectedDate] = useState<Dayjs | null>(null);
|
|
214
|
+
return (
|
|
215
|
+
<Box sx={{ width: 300 }}>
|
|
216
|
+
<DatePicker
|
|
217
|
+
label="Fecha"
|
|
218
|
+
selectedDate={selectedDate}
|
|
219
|
+
onDateChange={setSelectedDate}
|
|
220
|
+
format="DD/MM/YY"
|
|
221
|
+
/>
|
|
222
|
+
<Typography sx={{ mt: 2 }} variant="caption" color="text.secondary">
|
|
223
|
+
Al estar vacío, el campo muestra la máscara del formato (DD/MM/AA).
|
|
224
|
+
</Typography>
|
|
225
|
+
</Box>
|
|
226
|
+
);
|
|
227
|
+
};
|
|
228
|
+
`;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DateValidationError } from '@mui/x-date-pickers/models';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Traduce el código de error del DatePicker de MUI X a un mensaje en español.
|
|
5
|
+
* Se usa internamente para poblar `helperText` cuando hay error de validación
|
|
6
|
+
* y el consumer no pasó un mensaje propio.
|
|
7
|
+
*/
|
|
8
|
+
export const getDateValidationMessage = (
|
|
9
|
+
error: DateValidationError | null,
|
|
10
|
+
): string => {
|
|
11
|
+
switch (error) {
|
|
12
|
+
case 'minDate':
|
|
13
|
+
case 'maxDate':
|
|
14
|
+
return 'Fecha fuera del rango permitido';
|
|
15
|
+
case 'invalidDate':
|
|
16
|
+
return 'Formato de fecha inválido';
|
|
17
|
+
case 'disableFuture':
|
|
18
|
+
return 'No se permiten fechas futuras';
|
|
19
|
+
case 'disablePast':
|
|
20
|
+
return 'No se permiten fechas pasadas';
|
|
21
|
+
default:
|
|
22
|
+
return '';
|
|
23
|
+
}
|
|
24
|
+
};
|