pixelplay 1.0.15 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,61 +1,200 @@
1
- # Changelog
2
-
3
- All notable changes to **PixelPlay UI** are documented here.
4
-
5
- This project adheres to [Semantic Versioning](https://semver.org/).
6
-
7
- ---
8
-
9
- ## [1.0.3] — 2026-04-01
10
-
11
- ### Added
12
-
13
- - **Auth examples**: `auth-03` (split-screen sign-in with testimonial carousel) and `auth-04` (split-screen sign-in with image only)
14
- - **Sign-up examples**: `signup-01` (centered email + social), `signup-02` (header + tabs), `signup-03` (split-screen + testimonial carousel), `signup-04` (split-screen + image only)
15
- - **`SplitImagePanel` widget**: New generic widget accepting any overlay content as `children`. Replaces the testimonial-specific panel. Supports image-only mode or any custom JSX overlay
16
- - **`SplitImagePanel` docs page**: Component documentation with three demo sections image only, with overlay content, and with navigation carousel
17
-
18
- ### Changed
19
-
20
- - **Sidebar nav**: Renamed "Auth testimonial panel" entry to "Split image panel" with updated href
21
-
22
- ---
23
-
24
- ## [1.0.2] — 2026-04-01
25
-
26
- ### Changed
27
-
28
- - **Feature section grid**: Updated to 4-column layout on large screens
29
- - **Feature section images**: Full-width responsive images replacing aspect-ratio crop no content is clipped
30
- - **Feature section images**: Added primary-colored overlay with `mix-blend-color` tint for grayscale thumbnails
31
- - **Dark mode image previews**: Boosted brightness and reduced overlay opacity for better visibility in dark mode
32
- - **Example preview containers**: Replaced raw Tailwind color scales with theme tokens for dark mode consistency
33
- - **Dark mode scrim token**: Changed from opaque black to subtle white tint across all themes (default, Rosewood, Botanica, Inkwell)
34
-
35
- ---
36
-
37
- ## [1.0.1] 2026-04-01
38
-
39
- ### Added
40
-
41
- - **Dashboard examples**: New dashboard variants (`dashboards-05`, `dashboards-06`) analytics/map dashboard and personal finance dashboard
42
- - **Country icon set**: Added `CountryFlag` component for displaying country flag icons
43
-
44
- ### Fixed
45
-
46
- - **Button `isIconOnly`**: Icon-only buttons now correctly render `children` — previously only `startContent`/`endContent` were visible, leaving icon-only buttons empty
47
- - **Button hover visibility**: Improved hover background tokens for `ghost`, `bordered`, and `light` variants (default color) — hover state is now clearly visible against surface backgrounds
48
- - Removed stale `import { start } from "repl"` in Button component
49
-
50
- ---
51
-
52
- ## [1.0.0] 2026-03-30
53
-
54
- ### Added
55
-
56
- - Initial public release of PixelPlay UI
57
- - Base components: `Button`, `ButtonGroup`, `Input`, `Textarea`, `Badge`, `BadgeGroup`, `Tag`, `Card`, `Spinner`, `Avatar`, `SocialButton`, `StoreButton`, `DropdownMenu`, `Select`, `Toggle`, `Checkbox`, `CheckboxGroup`, `Progress`, `CircularProgress`, `Slider`, `Tooltip`
58
- - Application components: `Modal`, `Chart`, `Pagination`, `Messaging`, `DataTable`, `Tabs`, `Breadcrumb`, `Alert`, `Toast`, `DatePicker`, `Calendar`, `FileTypeIcon`, `FileUpload`
59
- - Full TypeScript type definitions
60
- - Tailwind CSS 4 theme token system with light/dark mode support
61
- - Three built-in themes: Rosewood, Botanica, Inkwell
1
+ # Changelog
2
+
3
+ All notable changes to **PixelPlay UI** are documented here.
4
+
5
+ This project adheres to [Semantic Versioning](https://semver.org/).
6
+
7
+ ---
8
+
9
+ ## [1.1.3] — 2026-04-06
10
+
11
+ ### Added
12
+
13
+ - **`SectionHeader` chat variant** (`widgets/section-header`): New `variant="chat"` - sticky header for chat detail panels with large avatar, name, status badge, action buttons, and trailing menu
14
+ - **`InfoCard` chat-list variant** (`widgets/info-card`): New `variant="chat-list"` - scrollable conversation list panel with search input, unread indicators, avatar with online status, message preview, and timestamp
15
+ - **`InfoCard` showcase variant** (`widgets/info-card`): New `variant="showcase"` - case-study card with image, stats grid, and link overlay (replaces `WebsiteCaseStudyCard`)
16
+ - **`HeroSection` showcase variant** (`widgets/hero-section`): New `variant="showcase"` - case-study hero with large title, subtitle, description, stat chips, and full-bleed background image (replaces `WebsiteCaseStudyHero`)
17
+ - **New generic widgets**: `content-section`, `text-block`, `media-section` (exports `MediaFullImage`, `MediaDualImage`, `MediaVideo`), `diagram-section`, `showcase-grid` - generic reusable widgets extracted from case-study-specific components
18
+ - **Messaging example page** (`messaging-01`): Full chat application layout with sidebar nav, chat list (`InfoCard variant="chat-list"`), chat detail panel (`SectionHeader variant="chat"`), `ChatMessage` bubbles, typing indicator, file attachments, reactions, and day dividers
19
+ - **Listing example pages** (`listing-03`, `listing-04`, `listing-05`): Three new listing layouts - listing-03 (team member directory table with avatar, role, and status columns), listing-04 (blog/article grid with category filters and featured post), listing-05 (team directory with search, role filters, and detailed member cards)
20
+ - **Messaging examples docs page** (`/ui-kit/examples/messaging`): Docs page listing and previewing the messaging example
21
+ - **Messaging nav entry**: "Email & Messaging" link added to the Examples section in the docs sidebar (`DocsLayoutShell`)
22
+
23
+ ### Changed
24
+
25
+ - **Deprecated widget consolidation**: Removed 9 standalone widget folders (`website-case-study-hero`, `website-case-study-card`, `website-case-study-content`, `website-case-study-text-block`, `website-case-study-images`, `website-case-study-diagram`, `website-case-studies-grid`, `chat-header`, `chat-list`) - functionality merged into generic widgets and variant-based components
26
+ - **Case study pages**: All 3 case-study pages (`digital-diagramming`, `no-code-app-builder`, `personal-finance-webapp`) updated to use new generic widgets (`HeroSection`, `ContentSection`, `TextBlock`, `MediaFullImage`, `MediaDualImage`, `MediaVideo`, `DiagramSection`)
27
+ - **Work pages**: All 4 work pages (`core-fitness-app`, `brainstorming-app`, `gelato-glam-delivery-app`, `kish-coach`) updated to use new generic widget names
28
+ - **Homepage**: `WebsiteCaseStudiesGrid` replaced with `ShowcaseGrid`
29
+ - **Docs demo pages**: All case-study component docs updated to import from new widget paths
30
+
31
+ ---
32
+
33
+ ## [1.1.2] 2026-04-06
34
+
35
+ ### Added
36
+
37
+ - **`CompanyLogo` component** (`shared/ui/company-logo`): New shared component for company/brand marks — renders a logo image with a coloured initials fallback. Supports 5 sizes (`xs`–`xl`), two shapes (`square`/`rectangle`), 4 radius options, and 12 colour variants (including `--graphic-1` through `--graphic-8` categorical tokens). Exported from `shared/ui/index.ts`
38
+ - **`InfoCard` widget** (`widgets/info-card`): New multi-variant card widget. Variants: `default` (section card with header/body/footer slots and optional menu button), `horizontal` (property listing card with image, star rating, amenities, and price — vertical on mobile, row at xl), `post` (blog/article card with gradient/image banner, author, tags, and social action buttons), `action` (compact pressable card with icon button and description), `stat` (icon + label + value stat card with optional footer slot)
39
+ - **`MapEmbed` widget** (`widgets/map`): New `MapEmbed` component that wraps an `<iframe>` map embed with dark-mode support — auto-applies a CSS invert filter when no `darkSrc` is provided
40
+ - **Listing example pages**: Two new full-page listing layouts — `listing-01` (property search results with sticky sidebar nav, filter bar, horizontal `InfoCard` listing cards, sticky map panel, and pagination) and `listing-02` (remote job board with slim icon sidebar, search/filter controls, scrollable job card list with `CompanyLogo` and `Badge`, and a sticky job detail panel)
41
+ - **Listing examples docs page** (`/ui-kit/examples/listing`): Docs page listing and previewing both listing examples with descriptions
42
+ - **Listing nav entry**: "Listing" link added to the Examples section in the docs sidebar (`DocsLayoutShell`)
43
+ - **`CompanyLogo` docs page** (`/ui-kit/components/company-logo`): Full component documentation — real logos, initials fallback, sizes, shapes, and radius options; also added "Company logo" nav entry in docs sidebar
44
+ - **`Card` docs page expanded**: New sections for Horizontal layout (`InfoCard variant="horizontal"`), Action card, Post card, Gradient header, Card grid, and Compact card patterns; also added "Card" nav entry in docs sidebar
45
+
46
+ ### Changed
47
+
48
+ - **`Tag` lg size**: Updated typography — `text-base font-medium leading-6` (was `text-sm`), `rounded-lg` (was `rounded-md`), `px-3.5` (was `px-3`), dot `h-2.5 w-2.5` (was `h-2 w-2`)
49
+ - **`Card` default shadow**: Changed default `shadow` prop from `"md"` to `"xs"` for a subtler card elevation
50
+ - **`Checkbox` hit area**: Input element repositioned from `inset-0` to `top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2` with `min-h-10 min-w-10` (sm) / `min-h-12 min-w-12` for reliable 44px+ touch targets
51
+ - **`Toggle` hit area**: Added `before:` pseudo-element inset (`-inset-[10px]` for sm, `-inset-3` for default) to expand the tap/click area to minimum touch target size
52
+ - **`dashboards-01`**: Replaced inline `<Card>` + raw action/post markup with `InfoCard variant="action"` and `InfoCard variant="post"` widget
53
+ - **`dashboards-04`**: Replaced manual chart card header markup with `InfoCard variant="default"` widget for all four chart sections
54
+ - **`dashboards-05`**: Replaced manual card markup for "Active users", "How do you acquire users?", and "Channel breakdown" sections with `InfoCard variant="default"`
55
+ - **`dashboards-06`**: Replaced local `SavingsGoalCard` sub-component and inline chart card markup with `InfoCard variant="stat"` and `InfoCard variant="default"`; `SavingsGoalCard` function removed
56
+ - **Surface container tokens** (`build-custom-theme.ts`): Adjusted container level step sizes for both light and dark modes — `low/mid/high/highest` now each step one shade further from the base surface, giving better visual layering across container elevation levels
57
+ - **`calendar-01` / `calendar-03` sticky header**: Removed `border-b border-[var(--outline-variant)]` from the sticky `<header>` element
58
+ - **`calendar-02` profile page header**: Wrapped `PageHeader` in `px-2 pt-2` container; updated tab row to add `lg:pb-4` bottom padding
59
+ - **`next.config.ts`**: Added `i.pravatar.cc` to allowed Next.js image hostnames
60
+
61
+ ---
62
+
63
+ ## [1.1.1] — 2026-04-04
64
+
65
+ ### Added
66
+
67
+ - **Calendar example pages**: Three new full-page calendar layouts — `calendar-01` (monthly view with collapsible sidebar and colour-coded event chips), `calendar-02` (weekly time-grid with rich event detail slideout), and `calendar-03` (daily time-grid for focused day planning)
68
+ - **Calendar examples docs page**: `/ui-kit/examples/calendar/` — docs page listing and previewing all three calendar examples with descriptions
69
+ - **Calendar nav entry**: "Calendar" link added to the Examples section in the docs sidebar (`DocsLayoutShell`)
70
+ - **Calendar examples index**: Calendar added to the examples overview page alongside Dashboards, Settings, and Auth
71
+ - **Rich event detail slideout** (calendar-02): Clicking any event opens a `SlideoutMenu` with colour-gradient header, tags, organiser avatar, time/location/reminder/description rows, guest list with RSVP counts and `Badge` status per guest, file attachments with type-coloured icons, and Edit/Join footer actions
72
+ - **Dynamic event dates** (calendar-02): Events always appear in the current week (Mon–Fri) using `getMondayOfWeek()` and `weekDay(offset)` helpers — no stale hardcoded dates
73
+ - **Compact event cards**: Week/day view renders short events (≤30 min) in a single-line compact layout (`py-0.5`, title · time) to prevent content overflow at small card heights
74
+
75
+ ### Changed
76
+
77
+ - **Calendar event colors — dark mode**: Replaced all hardcoded `--utility-*` color tokens in `colorMap` and `cardColorMap` with theme-adaptive graphic tokens (`--graphic-N-container`, `--on-graphic-N-container`, `--graphic-N`). Event colors now correctly adapt to dark mode and custom brand themes
78
+ - **ViewDropdown positioning**: Changed from `absolute` to `position: fixed` with `getBoundingClientRect()` on open — escapes `overflow: hidden` on the calendar root so the dropdown is never clipped by sticky headers
79
+
80
+ ### Fixed
81
+
82
+ - **Breadcrumb whitespace**: Removed extra space in `<div >` opening tag on docs page
83
+
84
+ ---
85
+
86
+ ## [1.1.0] — 2026-04-03
87
+
88
+ ### Added
89
+
90
+ - **Theme generator**: Full-featured live theme generator page with accent picker, harmony selector, font selector, roundness presets, and surface tint controls — changes apply site-wide in real time
91
+ - **Color harmony engine** (`color-harmony.ts`): Six standard color harmonies — monochromatic, complementary, split-complementary, analogous, triadic, and tetradic — with gap-bisection algorithm for 10-slot graphic palette distribution
92
+ - **Custom theme builder** (`build-custom-theme.ts`): Generates full token sets (primary, secondary, tertiary, surfaces, graphics) from accent + harmony + options; shade-level differentiation for triadic vs other harmonies
93
+ - **Toolbar component**: Reusable `Toolbar` with `floating`/`fixed` variants, `showLabels` prop (`"above"` | `"side"`), `ToolbarDivider`, and `useToolbarLabels()` context hook
94
+ - **Toolbar docs page**: Component documentation with interactive demos for variant, size, and label placement
95
+ - **Export panel**: TypeScript and CSS export formats for generated themes with one-click copy
96
+ - **Split-complementary harmony**: ±30° from complement (150° and 210° from primary hue)
97
+ - **Getting started page**: Expanded documentation with setup instructions
98
+
99
+ ### Changed
100
+
101
+ - **Harmony naming**: Renamed to standard color theory terms — single-tone → monochromatic, contrast → complementary, neighbors → analogous, balanced → triadic, vibrant → tetradic
102
+ - **Default theme**: Changed from Inkwell to Rosewood
103
+ - **Graphic palette algorithm**: Replaced fixed 30° hue stepping with gap-bisection algorithm so chart colors adapt to each harmony's unique hue distribution
104
+ - **Triadic shade differentiation**: Triadic harmony uses softer shades (500 vs 600 light, 300 vs 400 dark) to visually distinguish from tetradic
105
+ - **Toolbar positioning**: Removed built-in `fixed` positioning from Toolbar component — positioning is now consumer-controlled via `className`, making the component composable in any layout context
106
+ - **Select dropdown positioning**: Replaced `useEffect` + `setState` with `useCallback`-based toggle to fix React `setState` in effect warning
107
+ - **DocsLayoutShell padding**: Reduced mobile padding (`px-3 py-6 sm:px-6 sm:py-10`) to prevent compounding with page-level padding
108
+ - **npm package**: Restructured with `tsup` bundler, added license validation, server utilities, and CSS generation script
109
+
110
+ ### Fixed
111
+
112
+ - **Build error**: Added missing `"use client"` directive to Toolbar component
113
+ - **Select dropdown clipping**: Added `pb-72` to dropdown preview containers for overflow room
114
+ - **Toolbar swatch clipping**: Added `overflow-visible` to prevent border-radius from clipping ring/scale effects on accent swatches
115
+
116
+ ---
117
+
118
+ ## [1.0.5–1.0.15] — 2026-04-01 to 2026-04-03
119
+
120
+ > These versions were published directly to npm and are not individually documented in the changelog. No git tags exist for this range.
121
+
122
+ ---
123
+
124
+ ## [1.0.4] — 2026-04-01
125
+
126
+ ### Added
127
+
128
+ - **Settings examples**: Added `settings-02` (Password & Sessions), `settings-03` (Appearance), and `settings-04` (Billing) to the examples index
129
+ - **Settings — Billing (`settings-04`)**: Plan selector radio cards (Basic/Business/Enterprise) and invoice history DataTable with selectable rows, status badges, and per-row download actions
130
+ - **Auth examples**: Added `auth-05` (Verification — check your email), `auth-06` (Verification — enter OTP code), `auth-07` (Verification — email verified), `auth-08` (Forgot password — email entry), `auth-09` (Forgot password — set new password), and `auth-10` (Forgot password — password reset)
131
+ - **Avatar**: New `3xl` size (96 px) added to `AvatarSize` type and `SIZE_MAP`
132
+ - **OptionCard widget**: New widget and docs page added to component library navigation
133
+
134
+ ### Changed
135
+
136
+ - **Avatar**: `AvatarSize` type expanded with `3xl`; docs updated from 7 to 8 sizes
137
+ - **PageHeader** (cover + left avatar variant): Removed bottom border, upgraded avatar from `2xl` to `3xl`, tightened overlap offset, and added responsive horizontal padding to the info row
138
+ - **SidebarNavFeatureCard**: Removed `flex-col` from container so children control their own layout independently of the close button; action buttons updated from `ghost` to `bordered` variant
139
+
140
+ ### Fixed
141
+
142
+ - **SidebarNavFeatureCard**: Close button is now absolutely positioned so it never overlaps child content
143
+ - **SidebarNavFeatureCard**: Replaced hand-drawn SVG close icon with `X` from `react-feather`
144
+ - **SidebarNavFooter**: Removed stale `padding-right` workaround that was shifting all content rightward
145
+
146
+ ---
147
+
148
+ ## [1.0.3] — 2026-04-01
149
+
150
+ ### Added
151
+
152
+ - **Auth examples**: `auth-03` (split-screen sign-in with testimonial carousel) and `auth-04` (split-screen sign-in with image only)
153
+ - **Sign-up examples**: `signup-01` (centered email + social), `signup-02` (header + tabs), `signup-03` (split-screen + testimonial carousel), `signup-04` (split-screen + image only)
154
+ - **`SplitImagePanel` widget**: New generic widget accepting any overlay content as `children`. Replaces the testimonial-specific panel. Supports image-only mode or any custom JSX overlay
155
+ - **`SplitImagePanel` docs page**: Component documentation with three demo sections — image only, with overlay content, and with navigation carousel
156
+
157
+ ### Changed
158
+
159
+ - **Sidebar nav**: Renamed "Auth testimonial panel" entry to "Split image panel" with updated href
160
+
161
+ ---
162
+
163
+ ## [1.0.2] — 2026-04-01
164
+
165
+ ### Changed
166
+
167
+ - **Feature section grid**: Updated to 4-column layout on large screens
168
+ - **Feature section images**: Full-width responsive images replacing aspect-ratio crop — no content is clipped
169
+ - **Feature section images**: Added primary-colored overlay with `mix-blend-color` tint for grayscale thumbnails
170
+ - **Dark mode image previews**: Boosted brightness and reduced overlay opacity for better visibility in dark mode
171
+ - **Example preview containers**: Replaced raw Tailwind color scales with theme tokens for dark mode consistency
172
+ - **Dark mode scrim token**: Changed from opaque black to subtle white tint across all themes (default, Rosewood, Botanica, Inkwell)
173
+
174
+ ---
175
+
176
+ ## [1.0.1] — 2026-04-01
177
+
178
+ ### Added
179
+
180
+ - **Dashboard examples**: New dashboard variants (`dashboards-05`, `dashboards-06`) — analytics/map dashboard and personal finance dashboard
181
+ - **Country icon set**: Added `CountryFlag` component for displaying country flag icons
182
+
183
+ ### Fixed
184
+
185
+ - **Button `isIconOnly`**: Icon-only buttons now correctly render `children` — previously only `startContent`/`endContent` were visible, leaving icon-only buttons empty
186
+ - **Button hover visibility**: Improved hover background tokens for `ghost`, `bordered`, and `light` variants (default color) — hover state is now clearly visible against surface backgrounds
187
+ - Removed stale `import { start } from "repl"` in Button component
188
+
189
+ ---
190
+
191
+ ## [1.0.0] — 2026-03-30
192
+
193
+ ### Added
194
+
195
+ - Initial public release of PixelPlay UI
196
+ - Base components: `Button`, `ButtonGroup`, `Input`, `Textarea`, `Badge`, `BadgeGroup`, `Tag`, `Card`, `Spinner`, `Avatar`, `SocialButton`, `StoreButton`, `DropdownMenu`, `Select`, `Toggle`, `Checkbox`, `CheckboxGroup`, `Progress`, `CircularProgress`, `Slider`, `Tooltip`
197
+ - Application components: `Modal`, `Chart`, `Pagination`, `Messaging`, `DataTable`, `Tabs`, `Breadcrumb`, `Alert`, `Toast`, `DatePicker`, `Calendar`, `FileTypeIcon`, `FileUpload`
198
+ - Full TypeScript type definitions
199
+ - Tailwind CSS 4 theme token system with light/dark mode support
200
+ - Three built-in themes: Rosewood, Botanica, Inkwell
package/README.md CHANGED
@@ -1,91 +1,91 @@
1
- # PixelPlay UI
2
-
3
- > A scalable React component library with production-ready components, layouts, and themes for SaaS products.
4
-
5
- Built by [Dennis Isaac](https://dennisisaac.com) · [Live Docs](https://dennisisaac.com/ui-kit)
6
-
7
- ---
8
-
9
- ## Installation
10
-
11
- ```bash
12
- npm install pixelplay
13
- ```
14
-
15
- ```bash
16
- yarn add pixelplay
17
- ```
18
-
19
- ```bash
20
- pnpm add pixelplay
21
- ```
22
-
23
- ## Requirements
24
-
25
- - React 18+
26
- - Tailwind CSS 4+
27
- - TypeScript 5+ (recommended)
28
-
29
- ## Quick Start
30
-
31
- ```tsx
32
- import { Button, Badge, Avatar, Input } from "pixelplay";
33
-
34
- export function MyComponent() {
35
- return (
36
- <div>
37
- <Avatar name="Dennis Isaac" size="md" />
38
- <Badge color="purple">New</Badge>
39
- <Button color="primary" variant="solid">Get Started</Button>
40
- </div>
41
- );
42
- }
43
- ```
44
-
45
- ## Theme Setup
46
-
47
- Add the PixelPlay theme tokens to your global CSS:
48
-
49
- ```css
50
- @import "pixelplay/styles";
51
-
52
- :root {
53
- /* Override theme tokens as needed */
54
- --primary: oklch(55% 0.22 264);
55
- }
56
- ```
57
-
58
- ## Components
59
-
60
- | Component | Description |
61
- |-----------|-------------|
62
- | `Button` | Versatile button with variants, sizes, and states |
63
- | `Input` | Text input with labels, validation, and add-ons |
64
- | `Badge` | Status and label badges with colors |
65
- | `Avatar` | User avatars with initials, images, and status |
66
- | `Card` | Content container with header, body, and footer |
67
- | `Toggle` | Boolean toggle switch |
68
- | `Checkbox` | Checkbox with variants and groups |
69
- | `Select` | Dropdown select with search |
70
- | `Slider` | Range slider with dual handles |
71
- | `Tooltip` | Contextual tooltips |
72
- | `Modal` | Dialog modals |
73
- | `Spinner` | Loading indicators |
74
- | `Tag` | Dismissable tags |
75
- | `Progress` | Progress bars and circular indicators |
76
-
77
- [View all components →](https://dennisisaac.com/ui-kit)
78
-
79
- ## Versioning
80
-
81
- PixelPlay UI follows [Semantic Versioning](https://semver.org/):
82
-
83
- - **Patch** (`x.x.1`) — bug fixes and minor adjustments
84
- - **Minor** (`x.1.0`) — new components, non-breaking additions
85
- - **Major** (`1.0.0`) — breaking API changes
86
-
87
- See [CHANGELOG.md](./CHANGELOG.md) for the full release history.
88
-
89
- ## License
90
-
91
- MIT © [Dennis Isaac](https://dennisisaac.com)
1
+ # PixelPlay UI
2
+
3
+ > A scalable React component library with production-ready components, layouts, and themes for SaaS products.
4
+
5
+ Built by [Dennis Isaac](https://dennisisaac.com) · [Live Docs](https://dennisisaac.com/ui-kit)
6
+
7
+ ---
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npm install pixelplay
13
+ ```
14
+
15
+ ```bash
16
+ yarn add pixelplay
17
+ ```
18
+
19
+ ```bash
20
+ pnpm add pixelplay
21
+ ```
22
+
23
+ ## Requirements
24
+
25
+ - React 18+
26
+ - Tailwind CSS 4+
27
+ - TypeScript 5+ (recommended)
28
+
29
+ ## Quick Start
30
+
31
+ ```tsx
32
+ import { Button, Badge, Avatar, Input } from "pixelplay";
33
+
34
+ export function MyComponent() {
35
+ return (
36
+ <div>
37
+ <Avatar name="Dennis Isaac" size="md" />
38
+ <Badge color="purple">New</Badge>
39
+ <Button color="primary" variant="solid">Get Started</Button>
40
+ </div>
41
+ );
42
+ }
43
+ ```
44
+
45
+ ## Theme Setup
46
+
47
+ Add the PixelPlay theme tokens to your global CSS:
48
+
49
+ ```css
50
+ @import "pixelplay/styles";
51
+
52
+ :root {
53
+ /* Override theme tokens as needed */
54
+ --primary: oklch(55% 0.22 264);
55
+ }
56
+ ```
57
+
58
+ ## Components
59
+
60
+ | Component | Description |
61
+ |-----------|-------------|
62
+ | `Button` | Versatile button with variants, sizes, and states |
63
+ | `Input` | Text input with labels, validation, and add-ons |
64
+ | `Badge` | Status and label badges with colors |
65
+ | `Avatar` | User avatars with initials, images, and status |
66
+ | `Card` | Content container with header, body, and footer |
67
+ | `Toggle` | Boolean toggle switch |
68
+ | `Checkbox` | Checkbox with variants and groups |
69
+ | `Select` | Dropdown select with search |
70
+ | `Slider` | Range slider with dual handles |
71
+ | `Tooltip` | Contextual tooltips |
72
+ | `Modal` | Dialog modals |
73
+ | `Spinner` | Loading indicators |
74
+ | `Tag` | Dismissable tags |
75
+ | `Progress` | Progress bars and circular indicators |
76
+
77
+ [View all components →](https://dennisisaac.com/ui-kit)
78
+
79
+ ## Versioning
80
+
81
+ PixelPlay UI follows [Semantic Versioning](https://semver.org/):
82
+
83
+ - **Patch** (`x.x.1`) — bug fixes and minor adjustments
84
+ - **Minor** (`x.1.0`) — new components, non-breaking additions
85
+ - **Major** (`1.0.0`) — breaking API changes
86
+
87
+ See [CHANGELOG.md](./CHANGELOG.md) for the full release history.
88
+
89
+ ## License
90
+
91
+ MIT © [Dennis Isaac](https://dennisisaac.com)