BUI is a component library that provides a set of UI components for building modern web applications. It includes components like Grid, Box, Stack, and Button, each with extensive customization options.
git clone 'https://github.com/Sbholu/BUI.git'
git checkout -b your-branch-name
yarn
yarn storybook
yarn build
These are the fundamental building blocks of the library.
- Typography: Headings, paragraphs, captions, and other text styles.
- Color System: Theme colors, palettes, and utilities for color manipulation.
- Icon: A system to include and display icons.
Used for user interaction and data input.
- Button: Primary, secondary, outlined, text, icon buttons.
- IconButton: Button with just an icon.
- Checkbox: Basic and with labels.
- Radio Button: Single radio button and grouped options.
- Switch: Toggle switch.
- TextField: Basic input, textarea, number input.
- Select: Dropdown menu for selection.
- Slider: Range slider for input.
- Toggle Button: Single and group toggle buttons.
- Autocomplete: Input with suggestions.
- Rating: Star or custom rating component.
Components to show information in a formatted way.
- Avatar: Image or initials for user representation.
- Badge: Notification count or status indicator.
- Chip: Tags, selectable, deletable.
- Tooltip: Pop-up information on hover.
- Typography: Display text with varying styles.
- Divider: A horizontal or vertical line divider.
- Progress: Linear and circular progress indicators.
- Skeleton: Placeholder for loading content.
For routing and guiding users through the application.
- AppBar: Top navigation bar.
- Drawer: Side panel for navigation or settings.
- Breadcrumbs: Show navigation path.
- Tabs: Switch between views.
- BottomNavigation: Bottom tab navigation.
- Link: For navigating between pages.
For creating page structures and layouts.
- Container: A fixed-width layout container.
- Grid: A responsive grid system.
- Stack: Vertical or horizontal arrangement.
- Box: A versatile container with spacing, padding, etc.
- Paper: A basic card-like container.
- Hidden: Conditional rendering based on screen size.
Components that provide feedback to user actions.
- Alert: Success, error, info, and warning alerts.
- Snackbar: Temporary messages and notifications.
- Dialog: Pop-up modals for confirmation or input.
- Backdrop: Overlay to emphasize content focus.
- Spinner: Loading spinner for async actions.
Components that provide a surface to display content.
- Card: Container with optional media, actions, etc.
- Accordion: Expandable content section.
- Paper: A surface that raises elements on a background.
- Expansion Panel: More complex expandable content sections.
Small, reusable components or functions to enhance usability.
- Portal: For rendering content outside of the parent DOM hierarchy.
- Popover: Displays floating content relative to another element.
- Transitions: Animations and transitions for components.
- ClickAwayListener: Detects clicks outside of a target element.
- Modal: Higher-level dialog component for showing custom content.
For more complex forms and user input scenarios.
- FormControl: Provides context for form inputs.
- FormLabel: Label for form controls.
- FormHelperText: Text to help with form inputs.
- InputAdornment: Icons, text, or other adornments for input fields.
For representing data visually.
- Line Chart
- Bar Chart
- Pie Chart
- Heatmap
- Scatter Plot
More sophisticated, composite components.
- Date Picker: For date selection.
- Time Picker: For time selection.
- Calendar: Full calendar view with events.
- DataGrid/Table: Complex tables with sorting, filtering, pagination.
- Stepper: Step-based navigation.
For theming and customizing the UI components.
- ThemeProvider: Context provider for theme customization.
- GlobalStyles: Inject global CSS styles.
- CSS Baseline: Normalize default browser styles.
- Styled Components: For custom styling components.
Adding animations to components for better UX.
- Fade
- Slide
- Grow
- Collapse
- Zoom
- Grid
- Stack
- Container
- Box
- Button
- IconButton
- Checkbox
- Radio Button
- Switch
- TextField
- Select
- Slider
These are the fundamental building blocks of the library.
- Typography: Headings, paragraphs, captions, and other text styles.
- Color System: Theme colors, palettes, and utilities for color manipulation.
- Icon: A system to include and display icons.
Used for user interaction and data input.
- Button: Primary, secondary, outlined, text, icon buttons.
- IconButton: Button with just an icon.
- Checkbox: Basic and with labels.
- Radio Button: Single radio button and grouped options.
- Switch: Toggle switch.
- TextField: Basic input, textarea, number input.
- Select: Dropdown menu for selection.
- Slider: Range slider for input.
- Toggle Button: Single and group toggle buttons.
- Autocomplete: Input with suggestions.
- Rating: Star or custom rating component.
Components to show information in a formatted way.
- Avatar: Image or initials for user representation.
- Badge: Notification count or status indicator.
- Chip: Tags, selectable, deletable.
- Tooltip: Pop-up information on hover.
- Typography: Display text with varying styles.
- Divider: A horizontal or vertical line divider.
- Progress: Linear and circular progress indicators.
- Skeleton: Placeholder for loading content.
For routing and guiding users through the application.
- AppBar: Top navigation bar.
- Drawer: Side panel for navigation or settings.
- Breadcrumbs: Show navigation path.
- Tabs: Switch between views.
- BottomNavigation: Bottom tab navigation.
- Link: For navigating between pages.
For creating page structures and layouts.
- Container: A fixed-width layout container.
- Grid: A responsive grid system.
- Stack: Vertical or horizontal arrangement.
- Box: A versatile container with spacing, padding, etc.
- Paper: A basic card-like container.
- Hidden: Conditional rendering based on screen size.
Components that provide feedback to user actions.
- Alert: Success, error, info, and warning alerts.
- Snackbar: Temporary messages and notifications.
- Dialog: Pop-up modals for confirmation or input.
- Backdrop: Overlay to emphasize content focus.
- Spinner: Loading spinner for async actions.
Components that provide a surface to display content.
- Card: Container with optional media, actions, etc.
- Accordion: Expandable content section.
- Paper: A surface that raises elements on a background.
- Expansion Panel: More complex expandable content sections.
Small, reusable components or functions to enhance usability.
- Portal: For rendering content outside of the parent DOM hierarchy.
- Popover: Displays floating content relative to another element.
- Transitions: Animations and transitions for components.
- ClickAwayListener: Detects clicks outside of a target element.
- Modal: Higher-level dialog component for showing custom content.
For more complex forms and user input scenarios.
- FormControl: Provides context for form inputs.
- FormLabel: Label for form controls.
- FormHelperText: Text to help with form inputs.
- InputAdornment: Icons, text, or other adornments for input fields.
For representing data visually.
- Line Chart
- Bar Chart
- Pie Chart
- Heatmap
- Scatter Plot
More sophisticated, composite components.
- Date Picker: For date selection.
- Time Picker: For time selection.
- Calendar: Full calendar view with events.
- DataGrid/Table: Complex tables with sorting, filtering, pagination.
- Stepper: Step-based navigation.
For theming and customizing the UI components.
- ThemeProvider: Context provider for theme customization.
- GlobalStyles: Inject global CSS styles.
- CSS Baseline: Normalize default browser styles.
- Styled Components: For custom styling components.
Adding animations to components for better UX.
- Fade
- Slide
- Grow
- Collapse
- Zoom
- Grid
- Stack
- Container
- Box
- Button
- IconButton
- Checkbox
- Radio Button
- Switch
- TextField
- Select
- Slider
- ToggleButton