@cladd-ui/react 0.9.0 → 0.11.0
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 +36 -0
- package/calendar/Calendar.d.ts +21 -0
- package/calendar/Calendar.d.ts.map +1 -0
- package/calendar/Calendar.js +158 -0
- package/calendar/Calendar.js.map +1 -0
- package/calendar/CalendarIcon.d.ts +2 -0
- package/calendar/CalendarIcon.d.ts.map +1 -0
- package/calendar/CalendarIcon.js +5 -0
- package/calendar/CalendarIcon.js.map +1 -0
- package/calendar/DatePicker.d.ts +91 -0
- package/calendar/DatePicker.d.ts.map +1 -0
- package/calendar/DatePicker.js +79 -0
- package/calendar/DatePicker.js.map +1 -0
- package/calendar/index.d.ts +4 -0
- package/calendar/index.d.ts.map +1 -0
- package/calendar/index.js +3 -0
- package/calendar/index.js.map +1 -0
- package/components/AccordionContext.d.ts +22 -0
- package/components/AccordionContext.d.ts.map +1 -0
- package/components/AccordionContext.js +14 -0
- package/components/AccordionContext.js.map +1 -0
- package/components/AccordionItem.d.ts +27 -0
- package/components/AccordionItem.d.ts.map +1 -0
- package/components/AccordionItem.js +36 -0
- package/components/AccordionItem.js.map +1 -0
- package/components/AccordionRoot.d.ts +47 -0
- package/components/AccordionRoot.d.ts.map +1 -0
- package/components/AccordionRoot.js +53 -0
- package/components/AccordionRoot.js.map +1 -0
- package/components/Button.js +2 -2
- package/components/Button.js.map +1 -1
- package/components/Checkbox.js +2 -2
- package/components/Checkbox.js.map +1 -1
- package/components/CollapsibleContext.d.ts +36 -0
- package/components/CollapsibleContext.d.ts.map +1 -0
- package/components/CollapsibleContext.js +24 -0
- package/components/CollapsibleContext.js.map +1 -0
- package/components/CollapsibleIndicator.d.ts +45 -0
- package/components/CollapsibleIndicator.d.ts.map +1 -0
- package/components/CollapsibleIndicator.js +34 -0
- package/components/CollapsibleIndicator.js.map +1 -0
- package/components/CollapsiblePanel.d.ts +35 -0
- package/components/CollapsiblePanel.d.ts.map +1 -0
- package/components/CollapsiblePanel.js +104 -0
- package/components/CollapsiblePanel.js.map +1 -0
- package/components/CollapsibleRoot.d.ts +35 -0
- package/components/CollapsibleRoot.d.ts.map +1 -0
- package/components/CollapsibleRoot.js +43 -0
- package/components/CollapsibleRoot.js.map +1 -0
- package/components/CollapsibleTrigger.d.ts +21 -0
- package/components/CollapsibleTrigger.d.ts.map +1 -0
- package/components/CollapsibleTrigger.js +36 -0
- package/components/CollapsibleTrigger.js.map +1 -0
- package/components/ColorEditor.d.ts +84 -0
- package/components/ColorEditor.d.ts.map +1 -0
- package/components/ColorEditor.js +517 -0
- package/components/ColorEditor.js.map +1 -0
- package/components/ColorPicker.d.ts +127 -0
- package/components/ColorPicker.d.ts.map +1 -0
- package/components/ColorPicker.js +136 -0
- package/components/ColorPicker.js.map +1 -0
- package/components/Dialog.d.ts.map +1 -1
- package/components/Dialog.js +4 -1
- package/components/Dialog.js.map +1 -1
- package/components/{FocusableLayer.d.ts → FocusRing.d.ts} +2 -2
- package/components/FocusRing.d.ts.map +1 -0
- package/components/{FocusableLayer.js → FocusRing.js} +2 -2
- package/components/FocusRing.js.map +1 -0
- package/components/Input.d.ts +2 -0
- package/components/Input.d.ts.map +1 -1
- package/components/Input.js +4 -4
- package/components/Input.js.map +1 -1
- package/components/Link.js +2 -2
- package/components/Link.js.map +1 -1
- package/components/NumberScrubber.d.ts +2 -0
- package/components/NumberScrubber.d.ts.map +1 -1
- package/components/NumberScrubber.js +3 -3
- package/components/NumberScrubber.js.map +1 -1
- package/components/OTPField.d.ts.map +1 -1
- package/components/OTPField.js +2 -2
- package/components/OTPField.js.map +1 -1
- package/components/Popover.d.ts.map +1 -1
- package/components/Popover.js +9 -2
- package/components/Popover.js.map +1 -1
- package/components/Popup.d.ts.map +1 -1
- package/components/Popup.js +2 -1
- package/components/Popup.js.map +1 -1
- package/components/Radio.js +2 -2
- package/components/Radio.js.map +1 -1
- package/components/Segmented.d.ts +7 -1
- package/components/Segmented.d.ts.map +1 -1
- package/components/Segmented.js +4 -2
- package/components/Segmented.js.map +1 -1
- package/components/Select.d.ts +2 -0
- package/components/Select.d.ts.map +1 -1
- package/components/Select.js +5 -5
- package/components/Select.js.map +1 -1
- package/components/Slider.d.ts +34 -3
- package/components/Slider.d.ts.map +1 -1
- package/components/Slider.js +27 -14
- package/components/Slider.js.map +1 -1
- package/components/Surface.d.ts.map +1 -1
- package/components/Surface.js +3 -2
- package/components/Surface.js.map +1 -1
- package/components/SurfaceContext.d.ts +20 -1
- package/components/SurfaceContext.d.ts.map +1 -1
- package/components/SurfaceContext.js +13 -2
- package/components/SurfaceContext.js.map +1 -1
- package/components/SurfaceCut.d.ts.map +1 -1
- package/components/SurfaceCut.js +3 -2
- package/components/SurfaceCut.js.map +1 -1
- package/components/Switch.js +2 -2
- package/components/Switch.js.map +1 -1
- package/components/Tab.d.ts +19 -0
- package/components/Tab.d.ts.map +1 -0
- package/components/Tab.js +22 -0
- package/components/Tab.js.map +1 -0
- package/components/TabPanel.d.ts +31 -0
- package/components/TabPanel.d.ts.map +1 -0
- package/components/TabPanel.js +19 -0
- package/components/TabPanel.js.map +1 -0
- package/components/Tabs.d.ts +33 -0
- package/components/Tabs.d.ts.map +1 -0
- package/components/Tabs.js +36 -0
- package/components/Tabs.js.map +1 -0
- package/components/TabsContext.d.ts +25 -0
- package/components/TabsContext.d.ts.map +1 -0
- package/components/TabsContext.js +18 -0
- package/components/TabsContext.js.map +1 -0
- package/components/TabsList.d.ts +12 -0
- package/components/TabsList.d.ts.map +1 -0
- package/components/TabsList.js +52 -0
- package/components/TabsList.js.map +1 -0
- package/components/Textarea.d.ts +2 -0
- package/components/Textarea.d.ts.map +1 -1
- package/components/Textarea.js +3 -3
- package/components/Textarea.js.map +1 -1
- package/components/ThemeContext.d.ts +26 -0
- package/components/ThemeContext.d.ts.map +1 -1
- package/components/ThemeContext.js.map +1 -1
- package/components/ToggleButton.d.ts +44 -0
- package/components/ToggleButton.d.ts.map +1 -0
- package/components/ToggleButton.js +66 -0
- package/components/ToggleButton.js.map +1 -0
- package/components/ToggleGroup.d.ts +50 -0
- package/components/ToggleGroup.d.ts.map +1 -0
- package/components/ToggleGroup.js +57 -0
- package/components/ToggleGroup.js.map +1 -0
- package/components/ToggleGroupContext.d.ts +31 -0
- package/components/ToggleGroupContext.d.ts.map +1 -0
- package/components/ToggleGroupContext.js +14 -0
- package/components/ToggleGroupContext.js.map +1 -0
- package/components/TooltipPrimitive.d.ts.map +1 -1
- package/components/TooltipPrimitive.js +4 -1
- package/components/TooltipPrimitive.js.map +1 -1
- package/components/icons/ArrowLeftIcon.d.ts +2 -0
- package/components/icons/ArrowLeftIcon.d.ts.map +1 -0
- package/components/icons/ArrowLeftIcon.js +5 -0
- package/components/icons/ArrowLeftIcon.js.map +1 -0
- package/components/icons/ChevronLeftIcon.d.ts +2 -0
- package/components/icons/ChevronLeftIcon.d.ts.map +1 -0
- package/components/icons/ChevronLeftIcon.js +5 -0
- package/components/icons/ChevronLeftIcon.js.map +1 -0
- package/components/icons/FlipIcon.d.ts +2 -0
- package/components/icons/FlipIcon.d.ts.map +1 -0
- package/components/icons/FlipIcon.js +5 -0
- package/components/icons/FlipIcon.js.map +1 -0
- package/components/icons/GradientColorIcon.d.ts +2 -0
- package/components/icons/GradientColorIcon.d.ts.map +1 -0
- package/components/icons/GradientColorIcon.js +5 -0
- package/components/icons/GradientColorIcon.js.map +1 -0
- package/components/icons/SolidColorIcon.d.ts +2 -0
- package/components/icons/SolidColorIcon.d.ts.map +1 -0
- package/components/icons/SolidColorIcon.js +5 -0
- package/components/icons/SolidColorIcon.js.map +1 -0
- package/hooks/use-surface.d.ts +6 -0
- package/hooks/use-surface.d.ts.map +1 -1
- package/hooks/use-surface.js +7 -0
- package/hooks/use-surface.js.map +1 -1
- package/index.d.ts +20 -1
- package/index.d.ts.map +1 -1
- package/index.js +18 -0
- package/index.js.map +1 -1
- package/package.json +11 -1
- package/shared/color.d.ts +122 -0
- package/shared/color.d.ts.map +1 -0
- package/shared/color.js +319 -0
- package/shared/color.js.map +1 -0
- package/styles/colors.css +4 -4
- package/components/FocusableLayer.d.ts.map +0 -1
- package/components/FocusableLayer.js.map +0 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color conversion + parsing for `ColorEditor` / `ColorPicker`.
|
|
3
|
+
*
|
|
4
|
+
* Internally everything is HSV(A) (`Hsva`) so hue and saturation survive at the
|
|
5
|
+
* extremes (black / white) where a hex round-trip would otherwise drop them.
|
|
6
|
+
* Conversion to the public {@link ColorValue} (hex / rgb / hsl / hsb / css)
|
|
7
|
+
* happens only on the way out.
|
|
8
|
+
*/
|
|
9
|
+
export type RGB = {
|
|
10
|
+
r: number;
|
|
11
|
+
g: number;
|
|
12
|
+
b: number;
|
|
13
|
+
a: number;
|
|
14
|
+
};
|
|
15
|
+
export type HSL = {
|
|
16
|
+
h: number;
|
|
17
|
+
s: number;
|
|
18
|
+
l: number;
|
|
19
|
+
a: number;
|
|
20
|
+
};
|
|
21
|
+
export type HSB = {
|
|
22
|
+
h: number;
|
|
23
|
+
s: number;
|
|
24
|
+
b: number;
|
|
25
|
+
a: number;
|
|
26
|
+
};
|
|
27
|
+
/** Emitted color. Every channel set is self-contained (carries its own alpha). */
|
|
28
|
+
export type ColorValue = {
|
|
29
|
+
/** `#rrggbb`, or `#rrggbbaa` when alpha < 1. */
|
|
30
|
+
hex: string;
|
|
31
|
+
/** r,g,b 0–255 · a 0–1. */
|
|
32
|
+
rgb: RGB;
|
|
33
|
+
/** h 0–360 · s,l 0–100 · a 0–1. */
|
|
34
|
+
hsl: HSL;
|
|
35
|
+
/** h 0–360 · s,b 0–100 · a 0–1. */
|
|
36
|
+
hsb: HSB;
|
|
37
|
+
/** Ready for `style={{ background }}` — `#rrggbb` when opaque, `rgba(...)` otherwise. */
|
|
38
|
+
css: string;
|
|
39
|
+
};
|
|
40
|
+
/** Accepted by `value` / `defaultValue` — a CSS color string or any one channel set (alpha optional). */
|
|
41
|
+
export type ColorInput = string | {
|
|
42
|
+
r: number;
|
|
43
|
+
g: number;
|
|
44
|
+
b: number;
|
|
45
|
+
a?: number;
|
|
46
|
+
} | {
|
|
47
|
+
h: number;
|
|
48
|
+
s: number;
|
|
49
|
+
l: number;
|
|
50
|
+
a?: number;
|
|
51
|
+
} | {
|
|
52
|
+
h: number;
|
|
53
|
+
s: number;
|
|
54
|
+
b: number;
|
|
55
|
+
a?: number;
|
|
56
|
+
};
|
|
57
|
+
export type GradientStop = {
|
|
58
|
+
color: ColorValue;
|
|
59
|
+
position: number;
|
|
60
|
+
};
|
|
61
|
+
export type GradientValue = {
|
|
62
|
+
type: 'linear';
|
|
63
|
+
/** Degrees, 0–360. */
|
|
64
|
+
angle: number;
|
|
65
|
+
/** Two or more stops, sorted by `position` (0–100). */
|
|
66
|
+
stops: GradientStop[];
|
|
67
|
+
/** Ready for `style={{ background }}` — `linear-gradient(...)`. */
|
|
68
|
+
css: string;
|
|
69
|
+
};
|
|
70
|
+
/** Solid value when gradient is enabled (tagged so it discriminates against {@link GradientValue}). */
|
|
71
|
+
export type SolidValue = ColorValue & {
|
|
72
|
+
type: 'solid';
|
|
73
|
+
};
|
|
74
|
+
/** Union emitted by `ColorEditor` / `ColorPicker` when `gradient` is enabled. */
|
|
75
|
+
export type ColorEditorValue = SolidValue | GradientValue;
|
|
76
|
+
export type GradientStopInput = {
|
|
77
|
+
color: ColorInput;
|
|
78
|
+
position: number;
|
|
79
|
+
};
|
|
80
|
+
export type GradientInput = string | {
|
|
81
|
+
type?: 'linear';
|
|
82
|
+
angle?: number;
|
|
83
|
+
stops: GradientStopInput[];
|
|
84
|
+
};
|
|
85
|
+
/** Internal working color. h 0–360 · s,v 0–100 · a 0–1. */
|
|
86
|
+
export type Hsva = {
|
|
87
|
+
h: number;
|
|
88
|
+
s: number;
|
|
89
|
+
v: number;
|
|
90
|
+
a: number;
|
|
91
|
+
};
|
|
92
|
+
export declare const BLACK: Hsva;
|
|
93
|
+
export declare const hsvToRgb: ({ h, s, v, a }: Hsva) => RGB;
|
|
94
|
+
export declare const rgbToHsv: ({ r, g, b, a }: RGB) => Hsva;
|
|
95
|
+
export declare const hsvToHsl: ({ h, s, v, a }: Hsva) => HSL;
|
|
96
|
+
export declare const hslToHsv: (h: number, s: number, l: number, a: number) => Hsva;
|
|
97
|
+
export declare const buildColorValue: (hsva: Hsva) => ColorValue;
|
|
98
|
+
/** Parse any {@link ColorInput} into the internal `Hsva`. Falls back to black. */
|
|
99
|
+
export declare const parseColor: (input: ColorInput | undefined | null) => Hsva;
|
|
100
|
+
export declare const isGradientInput: (input: ColorInput | GradientInput | undefined | null) => input is GradientInput;
|
|
101
|
+
type ParsedGradient = {
|
|
102
|
+
angle: number;
|
|
103
|
+
stops: {
|
|
104
|
+
hsva: Hsva;
|
|
105
|
+
position: number;
|
|
106
|
+
}[];
|
|
107
|
+
};
|
|
108
|
+
export declare const parseGradient: (input: GradientInput) => ParsedGradient | null;
|
|
109
|
+
export declare const gradientCss: (angle: number, stops: GradientStop[]) => string;
|
|
110
|
+
/**
|
|
111
|
+
* Two-tone checkerboard background for surfaces that can show transparency
|
|
112
|
+
* (swatches, alpha tracks). Spread into a `style` prop: `style={CHECKER}`.
|
|
113
|
+
*/
|
|
114
|
+
export declare const CHECKER: {
|
|
115
|
+
background: string;
|
|
116
|
+
};
|
|
117
|
+
/** Horizontal preview gradient for the stop bar (ignores `angle`, like Sketch). */
|
|
118
|
+
export declare const gradientPreviewCss: (stops: GradientStop[]) => string;
|
|
119
|
+
/** Stable signature used to detect *external* controlled-value changes. */
|
|
120
|
+
export declare const colorSignature: (hsva: Hsva) => string;
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/shared/color.ts"],"names":[],"mappings":"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"}
|
package/shared/color.js
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color conversion + parsing for `ColorEditor` / `ColorPicker`.
|
|
3
|
+
*
|
|
4
|
+
* Internally everything is HSV(A) (`Hsva`) so hue and saturation survive at the
|
|
5
|
+
* extremes (black / white) where a hex round-trip would otherwise drop them.
|
|
6
|
+
* Conversion to the public {@link ColorValue} (hex / rgb / hsl / hsb / css)
|
|
7
|
+
* happens only on the way out.
|
|
8
|
+
*/
|
|
9
|
+
export const BLACK = { h: 0, s: 0, v: 0, a: 1 };
|
|
10
|
+
const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
|
|
11
|
+
const round = (n, precision = 0) => {
|
|
12
|
+
const f = 10 ** precision;
|
|
13
|
+
return Math.round(n * f) / f;
|
|
14
|
+
};
|
|
15
|
+
const hex2 = (n) => clamp(Math.round(n), 0, 255).toString(16).padStart(2, '0');
|
|
16
|
+
// ── conversions ────────────────────────────────────────────────────────────
|
|
17
|
+
export const hsvToRgb = ({ h, s, v, a }) => {
|
|
18
|
+
const S = s / 100;
|
|
19
|
+
const V = v / 100;
|
|
20
|
+
const c = V * S;
|
|
21
|
+
const hh = (((h % 360) + 360) % 360) / 60;
|
|
22
|
+
const x = c * (1 - Math.abs((hh % 2) - 1));
|
|
23
|
+
let r = 0;
|
|
24
|
+
let g = 0;
|
|
25
|
+
let b = 0;
|
|
26
|
+
if (hh < 1)
|
|
27
|
+
[r, g, b] = [c, x, 0];
|
|
28
|
+
else if (hh < 2)
|
|
29
|
+
[r, g, b] = [x, c, 0];
|
|
30
|
+
else if (hh < 3)
|
|
31
|
+
[r, g, b] = [0, c, x];
|
|
32
|
+
else if (hh < 4)
|
|
33
|
+
[r, g, b] = [0, x, c];
|
|
34
|
+
else if (hh < 5)
|
|
35
|
+
[r, g, b] = [x, 0, c];
|
|
36
|
+
else
|
|
37
|
+
[r, g, b] = [c, 0, x];
|
|
38
|
+
const m = V - c;
|
|
39
|
+
return {
|
|
40
|
+
r: Math.round((r + m) * 255),
|
|
41
|
+
g: Math.round((g + m) * 255),
|
|
42
|
+
b: Math.round((b + m) * 255),
|
|
43
|
+
a,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export const rgbToHsv = ({ r, g, b, a }) => {
|
|
47
|
+
const R = r / 255;
|
|
48
|
+
const G = g / 255;
|
|
49
|
+
const B = b / 255;
|
|
50
|
+
const max = Math.max(R, G, B);
|
|
51
|
+
const min = Math.min(R, G, B);
|
|
52
|
+
const d = max - min;
|
|
53
|
+
let h = 0;
|
|
54
|
+
if (d !== 0) {
|
|
55
|
+
if (max === R)
|
|
56
|
+
h = ((G - B) / d) % 6;
|
|
57
|
+
else if (max === G)
|
|
58
|
+
h = (B - R) / d + 2;
|
|
59
|
+
else
|
|
60
|
+
h = (R - G) / d + 4;
|
|
61
|
+
h *= 60;
|
|
62
|
+
if (h < 0)
|
|
63
|
+
h += 360;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
h,
|
|
67
|
+
s: max === 0 ? 0 : (d / max) * 100,
|
|
68
|
+
v: max * 100,
|
|
69
|
+
a,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export const hsvToHsl = ({ h, s, v, a }) => {
|
|
73
|
+
const S = s / 100;
|
|
74
|
+
const V = v / 100;
|
|
75
|
+
const l = V * (1 - S / 2);
|
|
76
|
+
const sl = l === 0 || l === 1 ? 0 : (V - l) / Math.min(l, 1 - l);
|
|
77
|
+
return { h: round(h), s: round(sl * 100), l: round(l * 100), a };
|
|
78
|
+
};
|
|
79
|
+
export const hslToHsv = (h, s, l, a) => {
|
|
80
|
+
const S = s / 100;
|
|
81
|
+
const L = l / 100;
|
|
82
|
+
const v = L + S * Math.min(L, 1 - L);
|
|
83
|
+
const sv = v === 0 ? 0 : 2 * (1 - L / v);
|
|
84
|
+
return { h, s: sv * 100, v: v * 100, a };
|
|
85
|
+
};
|
|
86
|
+
// ── building the public value ───────────────────────────────────────────────
|
|
87
|
+
const rgbToCss = ({ r, g, b, a }) => a >= 1 ? `#${hex2(r)}${hex2(g)}${hex2(b)}` : `rgba(${r}, ${g}, ${b}, ${a})`;
|
|
88
|
+
const rgbToHex = ({ r, g, b, a }) => a >= 1
|
|
89
|
+
? `#${hex2(r)}${hex2(g)}${hex2(b)}`
|
|
90
|
+
: `#${hex2(r)}${hex2(g)}${hex2(b)}${hex2(a * 255)}`;
|
|
91
|
+
export const buildColorValue = (hsva) => {
|
|
92
|
+
const a = round(hsva.a, 2);
|
|
93
|
+
const norm = { ...hsva, a };
|
|
94
|
+
const rgb = hsvToRgb(norm);
|
|
95
|
+
return {
|
|
96
|
+
hex: rgbToHex(rgb),
|
|
97
|
+
rgb,
|
|
98
|
+
hsl: hsvToHsl(norm),
|
|
99
|
+
hsb: { h: round(norm.h), s: round(norm.s), b: round(norm.v), a },
|
|
100
|
+
css: rgbToCss(rgb),
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
// ── parsing ──────────────────────────────────────────────────────────────────
|
|
104
|
+
const NAMED = {
|
|
105
|
+
transparent: '#00000000',
|
|
106
|
+
black: '#000000',
|
|
107
|
+
white: '#ffffff',
|
|
108
|
+
gray: '#808080',
|
|
109
|
+
grey: '#808080',
|
|
110
|
+
silver: '#c0c0c0',
|
|
111
|
+
red: '#ff0000',
|
|
112
|
+
maroon: '#800000',
|
|
113
|
+
orange: '#ffa500',
|
|
114
|
+
yellow: '#ffff00',
|
|
115
|
+
olive: '#808000',
|
|
116
|
+
lime: '#00ff00',
|
|
117
|
+
green: '#008000',
|
|
118
|
+
aqua: '#00ffff',
|
|
119
|
+
cyan: '#00ffff',
|
|
120
|
+
teal: '#008080',
|
|
121
|
+
blue: '#0000ff',
|
|
122
|
+
navy: '#000080',
|
|
123
|
+
fuchsia: '#ff00ff',
|
|
124
|
+
magenta: '#ff00ff',
|
|
125
|
+
purple: '#800080',
|
|
126
|
+
pink: '#ffc0cb',
|
|
127
|
+
};
|
|
128
|
+
const parseHex = (hex) => {
|
|
129
|
+
let h = hex.slice(1);
|
|
130
|
+
if (h.length === 3 || h.length === 4) {
|
|
131
|
+
h = h
|
|
132
|
+
.split('')
|
|
133
|
+
.map((c) => c + c)
|
|
134
|
+
.join('');
|
|
135
|
+
}
|
|
136
|
+
if (h.length !== 6 && h.length !== 8)
|
|
137
|
+
return null;
|
|
138
|
+
const r = parseInt(h.slice(0, 2), 16);
|
|
139
|
+
const g = parseInt(h.slice(2, 4), 16);
|
|
140
|
+
const b = parseInt(h.slice(4, 6), 16);
|
|
141
|
+
const a = h.length === 8 ? parseInt(h.slice(6, 8), 16) / 255 : 1;
|
|
142
|
+
if ([r, g, b].some(Number.isNaN))
|
|
143
|
+
return null;
|
|
144
|
+
return rgbToHsv({ r, g, b, a });
|
|
145
|
+
};
|
|
146
|
+
const channels = (str) => (str.match(/-?[\d.]+%?/g) ?? []).map((token) => token.endsWith('%') ? parseFloat(token) / 100 : parseFloat(token));
|
|
147
|
+
const parseCssString = (input) => {
|
|
148
|
+
const str = input.trim().toLowerCase();
|
|
149
|
+
if (str in NAMED)
|
|
150
|
+
return parseHex(NAMED[str]);
|
|
151
|
+
if (str.startsWith('#'))
|
|
152
|
+
return parseHex(str);
|
|
153
|
+
if (str.startsWith('rgb')) {
|
|
154
|
+
const [r, g, b, a] = channels(str);
|
|
155
|
+
if ([r, g, b].some((n) => n === undefined || Number.isNaN(n)))
|
|
156
|
+
return null;
|
|
157
|
+
// `channels` divides any `%` value by 100, so percent channels land in 0–1.
|
|
158
|
+
const to255 = (n) => (n <= 1 && /%/.test(str) ? n * 255 : n);
|
|
159
|
+
return rgbToHsv({
|
|
160
|
+
r: clamp(to255(r), 0, 255),
|
|
161
|
+
g: clamp(to255(g), 0, 255),
|
|
162
|
+
b: clamp(to255(b), 0, 255),
|
|
163
|
+
a: a === undefined ? 1 : clamp(a, 0, 1),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (str.startsWith('hsl')) {
|
|
167
|
+
const nums = str.match(/-?[\d.]+/g)?.map(Number) ?? [];
|
|
168
|
+
const [h, s, l, a] = nums;
|
|
169
|
+
if ([h, s, l].some((n) => n === undefined || Number.isNaN(n)))
|
|
170
|
+
return null;
|
|
171
|
+
return hslToHsv(h, s, l, a === undefined ? 1 : clamp(a > 1 ? a / 100 : a, 0, 1));
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
};
|
|
175
|
+
const isHslInput = (o) => 'l' in o;
|
|
176
|
+
const isHsbInput = (o) => 'h' in o && 'b' in o;
|
|
177
|
+
/** Parse any {@link ColorInput} into the internal `Hsva`. Falls back to black. */
|
|
178
|
+
export const parseColor = (input) => {
|
|
179
|
+
if (input == null)
|
|
180
|
+
return { ...BLACK };
|
|
181
|
+
if (typeof input === 'string')
|
|
182
|
+
return parseCssString(input) ?? { ...BLACK };
|
|
183
|
+
if ('r' in input) {
|
|
184
|
+
return rgbToHsv({
|
|
185
|
+
r: clamp(input.r, 0, 255),
|
|
186
|
+
g: clamp(input.g, 0, 255),
|
|
187
|
+
b: clamp(input.b, 0, 255),
|
|
188
|
+
a: clamp(input.a ?? 1, 0, 1),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
if (isHslInput(input)) {
|
|
192
|
+
return hslToHsv(input.h, input.s, input.l, clamp(input.a ?? 1, 0, 1));
|
|
193
|
+
}
|
|
194
|
+
if (isHsbInput(input)) {
|
|
195
|
+
return {
|
|
196
|
+
h: input.h,
|
|
197
|
+
s: clamp(input.s, 0, 100),
|
|
198
|
+
v: clamp(input.b, 0, 100),
|
|
199
|
+
a: clamp(input.a ?? 1, 0, 1),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
return { ...BLACK };
|
|
203
|
+
};
|
|
204
|
+
// ── gradients ─────────────────────────────────────────────────────────────────
|
|
205
|
+
export const isGradientInput = (input) => {
|
|
206
|
+
if (input == null)
|
|
207
|
+
return false;
|
|
208
|
+
if (typeof input === 'string')
|
|
209
|
+
return input.trim().startsWith('linear-gradient');
|
|
210
|
+
return 'stops' in input;
|
|
211
|
+
};
|
|
212
|
+
const SIDE_ANGLES = {
|
|
213
|
+
'to top': 0,
|
|
214
|
+
'to right': 90,
|
|
215
|
+
'to bottom': 180,
|
|
216
|
+
'to left': 270,
|
|
217
|
+
'to top right': 45,
|
|
218
|
+
'to right top': 45,
|
|
219
|
+
'to bottom right': 135,
|
|
220
|
+
'to right bottom': 135,
|
|
221
|
+
'to bottom left': 225,
|
|
222
|
+
'to left bottom': 225,
|
|
223
|
+
'to top left': 315,
|
|
224
|
+
'to left top': 315,
|
|
225
|
+
};
|
|
226
|
+
/** Split on top-level commas, ignoring commas inside `rgb(...)` / `hsl(...)`. */
|
|
227
|
+
const splitTopLevel = (str) => {
|
|
228
|
+
const out = [];
|
|
229
|
+
let depth = 0;
|
|
230
|
+
let token = '';
|
|
231
|
+
for (const ch of str) {
|
|
232
|
+
if (ch === '(')
|
|
233
|
+
depth++;
|
|
234
|
+
if (ch === ')')
|
|
235
|
+
depth--;
|
|
236
|
+
if (ch === ',' && depth === 0) {
|
|
237
|
+
out.push(token.trim());
|
|
238
|
+
token = '';
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
token += ch;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (token.trim())
|
|
245
|
+
out.push(token.trim());
|
|
246
|
+
return out;
|
|
247
|
+
};
|
|
248
|
+
const parseGradientString = (input) => {
|
|
249
|
+
const open = input.indexOf('(');
|
|
250
|
+
const close = input.lastIndexOf(')');
|
|
251
|
+
if (open === -1 || close === -1)
|
|
252
|
+
return null;
|
|
253
|
+
const parts = splitTopLevel(input.slice(open + 1, close));
|
|
254
|
+
if (!parts.length)
|
|
255
|
+
return null;
|
|
256
|
+
let angle = 90;
|
|
257
|
+
let start = 0;
|
|
258
|
+
const first = parts[0].toLowerCase();
|
|
259
|
+
if (first.endsWith('deg')) {
|
|
260
|
+
angle = parseFloat(first);
|
|
261
|
+
start = 1;
|
|
262
|
+
}
|
|
263
|
+
else if (first.startsWith('to ')) {
|
|
264
|
+
angle = SIDE_ANGLES[first] ?? 90;
|
|
265
|
+
start = 1;
|
|
266
|
+
}
|
|
267
|
+
const stops = [];
|
|
268
|
+
for (const part of parts.slice(start)) {
|
|
269
|
+
const pos = part.match(/(-?[\d.]+)%\s*$/);
|
|
270
|
+
const colorStr = pos ? part.slice(0, pos.index).trim() : part;
|
|
271
|
+
const hsva = parseCssString(colorStr);
|
|
272
|
+
if (!hsva)
|
|
273
|
+
continue;
|
|
274
|
+
stops.push({ hsva, position: pos ? parseFloat(pos[1]) : NaN });
|
|
275
|
+
}
|
|
276
|
+
if (stops.length < 2)
|
|
277
|
+
return null;
|
|
278
|
+
const last = stops.length - 1;
|
|
279
|
+
stops.forEach((stop, i) => {
|
|
280
|
+
if (Number.isNaN(stop.position)) {
|
|
281
|
+
stop.position = (i / last) * 100;
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
return { angle, stops };
|
|
285
|
+
};
|
|
286
|
+
export const parseGradient = (input) => {
|
|
287
|
+
if (typeof input === 'string')
|
|
288
|
+
return parseGradientString(input);
|
|
289
|
+
if (!input.stops?.length)
|
|
290
|
+
return null;
|
|
291
|
+
const last = input.stops.length - 1;
|
|
292
|
+
return {
|
|
293
|
+
angle: input.angle ?? 90,
|
|
294
|
+
stops: input.stops.map((stop, i) => ({
|
|
295
|
+
hsva: parseColor(stop.color),
|
|
296
|
+
position: stop.position ?? (i / last) * 100,
|
|
297
|
+
})),
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
export const gradientCss = (angle, stops) => `linear-gradient(${angle}deg, ${stops
|
|
301
|
+
.map((stop) => `${stop.color.css} ${stop.position}%`)
|
|
302
|
+
.join(', ')})`;
|
|
303
|
+
/**
|
|
304
|
+
* Two-tone checkerboard background for surfaces that can show transparency
|
|
305
|
+
* (swatches, alpha tracks). Spread into a `style` prop: `style={CHECKER}`.
|
|
306
|
+
*/
|
|
307
|
+
export const CHECKER = {
|
|
308
|
+
background: 'repeating-conic-gradient(#9a9a9a 0% 25%, #6f6f6f 0% 50%) 50% / 12px 12px',
|
|
309
|
+
};
|
|
310
|
+
/** Horizontal preview gradient for the stop bar (ignores `angle`, like Sketch). */
|
|
311
|
+
export const gradientPreviewCss = (stops) => `linear-gradient(to right, ${stops
|
|
312
|
+
.map((stop) => `${stop.color.css} ${stop.position}%`)
|
|
313
|
+
.join(', ')})`;
|
|
314
|
+
/** Stable signature used to detect *external* controlled-value changes. */
|
|
315
|
+
export const colorSignature = (hsva) => {
|
|
316
|
+
const { r, g, b, a } = hsvToRgb({ ...hsva, a: round(hsva.a, 2) });
|
|
317
|
+
return `${r},${g},${b},${round(a, 2)}`;
|
|
318
|
+
};
|
|
319
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/shared/color.ts"],"names":[],"mappings":"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"}
|
package/styles/colors.css
CHANGED
|
@@ -139,10 +139,10 @@
|
|
|
139
139
|
--cladd-on-primary: oklch(from var(--cladd-theme) 0.2 0.05 h);
|
|
140
140
|
--cladd-surface: oklch(from var(--cladd-theme) 0.23 0.027 h);
|
|
141
141
|
--cladd-surface-cut: oklch(from var(--cladd-theme) 0.19 0.027 h);
|
|
142
|
-
--cladd-fg: oklch(from var(--cladd-theme) 0.9 0.
|
|
143
|
-
--cladd-fg-soft: oklch(from var(--cladd-theme) 0.65 0.
|
|
144
|
-
--cladd-fg-softer: oklch(from var(--cladd-theme) 0.5 0.
|
|
145
|
-
--cladd-fg-softest: oklch(from var(--cladd-theme) 0.4 0.
|
|
142
|
+
--cladd-fg: oklch(from var(--cladd-theme) 0.9 0.04 h);
|
|
143
|
+
--cladd-fg-soft: oklch(from var(--cladd-theme) 0.65 0.04 h);
|
|
144
|
+
--cladd-fg-softer: oklch(from var(--cladd-theme) 0.5 0.04 h);
|
|
145
|
+
--cladd-fg-softest: oklch(from var(--cladd-theme) 0.4 0.04 h);
|
|
146
146
|
--cladd-surface-white: oklch(from var(--cladd-theme) 0.92 0.05 h);
|
|
147
147
|
--cladd-surface-black: oklch(from var(--cladd-theme) 0.08 0.02 h);
|
|
148
148
|
--cladd-bg-outline: oklch(from var(--cladd-theme) 0.25 0.02 h);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FocusableLayer.d.ts","sourceRoot":"","sources":["../../../src/components/FocusableLayer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,eAAO,MAAM,cAAc,GAAI,OAAO;IACpC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,4CAkCA,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FocusableLayer.js","sourceRoot":"","sources":["../../../src/components/FocusableLayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAwB9B,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,YAAY,GAChB;QACE,IAAI,EAAE,qFAAqF;QAC3F,MAAM,EACJ,yFAAyF;QAC3F,KAAK,EACH,+FAA+F;QACjG,QAAQ,EACN,6HAA6H;QAC/H,QAAQ,EACN,qHAAqH;QACvH,MAAM,EACJ,iHAAiH;QACnH,KAAK,EACH,+GAA+G;QACjH,MAAM,EACJ,iHAAiH;KACpH,CAAC,KAAqC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,CACL,4BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,2GAA2G,EAC3G,eAAe,KAAK,EAAE,EAEtB,KAAK,IAAI,uBAAuB,EAChC,CAAC,KAAK,IAAI,YAAY,EACtB,SAAS,CACV,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
|