Skip to content

Commit 84aa442

Browse files
committed
docs: update README and CHANGELOG for v1.1.0 release
- Add documentation for 13 new specialized input components - Update feature list with progression types and modular architecture - Add comprehensive CHANGELOG entry for v1.1.0 - Document bug fixes and technical improvements - Add usage examples for all new input components
1 parent 31bf4b3 commit 84aa442

File tree

2 files changed

+259
-13
lines changed

2 files changed

+259
-13
lines changed

β€ŽCHANGELOG.mdβ€Ž

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,97 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.0] - 2025-10-08
9+
10+
### Added
11+
12+
**πŸŽ‰ 13 New Specialized Input Components**
13+
- `OpacityInput` - Opacity control (0-100%)
14+
- `AngleInput` - Rotation angle control (0-360Β°)
15+
- `BorderRadiusInput` - Border radius control with unit support
16+
- `BorderRadiusMultiInput` - Control all 4 corners independently
17+
- `WidthInput` - Width control with multiple units
18+
- `HeightInput` - Height control with multiple units
19+
- `SpacingInput` - Spacing and gap control
20+
- `FontSizeInput` - Font size control
21+
- `LineHeightInput` - Line height control (unitless)
22+
- `LetterSpacingInput` - Letter spacing control
23+
- `ZIndexInput` - Z-index layering control
24+
- `ScaleInput` - Element scaling control
25+
- `BlurInput` - Blur effect control
26+
27+
**Advanced Input Features**
28+
- πŸŽ›οΈ **5 Progression Types**: linear, arithmetic, geometric, paraboloid, exponential
29+
- πŸ”„ **Drag-to-change** functionality for all numeric inputs
30+
- πŸ“ **Dual orientation**: horizontal and vertical layouts
31+
- 🎨 **Theme support**: light, dark, and auto modes
32+
- πŸ”’ **Precision control**: configurable decimal places
33+
- πŸ“ **Unit system**: px, %, rem, em, deg, pt, none
34+
- 🎯 **Custom icons**: string or React component support
35+
- 🎨 **Full customization**: className props for all elements
36+
37+
**Modular Architecture**
38+
- Refactored `InputColorPicker` into modular structure:
39+
- `hooks/` - useColorPickerState, useDraggable
40+
- `utils/` - color conversion utilities
41+
- `types.ts` - TypeScript definitions
42+
- Shared input utilities and hooks
43+
- Consistent component patterns across all inputs
44+
45+
**Documentation**
46+
- Added `INPUTS_GUIDE.md` with comprehensive input documentation
47+
- Updated README.md with new components section
48+
- Added Storybook examples for all input components
49+
- Created `README.md` for InputColorPicker module
50+
51+
### Changed
52+
53+
- **InputColorPicker Architecture**
54+
- Decomposed into hooks, utils, and types
55+
- Improved code maintainability and reusability
56+
- Better TypeScript support with exported types
57+
58+
- **Input Components Structure**
59+
- Unified `src/inputs/` directory for all input components
60+
- Shared utilities in `src/inputs/shared/`
61+
- Consistent prop interfaces across components
62+
63+
- **Theme System**
64+
- Unified theme classes for light/dark modes
65+
- Auto theme detection based on system preferences
66+
- Consistent styling across all components
67+
68+
### Fixed
69+
70+
- πŸ› Fixed NaN% error in gradient color strings
71+
- πŸ› Fixed opacity validation in gradients
72+
- πŸ› Fixed LineHeightInput using wrong type (now uses BaseInputPropsWithoutUnit)
73+
- πŸ› Improved color parsing for edge cases
74+
- πŸ› Fixed import order consistency across components
75+
76+
### Technical Improvements
77+
78+
- **TypeScript**
79+
- Exported all shared types (Unit, Orientation, Progression, etc.)
80+
- Better type safety with strict null checks
81+
- Improved prop type definitions
82+
83+
- **Code Quality**
84+
- Unified import order across all components
85+
- Consistent code formatting
86+
- Better error handling and validation
87+
88+
- **Bundle Size**
89+
- Tree-shakeable exports for all input components
90+
- Modular imports for optimal bundle size
91+
- Individual component exports in package.json
92+
93+
### Dependencies
94+
95+
- No new dependencies added
96+
- Leveraged existing `lucide-react` for icons
97+
- Utilized `tailwind-merge` for className handling
98+
899
## [1.0.0] - 2025-10-06
9100

10101
### Changed

β€ŽREADME.mdβ€Ž

