A modern React UI component library with essential components for building beautiful user interfaces.
npm install zero-ui-kitimport { Button, Input } from 'zero-ui-kit';
function App() {
return (
<div>
<Button variant="primary" size="medium">
Click me!
</Button>
<Input
type="text"
label="Username"
placeholder="Enter your username"
/>
</div>
);
}A versatile button component with multiple variants and sizes.
variant:'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'outline'(default:'primary')size:'small' | 'medium' | 'large'(default:'medium')disabled:boolean(default:false)onClick:functiontype:'button' | 'submit' | 'reset'(default:'button')
// Primary button
<Button variant="primary">Primary</Button>
// Secondary button
<Button variant="secondary" size="large">Secondary</Button>
// Outline button
<Button variant="outline" size="small">Outline</Button>
// Disabled button
<Button disabled>Disabled</Button>A flexible input component supporting various input types with labels, validation, and helper text.
type:'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'radio' | 'checkbox' | 'file' | 'range'(default:'text')label:string- Input labelplaceholder:string- Placeholder textvalue:string | number- Input valueonChange:function- Change handlererror:string- Error messagedisabled:boolean(default:false)required:boolean(default:false)size:'small' | 'medium' | 'large'(default:'medium')variant:'default' | 'filled' | 'outlined'(default:'default')helperText:string- Helper textprefix:ReactNode- Prefix contentsuffix:ReactNode- Suffix content
// Text input with label
<Input
type="text"
label="Full Name"
placeholder="Enter your full name"
/>
// Email input with validation
<Input
type="email"
label="Email"
placeholder="Enter your email"
error="Please enter a valid email"
/>
// Password input
<Input
type="password"
label="Password"
placeholder="Enter your password"
required
/>
// Number input
<Input
type="number"
label="Age"
placeholder="Enter your age"
min="18"
max="100"
/>
// Input with prefix and suffix
<Input
type="text"
label="Website"
placeholder="example"
prefix="https://"
suffix=".com"
/>
// Radio input
<Input
type="radio"
label="Option 1"
name="radioGroup"
value="option1"
/>
// Checkbox input
<Input
type="checkbox"
label="I agree to the terms"
/>
// File input
<Input
type="file"
label="Upload file"
accept=".jpg,.png,.pdf"
/>
// Range input
<Input
type="range"
label="Volume"
min="0"
max="100"
step="1"
/>A responsive navigation component (existing component).
The components come with default styles, but you can customize them by overriding the CSS classes or by using the className prop.
.zero-button- Base button class.zero-button--{variant}- Variant classes.zero-button--{size}- Size classes.zero-button--disabled- Disabled state
.zero-input- Base input class.zero-input--{variant}- Variant classes.zero-input--{size}- Size classes.zero-input--error- Error state.zero-input--disabled- Disabled state
MIT
muhammedirfan