Skip to content

Commit 6c974e6

Browse files
committed
feat(color-picker): add demos and remove unused size prop
Add format, alpha, disabled, and trigger demos. Remove the size prop which had no CSS implementation.
1 parent 87ea65e commit 6c974e6

8 files changed

Lines changed: 81 additions & 8 deletions

File tree

components/color-picker/__tests__/__snapshots__/color-picker.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
exports[`<ColorPicker /> should match the snapshot 1`] = `
44
<DocumentFragment>
55
<div
6-
class="ty-color-picker ty-color-picker_md"
6+
class="ty-color-picker"
77
>
88
<div
99
class="ty-color-picker__trigger"

components/color-picker/color-picker.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@ import Popup from '../popup';
77
import { ColorPickerProps, Color, ColorFormat } from './types';
88
import { parseColor, formatColor, hsbToHex } from './utils';
99

10-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1110
const ColorPicker = React.forwardRef<HTMLDivElement, ColorPickerProps>((props, _ref) => {
1211
const {
1312
defaultValue = '#6e41bf',
1413
presets,
1514
showAlpha = false,
1615
disabled = false,
17-
size,
1816
trigger = 'click',
1917
defaultFormat = 'hex',
2018
prefixCls: customisedCls,
@@ -28,7 +26,6 @@ const ColorPicker = React.forwardRef<HTMLDivElement, ColorPickerProps>((props, _
2826

2927
const configContext = useContext(ConfigContext);
3028
const prefixCls = getPrefixCls('color-picker', configContext.prefixCls, customisedCls);
31-
const pickerSize = size || configContext.componentSize || 'md';
3229

3330
const [color, setColor] = useState<Color>(() =>
3431
parseColor('value' in props ? (props.value as string) : defaultValue)
@@ -169,7 +166,6 @@ const ColorPicker = React.forwardRef<HTMLDivElement, ColorPickerProps>((props, _
169166
};
170167

171168
const cls = classNames(prefixCls, className, {
172-
[`${prefixCls}_${pickerSize}`]: pickerSize,
173169
[`${prefixCls}_disabled`]: disabled,
174170
});
175171

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<demo>
2+
3+
### Alpha Channel
4+
5+
Enable the alpha slider with `showAlpha`.
6+
7+
```jsx live
8+
() => {
9+
const [color, setColor] = React.useState('#6e41bf');
10+
11+
return (
12+
<div style={{ display: 'flex', alignItems: 'center', gap: '16px' }}>
13+
<ColorPicker value={color} onChange={setColor} showAlpha />
14+
<span>{color}</span>
15+
</div>
16+
);
17+
}
18+
```
19+
20+
</demo>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<demo>
2+
3+
### Disabled
4+
5+
A disabled color picker.
6+
7+
```jsx live
8+
<ColorPicker defaultValue="#722ed1" disabled />
9+
```
10+
11+
</demo>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<demo>
2+
3+
### Format
4+
5+
Toggle between `hex`, `rgb`, and `hsb` output formats.
6+
7+
```jsx live
8+
() => {
9+
const [color, setColor] = React.useState('#1890ff');
10+
const [format, setFormat] = React.useState('hex');
11+
12+
return (
13+
<div style={{ display: 'flex', alignItems: 'center', gap: '16px' }}>
14+
<ColorPicker
15+
value={color}
16+
format={format}
17+
onChange={setColor}
18+
onFormatChange={setFormat}
19+
/>
20+
<span>Format: <strong>{format}</strong></span>
21+
<span>Value: {color}</span>
22+
</div>
23+
);
24+
}
25+
```
26+
27+
</demo>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<demo>
2+
3+
### Trigger
4+
5+
Open the panel on hover instead of click.
6+
7+
```jsx live
8+
<ColorPicker defaultValue="#fa8c16" trigger="hover" />
9+
```
10+
11+
</demo>

components/color-picker/index.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
import Alpha from './demo/alpha.md'
12
import Basic from './demo/basic.md'
3+
import Disabled from './demo/disabled.md'
4+
import Format from './demo/format.md'
5+
import Trigger from './demo/trigger.md'
26

37
# ColorPicker
48

@@ -19,6 +23,12 @@ import { ColorPicker } from 'tiny-ui';
1923
<layout>
2024
<column>
2125
<Basic/>
26+
<Format/>
27+
<Alpha/>
28+
</column>
29+
<column>
30+
<Disabled/>
31+
<Trigger/>
2232
</column>
2333
</layout>
2434

@@ -34,7 +44,6 @@ import { ColorPicker } from 'tiny-ui';
3444
| presets | preset color swatches | string[] | |
3545
| showAlpha | show alpha slider | boolean | false |
3646
| disabled | disable the picker | boolean | false |
37-
| size | trigger size | 'sm' \| 'md' \| 'lg' | md |
3847
| trigger | trigger mode | 'click' \| 'hover' | click |
3948
| open | controlled panel visibility | boolean | |
4049
| onOpenChange | callback when visibility changes | (open: boolean) => void | |

components/color-picker/types.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { BaseProps, SizeType } from '../_utils/props';
2+
import { BaseProps } from '../_utils/props';
33

44
export type ColorFormat = 'hex' | 'rgb' | 'hsb';
55

@@ -22,7 +22,6 @@ export interface ColorPickerProps
2222
presets?: string[];
2323
showAlpha?: boolean;
2424
disabled?: boolean;
25-
size?: SizeType;
2625
trigger?: 'click' | 'hover';
2726
open?: boolean;
2827
onOpenChange?: (open: boolean) => void;

0 commit comments

Comments
 (0)