@js-toolkit/styled-components
Styled React components powered by @mui/system/styled . Includes modal, dropdown, notifications, tooltips, buttons, forms, and more.
yarn add @js-toolkit/styled-components
# or
npm install @js-toolkit/styled-components Requires react >= 19 and @mui/system as peer dependencies.
Component Description ModalModal dialog with Header, Body, Footer DropDownDropdown menu with context DropDownLabelDropdown trigger label DropDownBoxDropdown content container TooltipTooltip component TooltipableHOC for adding tooltip to any component DividerDivider line TransitionFlexFlex with transition support TransitionWrapperWrapper with transition animations SuspenseFallbackSuspense fallback with delay ErrorBoundaryError boundary component ResizeListenerElement resize detection
Component Description ButtonStyled button LoadableButtonButton with loading state TooltipButtonButton with tooltip CheckboxCheckbox/radio/switch CheckboxGroupGrouped checkboxes InputGroupInput wrapper with error display FieldForm field with label and helper
Component Description NotificationsNotification system NotificationBarIndividual notification bar NotificationCloseActionClose button for notifications
Component Description AvatarAvatar with image fallback BadgeBadge with count PictureImage with loading states PosterPoster with low-quality placeholder TruncatedTextText truncation HighlightedTextText highlighting HiddenIFrameHidden iframe for resize detection
Menu Component Description MenuListMenu list MenuSelectListSelectable menu list MenuListItemMenu list item
Component Description RobotoFontRoboto font loader RalewayFontRaleway font loader
Component Description LoadableFlexFlex container with loading state TransitionTransition wrapper
import { Modal } from '@js-toolkit/styled-components/Modal' ; function Settings ( { open, onClose } : { open : boolean ; onClose : ( ) => void } ) : React . JSX . Element { return ( < Modal open = { open } onClose = { onClose } > < Modal . Header > Settings</ Modal . Header > < Modal . Body > Content here</ Modal . Body > < Modal . Footer > < button type = "button" onClick = { onClose } > Close</ button > </ Modal . Footer > </ Modal > ) ; } import { LoadableButton } from '@js-toolkit/styled-components/LoadableButton' ; function SubmitButton ( { loading } : { loading : boolean } ) : React . JSX . Element { return ( < LoadableButton loading = { loading } type = "submit" >
Save
</ LoadableButton > ) ; } import { DropDown , DropDownLabel , DropDownBox } from '@js-toolkit/styled-components/DropDown' ; function Menu ( ) : React . JSX . Element { return ( < DropDown > < DropDownLabel > Open menu</ DropDownLabel > < DropDownBox > < div > Item 1</ div > < div > Item 2</ div > </ DropDownBox > </ DropDown > ) ; } https://github.com/js-toolkit/styled-components