Lines changed: 168 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,21 @@
55
[![license](https://img.shields.io/npm/l/@flowscape-ui/design-system-kit.svg)](https://github.com/flowscape-ui/design-system-kit/blob/main/LICENSE)
66
[![Buy Me a Coffee](https://img.shields.io/badge/Donate-Buy%20Me%20a%20Coffee-FFDD00?logo=buymeacoffee&logoColor=000)](https://buymeacoffee.com/flowscape)
77

8-
A comprehensive React design system kit with color picker, input components, and other essential UI elements. Built with TypeScript, modular architecture, and optimized for modern web applications.
8+
A comprehensive React design system kit with color picker, specialized input components, and other essential UI elements. Built with TypeScript, modular architecture, and optimized for modern web applications.
99

1010
## ✨ Features
1111

1212
- 🎨 **Multiple Color Formats**: Support for RGB, HSL, HSV, CMYK, and HEX
1313
- 🌈 **Gradient Support**: Create and edit linear and radial gradients
1414
- 🎯 **Eye Dropper**: Pick colors directly from the screen
15-
- πŸ”’ **Advanced Inputs**: Drag-to-change numeric inputs with multiple progressions
15+
- πŸ”’ **13 Specialized Input Components**: Drag-to-change numeric inputs for design properties
16+
- πŸŽ›οΈ **Multiple Progression Types**: Linear, arithmetic, geometric, paraboloid, exponential
1617
- πŸŒ“ **Dark/Light Mode**: Automatic theme detection with manual override
1718
- πŸ“¦ **Modular Architecture**: Import only what you need for optimal bundle size
1819
- ⚑ **Tree-shakeable**: Reduce bundle size by up to 94%
19-
- πŸŽ›οΈ **Highly Customizable**: Hide/show components and customize styling
20+
- 🎨 **Highly Customizable**: Hide/show components and customize styling
2021
- πŸ”§ **TypeScript Support**: Full type definitions included
21-
- πŸŽͺ **Advanced Controls**: Fine-tune colors with precision sliders
22+
- πŸŽͺ **Advanced Controls**: Fine-tune colors and values with precision sliders
2223

2324
## πŸ“¦ Installation
2425

@@ -80,7 +81,7 @@ function App() {
8081
min={0}
8182
max={100}
8283
step={1}
83-
icon='%'
84+
icon="%"
8485
/>
8586
)
8687
}
@@ -99,7 +100,7 @@ function App() {
99100

100101
return (
101102
<InputColorPicker
102-
title='Background Color'
103+
title="Background Color"
103104
value={color}
104105
onChange={setColor}
105106
/>
@@ -109,21 +110,156 @@ function App() {
109110

110111
[πŸ“– Full InputColorPicker Documentation](./src/input-color-picker/README.md)
111112

113+
### Specialized Input Components
114+
115+
A collection of 13 specialized input components for design properties:
116+
117+
```tsx
118+
import {
119+
OpacityInput,
120+
AngleInput,
121+
BorderRadiusInput,
122+
BorderRadiusMultiInput,
123+
WidthInput,
124+
HeightInput,
125+
SpacingInput,
126+
FontSizeInput,
127+
LineHeightInput,
128+
LetterSpacingInput,
129+
ZIndexInput,
130+
ScaleInput,
131+
BlurInput,
132+
} from '@flowscape-ui/design-system-kit/inputs'
133+
134+
// Or import individual components
135+
import { OpacityInput } from '@flowscape-ui/design-system-kit/inputs/opacity-input'
136+
```
137+
138+
#### Usage Examples:
139+
140+
**OpacityInput** - Control opacity (0-100%)
141+
142+
```tsx
143+
<OpacityInput value={75} onChange={setOpacity} theme="dark" />
144+
```
145+
146+
**AngleInput** - Control rotation angle (0-360Β°)
147+
148+
```tsx
149+
<AngleInput value={45} onChange={setAngle} />
150+
```
151+
152+
**BorderRadiusInput** - Border radius control
153+
154+
```tsx
155+
<BorderRadiusInput value={8} onChange={setRadius} unit="px" />
156+
```
157+
158+
**BorderRadiusMultiInput** - Control all 4 corners
159+
160+
```tsx
161+
<BorderRadiusMultiInput value={[8, 16, 8, 16]} onChange={setCorners} />
162+
```
163+
164+
**WidthInput / HeightInput** - Element dimensions
165+
166+
```tsx
167+
<WidthInput value={200} onChange={setWidth} unit="px" />
168+
<HeightInput value={150} onChange={setHeight} unit="%" />
169+
```
170+
171+
**SpacingInput** - Spacing and gaps
172+
173+
```tsx
174+
<SpacingInput value={16} onChange={setSpacing} unit="rem" />
175+
```
176+
177+
**FontSizeInput** - Font size control
178+
179+
```tsx
180+
<FontSizeInput value={16} onChange={setFontSize} unit="px" />
181+
```
182+
183+
**LineHeightInput** - Line height control
184+
185+
```tsx
186+
<LineHeightInput value={1.5} onChange={setLineHeight} />
187+
```
188+
189+
**LetterSpacingInput** - Letter spacing control
190+
191+
```tsx
192+
<LetterSpacingInput value={0.5} onChange={setLetterSpacing} unit="em" />
193+
```
194+
195+
**ZIndexInput** - Z-index layering
196+
197+
```tsx
198+
<ZIndexInput value={10} onChange={setZIndex} />
199+
```
200+
201+
**ScaleInput** - Element scaling
202+
203+
```tsx
204+
<ScaleInput value={1.2} onChange={setScale} />
205+
```
206+
207+
**BlurInput** - Blur effect
208+
209+
```tsx
210+
<BlurInput value={5} onChange={setBlur} unit="px" />
211+
```
212+
213+
#### Common Input Props:
214+
215+
```tsx
216+
interface BaseInputProps {
217+
value: number
218+
onChange?: (value: number) => void
219+
min?: number
220+
max?: number
221+
step?: number
222+
precision?: number
223+
progression?:
224+
| 'linear'
225+
| 'arithmetic'
226+
| 'geometric'
227+
| 'paraboloid'
228+
| 'exponential'
229+
orientation?: 'horizontal' | 'vertical'
230+
unit?: 'px' | '%' | 'rem' | 'em' | 'deg' | 'pt' | 'none'
231+
showUnit?: boolean
232+
icon?: React.ReactNode | string
233+
className?: string
234+
classNameInput?: string
235+
classNameIcon?: string
236+
theme?: 'light' | 'dark' | 'auto'
237+
disabled?: boolean
238+
}
239+
```
240+
241+
#### Progression Types:
242+
243+
- **linear** - Linear change (default)
244+
- **arithmetic** - Arithmetic progression (Γ—2)
245+
- **geometric** - Geometric progression (Γ—1.05)
246+
- **paraboloid** - Parabolic acceleration
247+
- **exponential** - Exponential change
248+
112249
## Basic Usage
113250

114251
### Simple Color Picker
115252

116253
```tsx
117254
import { ColorPicker } from '@flowscape-ui/design-system-kit'
118-
119-
;<ColorPicker value='#ff0000' onChange={color => console.log(color)} />
255+
;<ColorPicker value="#ff0000" onChange={color => console.log(color)} />
120256
```
121257

122258
### With Custom Dimensions
123259

124260
```tsx
125261
<ColorPicker
126-
value='rgba(255, 0, 0, 0.5)'
262+
value="rgba(255, 0, 0, 0.5)"
127263
onChange={setColor}
128264
width={350}
129265
height={350}
@@ -134,7 +270,7 @@ import { ColorPicker } from '@flowscape-ui/design-system-kit'
134270

135271
```tsx
136272
<ColorPicker
137-
value='linear-gradient(90deg, #ff0000 0%, #0000ff 100%)'
273+
value="linear-gradient(90deg, #ff0000 0%, #0000ff 100%)"
138274
onChange={setGradient}
139275
/>
140276
```
@@ -269,9 +405,9 @@ function CustomColorPicker() {
269405
return (
270406
<div>
271407
<input
272-
type='range'
273-
min='0'
274-
max='255'
408+
type="range"
409+
min="0"
410+
max="255"
275411
onChange={e => setR(Number(e.target.value))}
276412
/>
277413
<p>Current color: {valueToHex()}</p>
@@ -416,6 +552,25 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
416552

417553
See [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes.
418554

555+
### v1.1.0 (Latest)
556+
557+
**πŸŽ‰ Major Update: Specialized Input Components**
558+
559+
- ✨ **13 new specialized input components** for design properties
560+
- πŸŽ›οΈ **5 progression types**: linear, arithmetic, geometric, paraboloid, exponential
561+
- πŸ”„ **Drag-to-change** functionality for all numeric inputs
562+
- 🎨 **Theme support**: light, dark, auto
563+
- πŸ“ **Vertical and horizontal** orientation
564+
- πŸ”§ **Modular architecture** for InputColorPicker (hooks, utils, types)
565+
- πŸ› **Bug fixes**: NaN% in gradients, opacity validation
566+
- πŸ“š **Enhanced documentation** and Storybook examples
567+
568+
**New Components:**
569+
570+
- OpacityInput, AngleInput, BorderRadiusInput, BorderRadiusMultiInput
571+
- WidthInput, HeightInput, SpacingInput, FontSizeInput
572+
- LineHeightInput, LetterSpacingInput, ZIndexInput, ScaleInput, BlurInput
573+
419574
### v1.0.0
420575

421576
- Initial release as `@flowscape-ui/design-system-kit`

0 commit comments

Comments
Β (0)