@soyfri/shared-library 2.0.0-beta.20 → 2.0.0-beta.22
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/{dist/Select-D5OrjVj3.js → Select-Dycmh9vt.js} +6 -3
- package/Select-Dycmh9vt.js.map +1 -0
- package/{dist/Select-Dyvc4bVo.cjs → Select-kqR48jZU.cjs} +5 -2
- package/Select-kqR48jZU.cjs.map +1 -0
- package/{dist/components → components}/Select/Select.cjs +1 -1
- package/{dist/components → components}/Select/Select.d.ts +2 -0
- package/{dist/components → components}/Select/Select.js +1 -1
- package/{dist/index.cjs → index.cjs} +1 -1
- package/{dist/index.js → index.js} +1 -1
- package/local/affiliations/affiliations.dev.soyfri.com-key.pem +28 -0
- package/local/affiliations/affiliations.dev.soyfri.com.pem +27 -0
- package/local/aficiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
- package/local/aficiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
- package/local/afiliaciones/afiliaciones.dev.soyfri.com-key.pem +28 -0
- package/local/afiliaciones/afiliaciones.dev.soyfri.com.pem +27 -0
- package/local/root/rootCA-key.pem +40 -0
- package/local/root/rootCA.pem +30 -0
- package/local/soporte/supportweb.dev.soyfri.com-key.pem +28 -0
- package/local/soporte/supportweb.dev.soyfri.com.pem +27 -0
- package/local/support/supportweb.dev.soyfri.com-key.pem +28 -0
- package/local/support/supportweb.dev.soyfri.com.pem +27 -0
- package/package.json +167 -57
- 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/Readme.md +0 -243
- package/build.js +0 -117
- package/chromatic.config.json +0 -5
- package/cleanDirectories.js +0 -40
- package/dist/Select-D5OrjVj3.js.map +0 -1
- package/dist/Select-Dyvc4bVo.cjs.map +0 -1
- package/dist/package.json +0 -190
- package/rollup.config.cjs +0 -87
- package/scripts/gen-dist-pkg.mjs +0 -15
- package/shared-library-comercios-MUI.code-workspace +0 -10
- package/src/components/ActionMenu/ActionMenu.stories.tsx +0 -427
- package/src/components/ActionMenu/ActionMenu.tsx +0 -153
- package/src/components/ActionMenu/index.ts +0 -2
- package/src/components/AppBar/AppBar.stories.tsx +0 -316
- package/src/components/AppBar/AppBar.sx.ts +0 -32
- package/src/components/AppBar/AppBar.tsx +0 -119
- package/src/components/AppBar/AppBarContext.ts +0 -25
- package/src/components/AppBar/AppBarMenuToggle.tsx +0 -90
- package/src/components/AppBar/index.ts +0 -12
- package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -477
- package/src/components/Autocomplete/Autocomplete.helpers.ts +0 -80
- package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -784
- package/src/components/Autocomplete/Autocomplete.sx.ts +0 -30
- package/src/components/Autocomplete/Autocomplete.tsx +0 -393
- package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +0 -55
- package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +0 -17
- package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +0 -29
- package/src/components/Autocomplete/index.ts +0 -12
- package/src/components/Avatar/Avatar.definitions.ts +0 -162
- package/src/components/Avatar/Avatar.stories.tsx +0 -258
- package/src/components/Avatar/Avatar.tsx +0 -206
- package/src/components/Avatar/index.ts +0 -2
- 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 -66
- package/src/components/Button/index.ts +0 -2
- package/src/components/Card/Card.definition.ts +0 -5
- package/src/components/Card/Card.stories.tsx +0 -102
- package/src/components/Card/Card.sx.ts +0 -58
- package/src/components/Card/Card.tsx +0 -85
- package/src/components/Card/index.ts +0 -4
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -212
- package/src/components/Checkbox/Checkbox.sx.ts +0 -67
- package/src/components/Checkbox/Checkbox.tsx +0 -208
- package/src/components/Checkbox/index.ts +0 -10
- 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 -2
- package/src/components/Column/Column.tsx +0 -29
- package/src/components/Column/index.ts +0 -2
- package/src/components/DatePicker/DatePicker.definitions.ts +0 -228
- package/src/components/DatePicker/DatePicker.helpers.ts +0 -24
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -309
- package/src/components/DatePicker/DatePicker.sx.ts +0 -33
- package/src/components/DatePicker/DatePicker.tsx +0 -133
- package/src/components/DatePicker/index.ts +0 -7
- package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -317
- package/src/components/DateTimePicker/DateTimePicker.helpers.ts +0 -45
- package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -415
- package/src/components/DateTimePicker/DateTimePicker.sx.ts +0 -30
- package/src/components/DateTimePicker/DateTimePicker.tsx +0 -240
- package/src/components/DateTimePicker/index.ts +0 -9
- package/src/components/Drawer/Drawer.stories.tsx +0 -438
- package/src/components/Drawer/Drawer.sx.ts +0 -106
- package/src/components/Drawer/Drawer.tsx +0 -224
- package/src/components/Drawer/DrawerContext.ts +0 -26
- package/src/components/Drawer/DrawerItem.tsx +0 -120
- package/src/components/Drawer/index.ts +0 -10
- package/src/components/Flyout/Flyout.stories.tsx +0 -282
- 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 -158
- package/src/components/Gallery/GalleryLightbox.tsx +0 -186
- package/src/components/Gallery/GalleryMain.tsx +0 -87
- package/src/components/Gallery/GalleryThumbnails.tsx +0 -122
- package/src/components/Gallery/index.ts +0 -2
- package/src/components/Icon/Icon.stories.tsx +0 -121
- package/src/components/Icon/Icon.tsx +0 -163
- package/src/components/Icon/index.ts +0 -2
- package/src/components/Input/Input.definitions.ts +0 -348
- package/src/components/Input/Input.helpers.ts +0 -50
- package/src/components/Input/Input.stories.tsx +0 -528
- package/src/components/Input/Input.sx.ts +0 -42
- package/src/components/Input/Input.tsx +0 -162
- package/src/components/Input/index.ts +0 -10
- package/src/components/InputGroup/InputGroup.definitions.ts +0 -158
- package/src/components/InputGroup/InputGroup.stories.tsx +0 -267
- package/src/components/InputGroup/InputGroup.tsx +0 -180
- package/src/components/InputGroup/index.ts +0 -2
- 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 -721
- package/src/components/Modal/Modal.tsx +0 -407
- package/src/components/Modal/ModalBody.tsx +0 -23
- package/src/components/Modal/ModalFooter.tsx +0 -83
- package/src/components/Modal/ModalHeader.tsx +0 -33
- package/src/components/Modal/index.ts +0 -11
- package/src/components/RadioGroup/RadioGroup.definitions.ts +0 -177
- package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -231
- package/src/components/RadioGroup/RadioGroup.sx.ts +0 -75
- package/src/components/RadioGroup/RadioGroup.tsx +0 -207
- package/src/components/RadioGroup/index.ts +0 -10
- package/src/components/Select/Select.helpers.ts +0 -31
- package/src/components/Select/Select.stories.tsx +0 -393
- package/src/components/Select/Select.sx.ts +0 -14
- package/src/components/Select/Select.tsx +0 -327
- package/src/components/Select/_parts/SelectMenuItem.tsx +0 -40
- package/src/components/Select/_parts/SelectValue.tsx +0 -95
- package/src/components/Select/index.ts +0 -12
- 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 -159
- package/src/components/StatusMessage/StatusMessage.tsx +0 -143
- package/src/components/StatusMessage/index.ts +0 -3
- 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 -194
- package/src/components/Stepper/Stepper.tsx +0 -194
- package/src/components/Stepper/StepperContext.tsx +0 -176
- package/src/components/Stepper/StepperProvider.stories.tsx +0 -286
- package/src/components/Stepper/_hooks/useHorizontalScroll.ts +0 -56
- package/src/components/Stepper/_parts/StepperScrollArrow.tsx +0 -50
- package/src/components/Stepper/index.ts +0 -15
- package/src/components/Switch/Switch.definitions.ts +0 -134
- package/src/components/Switch/Switch.stories.tsx +0 -213
- package/src/components/Switch/Switch.sx.ts +0 -81
- package/src/components/Switch/Switch.tsx +0 -188
- package/src/components/Switch/Switch.types.ts +0 -10
- package/src/components/Switch/index.ts +0 -9
- 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 -494
- 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 -163
- package/src/components/Tabs/_tabUtils.tsx +0 -4
- package/src/components/Tabs/index.ts +0 -5
- 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 -44
- package/src/components/Timeline/TimelineItem.tsx +0 -31
- package/src/components/Timeline/index.ts +0 -5
- package/src/components/Tooltip/Tooltip.stories.tsx +0 -129
- package/src/components/Tooltip/Tooltip.tsx +0 -58
- package/src/components/Tooltip/index.ts +0 -1
- package/src/components/_shared/formField.sx.ts +0 -118
- package/src/components/_shared/mergeSx.ts +0 -16
- package/src/components/_shared/resolvePreset.ts +0 -38
- 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 -51
- package/src/mui.ts +0 -57
- package/src/styles.css +0 -3
- package/src/theme/componentStyles.ts +0 -50
- package/src/theme/tokens.ts +0 -43
- package/src/utils/index.ts +0 -2
- package/src/utils/scrollToTop.ts +0 -36
- package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
- package/storybook-static/assets/AccountCircle-BDZFsbTw.js +0 -1
- package/storybook-static/assets/ActionMenu-EynP8yU1.js +0 -19
- package/storybook-static/assets/ActionMenu.stories-DqSqRGix.js +0 -185
- package/storybook-static/assets/Alert-3zvTPc0p.js +0 -1
- package/storybook-static/assets/AppBar.stories-DcX3M5th.js +0 -172
- package/storybook-static/assets/Autocomplete.stories-CXJm8FOT.js +0 -788
- package/storybook-static/assets/Avatar-NbFfkZws.js +0 -1
- package/storybook-static/assets/Avatar.stories-CwOYCzqU.js +0 -390
- package/storybook-static/assets/Box-BnhEcfFm.js +0 -1
- package/storybook-static/assets/Button-D9h7OggD.js +0 -1
- package/storybook-static/assets/Button-DBpqmVB_.js +0 -1
- package/storybook-static/assets/Button.stories-F20dmnjq.js +0 -320
- package/storybook-static/assets/ButtonBase-qyaMEhe4.js +0 -74
- package/storybook-static/assets/Card.stories-B3NpAhO0.js +0 -154
- package/storybook-static/assets/CheckCircleOutline-CEj5mDsl.js +0 -1
- package/storybook-static/assets/Chip-C3vKPpzR.js +0 -1
- package/storybook-static/assets/Chip.stories-sxcfHVo9.js +0 -333
- package/storybook-static/assets/CircularProgress-DC7ZNWwl.js +0 -28
- package/storybook-static/assets/Clear-4kYcKvT3.js +0 -1
- package/storybook-static/assets/ClipBoard-DvLBdNHe.js +0 -1
- package/storybook-static/assets/ClipBoard.stories-BGUo47r6.js +0 -108
- package/storybook-static/assets/Close-CgHeRgmh.js +0 -1
- package/storybook-static/assets/Close-Cy8nELYU.js +0 -1
- package/storybook-static/assets/Color-AVL7NMMY-BJKvwERm.js +0 -1
- package/storybook-static/assets/ContentCopy-BfLTDb10.js +0 -1
- package/storybook-static/assets/DatePicker-Clkpr-Ku.js +0 -1
- package/storybook-static/assets/DatePicker.stories-EaUCMkh3.js +0 -444
- package/storybook-static/assets/DateRangePicker.stories-BMlkj-8K.js +0 -390
- package/storybook-static/assets/DateTimePicker.stories-B6gdzKq5.js +0 -555
- package/storybook-static/assets/DefaultPropsProvider-BGoQxtDa.js +0 -16
- package/storybook-static/assets/Delete-D2SMMmIA.js +0 -1
- package/storybook-static/assets/DialogContent-BeCDKgax.js +0 -1
- package/storybook-static/assets/Divider-BbCj9wT4.js +0 -1
- package/storybook-static/assets/DocsRenderer-PQXLIZUC-BebLK5Y_.js +0 -1243
- package/storybook-static/assets/Drawer-DcFwy73r.js +0 -1
- package/storybook-static/assets/Drawer.stories-C5AZkJBk.js +0 -173
- package/storybook-static/assets/EmptyTable-B-RKtgVs.png +0 -0
- package/storybook-static/assets/ErrorOutline-D9gM7ART.js +0 -1
- package/storybook-static/assets/Fade-Ll96CvH8.js +0 -1
- package/storybook-static/assets/Flyout.stories-Cf7z6MNw.js +0 -163
- package/storybook-static/assets/Gallery.stories-DdpWVTF6.js +0 -127
- package/storybook-static/assets/Grow-8y4FglGK.js +0 -1
- package/storybook-static/assets/Home-BRvJEp2L.js +0 -1
- package/storybook-static/assets/Icon.stories-D0mUiW_t.js +0 -78
- package/storybook-static/assets/IconButton-9OYSTH58.js +0 -1
- package/storybook-static/assets/Input-CjX0t4h-.js +0 -1
- package/storybook-static/assets/Input.stories-BRxekliy.js +0 -650
- package/storybook-static/assets/InputGroup.stories-DH6gUfmn.js +0 -306
- package/storybook-static/assets/KeyboardArrowRight-WO_attK2.js +0 -1
- package/storybook-static/assets/KeyboardArrowUp-DsyVef-i.js +0 -1
- package/storybook-static/assets/ListItem-D3O0103N.js +0 -1
- package/storybook-static/assets/ListItemIcon-hca6xN79.js +0 -1
- package/storybook-static/assets/ListItemText-BFLAwLdl.js +0 -1
- package/storybook-static/assets/Logout-gj-P3AfU.js +0 -1
- package/storybook-static/assets/Menu-ClzfjLc3.js +0 -1
- package/storybook-static/assets/MenuButton.stories-B-W_QVDt.js +0 -162
- package/storybook-static/assets/MenuItem-iU6tAqJI.js +0 -1
- package/storybook-static/assets/Modal-3okp9H2i.js +0 -1
- package/storybook-static/assets/Modal.stories-DIWzm4qR.js +0 -468
- package/storybook-static/assets/MoreVert-BoIVG4gh.js +0 -1
- package/storybook-static/assets/Notifications-DY_A-Sho.js +0 -1
- package/storybook-static/assets/PageLoader.stories-DmtO1mlm.js +0 -158
- package/storybook-static/assets/Paper-SwQBhqI7.js +0 -1
- package/storybook-static/assets/Person-CkQl-mpq.js +0 -1
- package/storybook-static/assets/PickersModalDialog-Tjnr_cu5.js +0 -10
- package/storybook-static/assets/PickersToolbarButton-Tt185-si.js +0 -1
- package/storybook-static/assets/Popper-CnCTYXxy.js +0 -1
- package/storybook-static/assets/Portal-Cj8XF9Lf.js +0 -1
- package/storybook-static/assets/ScrollTopButton.stories-BflQCwNP.js +0 -90
- package/storybook-static/assets/Select-CjcuMAY0.js +0 -4
- package/storybook-static/assets/Select-DJh2biEb.js +0 -3
- package/storybook-static/assets/Select.stories-DU1Gb3I2.js +0 -1103
- package/storybook-static/assets/Settings-BLKc1CnO.js +0 -1
- package/storybook-static/assets/Snackbar-BtVeKTw6.js +0 -1
- package/storybook-static/assets/Stack-D01OUIXi.js +0 -1
- package/storybook-static/assets/Stat.stories-Bn9-iuPT.js +0 -60
- package/storybook-static/assets/StatusMessage.stories-hnfX8FeU.js +0 -73
- package/storybook-static/assets/Stepper-BtKB5ykn.js +0 -2
- package/storybook-static/assets/Stepper.stories-CTEZbgPc.js +0 -165
- package/storybook-static/assets/Table.stories-CTn2Ktmn.js +0 -1260
- package/storybook-static/assets/TableContainer-CzLNaEU-.js +0 -1
- package/storybook-static/assets/TableRow-CS88-1HF.js +0 -2
- package/storybook-static/assets/Tabs-DLpDOu_n.js +0 -1
- package/storybook-static/assets/Tabs.stories-BFVuFy_5.js +0 -159
- package/storybook-static/assets/TextField-22T-xHBm.js +0 -1
- package/storybook-static/assets/Timeline.stories-DJU_U2Hv.js +0 -97
- package/storybook-static/assets/Tooltip-DbnHUxNj.js +0 -1
- package/storybook-static/assets/Tooltip.stories-B7tA3dnV.js +0 -66
- package/storybook-static/assets/Typography-BgntX2Ep.js +0 -1
- package/storybook-static/assets/Wizard.stories-CVrJLK_D.js +0 -23
- package/storybook-static/assets/createSimplePaletteValueFilter-bm0fmN_7.js +0 -1
- package/storybook-static/assets/createSvgIcon-D_Gca4vA.js +0 -1
- package/storybook-static/assets/debounce-Be36O1Ab.js +0 -1
- package/storybook-static/assets/emotion-react.browser.esm--g-C9cX9.js +0 -8
- package/storybook-static/assets/extendSxProp-CEpa30hT.js +0 -1
- package/storybook-static/assets/formField.sx-DMCmZIAa.js +0 -1
- package/storybook-static/assets/getReactElementRef-BQ3ANZdy.js +0 -1
- package/storybook-static/assets/iframe-BAJnc_4n.js +0 -1079
- package/storybook-static/assets/index-B1tlhOpe.js +0 -240
- package/storybook-static/assets/index-BF3FAXTk.js +0 -9
- package/storybook-static/assets/index-CIeucmOB.js +0 -2
- package/storybook-static/assets/index-CY7j4a7o.js +0 -1
- package/storybook-static/assets/index-CxkKctw5.js +0 -1
- package/storybook-static/assets/isFocusVisible-B8k4qzLc.js +0 -1
- package/storybook-static/assets/isMuiElement-CTZSFcY5.js +0 -1
- package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +0 -9
- package/storybook-static/assets/listItemTextClasses-CC_rwJam.js +0 -1
- package/storybook-static/assets/mergeSlotProps-B0UBKBMe.js +0 -1
- package/storybook-static/assets/ownerDocument-DW-IO8s5.js +0 -1
- package/storybook-static/assets/ownerWindow-HkKU3E4x.js +0 -1
- package/storybook-static/assets/preload-helper-PPVm8Dsz.js +0 -1
- package/storybook-static/assets/react-18-BUJ64QCV.js +0 -25
- package/storybook-static/assets/resolvePreset-CN2aOJJr.js +0 -1
- package/storybook-static/assets/useControlled-DsVh1a5j.js +0 -1
- package/storybook-static/assets/useForkRef-0ANIrxcF.js +0 -1
- package/storybook-static/assets/useId-b4fZxjOL.js +0 -1
- package/storybook-static/assets/useMobilePicker-DK-c8xbD.js +0 -1
- package/storybook-static/assets/usePreviousProps-WR0rG4aR.js +0 -1
- package/storybook-static/assets/useSlot-b6pXgp5_.js +0 -1
- package/storybook-static/assets/useSlotProps-C0uMfuBt.js +0 -1
- package/storybook-static/assets/useTheme-BmOJK7ra.js +0 -1
- package/storybook-static/assets/useThemeProps-DYtxXiUU.js +0 -1
- package/storybook-static/assets/useThemeProps-U4yXiZ_5.js +0 -1
- package/storybook-static/assets/useTimeout-DNjRaOWc.js +0 -1
- package/storybook-static/assets/visuallyHidden-Dan1xhjv.js +0 -1
- package/storybook-static/favicon-wrapper.svg +0 -46
- package/storybook-static/favicon.svg +0 -1
- package/storybook-static/iframe.html +0 -686
- package/storybook-static/index.html +0 -160
- package/storybook-static/index.json +0 -1
- 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 +0 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js +0 -356
- package/storybook-static/sb-addons/chromatic-com-storybook-2/manager-bundle.js.LEGAL.txt +0 -40
- package/storybook-static/sb-addons/docs-4/manager-bundle.js +0 -151
- package/storybook-static/sb-addons/onboarding-1/manager-bundle.js +0 -127
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -971
- package/storybook-static/sb-addons/vitest-3/manager-bundle.js +0 -3
- package/storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
- package/storybook-static/sb-common-assets/favicon.svg +0 -1
- 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 +0 -797
- package/storybook-static/sb-manager/globals-runtime.js +0 -69679
- package/storybook-static/sb-manager/globals.js +0 -34
- package/storybook-static/sb-manager/runtime.js +0 -13195
- package/storybook-static/vite-inject-mocker-entry.js +0 -18
- 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/Autocomplete-C_lW1VER.js → Autocomplete-C_lW1VER.js} +0 -0
- /package/{dist/Autocomplete-C_lW1VER.js.map → Autocomplete-C_lW1VER.js.map} +0 -0
- /package/{dist/Autocomplete-CejWztBY.cjs → Autocomplete-CejWztBY.cjs} +0 -0
- /package/{dist/Autocomplete-CejWztBY.cjs.map → Autocomplete-CejWztBY.cjs.map} +0 -0
- /package/{dist/Avatar-CgT7955R.js → Avatar-CgT7955R.js} +0 -0
- /package/{dist/Avatar-CgT7955R.js.map → Avatar-CgT7955R.js.map} +0 -0
- /package/{dist/Avatar-CuSrK8Wn.cjs → Avatar-CuSrK8Wn.cjs} +0 -0
- /package/{dist/Avatar-CuSrK8Wn.cjs.map → Avatar-CuSrK8Wn.cjs.map} +0 -0
- /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
- /package/{dist/Button-C17mExpd.cjs.map → Button-C17mExpd.cjs.map} +0 -0
- /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
- /package/{dist/Button-UkkP-bNw.js.map → Button-UkkP-bNw.js.map} +0 -0
- /package/{dist/Card-B1wtavyl.js → Card-B1wtavyl.js} +0 -0
- /package/{dist/Card-B1wtavyl.js.map → Card-B1wtavyl.js.map} +0 -0
- /package/{dist/Card-DfdU610V.cjs → Card-DfdU610V.cjs} +0 -0
- /package/{dist/Card-DfdU610V.cjs.map → Card-DfdU610V.cjs.map} +0 -0
- /package/{dist/Checkbox-BCqMFWt4.cjs → Checkbox-BCqMFWt4.cjs} +0 -0
- /package/{dist/Checkbox-BCqMFWt4.cjs.map → Checkbox-BCqMFWt4.cjs.map} +0 -0
- /package/{dist/Checkbox-gB5YKkVo.js → Checkbox-gB5YKkVo.js} +0 -0
- /package/{dist/Checkbox-gB5YKkVo.js.map → Checkbox-gB5YKkVo.js.map} +0 -0
- /package/{dist/Chip-OPYQ1uQ_.js → Chip-OPYQ1uQ_.js} +0 -0
- /package/{dist/Chip-OPYQ1uQ_.js.map → Chip-OPYQ1uQ_.js.map} +0 -0
- /package/{dist/Chip-qoJLDiva.cjs → Chip-qoJLDiva.cjs} +0 -0
- /package/{dist/Chip-qoJLDiva.cjs.map → Chip-qoJLDiva.cjs.map} +0 -0
- /package/{dist/DatePicker-_IGWc3I5.js → DatePicker-_IGWc3I5.js} +0 -0
- /package/{dist/DatePicker-_IGWc3I5.js.map → DatePicker-_IGWc3I5.js.map} +0 -0
- /package/{dist/DatePicker-t7uDTZMl.cjs → DatePicker-t7uDTZMl.cjs} +0 -0
- /package/{dist/DatePicker-t7uDTZMl.cjs.map → DatePicker-t7uDTZMl.cjs.map} +0 -0
- /package/{dist/DateTimePicker-BxQyjTCY.cjs → DateTimePicker-BxQyjTCY.cjs} +0 -0
- /package/{dist/DateTimePicker-BxQyjTCY.cjs.map → DateTimePicker-BxQyjTCY.cjs.map} +0 -0
- /package/{dist/DateTimePicker-CrmWav_j.js → DateTimePicker-CrmWav_j.js} +0 -0
- /package/{dist/DateTimePicker-CrmWav_j.js.map → DateTimePicker-CrmWav_j.js.map} +0 -0
- /package/{dist/Input-CScC87J5.cjs → Input-CScC87J5.cjs} +0 -0
- /package/{dist/Input-CScC87J5.cjs.map → Input-CScC87J5.cjs.map} +0 -0
- /package/{dist/Input-DP_fKl38.js → Input-DP_fKl38.js} +0 -0
- /package/{dist/Input-DP_fKl38.js.map → Input-DP_fKl38.js.map} +0 -0
- /package/{dist/Modal-BN5s-Tfk.cjs → Modal-BN5s-Tfk.cjs} +0 -0
- /package/{dist/Modal-BN5s-Tfk.cjs.map → Modal-BN5s-Tfk.cjs.map} +0 -0
- /package/{dist/Modal-BRZMPwDj.js → Modal-BRZMPwDj.js} +0 -0
- /package/{dist/Modal-BRZMPwDj.js.map → Modal-BRZMPwDj.js.map} +0 -0
- /package/{dist/README.md → README.md} +0 -0
- /package/{dist/RadioGroup-Dd0rHXSX.cjs → RadioGroup-Dd0rHXSX.cjs} +0 -0
- /package/{dist/RadioGroup-Dd0rHXSX.cjs.map → RadioGroup-Dd0rHXSX.cjs.map} +0 -0
- /package/{dist/RadioGroup-bO-ahP9T.js → RadioGroup-bO-ahP9T.js} +0 -0
- /package/{dist/RadioGroup-bO-ahP9T.js.map → RadioGroup-bO-ahP9T.js.map} +0 -0
- /package/{dist/Stat-BUcFCGrz.cjs → Stat-BUcFCGrz.cjs} +0 -0
- /package/{dist/Stat-BUcFCGrz.cjs.map → Stat-BUcFCGrz.cjs.map} +0 -0
- /package/{dist/Stat-C06A_izS.js → Stat-C06A_izS.js} +0 -0
- /package/{dist/Stat-C06A_izS.js.map → Stat-C06A_izS.js.map} +0 -0
- /package/{dist/StatusMessage-B3nXpuRl.cjs → StatusMessage-B3nXpuRl.cjs} +0 -0
- /package/{dist/StatusMessage-B3nXpuRl.cjs.map → StatusMessage-B3nXpuRl.cjs.map} +0 -0
- /package/{dist/StatusMessage-D0WgSBx7.js → StatusMessage-D0WgSBx7.js} +0 -0
- /package/{dist/StatusMessage-D0WgSBx7.js.map → StatusMessage-D0WgSBx7.js.map} +0 -0
- /package/{dist/Step-BArsou1V.js → Step-BArsou1V.js} +0 -0
- /package/{dist/Step-BArsou1V.js.map → Step-BArsou1V.js.map} +0 -0
- /package/{dist/Step-Nd7SJbRZ.cjs → Step-Nd7SJbRZ.cjs} +0 -0
- /package/{dist/Step-Nd7SJbRZ.cjs.map → Step-Nd7SJbRZ.cjs.map} +0 -0
- /package/{dist/Switch-CQFOopYy.cjs → Switch-CQFOopYy.cjs} +0 -0
- /package/{dist/Switch-CQFOopYy.cjs.map → Switch-CQFOopYy.cjs.map} +0 -0
- /package/{dist/Switch-D72dpkH2.js → Switch-D72dpkH2.js} +0 -0
- /package/{dist/Switch-D72dpkH2.js.map → Switch-D72dpkH2.js.map} +0 -0
- /package/{dist/Tab-BbP8jBcK.cjs → Tab-BbP8jBcK.cjs} +0 -0
- /package/{dist/Tab-BbP8jBcK.cjs.map → Tab-BbP8jBcK.cjs.map} +0 -0
- /package/{dist/Tab-BxSxKJsP.js → Tab-BxSxKJsP.js} +0 -0
- /package/{dist/Tab-BxSxKJsP.js.map → Tab-BxSxKJsP.js.map} +0 -0
- /package/{dist/Table-C2LbW0B1.js → Table-C2LbW0B1.js} +0 -0
- /package/{dist/Table-C2LbW0B1.js.map → Table-C2LbW0B1.js.map} +0 -0
- /package/{dist/Table-C4OM6rrC.cjs → Table-C4OM6rrC.cjs} +0 -0
- /package/{dist/Table-C4OM6rrC.cjs.map → Table-C4OM6rrC.cjs.map} +0 -0
- /package/{dist/components → components}/ActionMenu/ActionMenu.cjs +0 -0
- /package/{dist/components → components}/ActionMenu/ActionMenu.cjs.map +0 -0
- /package/{dist/components → components}/ActionMenu/ActionMenu.d.ts +0 -0
- /package/{dist/components → components}/ActionMenu/ActionMenu.js +0 -0
- /package/{dist/components → components}/ActionMenu/ActionMenu.js.map +0 -0
- /package/{dist/components → components}/ActionMenu/index.d.ts +0 -0
- /package/{dist/components → components}/ActionMenu.d.ts +0 -0
- /package/{dist/components → components}/AppBar/AppBar.cjs +0 -0
- /package/{dist/components → components}/AppBar/AppBar.cjs.map +0 -0
- /package/{dist/components → components}/AppBar/AppBar.d.ts +0 -0
- /package/{dist/components → components}/AppBar/AppBar.js +0 -0
- /package/{dist/components → components}/AppBar/AppBar.js.map +0 -0
- /package/{dist/components → components}/AppBar/AppBar.sx.d.ts +0 -0
- /package/{dist/components → components}/AppBar/AppBarContext.d.ts +0 -0
- /package/{dist/components → components}/AppBar/AppBarMenuToggle.d.ts +0 -0
- /package/{dist/components → components}/AppBar/index.d.ts +0 -0
- /package/{dist/components → components}/AppBar.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.cjs +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.cjs.map +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.helpers.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.js +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.js.map +0 -0
- /package/{dist/components → components}/Autocomplete/Autocomplete.sx.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/_parts/AutocompleteChips.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/_parts/AutocompleteLoader.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/_parts/AutocompleteOption.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete/index.d.ts +0 -0
- /package/{dist/components → components}/Autocomplete.d.ts +0 -0
- /package/{dist/components → components}/Avatar/Avatar.cjs +0 -0
- /package/{dist/components → components}/Avatar/Avatar.cjs.map +0 -0
- /package/{dist/components → components}/Avatar/Avatar.d.ts +0 -0
- /package/{dist/components → components}/Avatar/Avatar.definitions.d.ts +0 -0
- /package/{dist/components → components}/Avatar/Avatar.js +0 -0
- /package/{dist/components → components}/Avatar/Avatar.js.map +0 -0
- /package/{dist/components → components}/Avatar/index.d.ts +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.d.ts +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/index.d.ts +0 -0
- /package/{dist/components → components}/Button.d.ts +0 -0
- /package/{dist/components → components}/Card/Card.cjs +0 -0
- /package/{dist/components → components}/Card/Card.cjs.map +0 -0
- /package/{dist/components → components}/Card/Card.d.ts +0 -0
- /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
- /package/{dist/components → components}/Card/Card.js +0 -0
- /package/{dist/components → components}/Card/Card.js.map +0 -0
- /package/{dist/components → components}/Card/Card.sx.d.ts +0 -0
- /package/{dist/components → components}/Card/index.d.ts +0 -0
- /package/{dist/components → components}/Card.d.ts +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.cjs +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.cjs.map +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.d.ts +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.js +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.js.map +0 -0
- /package/{dist/components → components}/Checkbox/Checkbox.sx.d.ts +0 -0
- /package/{dist/components → components}/Checkbox/index.d.ts +0 -0
- /package/{dist/components → components}/Checkbox.d.ts +0 -0
- /package/{dist/components → components}/Chip/Chip.cjs +0 -0
- /package/{dist/components → components}/Chip/Chip.cjs.map +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}/Chip/Chip.js +0 -0
- /package/{dist/components → components}/Chip/Chip.js.map +0 -0
- /package/{dist/components → components}/Chip/index.d.ts +0 -0
- /package/{dist/components → components}/Chip.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}/DatePicker/DatePicker.cjs +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.cjs.map +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.d.ts +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.helpers.d.ts +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.js +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.js.map +0 -0
- /package/{dist/components → components}/DatePicker/DatePicker.sx.d.ts +0 -0
- /package/{dist/components → components}/DatePicker/index.d.ts +0 -0
- /package/{dist/components → components}/DatePicker.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs.map +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.helpers.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.js +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.js.map +0 -0
- /package/{dist/components → components}/DateTimePicker/DateTimePicker.sx.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker/index.d.ts +0 -0
- /package/{dist/components → components}/DateTimePicker.d.ts +0 -0
- /package/{dist/components → components}/Drawer/Drawer.cjs +0 -0
- /package/{dist/components → components}/Drawer/Drawer.cjs.map +0 -0
- /package/{dist/components → components}/Drawer/Drawer.d.ts +0 -0
- /package/{dist/components → components}/Drawer/Drawer.js +0 -0
- /package/{dist/components → components}/Drawer/Drawer.js.map +0 -0
- /package/{dist/components → components}/Drawer/Drawer.sx.d.ts +0 -0
- /package/{dist/components → components}/Drawer/DrawerContext.d.ts +0 -0
- /package/{dist/components → components}/Drawer/DrawerItem.d.ts +0 -0
- /package/{dist/components → components}/Drawer/index.d.ts +0 -0
- /package/{dist/components → components}/Drawer.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.cjs +0 -0
- /package/{dist/components → components}/Gallery/Gallery.cjs.map +0 -0
- /package/{dist/components → components}/Gallery/Gallery.d.ts +0 -0
- /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
- /package/{dist/components → components}/Gallery/Gallery.js +0 -0
- /package/{dist/components → components}/Gallery/Gallery.js.map +0 -0
- /package/{dist/components → components}/Gallery/GalleryLightbox.d.ts +0 -0
- /package/{dist/components → components}/Gallery/GalleryMain.d.ts +0 -0
- /package/{dist/components → components}/Gallery/GalleryThumbnails.d.ts +0 -0
- /package/{dist/components → components}/Gallery/index.d.ts +0 -0
- /package/{dist/components → components}/Gallery.d.ts +0 -0
- /package/{dist/components → components}/Icon/Icon.cjs +0 -0
- /package/{dist/components → components}/Icon/Icon.cjs.map +0 -0
- /package/{dist/components → components}/Icon/Icon.d.ts +0 -0
- /package/{dist/components → components}/Icon/Icon.js +0 -0
- /package/{dist/components → components}/Icon/Icon.js.map +0 -0
- /package/{dist/components → components}/Icon/index.d.ts +0 -0
- /package/{dist/components → components}/Icon.d.ts +0 -0
- /package/{dist/components → components}/Input/Input.cjs +0 -0
- /package/{dist/components → components}/Input/Input.cjs.map +0 -0
- /package/{dist/components → components}/Input/Input.d.ts +0 -0
- /package/{dist/components → components}/Input/Input.definitions.d.ts +0 -0
- /package/{dist/components → components}/Input/Input.helpers.d.ts +0 -0
- /package/{dist/components → components}/Input/Input.js +0 -0
- /package/{dist/components → components}/Input/Input.js.map +0 -0
- /package/{dist/components → components}/Input/Input.sx.d.ts +0 -0
- /package/{dist/components → components}/Input/index.d.ts +0 -0
- /package/{dist/components → components}/Input.d.ts +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.cjs +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.cjs.map +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.d.ts +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.definitions.d.ts +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.js +0 -0
- /package/{dist/components → components}/InputGroup/InputGroup.js.map +0 -0
- /package/{dist/components → components}/InputGroup/index.d.ts +0 -0
- /package/{dist/components → components}/InputGroup.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}/Modal/Modal.cjs +0 -0
- /package/{dist/components → components}/Modal/Modal.cjs.map +0 -0
- /package/{dist/components → components}/Modal/Modal.d.ts +0 -0
- /package/{dist/components → components}/Modal/Modal.js +0 -0
- /package/{dist/components → components}/Modal/Modal.js.map +0 -0
- /package/{dist/components → components}/Modal/ModalBody.d.ts +0 -0
- /package/{dist/components → components}/Modal/ModalFooter.d.ts +0 -0
- /package/{dist/components → components}/Modal/ModalHeader.d.ts +0 -0
- /package/{dist/components → components}/Modal/index.d.ts +0 -0
- /package/{dist/components → components}/Modal.d.ts +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.cjs +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.cjs.map +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.d.ts +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.definitions.d.ts +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.js +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.js.map +0 -0
- /package/{dist/components → components}/RadioGroup/RadioGroup.sx.d.ts +0 -0
- /package/{dist/components → components}/RadioGroup/index.d.ts +0 -0
- /package/{dist/components → components}/RadioGroup.d.ts +0 -0
- /package/{dist/components → components}/Select/Select.cjs.map +0 -0
- /package/{dist/components → components}/Select/Select.helpers.d.ts +0 -0
- /package/{dist/components → components}/Select/Select.js.map +0 -0
- /package/{dist/components → components}/Select/Select.sx.d.ts +0 -0
- /package/{dist/components → components}/Select/_parts/SelectMenuItem.d.ts +0 -0
- /package/{dist/components → components}/Select/_parts/SelectValue.d.ts +0 -0
- /package/{dist/components → components}/Select/index.d.ts +0 -0
- /package/{dist/components → components}/Select.d.ts +0 -0
- /package/{dist/components → components}/Stat/Stat.cjs +0 -0
- /package/{dist/components → components}/Stat/Stat.cjs.map +0 -0
- /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
- /package/{dist/components → components}/Stat/Stat.js +0 -0
- /package/{dist/components → components}/Stat/Stat.js.map +0 -0
- /package/{dist/components → components}/Stat/index.d.ts +0 -0
- /package/{dist/components → components}/Stat.d.ts +0 -0
- /package/{dist/components → components}/StatusMessage/StatusMessage.cjs +0 -0
- /package/{dist/components → components}/StatusMessage/StatusMessage.cjs.map +0 -0
- /package/{dist/components → components}/StatusMessage/StatusMessage.d.ts +0 -0
- /package/{dist/components → components}/StatusMessage/StatusMessage.js +0 -0
- /package/{dist/components → components}/StatusMessage/StatusMessage.js.map +0 -0
- /package/{dist/components → components}/StatusMessage/index.d.ts +0 -0
- /package/{dist/components → components}/StatusMessage.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Stepper.cjs +0 -0
- /package/{dist/components → components}/Stepper/Stepper.cjs.map +0 -0
- /package/{dist/components → components}/Stepper/Stepper.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
- /package/{dist/components → components}/Stepper/Stepper.js +0 -0
- /package/{dist/components → components}/Stepper/Stepper.js.map +0 -0
- /package/{dist/components → components}/Stepper/StepperContext.d.ts +0 -0
- /package/{dist/components → components}/Stepper/_hooks/useHorizontalScroll.d.ts +0 -0
- /package/{dist/components → components}/Stepper/_parts/StepperScrollArrow.d.ts +0 -0
- /package/{dist/components → components}/Stepper/index.d.ts +0 -0
- /package/{dist/components → components}/Stepper.d.ts +0 -0
- /package/{dist/components → components}/Switch/Switch.cjs +0 -0
- /package/{dist/components → components}/Switch/Switch.cjs.map +0 -0
- /package/{dist/components → components}/Switch/Switch.d.ts +0 -0
- /package/{dist/components → components}/Switch/Switch.definitions.d.ts +0 -0
- /package/{dist/components → components}/Switch/Switch.js +0 -0
- /package/{dist/components → components}/Switch/Switch.js.map +0 -0
- /package/{dist/components → components}/Switch/Switch.sx.d.ts +0 -0
- /package/{dist/components → components}/Switch/Switch.types.d.ts +0 -0
- /package/{dist/components → components}/Switch/index.d.ts +0 -0
- /package/{dist/components → components}/Switch.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/Tabs.cjs +0 -0
- /package/{dist/components → components}/Tabs/Tabs.cjs.map +0 -0
- /package/{dist/components → components}/Tabs/Tabs.d.ts +0 -0
- /package/{dist/components → components}/Tabs/Tabs.js +0 -0
- /package/{dist/components → components}/Tabs/Tabs.js.map +0 -0
- /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
- /package/{dist/components → components}/Tabs/index.d.ts +0 -0
- /package/{dist/components → components}/Tabs.d.ts +0 -0
- /package/{dist/components → components}/Timeline/Timeline.cjs +0 -0
- /package/{dist/components → components}/Timeline/Timeline.cjs.map +0 -0
- /package/{dist/components → components}/Timeline/Timeline.d.ts +0 -0
- /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
- /package/{dist/components → components}/Timeline/Timeline.js +0 -0
- /package/{dist/components → components}/Timeline/Timeline.js.map +0 -0
- /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
- /package/{dist/components → components}/Timeline/index.d.ts +0 -0
- /package/{dist/components → components}/Timeline.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/components → components}/_shared/formField.sx.d.ts +0 -0
- /package/{dist/components → components}/_shared/mergeSx.d.ts +0 -0
- /package/{dist/components → components}/_shared/resolvePreset.d.ts +0 -0
- /package/{dist/formField.sx-8_QRnKxv.js → formField.sx-8_QRnKxv.js} +0 -0
- /package/{dist/formField.sx-8_QRnKxv.js.map → formField.sx-8_QRnKxv.js.map} +0 -0
- /package/{dist/formField.sx-BAX7KwMR.cjs → formField.sx-BAX7KwMR.cjs} +0 -0
- /package/{dist/formField.sx-BAX7KwMR.cjs.map → formField.sx-BAX7KwMR.cjs.map} +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.cjs.map → index.cjs.map} +0 -0
- /package/{dist/index.css → index.css} +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js.map → index.js.map} +0 -0
- /package/{dist/mergeSx-BXoNZjB_.js → mergeSx-BXoNZjB_.js} +0 -0
- /package/{dist/mergeSx-BXoNZjB_.js.map → mergeSx-BXoNZjB_.js.map} +0 -0
- /package/{dist/mergeSx-Dbccoo_H.cjs → mergeSx-Dbccoo_H.cjs} +0 -0
- /package/{dist/mergeSx-Dbccoo_H.cjs.map → mergeSx-Dbccoo_H.cjs.map} +0 -0
- /package/{dist/mui.d.ts → mui.d.ts} +0 -0
- /package/{dist/resolvePreset-CxTI6_Ln.cjs → resolvePreset-CxTI6_Ln.cjs} +0 -0
- /package/{dist/resolvePreset-CxTI6_Ln.cjs.map → resolvePreset-CxTI6_Ln.cjs.map} +0 -0
- /package/{dist/resolvePreset-K6_BfWHD.js → resolvePreset-K6_BfWHD.js} +0 -0
- /package/{dist/resolvePreset-K6_BfWHD.js.map → resolvePreset-K6_BfWHD.js.map} +0 -0
- /package/{dist/theme → theme}/componentStyles.d.ts +0 -0
- /package/{dist/theme → theme}/tokens.d.ts +0 -0
- /package/{dist/tokens-BRrcP_p_.js → tokens-BRrcP_p_.js} +0 -0
- /package/{dist/tokens-BRrcP_p_.js.map → tokens-BRrcP_p_.js.map} +0 -0
- /package/{dist/tokens-jaWWNk39.cjs → tokens-jaWWNk39.cjs} +0 -0
- /package/{dist/tokens-jaWWNk39.cjs.map → tokens-jaWWNk39.cjs.map} +0 -0
- /package/{dist/utils → utils}/index.d.ts +0 -0
- /package/{dist/utils → utils}/scrollToTop.d.ts +0 -0
package/Readme.md
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
# @soyfri/shared-library
|
|
2
|
-
|
|
3
|
-
Una librería de componentes React reutilizables construida con Material-UI, TypeScript y Tailwind CSS, diseñada para proporcionar componentes UI consistentes y bien documentados.
|
|
4
|
-
|
|
5
|
-
## 📋 Tabla de Contenidos
|
|
6
|
-
|
|
7
|
-
- [Características](#características)
|
|
8
|
-
- [Instalación](#instalación)
|
|
9
|
-
- [Uso](#uso)
|
|
10
|
-
- [Componentes Disponibles](#componentes-disponibles)
|
|
11
|
-
- [Desarrollo](#desarrollo)
|
|
12
|
-
- [Scripts Disponibles](#scripts-disponibles)
|
|
13
|
-
- [Storybook](#storybook)
|
|
14
|
-
- [Testing](#testing)
|
|
15
|
-
- [Tecnologías](#tecnologías)
|
|
16
|
-
- [Estructura del Proyecto](#estructura-del-proyecto)
|
|
17
|
-
|
|
18
|
-
## ✨ Características
|
|
19
|
-
|
|
20
|
-
- 🎨 **Componentes tipados**: Todos los componentes están construidos con TypeScript para mayor seguridad de tipos
|
|
21
|
-
- 📚 **Documentación con Storybook**: Cada componente incluye historias interactivas y documentación
|
|
22
|
-
- 🎯 **Material-UI**: Basado en Material-UI para un diseño consistente y accesible
|
|
23
|
-
- 🌈 **Tailwind CSS**: Integración con Tailwind para estilos utilitarios
|
|
24
|
-
- 🧪 **Testing**: Configurado con Vitest y Playwright para testing de componentes
|
|
25
|
-
- 📦 **Build optimizado**: Configuración con Rollup para generar builds ESM y CommonJS
|
|
26
|
-
|
|
27
|
-
## 📦 Instalación
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm install @soyfri/shared-library
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 🚀 Uso
|
|
34
|
-
|
|
35
|
-
```tsx
|
|
36
|
-
import { Button, Table, Select } from '@soyfri/shared-library';
|
|
37
|
-
import '@soyfri/shared-library/dist/styles.css';
|
|
38
|
-
|
|
39
|
-
function App() {
|
|
40
|
-
return (
|
|
41
|
-
<div>
|
|
42
|
-
<Button variant="contained" color="primary">
|
|
43
|
-
Mi Botón
|
|
44
|
-
</Button>
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## 🧩 Componentes Disponibles
|
|
51
|
-
|
|
52
|
-
### Button
|
|
53
|
-
Componente de botón personalizable basado en Material-UI con soporte para iconos, diferentes tamaños y estados.
|
|
54
|
-
|
|
55
|
-
**Características:**
|
|
56
|
-
- Variantes: `text`, `outlined`, `contained`
|
|
57
|
-
- Tamaños: `small`, `medium`, `large`
|
|
58
|
-
- Soporte para iconos de inicio y fin
|
|
59
|
-
- Estados de carga
|
|
60
|
-
- Completamente tipado
|
|
61
|
-
|
|
62
|
-
### Table
|
|
63
|
-
Componente de tabla flexible con paginación interna y externa, ordenamiento y renderizado personalizado de columnas.
|
|
64
|
-
|
|
65
|
-
**Características:**
|
|
66
|
-
- Paginación interna automática
|
|
67
|
-
- Paginación externa controlada
|
|
68
|
-
- Columnas personalizables con renderizado custom
|
|
69
|
-
- Soporte para componentes complejos en celdas
|
|
70
|
-
- Completamente tipado con generics
|
|
71
|
-
|
|
72
|
-
### Select
|
|
73
|
-
Componente select avanzado con soporte para selección múltiple, filtros, agrupación y renderizado personalizado.
|
|
74
|
-
|
|
75
|
-
**Características:**
|
|
76
|
-
- Selección simple y múltiple
|
|
77
|
-
- Filtrado de opciones
|
|
78
|
-
- Agrupación de opciones
|
|
79
|
-
- Renderizado personalizado con avatars
|
|
80
|
-
- Placeholder configurable
|
|
81
|
-
|
|
82
|
-
### Avatar
|
|
83
|
-
Componente para mostrar avatares de usuarios con soporte para imágenes y texto.
|
|
84
|
-
|
|
85
|
-
### Icon
|
|
86
|
-
Wrapper para iconos de Material-UI con propiedades consistentes.
|
|
87
|
-
|
|
88
|
-
### Stat
|
|
89
|
-
Componente para mostrar estadísticas con diferentes plantillas de visualización.
|
|
90
|
-
|
|
91
|
-
**Características:**
|
|
92
|
-
- Plantilla simple
|
|
93
|
-
- Plantilla con chip
|
|
94
|
-
- Plantilla con lista de chips
|
|
95
|
-
- Colores personalizables
|
|
96
|
-
|
|
97
|
-
### Column
|
|
98
|
-
Componente auxiliar para definir columnas en el componente Table.
|
|
99
|
-
|
|
100
|
-
## 🛠️ Desarrollo
|
|
101
|
-
|
|
102
|
-
### Prerrequisitos
|
|
103
|
-
|
|
104
|
-
- Node.js (versión 18 o superior)
|
|
105
|
-
- npm o yarn
|
|
106
|
-
|
|
107
|
-
### Configuración del entorno de desarrollo
|
|
108
|
-
|
|
109
|
-
1. Clona el repositorio:
|
|
110
|
-
```bash
|
|
111
|
-
git clone <repository-url>
|
|
112
|
-
cd shared-library
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
2. Instala las dependencias:
|
|
116
|
-
```bash
|
|
117
|
-
npm install
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
3. Inicia el entorno de desarrollo:
|
|
121
|
-
```bash
|
|
122
|
-
npm run dev
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## 📜 Scripts Disponibles
|
|
126
|
-
|
|
127
|
-
- `npm run build` - Construye la librería para producción
|
|
128
|
-
- `npm run dev` - Inicia el modo de desarrollo con watch
|
|
129
|
-
- `npm run build:css` - Construye los estilos CSS
|
|
130
|
-
- `npm run watch:css` - Observa cambios en los estilos CSS
|
|
131
|
-
- `npm run clean` - Limpia la carpeta dist
|
|
132
|
-
- `npm run prepare` - Limpia y construye la librería
|
|
133
|
-
- `npm run storybook` - Inicia Storybook en modo desarrollo
|
|
134
|
-
- `npm run build-storybook` - Construye Storybook para producción
|
|
135
|
-
- `npm run dist` - Ejecuta el script de distribución personalizado
|
|
136
|
-
|
|
137
|
-
## 📚 Storybook
|
|
138
|
-
|
|
139
|
-
La librería incluye Storybook para documentación interactiva y desarrollo de componentes.
|
|
140
|
-
|
|
141
|
-
### Iniciar Storybook
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
npm run storybook
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Esto abrirá Storybook en `http://localhost:6006` donde podrás:
|
|
148
|
-
|
|
149
|
-
- Ver todos los componentes disponibles
|
|
150
|
-
- Interactuar con las propiedades de cada componente
|
|
151
|
-
- Ver ejemplos de uso
|
|
152
|
-
- Acceder a la documentación detallada
|
|
153
|
-
|
|
154
|
-
### Construir Storybook
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
npm run build-storybook
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## 🧪 Testing
|
|
161
|
-
|
|
162
|
-
La librería está configurada con Vitest y Playwright para testing de componentes.
|
|
163
|
-
|
|
164
|
-
### Configuración de Testing
|
|
165
|
-
|
|
166
|
-
- **Vitest**: Para unit tests y testing de componentes
|
|
167
|
-
- **Playwright**: Para testing de browser
|
|
168
|
-
- **Storybook Test Addon**: Para testing de historias de Storybook
|
|
169
|
-
|
|
170
|
-
## 🔧 Tecnologías
|
|
171
|
-
|
|
172
|
-
### Dependencias Principales
|
|
173
|
-
|
|
174
|
-
- **React 19.1.0**: Librería de UI
|
|
175
|
-
- **Material-UI 7.1.0**: Sistema de diseño y componentes
|
|
176
|
-
- **TypeScript 5.8.3**: Tipado estático
|
|
177
|
-
- **Tailwind CSS 4.1.7**: Framework de CSS utilitario
|
|
178
|
-
|
|
179
|
-
### Herramientas de Desarrollo
|
|
180
|
-
|
|
181
|
-
- **Storybook 9.0.8**: Documentación y desarrollo de componentes
|
|
182
|
-
- **Rollup**: Bundler para la construcción de la librería
|
|
183
|
-
- **Vitest**: Framework de testing
|
|
184
|
-
- **Playwright**: Testing de browser
|
|
185
|
-
- **Prettier**: Formateo de código
|
|
186
|
-
|
|
187
|
-
## 📁 Estructura del Proyecto
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
shared-library/
|
|
191
|
-
├── .storybook/ # Configuración de Storybook
|
|
192
|
-
├── src/
|
|
193
|
-
│ ├── components/ # Componentes de la librería
|
|
194
|
-
│ │ ├── Avatar/
|
|
195
|
-
│ │ ├── Button/
|
|
196
|
-
│ │ ├── Column/
|
|
197
|
-
│ │ ├── Icon/
|
|
198
|
-
│ │ ├── Select/
|
|
199
|
-
│ │ ├── Stat/
|
|
200
|
-
│ │ └── Table/
|
|
201
|
-
│ ├── index.ts # Punto de entrada principal
|
|
202
|
-
│ └── styles.css # Estilos globales
|
|
203
|
-
├── dist/ # Archivos construidos
|
|
204
|
-
├── package.json
|
|
205
|
-
├── tsconfig.json
|
|
206
|
-
├── tailwind.config.js
|
|
207
|
-
├── rollup.config.cjs
|
|
208
|
-
└── vitest.config.ts
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Estructura de Componentes
|
|
212
|
-
|
|
213
|
-
Cada componente sigue una estructura consistente:
|
|
214
|
-
|
|
215
|
-
```
|
|
216
|
-
ComponentName/
|
|
217
|
-
├── ComponentName.tsx # Implementación del componente
|
|
218
|
-
├── ComponentName.stories.tsx # Historias de Storybook
|
|
219
|
-
├── ComponentName.definition.ts # Definiciones de código (opcional)
|
|
220
|
-
├── index.ts # Exportaciones
|
|
221
|
-
└── types.ts # Tipos específicos (opcional)
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## 🤝 Contribución
|
|
225
|
-
|
|
226
|
-
Para contribuir al proyecto:
|
|
227
|
-
|
|
228
|
-
1. Fork el repositorio
|
|
229
|
-
2. Crea una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`)
|
|
230
|
-
3. Commit tus cambios (`git commit -am 'Agrega nueva funcionalidad'`)
|
|
231
|
-
4. Push a la rama (`git push origin feature/nueva-funcionalidad`)
|
|
232
|
-
5. Crea un Pull Request
|
|
233
|
-
|
|
234
|
-
## 📄 Licencia
|
|
235
|
-
|
|
236
|
-
ISC License
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
**Versión actual:** 1.0.1
|
|
241
|
-
|
|
242
|
-
Para más información y ejemplos detallados, consulta la documentación en Storybook ejecutando `npm run storybook`.
|
|
243
|
-
|
package/build.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { readFileSync, existsSync, mkdirSync, writeFileSync, copyFileSync } from 'fs';
|
|
2
|
-
import { join, basename } from 'path';
|
|
3
|
-
import { sync } from 'glob';
|
|
4
|
-
|
|
5
|
-
const projectRoot = process.cwd();
|
|
6
|
-
const srcComponentsDir = join(projectRoot, 'src', 'components');
|
|
7
|
-
const srcHooksDir = join(projectRoot, 'src', 'hooks');
|
|
8
|
-
const distDir = join(projectRoot, 'dist');
|
|
9
|
-
const distComponentsDir = join(distDir, 'components');
|
|
10
|
-
const distHooksDir = join(distDir, 'hooks');
|
|
11
|
-
const originalPackageJsonPath = join(projectRoot, 'package.json');
|
|
12
|
-
const distPackageJsonPath = join(distDir, 'package.json');
|
|
13
|
-
const readmePath = join(projectRoot, 'README.md');
|
|
14
|
-
|
|
15
|
-
// Leer el package.json original
|
|
16
|
-
const originalPackageJson = JSON.parse(readFileSync(originalPackageJsonPath, 'utf8'));
|
|
17
|
-
|
|
18
|
-
// Inicializar el nuevo objeto exports
|
|
19
|
-
let newExports = {
|
|
20
|
-
".": {
|
|
21
|
-
"import": "./index.js",
|
|
22
|
-
"require": "./index.cjs",
|
|
23
|
-
"types": "./index.d.ts"
|
|
24
|
-
},
|
|
25
|
-
"./package.json": "./package.json"
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// Función para procesar directorios de forma condicional y crear entradas en exports
|
|
29
|
-
const processDirectories = (sourceDir, distDir, exportPrefix) => {
|
|
30
|
-
if (!existsSync(sourceDir)) {
|
|
31
|
-
console.log(`Directorio no encontrado: ${sourceDir}. Saltando.`);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (!existsSync(distDir)) {
|
|
36
|
-
mkdirSync(distDir, { recursive: true });
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const componentDirs = sync(`${sourceDir}/*/`);
|
|
40
|
-
|
|
41
|
-
console.log(`Buscando módulos en: ${sourceDir}`);
|
|
42
|
-
|
|
43
|
-
componentDirs.forEach(componentDirPath => {
|
|
44
|
-
const componentName = basename(componentDirPath);
|
|
45
|
-
|
|
46
|
-
// Verificar si el nombre de la carpeta tiene la inicial en mayúscula
|
|
47
|
-
if (!/^[A-Z]/.test(componentName)) {
|
|
48
|
-
console.log(` - Saltando '${componentName}' porque su carpeta no empieza con mayúscula.`);
|
|
49
|
-
return; // Saltar este componente
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
console.log(` - Módulo encontrado: ${componentName}`);
|
|
53
|
-
|
|
54
|
-
// Crear carpeta en dist
|
|
55
|
-
const distModuleFolder = join(distDir, componentName);
|
|
56
|
-
if (!existsSync(distModuleFolder)) {
|
|
57
|
-
mkdirSync(distModuleFolder, { recursive: true });
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Agregar entrada al objeto exports
|
|
61
|
-
const exportPath = `./${exportPrefix}/${componentName}`;
|
|
62
|
-
newExports[exportPath] = {
|
|
63
|
-
"import": `./${exportPrefix}/${componentName}/${componentName}.js`,
|
|
64
|
-
"require": `./${exportPrefix}/${componentName}/${componentName}.cjs`,
|
|
65
|
-
"types": `./${exportPrefix}/${componentName}/index.d.ts`
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
// Procesar componentes
|
|
71
|
-
processDirectories(srcComponentsDir, distComponentsDir, 'components');
|
|
72
|
-
|
|
73
|
-
// Procesar hooks
|
|
74
|
-
processDirectories(srcHooksDir, distHooksDir, 'hooks');
|
|
75
|
-
|
|
76
|
-
// Add CSS export before sealing newExports
|
|
77
|
-
newExports['./styles.css'] = './styles.css';
|
|
78
|
-
|
|
79
|
-
// Crear una copia del package.json original para dist
|
|
80
|
-
const distPackageJson = { ...originalPackageJson };
|
|
81
|
-
distPackageJson.exports = newExports;
|
|
82
|
-
distPackageJson.sideEffects = ['*.css'];
|
|
83
|
-
|
|
84
|
-
// Corregir rutas — el package.json vive en dist/, no en la raíz
|
|
85
|
-
distPackageJson.main = './index.cjs';
|
|
86
|
-
distPackageJson.module = './index.js';
|
|
87
|
-
distPackageJson.types = './index.d.ts';
|
|
88
|
-
|
|
89
|
-
// Eliminar propiedades innecesarias
|
|
90
|
-
delete distPackageJson.scripts;
|
|
91
|
-
delete distPackageJson.devDependencies;
|
|
92
|
-
delete distPackageJson.dependencies;
|
|
93
|
-
delete distPackageJson.private;
|
|
94
|
-
delete distPackageJson.overrides;
|
|
95
|
-
// "type": "module" en dist/ causes Vite to serve as native ESM, bypassing dedup
|
|
96
|
-
// and resolving React from shared-library/node_modules instead of the host.
|
|
97
|
-
// The exports "import"/"require" conditions already handle ESM/CJS distinction.
|
|
98
|
-
delete distPackageJson.type;
|
|
99
|
-
|
|
100
|
-
// Asegurarse de que el directorio 'dist' exista
|
|
101
|
-
if (!existsSync(distDir)) {
|
|
102
|
-
mkdirSync(distDir, { recursive: true });
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Copiar README.md a la carpeta dist
|
|
106
|
-
if (existsSync(readmePath)) {
|
|
107
|
-
copyFileSync(readmePath, join(distDir, 'README.md'));
|
|
108
|
-
console.log('Copiando README.md a la carpeta dist.');
|
|
109
|
-
} else {
|
|
110
|
-
console.log('No se encontró README.md en la raíz del proyecto. Saltando.');
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Escribir el nuevo package.json en dist/
|
|
114
|
-
writeFileSync(distPackageJsonPath, JSON.stringify(distPackageJson, null, 2), 'utf8');
|
|
115
|
-
|
|
116
|
-
console.log(`\n'package.json' generado exitosamente en: ${distPackageJsonPath}`);
|
|
117
|
-
console.log('Contenido de la propiedad "exports":', JSON.stringify(newExports, null, 2));
|
package/chromatic.config.json
DELETED
package/cleanDirectories.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
|
|
4
|
-
// Define the folders to be cleaned (sub-folders will be deleted)
|
|
5
|
-
const foldersToClean = ['components', 'hooks'];
|
|
6
|
-
const srcPath = join(process.cwd(), 'src');
|
|
7
|
-
|
|
8
|
-
const deleteLowercaseFolders = async () => {
|
|
9
|
-
console.log('Iniciando el proceso de eliminación de carpetas...');
|
|
10
|
-
|
|
11
|
-
for (const parentFolder of foldersToClean) {
|
|
12
|
-
const parentPath = join(srcPath, parentFolder);
|
|
13
|
-
|
|
14
|
-
if (!await fs.stat(parentPath).catch(() => false)) {
|
|
15
|
-
console.log(`Directorio padre no encontrado: ${parentPath}. Saltando.`);
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
// Leer el contenido del directorio padre y obtener información de los archivos
|
|
21
|
-
const entries = await fs.readdir(parentPath, { withFileTypes: true });
|
|
22
|
-
|
|
23
|
-
for (const entry of entries) {
|
|
24
|
-
// Check if the entry is a directory and its name starts with a lowercase letter.
|
|
25
|
-
if (entry.isDirectory() && /^[a-z]/.test(entry.name)) {
|
|
26
|
-
const folderPath = join(parentPath, entry.name);
|
|
27
|
-
await fs.rm(folderPath, { recursive: true, force: true });
|
|
28
|
-
console.log(`- Carpeta eliminada: ${folderPath}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
} catch (error) {
|
|
32
|
-
console.error(`Error al procesar el directorio ${parentPath}:`, error);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
console.log('Proceso de limpieza completado.');
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
// Execute the main function
|
|
40
|
-
deleteLowercaseFolders();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select-D5OrjVj3.js","sources":["../src/components/Select/Select.sx.ts","../src/components/Select/Select.helpers.ts","../src/components/Select/_parts/SelectMenuItem.tsx","../src/components/Select/Select.tsx"],"sourcesContent":["import type { SelectProps as MuiSelectProps } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport type { LabelPosition } from './Select';\n\n/**\n * Builder de sx para el Select. Usa el builder compartido\n * `buildFormFieldSx`. El Select no necesita overrides específicos.\n */\nexport const buildSelectSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): MuiSelectProps['sx'] =>\n buildFormFieldSx({ borderRadius, labelPosition }) as MuiSelectProps['sx'];\n","import type { SelectOption } from './Select';\n\n/**\n * Agrupa opciones por la propiedad `group`. Las opciones sin group caen\n * bajo la key especial `__default`. Devuelve un Record para iterar en orden\n * de inserción con Object.entries.\n */\nexport const groupOptions = (\n options: SelectOption[],\n): Record<string, SelectOption[]> => {\n const groups: Record<string, SelectOption[]> = {};\n options.forEach((opt) => {\n const group = opt.group || '__default';\n if (!groups[group]) groups[group] = [];\n groups[group].push(opt);\n });\n return groups;\n};\n\n/**\n * Normaliza el valor single al shape que espera MUI Select: string vacío si\n * el valor es `null`/`undefined`.\n */\nexport const normalizeSelectValue = <T>(value: T | null | undefined): T | '' =>\n (value ?? '') as T | '';\n\n/** `true` si el valor está vacío (para shrink del label + placeholder). */\nexport const isSelectValueEmpty = (normalizedValue: unknown): boolean =>\n normalizedValue === '' ||\n normalizedValue === null ||\n normalizedValue === undefined;\n","import React from 'react';\nimport { ListItemIcon, MenuItem } from '@mui/material';\nimport CheckIcon from '@mui/icons-material/Check';\n\nimport type { SelectOption, RenderOptionItem } from '../Select';\n\ninterface RenderSelectMenuItemArgs {\n option: SelectOption;\n selected: boolean;\n customRender?: RenderOptionItem | null;\n}\n\n/**\n * Render helper (no componente) que devuelve un <MenuItem> listo para\n * colocarse como hijo directo del <MuiSelect>. Se implementa como función\n * y no como componente porque MUI Select inspecciona `props.value` de sus\n * children para resolver la selección, y envolverlo en un componente extra\n * rompe esa detección.\n *\n * Incluye el icono de check a la izquierda cuando `selected` es true. Si el\n * consumer pasó un `<Option>{(opt) => ...}</Option>`, usa ese render para el\n * contenido principal; de lo contrario muestra `option.label`.\n */\nexport const renderSelectMenuItem = ({\n option,\n selected,\n customRender,\n}: RenderSelectMenuItemArgs): React.ReactElement => (\n <MenuItem\n key={String(option.value)}\n value={option.value}\n disabled={option.disabled}\n selected={selected}\n >\n <ListItemIcon sx={{ minWidth: 32 }}>\n {selected && <CheckIcon color=\"success\" fontSize=\"small\" />}\n </ListItemIcon>\n {customRender ? customRender(option) : option.label}\n </MenuItem>\n);\n","import {\n Children,\n isValidElement,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport {\n FormControl,\n FormHelperText,\n InputLabel,\n ListSubheader,\n OutlinedInput,\n Select as MuiSelect,\n Typography,\n type SelectChangeEvent,\n type SelectProps as MuiSelectProps,\n} from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildSelectSx } from './Select.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\nimport {\n groupOptions,\n isSelectValueEmpty,\n normalizeSelectValue,\n} from './Select.helpers';\nimport { renderSelectMenuItem } from './_parts/SelectMenuItem';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport interface SelectOption {\n value: string | number;\n label: string;\n img?: string;\n disabled?: boolean;\n group?: string;\n [key: string]: any;\n}\n\nexport type LabelPosition = 'outside' | 'floating';\nexport type SelectSize = 'small' | 'medium';\n\n// ── Render slots ─────────────────────────────────────────────────────────\nexport type RenderOptionItem = (item: SelectOption) => ReactNode;\n\n// ── Sub-componente declarativo <Option> ──────────────────────────────────\nexport interface OptionProps {\n children: RenderOptionItem;\n}\n\n// ── Props base ───────────────────────────────────────────────────────────\nexport interface BaseSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> {\n label?: string;\n options?: SelectOption[];\n defaultValue?: TValue;\n size?: SelectSize;\n placeholder?: string;\n children?: ReactElement<{ children: RenderOptionItem }>;\n maxHeight?: number | string;\n maxWidth?: number | string;\n disabled?: boolean;\n error?: boolean;\n helperText?: string;\n /** Border radius del input (px o string CSS). Default: 10 */\n borderRadius?: number | string;\n /**\n * Posición del label.\n * - \"outside\" (default): label arriba del input, sin animación.\n * - \"floating\": label clásico de MUI (flota dentro del notched outline).\n */\n labelPosition?: LabelPosition;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Select`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n sx?: MuiSelectProps['sx'];\n className?: string;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> extends BaseSelectProps<TValue> {\n name: string;\n // `any` plano (no `Control<any>`): RHF tipa `Control<T>` con generics en\n // posiciones tanto contravariantes como covariantes (ej. `_subjects.state`).\n // Cuando el componente tiene generics propios (como `TValue` acá), TS se\n // confunde narroweando el discriminated union y `Control<any>` no logra\n // absorber `Control<MyForm>` en la comparación estructural profunda.\n // El `any` plano elimina ese ruido. RHF adentro sigue teniendo sus tipos\n // fuertes — solo degradamos la superficie del prop del Select.\n control: any;\n validation?: RegisterOptions;\n /**\n * Side-effect que corre después de que RHF actualiza el form state.\n * Útil para cascadas entre campos (ej. reset de municipio al cambiar\n * departamento). NO reemplaza al handler de RHF.\n */\n onValueChange?: (value: TValue) => void;\n value?: never;\n onChange?: never;\n}\n\nexport interface StandardSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> extends BaseSelectProps<TValue> {\n name?: string;\n control?: never;\n validation?: never;\n value: TValue;\n onChange: (val: TValue) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type SelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> = RHFSelectProps<TValue> | StandardSelectProps<TValue>;\n\n// ── Sub-componente declarativo <Option> ──────────────────────────────────\nexport function Option(_props: OptionProps) {\n return null;\n}\nOption.displayName = 'Option';\n\n// ── Componente ───────────────────────────────────────────────────────────\nexport function Select<\n TValue extends SelectOption['value'] = SelectOption['value'],\n>(props: SelectProps<TValue>) {\n const {\n label,\n options = [],\n defaultValue,\n size = 'small',\n placeholder,\n children,\n maxHeight = 300,\n maxWidth,\n disabled = false,\n error = false,\n helperText,\n borderRadius = 10,\n labelPosition = 'outside',\n preset,\n sx,\n className,\n // Separamos estos aunque no se usen directamente acá — evita que lleguen\n // al DOM del MuiSelect via `{...rest}` y generen warnings de React.\n name: _nameIgnored,\n control: _controlIgnored,\n validation: _validationIgnored,\n value: _valueIgnored,\n onChange: _onChangeIgnored,\n ...rest\n } = props as StandardSelectProps<TValue> & {\n name?: string;\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('Select', preset, theme);\n\n const isRHFMode = 'control' in props && (props as RHFSelectProps<TValue>).control !== undefined;\n\n // Custom render opcional vía <Option>{item => ...}</Option>\n const customRender: RenderOptionItem | null = useMemo(() => {\n if (Children.count(children) === 1) {\n const child = Children.only(children);\n if (isValidElement(child) && (child.type as any)?.displayName === 'Option') {\n return (child.props as OptionProps).children;\n }\n }\n return null;\n }, [children]);\n\n // Focus/open tracking para el comportamiento del label \"outside\".\n const [isOpen, setIsOpen] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n\n const groupedOptions = useMemo(() => groupOptions(options), [options]);\n\n // Items del menú (grupos + opciones). Un solo memoizado — sin search/async.\n const buildMenuItems = (currentValue: TValue | '') => {\n const items: ReactNode[] = [];\n Object.entries(groupedOptions).forEach(([group, opts]) => {\n if (group !== '__default') {\n items.push(\n <ListSubheader key={group} disableSticky>\n {group}\n </ListSubheader>,\n );\n }\n opts.forEach((opt) => {\n const selected = currentValue === opt.value;\n items.push(\n renderSelectMenuItem({\n option: opt,\n selected,\n customRender,\n }),\n );\n });\n });\n return items;\n };\n\n const mergedSx = [\n ...(presetSx ? [presetSx] : [buildSelectSx(borderRadius, labelPosition)]),\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ];\n\n // Render base (común a RHF y controlled)\n const renderSelect = (\n selectValue: TValue | null | undefined,\n selectOnChange: (event: SelectChangeEvent<TValue>) => void,\n onBlur?: (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void,\n inputRef?: React.Ref<HTMLInputElement>,\n rhfError?: boolean,\n rhfHelperText?: string,\n ) => {\n const finalError = !!rhfError || !!error;\n const finalHelperText = rhfHelperText ?? helperText;\n\n const inputElement =\n labelPosition === 'floating' ? (\n <OutlinedInput label={label} />\n ) : (\n <OutlinedInput />\n );\n\n const normalizedValue = normalizeSelectValue(selectValue);\n const isEmpty = isSelectValueEmpty(normalizedValue);\n\n // Shrink cuando hay valor, foco, o dropdown abierto.\n const shouldShrink = !isEmpty || isFocused || isOpen;\n // Placeholder solo cuando el label ya subió.\n const shouldDisplayPlaceholder =\n isEmpty && (isFocused || isOpen) && !!placeholder;\n\n return (\n <FormControl\n fullWidth\n size={size}\n error={finalError}\n disabled={disabled}\n className={className}\n sx={mergedSx}\n >\n {label && <InputLabel shrink={shouldShrink}>{label}</InputLabel>}\n <MuiSelect<TValue>\n value={normalizedValue as TValue}\n onChange={selectOnChange}\n onBlur={(e) => {\n setIsFocused(false);\n onBlur?.(e);\n }}\n onFocus={() => setIsFocused(true)}\n onOpen={() => setIsOpen(true)}\n onClose={() => setIsOpen(false)}\n renderValue={(selected) => {\n if (isSelectValueEmpty(selected)) {\n return (\n <Typography sx={{ color: 'text.disabled' }}>\n {placeholder ?? ''}\n </Typography>\n );\n }\n const item = options.find((opt) => opt.value === selected);\n return item?.label ?? String(selected);\n }}\n displayEmpty={shouldDisplayPlaceholder}\n input={inputElement}\n disabled={disabled}\n MenuProps={{\n PaperProps: {\n style: { maxHeight, maxWidth },\n },\n }}\n inputRef={inputRef}\n {...(rest as any)}\n >\n {buildMenuItems(normalizedValue as TValue | '')}\n </MuiSelect>\n {finalHelperText && <FormHelperText>{finalHelperText}</FormHelperText>}\n </FormControl>\n );\n };\n\n // ── RHF mode ──────────────────────────────────────────────────────────\n if (isRHFMode) {\n const { name, control, validation, onValueChange } = props as RHFSelectProps<TValue>;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n defaultValue={defaultValue}\n render={({ field, fieldState: { error: fieldError } }) =>\n renderSelect(\n field.value ?? null,\n (e) => {\n const next = e.target.value as TValue;\n field.onChange(next);\n onValueChange?.(next);\n },\n field.onBlur,\n field.ref,\n !!fieldError,\n fieldError?.message,\n )\n }\n />\n );\n }\n\n // ── Controlled mode ───────────────────────────────────────────────────\n const { value, onChange } = props as StandardSelectProps<TValue>;\n return renderSelect(value, (e) => onChange(e.target.value as TValue));\n}\n\nexport default Select;\n"],"names":["_a","MuiSelect"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select-Dyvc4bVo.cjs","sources":["../src/components/Select/Select.sx.ts","../src/components/Select/Select.helpers.ts","../src/components/Select/_parts/SelectMenuItem.tsx","../src/components/Select/Select.tsx"],"sourcesContent":["import type { SelectProps as MuiSelectProps } from '@mui/material';\n\nimport { buildFormFieldSx } from '../_shared/formField.sx';\nimport type { LabelPosition } from './Select';\n\n/**\n * Builder de sx para el Select. Usa el builder compartido\n * `buildFormFieldSx`. El Select no necesita overrides específicos.\n */\nexport const buildSelectSx = (\n borderRadius: number | string,\n labelPosition: LabelPosition,\n): MuiSelectProps['sx'] =>\n buildFormFieldSx({ borderRadius, labelPosition }) as MuiSelectProps['sx'];\n","import type { SelectOption } from './Select';\n\n/**\n * Agrupa opciones por la propiedad `group`. Las opciones sin group caen\n * bajo la key especial `__default`. Devuelve un Record para iterar en orden\n * de inserción con Object.entries.\n */\nexport const groupOptions = (\n options: SelectOption[],\n): Record<string, SelectOption[]> => {\n const groups: Record<string, SelectOption[]> = {};\n options.forEach((opt) => {\n const group = opt.group || '__default';\n if (!groups[group]) groups[group] = [];\n groups[group].push(opt);\n });\n return groups;\n};\n\n/**\n * Normaliza el valor single al shape que espera MUI Select: string vacío si\n * el valor es `null`/`undefined`.\n */\nexport const normalizeSelectValue = <T>(value: T | null | undefined): T | '' =>\n (value ?? '') as T | '';\n\n/** `true` si el valor está vacío (para shrink del label + placeholder). */\nexport const isSelectValueEmpty = (normalizedValue: unknown): boolean =>\n normalizedValue === '' ||\n normalizedValue === null ||\n normalizedValue === undefined;\n","import React from 'react';\nimport { ListItemIcon, MenuItem } from '@mui/material';\nimport CheckIcon from '@mui/icons-material/Check';\n\nimport type { SelectOption, RenderOptionItem } from '../Select';\n\ninterface RenderSelectMenuItemArgs {\n option: SelectOption;\n selected: boolean;\n customRender?: RenderOptionItem | null;\n}\n\n/**\n * Render helper (no componente) que devuelve un <MenuItem> listo para\n * colocarse como hijo directo del <MuiSelect>. Se implementa como función\n * y no como componente porque MUI Select inspecciona `props.value` de sus\n * children para resolver la selección, y envolverlo en un componente extra\n * rompe esa detección.\n *\n * Incluye el icono de check a la izquierda cuando `selected` es true. Si el\n * consumer pasó un `<Option>{(opt) => ...}</Option>`, usa ese render para el\n * contenido principal; de lo contrario muestra `option.label`.\n */\nexport const renderSelectMenuItem = ({\n option,\n selected,\n customRender,\n}: RenderSelectMenuItemArgs): React.ReactElement => (\n <MenuItem\n key={String(option.value)}\n value={option.value}\n disabled={option.disabled}\n selected={selected}\n >\n <ListItemIcon sx={{ minWidth: 32 }}>\n {selected && <CheckIcon color=\"success\" fontSize=\"small\" />}\n </ListItemIcon>\n {customRender ? customRender(option) : option.label}\n </MenuItem>\n);\n","import {\n Children,\n isValidElement,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport {\n FormControl,\n FormHelperText,\n InputLabel,\n ListSubheader,\n OutlinedInput,\n Select as MuiSelect,\n Typography,\n type SelectChangeEvent,\n type SelectProps as MuiSelectProps,\n} from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { Controller, type Control, type RegisterOptions } from 'react-hook-form';\n\nimport { buildSelectSx } from './Select.sx';\nimport { resolvePreset } from '../_shared/resolvePreset';\nimport {\n groupOptions,\n isSelectValueEmpty,\n normalizeSelectValue,\n} from './Select.helpers';\nimport { renderSelectMenuItem } from './_parts/SelectMenuItem';\n\n// ── Tipos de dominio ─────────────────────────────────────────────────────\nexport interface SelectOption {\n value: string | number;\n label: string;\n img?: string;\n disabled?: boolean;\n group?: string;\n [key: string]: any;\n}\n\nexport type LabelPosition = 'outside' | 'floating';\nexport type SelectSize = 'small' | 'medium';\n\n// ── Render slots ─────────────────────────────────────────────────────────\nexport type RenderOptionItem = (item: SelectOption) => ReactNode;\n\n// ── Sub-componente declarativo <Option> ──────────────────────────────────\nexport interface OptionProps {\n children: RenderOptionItem;\n}\n\n// ── Props base ───────────────────────────────────────────────────────────\nexport interface BaseSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> {\n label?: string;\n options?: SelectOption[];\n defaultValue?: TValue;\n size?: SelectSize;\n placeholder?: string;\n children?: ReactElement<{ children: RenderOptionItem }>;\n maxHeight?: number | string;\n maxWidth?: number | string;\n disabled?: boolean;\n error?: boolean;\n helperText?: string;\n /** Border radius del input (px o string CSS). Default: 10 */\n borderRadius?: number | string;\n /**\n * Posición del label.\n * - \"outside\" (default): label arriba del input, sin animación.\n * - \"floating\": label clásico de MUI (flota dentro del notched outline).\n */\n labelPosition?: LabelPosition;\n /**\n * Nombre del preset de estilo registrado en `theme.styles.Select`.\n * - `\"default\"` (o ausente) = estilo built-in del paquete.\n * - Cualquier otro string = mergea el preset encima del estilo built-in.\n */\n preset?: string;\n sx?: MuiSelectProps['sx'];\n className?: string;\n}\n\n// ── Variantes discriminadas (RHF vs controlado) ──────────────────────────\nexport interface RHFSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> extends BaseSelectProps<TValue> {\n name: string;\n // `any` plano (no `Control<any>`): RHF tipa `Control<T>` con generics en\n // posiciones tanto contravariantes como covariantes (ej. `_subjects.state`).\n // Cuando el componente tiene generics propios (como `TValue` acá), TS se\n // confunde narroweando el discriminated union y `Control<any>` no logra\n // absorber `Control<MyForm>` en la comparación estructural profunda.\n // El `any` plano elimina ese ruido. RHF adentro sigue teniendo sus tipos\n // fuertes — solo degradamos la superficie del prop del Select.\n control: any;\n validation?: RegisterOptions;\n /**\n * Side-effect que corre después de que RHF actualiza el form state.\n * Útil para cascadas entre campos (ej. reset de municipio al cambiar\n * departamento). NO reemplaza al handler de RHF.\n */\n onValueChange?: (value: TValue) => void;\n value?: never;\n onChange?: never;\n}\n\nexport interface StandardSelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> extends BaseSelectProps<TValue> {\n name?: string;\n control?: never;\n validation?: never;\n value: TValue;\n onChange: (val: TValue) => void;\n}\n\n// ── API pública final ────────────────────────────────────────────────────\nexport type SelectProps<\n TValue extends SelectOption['value'] = SelectOption['value'],\n> = RHFSelectProps<TValue> | StandardSelectProps<TValue>;\n\n// ── Sub-componente declarativo <Option> ──────────────────────────────────\nexport function Option(_props: OptionProps) {\n return null;\n}\nOption.displayName = 'Option';\n\n// ── Componente ───────────────────────────────────────────────────────────\nexport function Select<\n TValue extends SelectOption['value'] = SelectOption['value'],\n>(props: SelectProps<TValue>) {\n const {\n label,\n options = [],\n defaultValue,\n size = 'small',\n placeholder,\n children,\n maxHeight = 300,\n maxWidth,\n disabled = false,\n error = false,\n helperText,\n borderRadius = 10,\n labelPosition = 'outside',\n preset,\n sx,\n className,\n // Separamos estos aunque no se usen directamente acá — evita que lleguen\n // al DOM del MuiSelect via `{...rest}` y generen warnings de React.\n name: _nameIgnored,\n control: _controlIgnored,\n validation: _validationIgnored,\n value: _valueIgnored,\n onChange: _onChangeIgnored,\n ...rest\n } = props as StandardSelectProps<TValue> & {\n name?: string;\n control?: Control<any>;\n validation?: RegisterOptions;\n };\n\n const theme = useTheme();\n const presetSx = resolvePreset('Select', preset, theme);\n\n const isRHFMode = 'control' in props && (props as RHFSelectProps<TValue>).control !== undefined;\n\n // Custom render opcional vía <Option>{item => ...}</Option>\n const customRender: RenderOptionItem | null = useMemo(() => {\n if (Children.count(children) === 1) {\n const child = Children.only(children);\n if (isValidElement(child) && (child.type as any)?.displayName === 'Option') {\n return (child.props as OptionProps).children;\n }\n }\n return null;\n }, [children]);\n\n // Focus/open tracking para el comportamiento del label \"outside\".\n const [isOpen, setIsOpen] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n\n const groupedOptions = useMemo(() => groupOptions(options), [options]);\n\n // Items del menú (grupos + opciones). Un solo memoizado — sin search/async.\n const buildMenuItems = (currentValue: TValue | '') => {\n const items: ReactNode[] = [];\n Object.entries(groupedOptions).forEach(([group, opts]) => {\n if (group !== '__default') {\n items.push(\n <ListSubheader key={group} disableSticky>\n {group}\n </ListSubheader>,\n );\n }\n opts.forEach((opt) => {\n const selected = currentValue === opt.value;\n items.push(\n renderSelectMenuItem({\n option: opt,\n selected,\n customRender,\n }),\n );\n });\n });\n return items;\n };\n\n const mergedSx = [\n ...(presetSx ? [presetSx] : [buildSelectSx(borderRadius, labelPosition)]),\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\n ];\n\n // Render base (común a RHF y controlled)\n const renderSelect = (\n selectValue: TValue | null | undefined,\n selectOnChange: (event: SelectChangeEvent<TValue>) => void,\n onBlur?: (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void,\n inputRef?: React.Ref<HTMLInputElement>,\n rhfError?: boolean,\n rhfHelperText?: string,\n ) => {\n const finalError = !!rhfError || !!error;\n const finalHelperText = rhfHelperText ?? helperText;\n\n const inputElement =\n labelPosition === 'floating' ? (\n <OutlinedInput label={label} />\n ) : (\n <OutlinedInput />\n );\n\n const normalizedValue = normalizeSelectValue(selectValue);\n const isEmpty = isSelectValueEmpty(normalizedValue);\n\n // Shrink cuando hay valor, foco, o dropdown abierto.\n const shouldShrink = !isEmpty || isFocused || isOpen;\n // Placeholder solo cuando el label ya subió.\n const shouldDisplayPlaceholder =\n isEmpty && (isFocused || isOpen) && !!placeholder;\n\n return (\n <FormControl\n fullWidth\n size={size}\n error={finalError}\n disabled={disabled}\n className={className}\n sx={mergedSx}\n >\n {label && <InputLabel shrink={shouldShrink}>{label}</InputLabel>}\n <MuiSelect<TValue>\n value={normalizedValue as TValue}\n onChange={selectOnChange}\n onBlur={(e) => {\n setIsFocused(false);\n onBlur?.(e);\n }}\n onFocus={() => setIsFocused(true)}\n onOpen={() => setIsOpen(true)}\n onClose={() => setIsOpen(false)}\n renderValue={(selected) => {\n if (isSelectValueEmpty(selected)) {\n return (\n <Typography sx={{ color: 'text.disabled' }}>\n {placeholder ?? ''}\n </Typography>\n );\n }\n const item = options.find((opt) => opt.value === selected);\n return item?.label ?? String(selected);\n }}\n displayEmpty={shouldDisplayPlaceholder}\n input={inputElement}\n disabled={disabled}\n MenuProps={{\n PaperProps: {\n style: { maxHeight, maxWidth },\n },\n }}\n inputRef={inputRef}\n {...(rest as any)}\n >\n {buildMenuItems(normalizedValue as TValue | '')}\n </MuiSelect>\n {finalHelperText && <FormHelperText>{finalHelperText}</FormHelperText>}\n </FormControl>\n );\n };\n\n // ── RHF mode ──────────────────────────────────────────────────────────\n if (isRHFMode) {\n const { name, control, validation, onValueChange } = props as RHFSelectProps<TValue>;\n return (\n <Controller\n name={name}\n control={control}\n rules={validation}\n defaultValue={defaultValue}\n render={({ field, fieldState: { error: fieldError } }) =>\n renderSelect(\n field.value ?? null,\n (e) => {\n const next = e.target.value as TValue;\n field.onChange(next);\n onValueChange?.(next);\n },\n field.onBlur,\n field.ref,\n !!fieldError,\n fieldError?.message,\n )\n }\n />\n );\n }\n\n // ── Controlled mode ───────────────────────────────────────────────────\n const { value, onChange } = props as StandardSelectProps<TValue>;\n return renderSelect(value, (e) => onChange(e.target.value as TValue));\n}\n\nexport default Select;\n"],"names":["buildFormFieldSx","jsxs","MenuItem","jsx","ListItemIcon","useTheme","resolvePreset","useMemo","Children","isValidElement","_a","useState","ListSubheader","OutlinedInput","FormControl","InputLabel","MuiSelect","Typography","FormHelperText","Controller"],"mappings":"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"}
|