@soyfri/shared-library 1.5.0 → 1.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button-C17mExpd.cjs.map +1 -0
- package/Button-UkkP-bNw.js.map +1 -0
- package/components/ActionMenu/ActionMenu.cjs +107 -0
- package/components/ActionMenu/ActionMenu.cjs.map +1 -0
- package/components/ActionMenu/ActionMenu.d.ts +44 -0
- package/components/ActionMenu/ActionMenu.js +107 -0
- package/components/ActionMenu/ActionMenu.js.map +1 -0
- package/components/ActionMenu/index.d.ts +2 -0
- package/components/ActionMenu.d.ts +6 -0
- package/components/AppBar/AppBar.cjs +129 -0
- package/components/AppBar/AppBar.cjs.map +1 -0
- package/components/AppBar/AppBar.d.ts +55 -0
- package/components/AppBar/AppBar.js +129 -0
- package/components/AppBar/AppBar.js.map +1 -0
- package/components/AppBar/AppBar.sx.d.ts +12 -0
- package/components/AppBar/AppBarContext.d.ts +18 -0
- package/components/AppBar/AppBarMenuToggle.d.ts +39 -0
- package/components/AppBar/index.d.ts +6 -0
- package/components/AppBar.d.ts +6 -0
- package/components/Autocomplete/Autocomplete.cjs +313 -0
- package/components/Autocomplete/Autocomplete.cjs.map +1 -0
- package/components/Autocomplete/Autocomplete.d.ts +86 -0
- package/components/Autocomplete/Autocomplete.definitions.d.ts +16 -0
- package/components/Autocomplete/Autocomplete.helpers.d.ts +22 -0
- package/components/Autocomplete/Autocomplete.js +313 -0
- package/components/Autocomplete/Autocomplete.js.map +1 -0
- package/components/Autocomplete/Autocomplete.sx.d.ts +7 -0
- package/components/Autocomplete/_parts/AutocompleteChips.d.ts +20 -0
- package/components/Autocomplete/_parts/AutocompleteLoader.d.ts +9 -0
- package/components/Autocomplete/_parts/AutocompleteOption.d.ts +16 -0
- package/components/Autocomplete/index.d.ts +2 -0
- package/components/Autocomplete.d.ts +6 -0
- package/components/Avatar/Avatar.cjs +162 -0
- package/components/Avatar/Avatar.cjs.map +1 -0
- package/components/Avatar/Avatar.d.ts +33 -0
- package/components/Avatar/Avatar.definitions.d.ts +11 -0
- package/components/Avatar/Avatar.js +162 -0
- package/components/Avatar/Avatar.js.map +1 -0
- package/components/Avatar/index.d.ts +2 -0
- package/{dist/components → components}/Button/Button.d.ts +5 -5
- package/{dist/components → components}/Button/index.d.ts +1 -0
- package/components/Card/Card.cjs +99 -0
- package/components/Card/Card.cjs.map +1 -0
- package/components/Card/Card.d.ts +36 -0
- package/components/Card/Card.js +99 -0
- package/components/Card/Card.js.map +1 -0
- package/components/Card/Card.sx.d.ts +14 -0
- package/components/Card/index.d.ts +4 -0
- package/components/Card.d.ts +6 -0
- package/components/Checkbox/Checkbox.cjs +189 -0
- package/components/Checkbox/Checkbox.cjs.map +1 -0
- package/components/Checkbox/Checkbox.d.ts +55 -0
- package/components/Checkbox/Checkbox.js +189 -0
- package/components/Checkbox/Checkbox.js.map +1 -0
- package/components/Checkbox/Checkbox.sx.d.ts +13 -0
- package/components/Checkbox/index.d.ts +2 -0
- package/components/Checkbox.d.ts +6 -0
- package/{dist/components → components}/Chip/Chip.cjs +2 -1
- package/components/Chip/Chip.cjs.map +1 -0
- package/{dist/components → components}/Chip/Chip.js +2 -1
- package/components/Chip/Chip.js.map +1 -0
- package/components/Chip/index.d.ts +2 -0
- package/components/Chip.d.ts +6 -0
- package/components/DatePicker/DatePicker.cjs +180 -0
- package/components/DatePicker/DatePicker.cjs.map +1 -0
- package/components/DatePicker/DatePicker.d.ts +44 -0
- package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +1 -0
- package/components/DatePicker/DatePicker.helpers.d.ts +7 -0
- package/components/DatePicker/DatePicker.js +180 -0
- package/components/DatePicker/DatePicker.js.map +1 -0
- package/components/DatePicker/DatePicker.sx.d.ts +9 -0
- package/components/DatePicker/index.d.ts +2 -0
- package/components/DatePicker.d.ts +6 -0
- package/components/DateTimePicker/DateTimePicker.cjs +198 -0
- package/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
- package/components/DateTimePicker/DateTimePicker.d.ts +57 -0
- package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +3 -0
- package/components/DateTimePicker/DateTimePicker.helpers.d.ts +13 -0
- package/components/DateTimePicker/DateTimePicker.js +198 -0
- package/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/components/DateTimePicker/DateTimePicker.sx.d.ts +7 -0
- package/components/DateTimePicker/index.d.ts +2 -0
- package/components/DateTimePicker.d.ts +6 -0
- package/components/Drawer/Drawer.cjs +272 -0
- package/components/Drawer/Drawer.cjs.map +1 -0
- package/components/Drawer/Drawer.d.ts +58 -0
- package/components/Drawer/Drawer.js +272 -0
- package/components/Drawer/Drawer.js.map +1 -0
- package/components/Drawer/Drawer.sx.d.ts +23 -0
- package/components/Drawer/DrawerContext.d.ts +18 -0
- package/components/Drawer/DrawerItem.d.ts +40 -0
- package/components/Drawer/index.d.ts +6 -0
- package/components/Drawer.d.ts +6 -0
- package/{dist/components → components}/Gallery/Gallery.cjs +154 -79
- package/components/Gallery/Gallery.cjs.map +1 -0
- package/components/Gallery/Gallery.d.ts +28 -0
- package/{dist/components → components}/Gallery/Gallery.js +154 -79
- package/components/Gallery/Gallery.js.map +1 -0
- package/components/Gallery/GalleryLightbox.d.ts +16 -0
- package/{dist/components → components}/Gallery/GalleryMain.d.ts +3 -7
- package/components/Gallery/GalleryThumbnails.d.ts +13 -0
- package/components/Gallery/index.d.ts +2 -0
- package/components/Gallery.d.ts +6 -0
- package/{dist/components → components}/Icon/Icon.cjs +49 -10
- package/components/Icon/Icon.cjs.map +1 -0
- package/components/Icon/Icon.d.ts +48 -0
- package/{dist/components → components}/Icon/Icon.js +49 -10
- package/components/Icon/Icon.js.map +1 -0
- package/components/Icon/index.d.ts +2 -0
- package/components/Icon.d.ts +6 -0
- package/components/Input/Input.cjs +188 -0
- package/components/Input/Input.cjs.map +1 -0
- package/components/Input/Input.d.ts +44 -0
- package/{dist/components → components}/Input/Input.definitions.d.ts +6 -2
- package/components/Input/Input.helpers.d.ts +14 -0
- package/components/Input/Input.js +188 -0
- package/components/Input/Input.js.map +1 -0
- package/components/Input/Input.sx.d.ts +8 -0
- package/components/Input/index.d.ts +2 -0
- package/components/Input.d.ts +6 -0
- package/components/InputGroup/InputGroup.cjs +140 -0
- package/components/InputGroup/InputGroup.cjs.map +1 -0
- package/components/InputGroup/InputGroup.d.ts +42 -0
- package/components/InputGroup/InputGroup.definitions.d.ts +6 -0
- package/components/InputGroup/InputGroup.js +140 -0
- package/components/InputGroup/InputGroup.js.map +1 -0
- package/components/InputGroup/index.d.ts +2 -0
- package/components/InputGroup.d.ts +6 -0
- package/components/Modal/Modal.cjs +348 -0
- package/components/Modal/Modal.cjs.map +1 -0
- package/components/Modal/Modal.d.ts +80 -0
- package/components/Modal/Modal.js +348 -0
- package/components/Modal/Modal.js.map +1 -0
- package/components/Modal/ModalBody.d.ts +11 -0
- package/components/Modal/ModalFooter.d.ts +27 -0
- package/components/Modal/ModalHeader.d.ts +11 -0
- package/components/Modal/index.d.ts +8 -0
- package/components/Modal.d.ts +6 -0
- package/components/RadioGroup/RadioGroup.cjs +204 -0
- package/components/RadioGroup/RadioGroup.cjs.map +1 -0
- package/components/RadioGroup/RadioGroup.d.ts +59 -0
- package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
- package/components/RadioGroup/RadioGroup.js +204 -0
- package/components/RadioGroup/RadioGroup.js.map +1 -0
- package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
- package/components/RadioGroup/index.d.ts +2 -0
- package/components/RadioGroup.d.ts +6 -0
- package/components/Select/Select.cjs +313 -0
- package/components/Select/Select.cjs.map +1 -0
- package/components/Select/Select.d.ts +95 -0
- package/components/Select/Select.helpers.d.ts +15 -0
- package/components/Select/Select.js +313 -0
- package/components/Select/Select.js.map +1 -0
- package/components/Select/Select.sx.d.ts +7 -0
- package/components/Select/_parts/SelectMenuItem.d.ts +20 -0
- package/components/Select/index.d.ts +2 -0
- package/components/Select.d.ts +6 -0
- package/{dist/components → components}/Stat/Stat.cjs +2 -2
- package/{dist/components → components}/Stat/Stat.cjs.map +1 -1
- package/{dist/components → components}/Stat/Stat.js +2 -2
- package/{dist/components → components}/Stat/Stat.js.map +1 -1
- package/components/Stat/index.d.ts +2 -0
- package/components/Stat.d.ts +6 -0
- package/components/StatusMessage/StatusMessage.cjs +90 -0
- package/components/StatusMessage/StatusMessage.cjs.map +1 -0
- package/components/StatusMessage/StatusMessage.d.ts +28 -0
- package/components/StatusMessage/StatusMessage.js +90 -0
- package/components/StatusMessage/StatusMessage.js.map +1 -0
- package/components/StatusMessage/index.d.ts +2 -0
- package/components/StatusMessage.d.ts +6 -0
- package/components/Stepper/Stepper.cjs +302 -0
- package/components/Stepper/Stepper.cjs.map +1 -0
- package/components/Stepper/Stepper.d.ts +17 -0
- package/components/Stepper/Stepper.js +302 -0
- package/components/Stepper/Stepper.js.map +1 -0
- package/components/Stepper/StepperContext.d.ts +73 -0
- package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
- package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
- package/components/Stepper/index.d.ts +6 -0
- package/components/Stepper.d.ts +6 -0
- package/components/Switch/Switch.cjs +184 -0
- package/components/Switch/Switch.cjs.map +1 -0
- package/components/Switch/Switch.d.ts +48 -0
- package/components/Switch/Switch.definitions.d.ts +7 -0
- package/components/Switch/Switch.js +184 -0
- package/components/Switch/Switch.js.map +1 -0
- package/components/Switch/Switch.sx.d.ts +22 -0
- package/components/Switch/Switch.types.d.ts +1 -0
- package/components/Switch/index.d.ts +2 -0
- package/components/Switch.d.ts +6 -0
- package/components/Tabs/Tabs.cjs +112 -0
- package/components/Tabs/Tabs.cjs.map +1 -0
- package/components/Tabs/Tabs.d.ts +24 -0
- package/components/Tabs/Tabs.js +112 -0
- package/components/Tabs/Tabs.js.map +1 -0
- package/components/Tabs/index.d.ts +4 -0
- package/components/Tabs.d.ts +6 -0
- package/{dist/components → components}/Timeline/Timeline.cjs +3 -2
- package/components/Timeline/Timeline.cjs.map +1 -0
- package/components/Timeline/Timeline.d.ts +9 -0
- package/{dist/components → components}/Timeline/Timeline.js +3 -2
- package/components/Timeline/Timeline.js.map +1 -0
- package/components/Timeline/index.d.ts +4 -0
- package/components/Timeline.d.ts +6 -0
- package/components/_shared/formField.sx.d.ts +33 -0
- package/components/_shared/mergeSx.d.ts +7 -0
- package/components/_shared/resolvePreset.d.ts +18 -0
- package/formField.sx-8_QRnKxv.js +68 -0
- package/formField.sx-8_QRnKxv.js.map +1 -0
- package/formField.sx-BAX7KwMR.cjs +67 -0
- package/formField.sx-BAX7KwMR.cjs.map +1 -0
- package/index.cjs +145 -0
- package/index.cjs.map +1 -0
- package/index.d.ts +4 -0
- package/index.js +49 -0
- package/index.js.map +1 -0
- package/mergeSx-BXoNZjB_.js +10 -0
- package/mergeSx-BXoNZjB_.js.map +1 -0
- package/mergeSx-Dbccoo_H.cjs +9 -0
- package/mergeSx-Dbccoo_H.cjs.map +1 -0
- package/mui.d.ts +7 -0
- package/package.json +164 -43
- package/resolvePreset-B-IB0ehH.js +15 -0
- package/resolvePreset-B-IB0ehH.js.map +1 -0
- package/resolvePreset-CT3kU-K2.cjs +14 -0
- package/resolvePreset-CT3kU-K2.cjs.map +1 -0
- package/theme/componentStyles.d.ts +32 -0
- package/theme/tokens.d.ts +28 -0
- package/tokens-BRrcP_p_.js +21 -0
- package/tokens-BRrcP_p_.js.map +1 -0
- package/tokens-jaWWNk39.cjs +20 -0
- package/tokens-jaWWNk39.cjs.map +1 -0
- package/utils/index.d.ts +2 -0
- package/utils/scrollToTop.d.ts +28 -0
- package/.dockerignore +0 -8
- package/.github/workflows/publish.yml +0 -107
- package/.prettierrc +0 -3
- package/.storybook/main.ts +0 -19
- package/.storybook/preview.ts +0 -14
- package/.storybook/vitest.setup.ts +0 -9
- package/Dockerfile +0 -37
- package/build.js +0 -102
- package/chromatic.config.json +0 -5
- package/cleanDirectories.js +0 -40
- package/dist/Button-C17mExpd.cjs.map +0 -1
- package/dist/Button-UkkP-bNw.js.map +0 -1
- package/dist/DatePicker-BSNboVhN.js +0 -201
- package/dist/DatePicker-BSNboVhN.js.map +0 -1
- package/dist/DatePicker-BoqxWAhj.cjs +0 -200
- package/dist/DatePicker-BoqxWAhj.cjs.map +0 -1
- package/dist/Input-DFHs7cJ_.js +0 -171
- package/dist/Input-DFHs7cJ_.js.map +0 -1
- package/dist/Input-c8MwNNPg.cjs +0 -170
- package/dist/Input-c8MwNNPg.cjs.map +0 -1
- package/dist/Select-BO2N56sm.cjs +0 -411
- package/dist/Select-BO2N56sm.cjs.map +0 -1
- package/dist/Select-BcLkyHSE.js +0 -412
- package/dist/Select-BcLkyHSE.js.map +0 -1
- package/dist/components/Autocomplete/Autocomplete.cjs +0 -109
- package/dist/components/Autocomplete/Autocomplete.cjs.map +0 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +0 -28
- package/dist/components/Autocomplete/Autocomplete.definitions.d.ts +0 -9
- package/dist/components/Autocomplete/Autocomplete.js +0 -109
- package/dist/components/Autocomplete/Autocomplete.js.map +0 -1
- package/dist/components/Autocomplete/index.d.ts +0 -1
- package/dist/components/Autocomplete.d.ts +0 -2
- package/dist/components/Avatar/Avatar.cjs +0 -126
- package/dist/components/Avatar/Avatar.cjs.map +0 -1
- package/dist/components/Avatar/Avatar.d.ts +0 -19
- package/dist/components/Avatar/Avatar.js +0 -126
- package/dist/components/Avatar/Avatar.js.map +0 -1
- package/dist/components/Avatar/index.d.ts +0 -1
- package/dist/components/Card/Card.cjs +0 -28
- package/dist/components/Card/Card.cjs.map +0 -1
- package/dist/components/Card/Card.d.ts +0 -13
- package/dist/components/Card/Card.js +0 -28
- package/dist/components/Card/Card.js.map +0 -1
- package/dist/components/Card/index.d.ts +0 -1
- package/dist/components/Card.d.ts +0 -2
- package/dist/components/Chip/Chip.cjs.map +0 -1
- package/dist/components/Chip/Chip.js.map +0 -1
- package/dist/components/Chip/index.d.ts +0 -1
- package/dist/components/Chip.d.ts +0 -2
- package/dist/components/DatePicker/DatePicker.cjs +0 -5
- package/dist/components/DatePicker/DatePicker.cjs.map +0 -1
- package/dist/components/DatePicker/DatePicker.d.ts +0 -18
- package/dist/components/DatePicker/DatePicker.js +0 -5
- package/dist/components/DatePicker/DatePicker.js.map +0 -1
- package/dist/components/DatePicker/index.d.ts +0 -1
- package/dist/components/DatePicker.d.ts +0 -2
- package/dist/components/DateTimePicker/DateTimePicker.cjs +0 -208
- package/dist/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -28
- package/dist/components/DateTimePicker/DateTimePicker.js +0 -208
- package/dist/components/DateTimePicker/DateTimePicker.js.map +0 -1
- package/dist/components/DateTimePicker/index.d.ts +0 -1
- package/dist/components/DateTimePicker.d.ts +0 -2
- package/dist/components/Gallery/Gallery.cjs.map +0 -1
- package/dist/components/Gallery/Gallery.d.ts +0 -12
- package/dist/components/Gallery/Gallery.js.map +0 -1
- package/dist/components/Gallery/GalleryLightbox.d.ts +0 -20
- package/dist/components/Gallery/GalleryThumbnails.d.ts +0 -17
- package/dist/components/Gallery/index.d.ts +0 -1
- package/dist/components/Gallery.d.ts +0 -2
- package/dist/components/Icon/Icon.cjs.map +0 -1
- package/dist/components/Icon/Icon.d.ts +0 -21
- package/dist/components/Icon/Icon.js.map +0 -1
- package/dist/components/Icon/index.d.ts +0 -1
- package/dist/components/Icon.d.ts +0 -2
- package/dist/components/Input/Input.cjs +0 -5
- package/dist/components/Input/Input.cjs.map +0 -1
- package/dist/components/Input/Input.d.ts +0 -32
- package/dist/components/Input/Input.js +0 -5
- package/dist/components/Input/Input.js.map +0 -1
- package/dist/components/Input/index.d.ts +0 -1
- package/dist/components/Input.d.ts +0 -2
- package/dist/components/InputGroup/InputGroup.cjs +0 -126
- package/dist/components/InputGroup/InputGroup.cjs.map +0 -1
- package/dist/components/InputGroup/InputGroup.d.ts +0 -6
- package/dist/components/InputGroup/InputGroup.js +0 -126
- package/dist/components/InputGroup/InputGroup.js.map +0 -1
- package/dist/components/InputGroup/index.d.ts +0 -1
- package/dist/components/InputGroup.d.ts +0 -2
- package/dist/components/Modal/Modal.cjs +0 -209
- package/dist/components/Modal/Modal.cjs.map +0 -1
- package/dist/components/Modal/Modal.d.ts +0 -29
- package/dist/components/Modal/Modal.js +0 -209
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Modal/ModalBody.d.ts +0 -6
- package/dist/components/Modal/ModalFooter.d.ts +0 -19
- package/dist/components/Modal/ModalHeader.d.ts +0 -6
- package/dist/components/Modal/index.d.ts +0 -1
- package/dist/components/Modal.d.ts +0 -2
- package/dist/components/Select/Select.cjs +0 -6
- package/dist/components/Select/Select.cjs.map +0 -1
- package/dist/components/Select/Select.d.ts +0 -60
- package/dist/components/Select/Select.definitions.d.ts +0 -14
- package/dist/components/Select/Select.js +0 -6
- package/dist/components/Select/Select.js.map +0 -1
- package/dist/components/Select/index.d.ts +0 -1
- package/dist/components/Select.d.ts +0 -2
- package/dist/components/Stat/index.d.ts +0 -1
- package/dist/components/Stat.d.ts +0 -2
- package/dist/components/StatusMessage/StatusMessage.cjs +0 -79
- package/dist/components/StatusMessage/StatusMessage.cjs.map +0 -1
- package/dist/components/StatusMessage/StatusMessage.d.ts +0 -44
- package/dist/components/StatusMessage/StatusMessage.js +0 -79
- package/dist/components/StatusMessage/StatusMessage.js.map +0 -1
- package/dist/components/StatusMessage/index.d.ts +0 -1
- package/dist/components/StatusMessage.d.ts +0 -2
- package/dist/components/Stepper/Stepper.cjs +0 -46
- package/dist/components/Stepper/Stepper.cjs.map +0 -1
- package/dist/components/Stepper/Stepper.d.ts +0 -11
- package/dist/components/Stepper/Stepper.js +0 -46
- package/dist/components/Stepper/Stepper.js.map +0 -1
- package/dist/components/Stepper/index.d.ts +0 -2
- package/dist/components/Stepper.d.ts +0 -2
- package/dist/components/Tabs/Tabs.cjs +0 -96
- package/dist/components/Tabs/Tabs.cjs.map +0 -1
- package/dist/components/Tabs/Tabs.d.ts +0 -19
- package/dist/components/Tabs/Tabs.js +0 -96
- package/dist/components/Tabs/Tabs.js.map +0 -1
- package/dist/components/Tabs/index.d.ts +0 -2
- package/dist/components/Tabs.d.ts +0 -2
- package/dist/components/Timeline/Timeline.cjs.map +0 -1
- package/dist/components/Timeline/Timeline.d.ts +0 -13
- package/dist/components/Timeline/Timeline.js.map +0 -1
- package/dist/components/Timeline/index.d.ts +0 -2
- package/dist/components/Timeline.d.ts +0 -2
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/styles.css +0 -112
- package/rollup.config.cjs +0 -87
- package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -254
- package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -387
- package/src/components/Autocomplete/Autocomplete.tsx +0 -139
- package/src/components/Autocomplete/index.ts +0 -1
- package/src/components/Avatar/Avatar.stories.tsx +0 -54
- package/src/components/Avatar/Avatar.tsx +0 -143
- package/src/components/Avatar/index.ts +0 -1
- package/src/components/Button/Button.definition.ts +0 -97
- package/src/components/Button/Button.stories.tsx +0 -285
- package/src/components/Button/Button.tsx +0 -67
- package/src/components/Button/index.ts +0 -1
- package/src/components/Card/Card.definition.ts +0 -5
- package/src/components/Card/Card.stories.tsx +0 -32
- package/src/components/Card/Card.tsx +0 -44
- package/src/components/Card/index.ts +0 -1
- package/src/components/Chip/Chip.definitions.ts +0 -167
- package/src/components/Chip/Chip.stories.tsx +0 -265
- package/src/components/Chip/Chip.tsx +0 -61
- package/src/components/Chip/index.ts +0 -1
- package/src/components/Column/Column.tsx +0 -29
- package/src/components/Column/index.ts +0 -1
- package/src/components/DatePicker/DatePicker.definitions.ts +0 -205
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -282
- package/src/components/DatePicker/DatePicker.tsx +0 -165
- package/src/components/DatePicker/index.ts +0 -1
- package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
- package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
- package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
- package/src/components/DateRangePicker/index.ts +0 -1
- package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -232
- package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -390
- package/src/components/DateTimePicker/DateTimePicker.tsx +0 -191
- package/src/components/DateTimePicker/index.ts +0 -1
- package/src/components/Flyout/Flyout.stories.tsx +0 -274
- package/src/components/Flyout/Flyout.tsx +0 -122
- package/src/components/Flyout/index.ts +0 -1
- package/src/components/Gallery/Gallery.definition.tsx +0 -37
- package/src/components/Gallery/Gallery.stories.tsx +0 -82
- package/src/components/Gallery/Gallery.tsx +0 -118
- package/src/components/Gallery/GalleryLightbox.tsx +0 -170
- package/src/components/Gallery/GalleryMain.tsx +0 -84
- package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
- package/src/components/Gallery/index.ts +0 -1
- package/src/components/Icon/Icon.stories.tsx +0 -54
- package/src/components/Icon/Icon.tsx +0 -94
- package/src/components/Icon/index.ts +0 -2
- package/src/components/Input/Input.definitions.ts +0 -252
- package/src/components/Input/Input.stories.tsx +0 -387
- package/src/components/Input/Input.tsx +0 -186
- package/src/components/Input/index.ts +0 -1
- package/src/components/InputGroup/InputGroup.stories.tsx +0 -136
- package/src/components/InputGroup/InputGroup.tsx +0 -136
- package/src/components/InputGroup/index.ts +0 -1
- package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
- package/src/components/MenuButton/MenuButton.tsx +0 -100
- package/src/components/MenuButton/index.ts +0 -1
- package/src/components/Modal/Modal.stories.tsx +0 -293
- package/src/components/Modal/Modal.tsx +0 -173
- package/src/components/Modal/ModalBody.tsx +0 -16
- package/src/components/Modal/ModalFooter.tsx +0 -61
- package/src/components/Modal/ModalHeader.tsx +0 -18
- package/src/components/Modal/index.ts +0 -1
- package/src/components/Select/Select.definitions.ts +0 -488
- package/src/components/Select/Select.stories.tsx +0 -569
- package/src/components/Select/Select.tsx +0 -468
- package/src/components/Select/index.ts +0 -1
- package/src/components/Stat/Stat.stories.tsx +0 -85
- package/src/components/Stat/Stat.tsx +0 -117
- package/src/components/Stat/index.ts +0 -2
- package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
- package/src/components/StatusMessage/StatusMessage.tsx +0 -162
- package/src/components/StatusMessage/index.ts +0 -2
- package/src/components/Stepper/Step.tsx +0 -21
- package/src/components/Stepper/Stepper.definition.ts +0 -75
- package/src/components/Stepper/Stepper.stories.tsx +0 -122
- package/src/components/Stepper/Stepper.tsx +0 -59
- package/src/components/Stepper/index.ts +0 -2
- package/src/components/Table/EmptyTable.png +0 -0
- package/src/components/Table/Table.definition.ts +0 -580
- package/src/components/Table/Table.stories.tsx +0 -853
- package/src/components/Table/Table.tsx +0 -495
- package/src/components/Table/data.ts +0 -134
- package/src/components/Table/exportsUtils.ts +0 -195
- package/src/components/Table/index.ts +0 -3
- package/src/components/Table/types.ts +0 -34
- package/src/components/Tabs/Tab.definition.ts +0 -53
- package/src/components/Tabs/Tab.tsx +0 -19
- package/src/components/Tabs/Tabs.stories.tsx +0 -118
- package/src/components/Tabs/Tabs.tsx +0 -99
- package/src/components/Tabs/_tabUtils.tsx +0 -4
- package/src/components/Tabs/index.ts +0 -2
- package/src/components/Timeline/Timeline.definition.ts +0 -43
- package/src/components/Timeline/Timeline.stories.tsx +0 -108
- package/src/components/Timeline/Timeline.tsx +0 -49
- package/src/components/Timeline/TimelineItem.tsx +0 -31
- package/src/components/Timeline/index.ts +0 -2
- package/src/components/Tooltip/Tooltip.stories.tsx +0 -117
- package/src/components/Tooltip/Tooltip.tsx +0 -58
- package/src/components/Tooltip/index.ts +0 -1
- package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
- package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
- package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
- package/src/hooks/ClipBoard/index.ts +0 -1
- package/src/index.ts +0 -1
- package/src/styles.css +0 -3
- package/tailwind.config.js +0 -10
- package/tsconfig.json +0 -48
- package/tsup.config.js +0 -41
- package/vite.config.js +0 -132
- package/vitest.config.ts +0 -35
- /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
- /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
- /package/{Readme.md → README.md} +0 -0
- /package/{dist/components → components}/Avatar.d.ts +0 -0
- /package/{dist/components → components}/Button/Button.cjs +0 -0
- /package/{dist/components → components}/Button/Button.cjs.map +0 -0
- /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
- /package/{dist/components → components}/Button/Button.js +0 -0
- /package/{dist/components → components}/Button/Button.js.map +0 -0
- /package/{dist/components → components}/Button.d.ts +0 -0
- /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
- /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
- /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
- /package/{dist/components → components}/Column/Column.cjs +0 -0
- /package/{dist/components → components}/Column/Column.cjs.map +0 -0
- /package/{dist/components → components}/Column/Column.d.ts +0 -0
- /package/{dist/components → components}/Column/Column.js +0 -0
- /package/{dist/components → components}/Column/Column.js.map +0 -0
- /package/{dist/components → components}/Column/index.d.ts +0 -0
- /package/{dist/components → components}/Column.d.ts +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
- /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
- /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
- /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
- /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
- /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
- /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
- /package/{dist/components → components}/Flyout/Flyout.js +0 -0
- /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
- /package/{dist/components → components}/Flyout/index.d.ts +0 -0
- /package/{dist/components → components}/Flyout.d.ts +0 -0
- /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
- /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
- /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
- /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
- /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
- /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
- /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
- /package/{dist/components → components}/MenuButton.d.ts +0 -0
- /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
- /package/{dist/components → components}/Table/Table.cjs +0 -0
- /package/{dist/components → components}/Table/Table.cjs.map +0 -0
- /package/{dist/components → components}/Table/Table.d.ts +0 -0
- /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
- /package/{dist/components → components}/Table/Table.js +0 -0
- /package/{dist/components → components}/Table/Table.js.map +0 -0
- /package/{dist/components → components}/Table/data.d.ts +0 -0
- /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
- /package/{dist/components → components}/Table/index.d.ts +0 -0
- /package/{dist/components → components}/Table/types.d.ts +0 -0
- /package/{dist/components → components}/Table.d.ts +0 -0
- /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
- /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
- /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
- /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
- /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
- /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
- /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
- /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
- /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
- /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
- /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
- /package/{dist/components → components}/Tooltip.d.ts +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
- /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
- /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
- /package/{dist/index.css → index.css} +0 -0
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import MuiTimeline from "@mui/lab/Timeline";
|
|
3
|
-
import { timelineContentClasses } from "@mui/lab/TimelineContent";
|
|
4
|
-
import { timelineItemClasses, TimelineItemProps as MuiTimelineItemProps } from "@mui/lab/TimelineItem";
|
|
5
|
-
import { Box } from "@mui/material";
|
|
6
|
-
|
|
7
|
-
interface TimelineItemProps extends MuiTimelineItemProps {
|
|
8
|
-
connectorColor?: string;
|
|
9
|
-
sx?: object;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface TimelineProps {
|
|
13
|
-
children: React.ReactElement<TimelineItemProps>[];
|
|
14
|
-
position?: "left" | "right" | 'alternate' | 'alternate-reverse' ;
|
|
15
|
-
sx?: object;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const Timeline: React.FC<TimelineProps> = ({ children, position = "right", sx }) => {
|
|
19
|
-
const count = React.Children.count(children);
|
|
20
|
-
|
|
21
|
-
const customSx = (position === "left" || position === "right")
|
|
22
|
-
? {
|
|
23
|
-
[`& .${timelineItemClasses.root}:before`]: {
|
|
24
|
-
flex: 0,
|
|
25
|
-
padding: 0,
|
|
26
|
-
},
|
|
27
|
-
...sx,
|
|
28
|
-
}
|
|
29
|
-
: sx;
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<MuiTimeline position={position}
|
|
33
|
-
sx={{...customSx}}
|
|
34
|
-
>
|
|
35
|
-
{React.Children.map(children, (child, idx) =>
|
|
36
|
-
React.isValidElement(child)
|
|
37
|
-
? React.cloneElement(child, {
|
|
38
|
-
connectorColor: idx < count - 1
|
|
39
|
-
? child.props.connectorColor ?? 'gray.main'
|
|
40
|
-
: undefined,
|
|
41
|
-
})
|
|
42
|
-
: null
|
|
43
|
-
)}
|
|
44
|
-
</MuiTimeline>
|
|
45
|
-
|
|
46
|
-
);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default Timeline;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import MuiTimelineItem from "@mui/lab/TimelineItem";
|
|
3
|
-
import MuiTimelineSeparator from "@mui/lab/TimelineSeparator";
|
|
4
|
-
import MuiTimelineConnector from "@mui/lab/TimelineConnector";
|
|
5
|
-
import MuiTimelineContent from "@mui/lab/TimelineContent";
|
|
6
|
-
import MuiTimelineDot from "@mui/lab/TimelineDot";
|
|
7
|
-
|
|
8
|
-
export interface TimelineItemProps {
|
|
9
|
-
dotColor?: 'primary' | 'secondary' | 'grey' | 'inherit' | 'success' | 'error' | 'info' | 'warning';
|
|
10
|
-
connectorColor?: 'success' | 'error' | 'info' | 'warning' | 'primary' | 'secondary' | 'grey';
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const TimelineItem: React.FC<TimelineItemProps> = ({
|
|
15
|
-
dotColor = 'grey',
|
|
16
|
-
connectorColor,
|
|
17
|
-
children
|
|
18
|
-
}) => {
|
|
19
|
-
const color = connectorColor ? `${connectorColor}.main` : 'secondary.main';
|
|
20
|
-
return (
|
|
21
|
-
<MuiTimelineItem>
|
|
22
|
-
<MuiTimelineSeparator>
|
|
23
|
-
<MuiTimelineDot color={dotColor} />
|
|
24
|
-
{connectorColor !== undefined && <MuiTimelineConnector sx={{ bgcolor: color }} />}
|
|
25
|
-
</MuiTimelineSeparator>
|
|
26
|
-
<MuiTimelineContent>{children}</MuiTimelineContent>
|
|
27
|
-
</MuiTimelineItem>
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default TimelineItem
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import Tooltip from './Tooltip'; // Asegúrate que la ruta sea correcta
|
|
4
|
-
import Button from '@mui/material/Button';
|
|
5
|
-
import TextField from '@mui/material/TextField';
|
|
6
|
-
import Stack from '@mui/material/Stack';
|
|
7
|
-
|
|
8
|
-
// --- Metadatos de la Historia ---
|
|
9
|
-
// Define la configuración global de tu componente en Storybook
|
|
10
|
-
const meta: Meta<typeof Tooltip> = {
|
|
11
|
-
// Título que aparecerá en el sidebar de Storybook
|
|
12
|
-
title: 'Components/Tooltip',
|
|
13
|
-
component: Tooltip,
|
|
14
|
-
// Parámetros para configurar el comportamiento en la documentación
|
|
15
|
-
parameters: {
|
|
16
|
-
layout: 'centered', // Centra el componente en el lienzo
|
|
17
|
-
},
|
|
18
|
-
// Documentación de los argumentos (props)
|
|
19
|
-
|
|
20
|
-
tags: ["autodocs"]
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export default meta;
|
|
24
|
-
|
|
25
|
-
// Define el tipo de tu historia para inferir los argumentos (props)
|
|
26
|
-
type Story = StoryObj<typeof Tooltip>;
|
|
27
|
-
|
|
28
|
-
// --- Definición de Historias ---
|
|
29
|
-
|
|
30
|
-
const textoLargo = "Este es un texto de Tooltip muy largo para demostrar cómo el 'maxWidth' limita la longitud de la línea y obliga al texto a saltar a la siguiente línea, mejorando la legibilidad en tooltips largos.";
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Historia 1: Tooltip Básico
|
|
35
|
-
* Muestra el Tooltip sobre un botón sin especificar un ancho máximo.
|
|
36
|
-
*/
|
|
37
|
-
export const TooltipBasico: Story = {
|
|
38
|
-
args: {
|
|
39
|
-
text: 'Información corta y concisa.',
|
|
40
|
-
children: <Button variant="contained">Pasa el ratón aquí</Button>,
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Historia 2: Tooltip con Ancho Máximo Específico
|
|
46
|
-
* Muestra un texto largo y aplica un ancho máximo para forzar el salto de línea.
|
|
47
|
-
*/
|
|
48
|
-
export const TooltipConAnchoMaximo: Story = {
|
|
49
|
-
args: {
|
|
50
|
-
text: textoLargo,
|
|
51
|
-
maxWidth: 200, // Aplicamos el ancho máximo
|
|
52
|
-
children: <Button variant="outlined">Tooltip con Ancho Máximo (200px)</Button>,
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Historia 3: Tooltip Aplicado a un Campo de Texto (TextField)
|
|
58
|
-
* Demuestra que el componente funciona con cualquier elemento.
|
|
59
|
-
*/
|
|
60
|
-
export const AplicadoAElementoDeFormulario: Story = {
|
|
61
|
-
args: {
|
|
62
|
-
text: 'Introduce tu nombre completo y validado.',
|
|
63
|
-
maxWidth: 300,
|
|
64
|
-
children: <TextField label="Nombre" variant="standard" />,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Historia 4: Ejemplo en un Contenedor con Estilos
|
|
70
|
-
* Muestra el uso de la propiedad 'sx' opcional en el contenedor.
|
|
71
|
-
*/
|
|
72
|
-
export const ContenedorEstilizado: Story = {
|
|
73
|
-
args: {
|
|
74
|
-
text: 'Este texto se muestra al pasar el ratón sobre el span estilizado.',
|
|
75
|
-
maxWidth: 250,
|
|
76
|
-
sx: { // Estilos aplicados al Box que envuelve el children
|
|
77
|
-
border: '2px dashed #007bff',
|
|
78
|
-
padding: '8px',
|
|
79
|
-
borderRadius: '4px',
|
|
80
|
-
backgroundColor: '#e6f7ff',
|
|
81
|
-
},
|
|
82
|
-
children: <span>Contenedor Estilizado (Hover aquí)</span>,
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Historia 5: Variantes Múltiples
|
|
89
|
-
* Utiliza el 'render' para mostrar varios ejemplos a la vez.
|
|
90
|
-
*/
|
|
91
|
-
export const VariantesMultiples: Story = {
|
|
92
|
-
// Necesitamos un Stack para organizar los elementos
|
|
93
|
-
render: (args) => (
|
|
94
|
-
<Stack spacing={4} alignItems="flex-start" sx={{ padding: '20px' }}>
|
|
95
|
-
<Tooltip {...args} text="Tooltip #1: Básico" maxWidth={150}>
|
|
96
|
-
<Button variant="contained" color="primary">Botón A</Button>
|
|
97
|
-
</Tooltip>
|
|
98
|
-
|
|
99
|
-
<Tooltip {...args} text="Tooltip #2: Un poco más de info" maxWidth={180}>
|
|
100
|
-
<Button variant="contained" color="secondary">Botón B</Button>
|
|
101
|
-
</Tooltip>
|
|
102
|
-
|
|
103
|
-
<Tooltip {...args} text={textoLargo} maxWidth={280}>
|
|
104
|
-
<Button variant="text">Texto Largo</Button>
|
|
105
|
-
</Tooltip>
|
|
106
|
-
</Stack>
|
|
107
|
-
),
|
|
108
|
-
// Eliminamos el layout centered para esta historia
|
|
109
|
-
parameters: {
|
|
110
|
-
layout: 'padded',
|
|
111
|
-
},
|
|
112
|
-
// Dejamos el 'args' de 'text' vacío ya que se sobrescribe en el render
|
|
113
|
-
args: {
|
|
114
|
-
text: '',
|
|
115
|
-
children: undefined,
|
|
116
|
-
}
|
|
117
|
-
};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import MuiTooltip from '@mui/material/Tooltip';
|
|
3
|
-
import Typography from '@mui/material/Typography';
|
|
4
|
-
import Box from '@mui/material/Box';
|
|
5
|
-
import { SxProps, Theme } from '@mui/material';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Propiedades del componente Tooltip.
|
|
9
|
-
* @param {string} text - El texto a mostrar dentro del Tooltip.
|
|
10
|
-
* @param {number} [maxWidth] - El ancho máximo opcional del Tooltip en píxeles.
|
|
11
|
-
* @param {React.ReactNode} children - El elemento al que se le aplicará el Tooltip.
|
|
12
|
-
* @param {SxProps<Theme>} [sx] - Estilos opcionales para el Box contenedor.
|
|
13
|
-
*/
|
|
14
|
-
interface TooltipProps {
|
|
15
|
-
text: string;
|
|
16
|
-
maxWidth?: number;
|
|
17
|
-
children: React.ReactNode;
|
|
18
|
-
sx?: SxProps<Theme>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Componente Tooltip reutilizable.
|
|
23
|
-
* Muestra un texto al pasar el ratón sobre su elemento hijo,
|
|
24
|
-
* permitiendo un ancho máximo configurable.
|
|
25
|
-
* * @param {TooltipProps} props - Propiedades del Tooltip.
|
|
26
|
-
*/
|
|
27
|
-
const Tooltip: React.FC<TooltipProps> = ({ text, maxWidth, children, sx }) => {
|
|
28
|
-
|
|
29
|
-
const tooltipContentStyle: SxProps<Theme> = {
|
|
30
|
-
|
|
31
|
-
...(maxWidth && { maxWidth: maxWidth }),
|
|
32
|
-
padding: '4px 8px',
|
|
33
|
-
textAlign: 'center',
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
return (
|
|
38
|
-
|
|
39
|
-
<MuiTooltip
|
|
40
|
-
title={
|
|
41
|
-
|
|
42
|
-
<Typography variant="caption" component="span" sx={tooltipContentStyle}>
|
|
43
|
-
{text}
|
|
44
|
-
</Typography>
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
placement="top"
|
|
48
|
-
arrow
|
|
49
|
-
>
|
|
50
|
-
|
|
51
|
-
<Box component="span" sx={{ display: 'inline-block', ...sx }}>
|
|
52
|
-
{children}
|
|
53
|
-
</Box>
|
|
54
|
-
</MuiTooltip>
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export default Tooltip;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Tooltip } from './Tooltip';
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Box, Button, Typography } from '@mui/material';
|
|
4
|
-
|
|
5
|
-
// Importa el componente de demostración unificado
|
|
6
|
-
import ClipboardUnifiedDemo from './ClipboardUnifiedDemo';
|
|
7
|
-
|
|
8
|
-
// Importa las definiciones de las historias
|
|
9
|
-
|
|
10
|
-
import useClipboard from './ClipBoard';
|
|
11
|
-
|
|
12
|
-
// Componente Wrapper (Mantenido para la tipificación)
|
|
13
|
-
const ClipboardDemoWrapper: React.FC = () => <ClipboardUnifiedDemo {...(meta.args as any)} />;
|
|
14
|
-
|
|
15
|
-
// =============================================================================
|
|
16
|
-
// Definición de las meta-propiedades para Storybook
|
|
17
|
-
// =============================================================================
|
|
18
|
-
const meta: Meta<typeof ClipboardUnifiedDemo> = {
|
|
19
|
-
title: 'Hooks/useClipboard (Unificado Ref & Función)',
|
|
20
|
-
component: ClipboardUnifiedDemo,
|
|
21
|
-
tags: ['autodocs'],
|
|
22
|
-
parameters: {
|
|
23
|
-
layout: 'padded',
|
|
24
|
-
docs: {
|
|
25
|
-
description: {
|
|
26
|
-
component: 'Hook unificado que soporta la **copia por Referencia (`ref`)** para un solo elemento y la **copia por Función (`copy(text)`)** para iteraciones (tablas, listas), proporcionando feedback visual con un Snackbar de Material UI.',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
// Argumentos de control para el MODO FUNCIÓN
|
|
31
|
-
argTypes: {
|
|
32
|
-
message: { control: 'text', description: 'Mensaje de éxito para el MODO FUNCIÓN.' },
|
|
33
|
-
severity: { control: 'select', options: ['success', 'info', 'warning', 'error'], description: 'Gravedad del Alert para el MODO FUNCIÓN.' },
|
|
34
|
-
duration: { control: { type: 'number', min: 0, max: 5000, step: 500 }, description: 'Duración del Snackbar.' },
|
|
35
|
-
vertical: { control: 'select', options: ['top', 'bottom'], description: 'Posición vertical.' },
|
|
36
|
-
horizontal: { control: 'select', options: ['left', 'center', 'right'], description: 'Posición horizontal.' },
|
|
37
|
-
},
|
|
38
|
-
args: {
|
|
39
|
-
message: '¡Dato copiado con la función!',
|
|
40
|
-
severity: 'success',
|
|
41
|
-
duration: 2000,
|
|
42
|
-
vertical: 'bottom',
|
|
43
|
-
horizontal: 'center',
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export default meta;
|
|
48
|
-
type Story = StoryObj<typeof ClipboardUnifiedDemo>;
|
|
49
|
-
|
|
50
|
-
// =============================================================================
|
|
51
|
-
// Historias
|
|
52
|
-
// =============================================================================
|
|
53
|
-
|
|
54
|
-
export const DemoUnificada: Story = {
|
|
55
|
-
name: 'A. Demostración Completa',
|
|
56
|
-
args: {
|
|
57
|
-
message: 'Dato copiado con éxito (Función)',
|
|
58
|
-
severity: 'success',
|
|
59
|
-
},
|
|
60
|
-
parameters: {
|
|
61
|
-
docs: {
|
|
62
|
-
description: {
|
|
63
|
-
story: "Muestra ambos modos de uso (`ref` y `copy`) simultáneamente. El feedback del modo `ref` tiene color amarillo (warning) por defecto para diferenciarlo del modo `copy`."
|
|
64
|
-
},
|
|
65
|
-
// source: { code: MultipleFunctionElementsDefinition.trim() }
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
// --------------------------------------------------
|
|
71
|
-
|
|
72
|
-
export const UsoBasicoPorRef: Story = {
|
|
73
|
-
name: 'B. Modo Ref: Uso Básico',
|
|
74
|
-
render: () => {
|
|
75
|
-
const { ref, CopyMessage } = useClipboard(); // Sin opciones, usa valores por defecto
|
|
76
|
-
return (
|
|
77
|
-
<Box>
|
|
78
|
-
<Typography ref={ref} sx={{ p: 2, border: '1px solid #ccc', cursor: 'pointer' }}>
|
|
79
|
-
Texto para copiar por ref (click aquí).
|
|
80
|
-
</Typography>
|
|
81
|
-
<CopyMessage />
|
|
82
|
-
</Box>
|
|
83
|
-
);
|
|
84
|
-
},
|
|
85
|
-
parameters: {
|
|
86
|
-
docs: {
|
|
87
|
-
description: {
|
|
88
|
-
story: "Demuestra el modo **Referencia**, donde el hook adjunta un listener de clic al elemento y copia su `innerText`."
|
|
89
|
-
},
|
|
90
|
-
// source: { code: BasicRefUsageDefinition.trim() }
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
// --------------------------------------------------
|
|
96
|
-
|
|
97
|
-
// Datos simulados para la demostración del modo función
|
|
98
|
-
const mockData = [
|
|
99
|
-
{ id: 1, content: 'Dato 1' },
|
|
100
|
-
{ id: 2, content: 'Dato 2' },
|
|
101
|
-
{ id: 3, content: 'Dato 3' },
|
|
102
|
-
];
|
|
103
|
-
|
|
104
|
-
export const UsoPorFuncionEnIteracion: Story = {
|
|
105
|
-
name: 'C. Modo Función: Uso en Iteración',
|
|
106
|
-
render: () => {
|
|
107
|
-
const { copy, CopyMessage } = useClipboard({
|
|
108
|
-
message: 'Contenido de la fila copiado.',
|
|
109
|
-
severity: 'info',
|
|
110
|
-
position: { vertical: 'top', horizontal: 'right' }
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<Box>
|
|
115
|
-
<Typography variant="h6">Copiar datos individuales:</Typography>
|
|
116
|
-
{mockData.map(item => (
|
|
117
|
-
<Button
|
|
118
|
-
key={item.id}
|
|
119
|
-
variant="outlined"
|
|
120
|
-
onClick={() => copy(item.content)}
|
|
121
|
-
sx={{ mr: 2 }}
|
|
122
|
-
>
|
|
123
|
-
Copiar: {item.content}
|
|
124
|
-
</Button>
|
|
125
|
-
))}
|
|
126
|
-
<CopyMessage />
|
|
127
|
-
</Box>
|
|
128
|
-
);
|
|
129
|
-
},
|
|
130
|
-
parameters: {
|
|
131
|
-
docs: {
|
|
132
|
-
description: {
|
|
133
|
-
story: "Demuestra el modo **Función**, donde se llama a `copy(text)` dentro de un bucle, permitiendo controlar exactamente qué texto se copia."
|
|
134
|
-
},
|
|
135
|
-
// source: { code: FunctionModeUsageDefinition.trim() }
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
// --------------------------------------------------
|
|
141
|
-
|
|
142
|
-
export const CustomConfiguracionRef: Story = {
|
|
143
|
-
name: 'D. Modo Ref: Con Configuración Custom',
|
|
144
|
-
render: () => {
|
|
145
|
-
const { ref, CopyMessage } = useClipboard({
|
|
146
|
-
message: 'Copia OK en la parte superior.',
|
|
147
|
-
severity: 'success',
|
|
148
|
-
duration: 1800,
|
|
149
|
-
position: { vertical: 'top', horizontal: 'left' }
|
|
150
|
-
});
|
|
151
|
-
return (
|
|
152
|
-
<Box>
|
|
153
|
-
<Typography ref={ref} sx={{ p: 2, border: '1px solid #0a0', backgroundColor: '#eef', cursor: 'pointer' }}>
|
|
154
|
-
Clic. Snackbar aparecerá arriba a la izquierda.
|
|
155
|
-
</Typography>
|
|
156
|
-
<CopyMessage />
|
|
157
|
-
</Box>
|
|
158
|
-
);
|
|
159
|
-
},
|
|
160
|
-
parameters: {
|
|
161
|
-
docs: {
|
|
162
|
-
description: {
|
|
163
|
-
story: "Muestra cómo aplicar opciones personalizadas de Snackbar al modo **Referencia**."
|
|
164
|
-
},
|
|
165
|
-
// source: { code: CustomRefUsageDefinition.trim() }
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
};
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
// useClipboard.tsx (Versión Unificada)
|
|
2
|
-
import React, { useRef, useEffect, useState, useCallback } from 'react';
|
|
3
|
-
import { Snackbar, Alert } from '@mui/material';
|
|
4
|
-
import { AlertProps } from '@mui/material/Alert';
|
|
5
|
-
|
|
6
|
-
// Tipo para las opciones del Snackbar
|
|
7
|
-
interface SnackbarOptions {
|
|
8
|
-
message?: string;
|
|
9
|
-
duration?: number;
|
|
10
|
-
severity?: AlertProps['severity'];
|
|
11
|
-
position?: { vertical: 'top' | 'bottom'; horizontal: 'left' | 'center' | 'right' };
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Hook 'useClipboard'.
|
|
16
|
-
* Proporciona funcionalidad de copiado de texto y feedback visual (Snackbar).
|
|
17
|
-
* Permite dos modos de uso:
|
|
18
|
-
* 1. Uso por Referencia (ref): Se adjunta a un elemento, copia su innerText al hacer clic.
|
|
19
|
-
* 2. Uso por Función (copy): Recibe el texto a copiar directamente como argumento.
|
|
20
|
-
*
|
|
21
|
-
* @param options Opciones de configuración para el Snackbar de feedback.
|
|
22
|
-
* @returns Un objeto que contiene:
|
|
23
|
-
* - 'ref': Una React Ref para adjuntar a un elemento (Modo Ref).
|
|
24
|
-
* - 'copy': Una función (text: string) => void para copiar texto (Modo Función).
|
|
25
|
-
* - 'CopyMessage': El componente Snackbar para renderizar el feedback.
|
|
26
|
-
*/
|
|
27
|
-
export function useClipboard(options?: SnackbarOptions) {
|
|
28
|
-
// --- Elementos de Copiado por Referencia ---
|
|
29
|
-
const elementRef = useRef<HTMLElement>(null);
|
|
30
|
-
|
|
31
|
-
// --- Estados y Opciones del Snackbar ---
|
|
32
|
-
const [snackbarOpen, setSnackbarOpen] = useState(false);
|
|
33
|
-
const [snackbarMessage, setSnackbarMessage] = useState(options?.message || '¡Copiado al portapapeles!');
|
|
34
|
-
const [snackbarSeverity, setSnackbarSeverity] = useState<AlertProps['severity']>(options?.severity || 'success');
|
|
35
|
-
const [snackbarPosition, setSnackbarPosition] = useState<import('@mui/material').SnackbarOrigin>(options?.position || { vertical: 'bottom', horizontal: 'center' });
|
|
36
|
-
const [snackbarDuration, setSnackbarDuration] = useState(options?.duration ?? 3000);
|
|
37
|
-
|
|
38
|
-
// Función para cerrar el Snackbar
|
|
39
|
-
const handleSnackbarClose = useCallback((event?: React.SyntheticEvent | Event, reason?: string) => {
|
|
40
|
-
if (reason === 'clickaway') {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
setSnackbarOpen(false);
|
|
44
|
-
}, []);
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* FUNCIÓN PRINCIPAL DE COPIADO.
|
|
48
|
-
* Se usa internamente para 'ref' y se expone para 'copy(text)'.
|
|
49
|
-
* @param text El texto exacto a copiar.
|
|
50
|
-
*/
|
|
51
|
-
const executeCopy = useCallback((text: string) => {
|
|
52
|
-
try {
|
|
53
|
-
if (navigator.clipboard && window.isSecureContext) {
|
|
54
|
-
// 1. API moderna
|
|
55
|
-
navigator.clipboard.writeText(text);
|
|
56
|
-
} else {
|
|
57
|
-
// 2. Fallback usando textarea
|
|
58
|
-
const textarea = document.createElement('textarea');
|
|
59
|
-
textarea.value = text;
|
|
60
|
-
document.body.appendChild(textarea);
|
|
61
|
-
textarea.select();
|
|
62
|
-
document.execCommand('copy');
|
|
63
|
-
document.body.removeChild(textarea);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Mostrar éxito
|
|
67
|
-
setSnackbarMessage(options?.message || '¡Copiado al portapapeles!');
|
|
68
|
-
setSnackbarSeverity(options?.severity || 'success');
|
|
69
|
-
setSnackbarPosition(options?.position || { vertical: 'bottom', horizontal: 'center' });
|
|
70
|
-
setSnackbarDuration(options?.duration ?? 3000);
|
|
71
|
-
setSnackbarOpen(true);
|
|
72
|
-
|
|
73
|
-
} catch (err) {
|
|
74
|
-
// Mostrar error
|
|
75
|
-
console.error('Error al copiar al portapapeles:', err);
|
|
76
|
-
setSnackbarMessage('Error al copiar.');
|
|
77
|
-
setSnackbarSeverity('error');
|
|
78
|
-
setSnackbarPosition(options?.position || { vertical: 'bottom', horizontal: 'center' });
|
|
79
|
-
setSnackbarDuration(options?.duration ?? 3000);
|
|
80
|
-
setSnackbarOpen(true);
|
|
81
|
-
}
|
|
82
|
-
}, [options]);
|
|
83
|
-
|
|
84
|
-
// --- Lógica del Modo Ref ---
|
|
85
|
-
const copyFromRef = useCallback(() => {
|
|
86
|
-
if (elementRef.current) {
|
|
87
|
-
const textToCopy = elementRef.current.innerText || '';
|
|
88
|
-
executeCopy(textToCopy);
|
|
89
|
-
}
|
|
90
|
-
}, [executeCopy]);
|
|
91
|
-
|
|
92
|
-
// Adjunta un event listener de clic al elemento referenciado (Modo Ref)
|
|
93
|
-
useEffect(() => {
|
|
94
|
-
const currentElement = elementRef.current;
|
|
95
|
-
if (currentElement) {
|
|
96
|
-
currentElement.style.cursor = 'pointer';
|
|
97
|
-
// Adjuntamos la función que copia el texto del ref
|
|
98
|
-
currentElement.addEventListener('click', copyFromRef);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return () => {
|
|
102
|
-
if (currentElement) {
|
|
103
|
-
currentElement.removeEventListener('click', copyFromRef);
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
}, [copyFromRef]);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// Componente Snackbar encapsulado. Solo se renderiza si duration es > 0.
|
|
110
|
-
const CopyMessage = () => {
|
|
111
|
-
if (snackbarDuration <= 0) return null; // No renderizar si la duración es 0
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<Snackbar
|
|
115
|
-
open={snackbarOpen}
|
|
116
|
-
autoHideDuration={snackbarDuration}
|
|
117
|
-
onClose={handleSnackbarClose}
|
|
118
|
-
anchorOrigin={snackbarPosition}
|
|
119
|
-
>
|
|
120
|
-
<Alert onClose={handleSnackbarClose} severity={snackbarSeverity} sx={{ width: '100%' }}>
|
|
121
|
-
{snackbarMessage}
|
|
122
|
-
</Alert>
|
|
123
|
-
</Snackbar>
|
|
124
|
-
);
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// Retorna ambas funcionalidades para que el usuario elija
|
|
128
|
-
return { ref: elementRef, copy: executeCopy, CopyMessage };
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export default useClipboard;
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// ClipboardUnifiedDemo.tsx
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Button, Table, TableBody, TableCell, TableRow, Paper, Stack, Typography, Box, TableContainer, TableHead } from '@mui/material';
|
|
4
|
-
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
|
|
5
|
-
import { useClipboard } from './ClipBoard';
|
|
6
|
-
|
|
7
|
-
// Datos de ejemplo para la tabla (Modo Función)
|
|
8
|
-
const mockData = [
|
|
9
|
-
{ id: 1, content: 'dato-A-456' },
|
|
10
|
-
{ id: 2, content: 'dato-B-789' },
|
|
11
|
-
];
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Componente Wrapper para demostrar ambos modos de uso del hook useClipboard unificado.
|
|
15
|
-
* @param {object} args - Propiedades del Snackbar que se pasan al hook.
|
|
16
|
-
*/
|
|
17
|
-
interface ClipboardDemoProps {
|
|
18
|
-
message: string;
|
|
19
|
-
severity: 'success' | 'info' | 'warning' | 'error';
|
|
20
|
-
duration: number;
|
|
21
|
-
vertical: 'top' | 'bottom';
|
|
22
|
-
horizontal: 'left' | 'center' | 'right';
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const ClipboardUnifiedDemo: React.FC<ClipboardDemoProps> = ({ message, severity, duration, vertical, horizontal }) => {
|
|
26
|
-
const options = {
|
|
27
|
-
message,
|
|
28
|
-
severity,
|
|
29
|
-
duration,
|
|
30
|
-
position: { vertical, horizontal } as const // 'as const' para tipado correcto
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
// 1. Llamada al hook para el MODO FUNCIÓN (se usará 'copy' y 'CopyMessage')
|
|
34
|
-
const { copy, CopyMessage } = useClipboard(options);
|
|
35
|
-
|
|
36
|
-
// 2. Llamada al hook para el MODO REF (se usará 'ref' y 'CopyMessageRef')
|
|
37
|
-
// Nota: Creamos una segunda instancia con opciones distintas para diferenciar el feedback
|
|
38
|
-
const { ref: refModeRef, CopyMessage: CopyMessageRef } = useClipboard({
|
|
39
|
-
...options,
|
|
40
|
-
message: options.message + ' (MODO REF)',
|
|
41
|
-
severity: 'warning' // Diferenciamos el color
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
return (
|
|
45
|
-
<Stack spacing={4} sx={{ width: '100%', minWidth: 500, p: 3 }}>
|
|
46
|
-
<Typography variant="h5">Hook Unificado: Ref vs. Función</Typography>
|
|
47
|
-
|
|
48
|
-
{/* ========================================= */}
|
|
49
|
-
{/* A. MODO REF (Copia el innerText por clic) */}
|
|
50
|
-
{/* ========================================= */}
|
|
51
|
-
<Box>
|
|
52
|
-
<Typography variant="h6">1. MODO REF (Copia un solo elemento por clic)</Typography>
|
|
53
|
-
<Paper
|
|
54
|
-
sx={{
|
|
55
|
-
p: 2, mt: 1,
|
|
56
|
-
border: '1px solid #ccc',
|
|
57
|
-
borderRadius: '8px',
|
|
58
|
-
backgroundColor: '#eef',
|
|
59
|
-
cursor: 'pointer',
|
|
60
|
-
'&:hover': { backgroundColor: '#dde' },
|
|
61
|
-
}}
|
|
62
|
-
>
|
|
63
|
-
{/* Adjuntamos la ref. El hook maneja el evento de clic */}
|
|
64
|
-
<Typography ref={refModeRef} variant="body1" sx={{ userSelect: 'none' }}>
|
|
65
|
-
Texto para copiar con **REF**: Esta línea contiene el texto completo.
|
|
66
|
-
</Typography>
|
|
67
|
-
<ContentCopyIcon sx={{ fontSize: 16, ml: 1, verticalAlign: 'middle', color: 'text.secondary' }} />
|
|
68
|
-
</Paper>
|
|
69
|
-
<CopyMessageRef /> {/* Su propio Snackbar */}
|
|
70
|
-
</Box>
|
|
71
|
-
|
|
72
|
-
{/* ========================================= */}
|
|
73
|
-
{/* B. MODO FUNCIÓN (Copia en Iteración) */}
|
|
74
|
-
{/* ========================================= */}
|
|
75
|
-
<Box>
|
|
76
|
-
<Typography variant="h6">2. MODO FUNCIÓN (Copia múltiples elementos en tabla)</Typography>
|
|
77
|
-
<TableContainer component={Paper}>
|
|
78
|
-
<Table size="small">
|
|
79
|
-
<TableHead>
|
|
80
|
-
<TableRow><TableCell>ID</TableCell><TableCell>Contenido</TableCell><TableCell>Acción</TableCell></TableRow>
|
|
81
|
-
</TableHead>
|
|
82
|
-
<TableBody>
|
|
83
|
-
{/* Iteración: Se usa la función 'copy' */}
|
|
84
|
-
{mockData.map((item) => (
|
|
85
|
-
<TableRow key={item.id}>
|
|
86
|
-
<TableCell>{item.id}</TableCell>
|
|
87
|
-
<TableCell>{item.content}</TableCell>
|
|
88
|
-
<TableCell>
|
|
89
|
-
<Button
|
|
90
|
-
variant="contained"
|
|
91
|
-
size="small"
|
|
92
|
-
// Llamada a copy() con el texto específico de la fila
|
|
93
|
-
onClick={() => copy(item.content)}
|
|
94
|
-
>
|
|
95
|
-
Copiar {item.id}
|
|
96
|
-
</Button>
|
|
97
|
-
</TableCell>
|
|
98
|
-
</TableRow>
|
|
99
|
-
))}
|
|
100
|
-
</TableBody>
|
|
101
|
-
</Table>
|
|
102
|
-
</TableContainer>
|
|
103
|
-
</Box>
|
|
104
|
-
|
|
105
|
-
{/* El Snackbar del modo FUNCIÓN se renderiza una sola vez */}
|
|
106
|
-
<CopyMessage />
|
|
107
|
-
</Stack>
|
|
108
|
-
);
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
export default ClipboardUnifiedDemo;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useClipboard } from './ClipBoard';
|
package/src/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './styles.css';
|
package/src/styles.css
DELETED