
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
Hi there! I'm Lakshya Rohilla, a BCA student and this is my side project. I would love if you use it and give me feedback on what I should improve in this project.
Hi there! I'm Lakshya Rohilla, a BCA student and this is my side project. I would love if you use it and give me feedback on what I should improve in this project.
AlterUI is a simple and customizable React UI component library with reusable components like Buttons, Badges, Alerts, Loaders, Inputs, Modals, Cards, Tables, TextAreas, Footers, Checkboxes, Dividers, and Switch Buttons.
AlterUI is available exclusively via npm:
npm install alterui
To use AlterUI components, import both the components and the CSS styles:
import {
Button, Badge, Loader, Alert, Input, Modal, Card, Table, TextArea, Footer,
Checkbox, Divider, SwitchButton
} from 'alterui';
import 'alterui/dist/styles.css'; // Import the pre-built CSS
A customizable button with different styles.
<Button variant="primary">Click Me</Button>
<Button variant="danger" gradient>Delete</Button>
| Prop | Type | Default | Description |
|---|---|---|---|
variant | string | primary | Button color style |
size | string | md | Button size (sm, md, lg) |
gradient | boolean | false | Apply a gradient background |
rounded | boolean | true | Control button border radius |
Used to highlight statuses or labels.
<Badge variant="success">Active</Badge>
<Badge variant="danger" size="lg">Error</Badge>
| Prop | Type | Default | Description |
|---|---|---|---|
variant | string | gray | Badge color style |
size | string | md | Badge size (sm, md, lg) |
rounded | string | md | Border radius (none, md, full) |
Displays messages for user notifications.
<Alert variant="warning" dismissible>⚠️ Warning: This action is irreversible!</Alert>
| Prop | Type | Default | Description |
|---|---|---|---|
variant | string | info | Alert type (success, warning, danger, info) |
dismissible | boolean | false | Allows the alert to be closed |
Indicates loading state.
<Loader size="lg" color="success" />
| Prop | Type | Default | Description |
|---|---|---|---|
size | string | md | Loader size (sm, md, lg) |
color | string | primary | Loader color style |
Customizable multi-line text input.
<TextArea placeholder="Write your message..." />
<TextArea rows={5} size="lg" variant="success" placeholder="Success message" />
| Prop | Type | Default | Description |
|---|---|---|---|
rows | number | 3 | Number of rows in textarea |
size | string | md | Textarea size (sm, md, lg) |
variant | string | default | Styling variant (default, success, error, warning) |
fullWidth | boolean | false | Makes the textarea full width |
A pop-up dialog for user actions.
<Modal isOpen={true} onClose={() => setIsOpen(false)} title="Example Modal">
<p>This is a modal</p>
</Modal>
| Prop | Type | Default | Description |
|---|---|---|---|
isOpen | boolean | false | Controls modal visibility |
title | string | Modal Title | Title of the modal |
onClose | function | null | Function to close modal |
A reusable container for content.
<Card
image="https://via.placeholder.com/300"
title="Beautiful Sunset"
description="A breathtaking view of the sun setting over the mountains."
footer={<button className="bg-blue-500 text-white px-4 py-2 rounded">Learn More</button>}
/>
| Prop | Type | Default | Description |
|---|---|---|---|
image | string | null | Image URL |
title | string | null | Card title |
description | string | null | Card description |
footer | node | null | Footer content (buttons, links, etc.) |
A responsive table for structured data.
const columns = [
{ header: "ID", key: "id" },
{ header: "Name", key: "name" },
{ header: "Age", key: "age" }
];
const data = [
{ id: 1, name: "John Doe", age: 28 },
{ id: 2, name: "Jane Smith", age: 34 }
];
<Table columns={columns} data={data} variant="striped" />
| Prop | Type | Default | Description |
|---|---|---|---|
columns | array | [] | Defines table headers |
data | array | [] | Table data rows |
variant | string | default | Table styling (default, striped, bordered, hover) |
A simple checkbox component.
<Checkbox label="Accept Terms" checked={true} onChange={() => {}} />
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | "" | Label text for the checkbox |
checked | boolean | false | Whether the checkbox is checked |
onChange | function | null | Function triggered on change |
A simple divider line.
<Divider />
<Divider orientation="vertical" dashed color="gray-400" />
| Prop | Type | Default | Description |
|---|---|---|---|
orientation | string | horizontal | Can be horizontal or vertical |
color | string | gray-300 | Color of the divider |
dashed | boolean | false | Whether the divider is dashed |
A toggle switch.
<SwitchButton isOn={true} onToggle={() => {}} />
| Prop | Type | Default | Description |
|---|---|---|---|
isOn | boolean | false | Whether the switch is on |
onToggle | function | null | Function triggered on toggle |
AlterUI is free to use but remains a private library. Redistribution or modification without permission is not allowed.
This updated README includes your Checkbox, Divider, and SwitchButton components. Let me know if you need any further refinements! 🚀
FAQs
Hi there! I'm Lakshya Rohilla, a BCA student and this is my side project. I would love if you use it and give me feedback on what I should improve in this project.
We found that alterui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.