pixelplay 1.0.15 → 1.1.1

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,146 @@
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.1] — 2026-04-04
10
+
11
+ ### Added
12
+
13
+ - **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)
14
+ - **Calendar examples docs page**: `/ui-kit/examples/calendar/` docs page listing and previewing all three calendar examples with descriptions
15
+ - **Calendar nav entry**: "Calendar" link added to the Examples section in the docs sidebar (`DocsLayoutShell`)
16
+ - **Calendar examples index**: Calendar added to the examples overview page alongside Dashboards, Settings, and Auth
17
+ - **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
18
+ - **Dynamic event dates** (calendar-02): Events always appear in the current week (Mon–Fri) using `getMondayOfWeek()` and `weekDay(offset)` helpers — no stale hardcoded dates
19
+ - **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
20
+
21
+ ### Changed
22
+
23
+ - **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
24
+ - **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
25
+
26
+ ### Fixed
27
+
28
+ - **Breadcrumb whitespace**: Removed extra space in `<div >` opening tag on docs page
29
+
30
+ ---
31
+
32
+ ## [1.1.0] 2026-04-03
33
+
34
+ ### Added
35
+
36
+ - **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
37
+ - **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
38
+ - **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
39
+ - **Toolbar component**: Reusable `Toolbar` with `floating`/`fixed` variants, `showLabels` prop (`"above"` | `"side"`), `ToolbarDivider`, and `useToolbarLabels()` context hook
40
+ - **Toolbar docs page**: Component documentation with interactive demos for variant, size, and label placement
41
+ - **Export panel**: TypeScript and CSS export formats for generated themes with one-click copy
42
+ - **Split-complementary harmony**: ±30° from complement (150° and 210° from primary hue)
43
+ - **Getting started page**: Expanded documentation with setup instructions
44
+
45
+ ### Changed
46
+
47
+ - **Harmony naming**: Renamed to standard color theory terms single-tone monochromatic, contrast complementary, neighbors analogous, balanced triadic, vibrant tetradic
48
+ - **Default theme**: Changed from Inkwell to Rosewood
49
+ - **Graphic palette algorithm**: Replaced fixed 30° hue stepping with gap-bisection algorithm so chart colors adapt to each harmony's unique hue distribution
50
+ - **Triadic shade differentiation**: Triadic harmony uses softer shades (500 vs 600 light, 300 vs 400 dark) to visually distinguish from tetradic
51
+ - **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
52
+ - **Select dropdown positioning**: Replaced `useEffect` + `setState` with `useCallback`-based toggle to fix React `setState` in effect warning
53
+ - **DocsLayoutShell padding**: Reduced mobile padding (`px-3 py-6 sm:px-6 sm:py-10`) to prevent compounding with page-level padding
54
+ - **npm package**: Restructured with `tsup` bundler, added license validation, server utilities, and CSS generation script
55
+
56
+ ### Fixed
57
+
58
+ - **Build error**: Added missing `"use client"` directive to Toolbar component
59
+ - **Select dropdown clipping**: Added `pb-72` to dropdown preview containers for overflow room
60
+ - **Toolbar swatch clipping**: Added `overflow-visible` to prevent border-radius from clipping ring/scale effects on accent swatches
61
+
62
+ ---
63
+
64
+ ## [1.0.5–1.0.15] — 2026-04-01 to 2026-04-03
65
+
66
+ > These versions were published directly to npm and are not individually documented in the changelog. No git tags exist for this range.
67
+
68
+ ---
69
+
70
+ ## [1.0.4] — 2026-04-01
71
+
72
+ ### Added
73
+
74
+ - **Settings examples**: Added `settings-02` (Password & Sessions), `settings-03` (Appearance), and `settings-04` (Billing) to the examples index
75
+ - **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
76
+ - **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)
77
+ - **Avatar**: New `3xl` size (96 px) added to `AvatarSize` type and `SIZE_MAP`
78
+ - **OptionCard widget**: New widget and docs page added to component library navigation
79
+
80
+ ### Changed
81
+
82
+ - **Avatar**: `AvatarSize` type expanded with `3xl`; docs updated from 7 to 8 sizes
83
+ - **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
84
+ - **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
85
+
86
+ ### Fixed
87
+
88
+ - **SidebarNavFeatureCard**: Close button is now absolutely positioned so it never overlaps child content
89
+ - **SidebarNavFeatureCard**: Replaced hand-drawn SVG close icon with `X` from `react-feather`
90
+ - **SidebarNavFooter**: Removed stale `padding-right` workaround that was shifting all content rightward
91
+
92
+ ---
93
+
94
+ ## [1.0.3] — 2026-04-01
95
+
96
+ ### Added
97
+
98
+ - **Auth examples**: `auth-03` (split-screen sign-in with testimonial carousel) and `auth-04` (split-screen sign-in with image only)
99
+ - **Sign-up examples**: `signup-01` (centered email + social), `signup-02` (header + tabs), `signup-03` (split-screen + testimonial carousel), `signup-04` (split-screen + image only)
100
+ - **`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
101
+ - **`SplitImagePanel` docs page**: Component documentation with three demo sections — image only, with overlay content, and with navigation carousel
102
+
103
+ ### Changed
104
+
105
+ - **Sidebar nav**: Renamed "Auth testimonial panel" entry to "Split image panel" with updated href
106
+
107
+ ---
108
+
109
+ ## [1.0.2] — 2026-04-01
110
+
111
+ ### Changed
112
+
113
+ - **Feature section grid**: Updated to 4-column layout on large screens
114
+ - **Feature section images**: Full-width responsive images replacing aspect-ratio crop — no content is clipped
115
+ - **Feature section images**: Added primary-colored overlay with `mix-blend-color` tint for grayscale thumbnails
116
+ - **Dark mode image previews**: Boosted brightness and reduced overlay opacity for better visibility in dark mode
117
+ - **Example preview containers**: Replaced raw Tailwind color scales with theme tokens for dark mode consistency
118
+ - **Dark mode scrim token**: Changed from opaque black to subtle white tint across all themes (default, Rosewood, Botanica, Inkwell)
119
+
120
+ ---
121
+
122
+ ## [1.0.1] — 2026-04-01
123
+
124
+ ### Added
125
+
126
+ - **Dashboard examples**: New dashboard variants (`dashboards-05`, `dashboards-06`) — analytics/map dashboard and personal finance dashboard
127
+ - **Country icon set**: Added `CountryFlag` component for displaying country flag icons
128
+
129
+ ### Fixed
130
+
131
+ - **Button `isIconOnly`**: Icon-only buttons now correctly render `children` — previously only `startContent`/`endContent` were visible, leaving icon-only buttons empty
132
+ - **Button hover visibility**: Improved hover background tokens for `ghost`, `bordered`, and `light` variants (default color) — hover state is now clearly visible against surface backgrounds
133
+ - Removed stale `import { start } from "repl"` in Button component
134
+
135
+ ---
136
+
137
+ ## [1.0.0] — 2026-03-30
138
+
139
+ ### Added
140
+
141
+ - Initial public release of PixelPlay UI
142
+ - Base components: `Button`, `ButtonGroup`, `Input`, `Textarea`, `Badge`, `BadgeGroup`, `Tag`, `Card`, `Spinner`, `Avatar`, `SocialButton`, `StoreButton`, `DropdownMenu`, `Select`, `Toggle`, `Checkbox`, `CheckboxGroup`, `Progress`, `CircularProgress`, `Slider`, `Tooltip`
143
+ - Application components: `Modal`, `Chart`, `Pagination`, `Messaging`, `DataTable`, `Tabs`, `Breadcrumb`, `Alert`, `Toast`, `DatePicker`, `Calendar`, `FileTypeIcon`, `FileUpload`
144
+ - Full TypeScript type definitions
145
+ - Tailwind CSS 4 theme token system with light/dark mode support
146
+ - 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)