๐Ÿšง Work in progress
Nowt UI

Documentation

Welcome to the docs for Nowt UI. Explore components and how to use them effectively.

Button

npm install nowt-ui-library
import { Button } from nowt-ui-library

๐Ÿ”ต Primary Button

<Button label="Click me" onClick={() => alert('Hi')} />

โณ Loading

<Button label="Loading..." loading />
๐Ÿ”ฝ More button examples

๐Ÿ”ด Danger Large

<Button label="Delete" variant="danger" size="large" />

โšซ Disabled

<Button label="Disabled" disabled />

๐ŸŒˆ Custom Colors

<Button label="Custom" bgColor="#FF9B19" textColor="#0f0" />

โฌœ Outline

<Button label="Outline" variant="outline" />

๐Ÿ”„ Full Width

<Button label="Full Width" fullWidth />
โš™๏ธ Show Props
PropTypeDefaultDescription
labelstringโ€”Button text
onClick() => voidโ€”Function on click
size'small' | 'medium' | 'large''medium'Size of the button
variant'primary' | 'secondary' | 'danger' | 'outline''primary'Button style
loadingbooleanfalseShows spinner if true
disabledbooleanfalseDisables the button
fullWidthbooleanfalseTakes full width
bgColorstringโ€”Custom background color
textColorstringโ€”Custom text color

Input

npm install nowt-ui-library
import { Input } from nowt-ui-library

๐Ÿ“ฅ Left Icon

<Input label="With Left Icon" placeholder="example@email.com" leftIcon={<Mail size={16} />} value={value} onChange={(e) => setValue(e.target.value)} />

๐Ÿ”’ Right Icon

๐Ÿ‘๏ธ
<Input label="With Right Icon" placeholder="Enter password" type="password" rightIcon={<span style={{ fontSize: 12 }}>๐Ÿ‘๏ธ</span>} value={value} onChange={(e) => setValue(e.target.value)} />
๐Ÿ” More Examples & Props

๐Ÿ“ง Email Input

<Input label="Email" placeholder="Enter your email" value={value} onChange={(e) => setValue(e.target.value)} />

๐ŸŽจ Styled Label

<Input label="Styled Label" labelClassName="custom-label" placeholder="With custom label" value={value} onChange={(e) => setValue(e.target.value)} />

๐Ÿ“ฆ Container Class

<Input label="Container Class" containerClassName="custom-container" placeholder="Styled container" value={value} onChange={(e) => setValue(e.target.value)} />

๐ŸŽจ Inline Container Style

<Input label="Container Style" containerStyle={{ backgroundColor: '#000', padding: 10 }} placeholder="Styled container" value={value} onChange={(e) => setValue(e.target.value)} />

โ„น๏ธ With Helper Text

Must be unique
<Input label="Username" placeholder="e.g. lokesh_dev" helperText="Must be unique" value={value} onChange={(e) => setValue(e.target.value)} />

โŒ Error State

This is not a valid email
<Input label="Invalid Email" placeholder="example.com" error="This is not a valid email" value={value} onChange={(e) => setValue(e.target.value)} />

โœ… Full Combo

โœ…
Min 3 characters
<Input label="Full Combo" labelClassName="text-blue-500" containerClassName="rounded-md shadow" containerStyle={{ marginTop: 20 }} placeholder="All props together" helperText="Everything included" error={value.length < 3 ? 'Min 3 characters' : ''} leftIcon={<User size={16} />} rightIcon={<span style={{ fontSize: 12 }}>โœ…</span>} value={value} onChange={(e) => setValue(e.target.value)} />
๐Ÿ“˜ Show Input Props
PropTypeDefaultDescription
labelstringโ€”Text label shown above the input
placeholderstringโ€”Placeholder text inside input
valuestringโ€”Input value
onChange(e) => voidโ€”Callback on input change
helperTextstringโ€”Helper or description text
errorstringโ€”Error message (red text)
typestring'text'Input type (e.g. text, email, password)
labelClassNamestringโ€”Custom class for label
containerClassNamestringโ€”Custom class for wrapper div
containerStyleCSSPropertiesโ€”Inline styles for wrapper
leftIconReactNodeโ€”Icon element on the left
rightIconReactNodeโ€”Icon element on the right
...restInputHTMLAttributesโ€”All native input props

Card

npm install nowt-ui-library
import { Card } from nowt-ui-library

๐Ÿงพ Basic Card

๐ŸŒˆ Card with Avatar & Badge

๐Ÿ”ฝ More card examples

๐Ÿ“Š Progress & Tags

๐Ÿ“ฆ Image + Footer

๐Ÿ”˜ With Status

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โš™๏ธ Actions & Highlight

โœจ Props
PropTypeDescription
titlestringMain title
subtitlestringSubtitle text
descriptionstringOptional card description
imagestringOptional cover image
avatarstringOptional avatar image (circular)
badgestringSmall badge on top-left (e.g., Pro, Beta)
tagstringHighlighted tag above title
tagsstring[]Array of tags (displayed as chips)
status"success" | "warning" | "error" | "neutral"Status dot beside avatar or tag
progressnumberOptional progress bar (0-100)
theme"light" | "dark"Theme styling
widthnumberWidth of the card (default 320)
footerReactNodeContent shown at bottom
actionsReactNodeButtons, links, etc. for user action
hlightbooleanApply hover highlight effect

TextArea

npm install nowt-ui-library
import { TextArea } from nowt-ui-library

๐Ÿ”น Full Demo

๐Ÿ”น Width + Label

๐Ÿ”ฝ More TextArea examples

๐Ÿ”น Basic Textarea

๐Ÿ”น Label + Dark Mode

๐Ÿ”น MaxLength + Placeholder + Autosize

โœจ Props
PropTypeDescription
labelstring | null | undefinedOptional label for the textarea
maxLengthnumberMaximum number of characters allowed
autosizebooleanWhether the textarea should auto-resize
themeThemeCustom theme object for styling
draftKeystringKey for saving drafts locally
widthstring | numberWidth of the textarea
heightstring | numberHeight of the textarea
emojibooleanEnable emoji support inside textarea
isMicbooleanShow microphone for voice input
...restReact.TextareaHTMLAttributes<HTMLTextAreaElement>All standard textarea attributes

Rating

npm install @nowt/rating
import { Rating } from npm i @nowt/rating
โค๏ธ
โค๏ธ
โค๏ธ
โค๏ธ
โค๏ธ
โœจ Props
PropTypeDescription
valuenumberCurrent rating value (e.g., 3.5 for 3.5 stars)
maxnumberMaximum number of stars/emojis
onChange(rating: number) => voidCallback function triggered when the rating changes
sizenumberSize of each star/emoji in pixels
colorstringColor of inactive stars/emojis (hex or CSS color)
activeColorstringColor of active stars/emojis (hex or CSS color)
readonlybooleanDisables interaction if true
allowHalfbooleanEnables half-star ratings if true
classNamestringAdditional CSS class for the container div
emojistring | JSX.ElementCustom emoji (e.g., "โค๏ธ") or SVG element
tooltipbooleanShows rating tooltips on hover if true
theme"default" | "cosmic" | "neon" | "futuristic" | "minimal"Visual theme for glow, particles, and tooltip styles
animationbooleanEnables animations (click, hover, particles) if true
glowIntensity"low" | "medium" | "high"Intensity of the glow effect