@pixpilot/shadcn-ui 0.67.1 → 1.0.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/dist/ColorPicker/ColorPicker.cjs +5 -57
- package/dist/ColorPicker/ColorPicker.d.cts +1 -0
- package/dist/ColorPicker/ColorPicker.js +9 -59
- package/dist/ColorPicker/index.d.cts +1 -0
- package/dist/ColorPickerBase/ColorPickerBase.cjs +19 -98
- package/dist/ColorPickerBase/ColorPickerBase.js +18 -96
- package/dist/ColorPickerBase/ColorPickerButton.cjs +54 -0
- package/dist/ColorPickerBase/ColorPickerButton.d.cts +14 -0
- package/dist/ColorPickerBase/ColorPickerButton.d.ts +14 -0
- package/dist/ColorPickerBase/ColorPickerButton.js +47 -0
- package/dist/ColorPickerBase/ColorPickerCompactControls.cjs +49 -0
- package/dist/ColorPickerBase/ColorPickerCompactControls.d.cts +8 -0
- package/dist/ColorPickerBase/ColorPickerCompactControls.d.ts +8 -0
- package/dist/ColorPickerBase/ColorPickerCompactControls.js +46 -0
- package/dist/ColorPickerBase/ColorPickerControls.cjs +33 -0
- package/dist/ColorPickerBase/ColorPickerControls.d.cts +15 -0
- package/dist/ColorPickerBase/ColorPickerControls.d.ts +15 -0
- package/dist/ColorPickerBase/ColorPickerControls.js +29 -0
- package/dist/ColorPickerBase/ColorPickerFormatControls.cjs +22 -0
- package/dist/ColorPickerBase/ColorPickerFormatControls.d.cts +12 -0
- package/dist/ColorPickerBase/ColorPickerFormatControls.d.ts +12 -0
- package/dist/ColorPickerBase/ColorPickerFormatControls.js +18 -0
- package/dist/ColorPickerBase/ColorPickerFormatInput.cjs +20 -0
- package/dist/ColorPickerBase/ColorPickerFormatInput.d.cts +8 -0
- package/dist/ColorPickerBase/ColorPickerFormatInput.d.ts +8 -0
- package/dist/ColorPickerBase/ColorPickerFormatInput.js +16 -0
- package/dist/ColorPickerBase/ColorPickerFullControls.cjs +44 -0
- package/dist/ColorPickerBase/ColorPickerFullControls.d.cts +8 -0
- package/dist/ColorPickerBase/ColorPickerFullControls.d.ts +8 -0
- package/dist/ColorPickerBase/ColorPickerFullControls.js +41 -0
- package/dist/ColorPickerBase/ColorPickerInput.cjs +36 -4
- package/dist/ColorPickerBase/ColorPickerInput.d.cts +12 -0
- package/dist/ColorPickerBase/ColorPickerInput.d.ts +12 -0
- package/dist/ColorPickerBase/ColorPickerInput.js +36 -6
- package/dist/ColorPickerBase/ColorPickerRoot.cjs +55 -0
- package/dist/ColorPickerBase/ColorPickerRoot.d.cts +6 -0
- package/dist/ColorPickerBase/ColorPickerRoot.d.ts +6 -0
- package/dist/ColorPickerBase/ColorPickerRoot.js +51 -0
- package/dist/ColorPickerBase/ColorPickerSwatch.cjs +19 -0
- package/dist/ColorPickerBase/ColorPickerSwatch.d.cts +8 -0
- package/dist/ColorPickerBase/ColorPickerSwatch.d.ts +8 -0
- package/dist/ColorPickerBase/ColorPickerSwatch.js +15 -0
- package/dist/ColorPickerBase/color-palette/ColorPickerColorPalette.cjs +101 -0
- package/dist/ColorPickerBase/color-palette/ColorPickerColorPalette.d.cts +14 -0
- package/dist/ColorPickerBase/color-palette/ColorPickerColorPalette.d.ts +14 -0
- package/dist/ColorPickerBase/color-palette/ColorPickerColorPalette.js +95 -0
- package/dist/ColorPickerBase/{PaletteSwatch.cjs → color-palette/PaletteSwatch.cjs} +3 -3
- package/dist/ColorPickerBase/{PaletteSwatch.js → color-palette/PaletteSwatch.js} +2 -2
- package/dist/ColorPickerBase/color-palette/index.cjs +1 -0
- package/dist/ColorPickerBase/color-palette/index.d.cts +1 -0
- package/dist/ColorPickerBase/color-palette/index.d.ts +1 -0
- package/dist/ColorPickerBase/color-palette/index.js +1 -0
- package/dist/ColorPickerBase/color-picker-context.cjs +16 -0
- package/dist/ColorPickerBase/color-picker-context.d.cts +14 -0
- package/dist/ColorPickerBase/color-picker-context.d.ts +14 -0
- package/dist/ColorPickerBase/color-picker-context.js +11 -0
- package/dist/ColorPickerBase/constants.cjs +13 -0
- package/dist/ColorPickerBase/constants.js +11 -0
- package/dist/ColorPickerBase/hooks/use-color-picker-base-swatch.cjs +4 -4
- package/dist/ColorPickerBase/hooks/use-color-picker-base-swatch.js +4 -4
- package/dist/ColorPickerBase/index.cjs +14 -0
- package/dist/ColorPickerBase/index.d.cts +13 -0
- package/dist/ColorPickerBase/index.d.ts +13 -2
- package/dist/ColorPickerBase/index.js +11 -0
- package/dist/ColorPickerBase/types.d.cts +11 -3
- package/dist/ColorPickerBase/types.d.ts +11 -3
- package/dist/dialog/Dialog.d.ts +4 -4
- package/dist/file-upload-inline/FileUploadInline.d.ts +2 -2
- package/dist/index.cjs +29 -0
- package/dist/index.d.cts +14 -2
- package/dist/index.d.ts +12 -2
- package/dist/index.js +11 -1
- package/dist/tags-input/TagsInput.d.cts +2 -2
- package/dist/theme-toggle/ThemeModeDropdown.d.cts +2 -2
- package/dist/theme-toggle/ThemeModeDropdown.d.ts +2 -2
- package/dist/theme-toggle/ThemeModeSwitchInside.d.ts +2 -2
- package/dist/theme-toggle/ThemeModeSwitchOutside.d.ts +2 -2
- package/dist/theme-toggle/ThemeModeToggleButton.d.cts +2 -2
- package/dist/theme-toggle/ThemeModeToggleButton.d.ts +2 -2
- package/package.json +2 -2
- package/dist/ColorPickerBase/ColorPickerCompact.cjs +0 -59
- package/dist/ColorPickerBase/ColorPickerCompact.js +0 -54
- package/dist/ColorPickerBase/ColorPickerFull.cjs +0 -48
- package/dist/ColorPickerBase/ColorPickerFull.js +0 -44
|
@@ -3,71 +3,19 @@
|
|
|
3
3
|
|
|
4
4
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
5
5
|
const require_ColorPickerBase = require('../ColorPickerBase/ColorPickerBase.cjs');
|
|
6
|
+
const require_ColorPickerButton = require('../ColorPickerBase/ColorPickerButton.cjs');
|
|
7
|
+
const require_ColorPickerInput = require('../ColorPickerBase/ColorPickerInput.cjs');
|
|
6
8
|
require('../ColorPickerBase/index.cjs');
|
|
7
|
-
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
8
|
-
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
9
|
-
let lucide_react = require("lucide-react");
|
|
10
|
-
lucide_react = require_rolldown_runtime.__toESM(lucide_react);
|
|
11
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
10
|
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
13
11
|
|
|
14
12
|
//#region src/ColorPicker/ColorPicker.tsx
|
|
15
|
-
function Swatch(props) {
|
|
16
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerSwatch, {
|
|
17
|
-
color: props.color,
|
|
18
|
-
className: (0, __pixpilot_shadcn.cn)("rounded-sm w-6.5 h-6.5 p-0 -ml-1 cursor-pointer", props.className)
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
13
|
const ColorPicker = (props) => {
|
|
22
|
-
const { variant = "input",
|
|
14
|
+
const { variant = "input", formatDisplayValue,...rest } = props;
|
|
15
|
+
const Input = variant === "input" ? require_ColorPickerInput.ColorPickerInput : require_ColorPickerButton.ColorPickerButton;
|
|
23
16
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerBase.ColorPickerBase, {
|
|
24
17
|
...rest,
|
|
25
|
-
children: (
|
|
26
|
-
const swatchColor = value != null && value !== "" ? value : void 0;
|
|
27
|
-
const renderSwatch = () => {
|
|
28
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Swatch, { color: swatchColor });
|
|
29
|
-
};
|
|
30
|
-
const renderDisplayValue = () => {
|
|
31
|
-
if (value == null || value === "") return placeholder;
|
|
32
|
-
return formatDisplayValue != null ? formatDisplayValue(value) : value;
|
|
33
|
-
};
|
|
34
|
-
if (variant === "input") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.InputGroup, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
|
|
35
|
-
align: "inline-start",
|
|
36
|
-
className: "pl-0",
|
|
37
|
-
children: renderSwatch()
|
|
38
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupInput, {
|
|
39
|
-
value: value ?? "",
|
|
40
|
-
onPointerDown: (e) => {
|
|
41
|
-
if (isPickerOpen) return;
|
|
42
|
-
e.stopPropagation();
|
|
43
|
-
},
|
|
44
|
-
onClick: (e) => {
|
|
45
|
-
if (isPickerOpen) return;
|
|
46
|
-
e.stopPropagation();
|
|
47
|
-
},
|
|
48
|
-
onChange: (e) => onValueChange(e.target.value),
|
|
49
|
-
placeholder
|
|
50
|
-
})] });
|
|
51
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.InputGroup, {
|
|
52
|
-
className: (0, __pixpilot_shadcn.cn)("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer"),
|
|
53
|
-
children: [
|
|
54
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
|
|
55
|
-
align: "inline-start",
|
|
56
|
-
className: "pl-0",
|
|
57
|
-
children: renderSwatch()
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupText, {
|
|
60
|
-
className: "flex-1 text-left text-foreground pl-2",
|
|
61
|
-
children: renderDisplayValue()
|
|
62
|
-
}),
|
|
63
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
|
|
64
|
-
align: "inline-end",
|
|
65
|
-
className: "pr-1",
|
|
66
|
-
children: isPickerOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronUpIcon, { className: "size-4 opacity-50" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
67
|
-
})
|
|
68
|
-
]
|
|
69
|
-
});
|
|
70
|
-
}
|
|
18
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Input, {})
|
|
71
19
|
});
|
|
72
20
|
};
|
|
73
21
|
ColorPicker.displayName = "ColorPicker";
|
|
@@ -2,71 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import { ColorPickerBase } from "../ColorPickerBase/ColorPickerBase.js";
|
|
5
|
+
import { ColorPickerButton } from "../ColorPickerBase/ColorPickerButton.js";
|
|
6
|
+
import { ColorPickerInput } from "../ColorPickerBase/ColorPickerInput.js";
|
|
5
7
|
import "../ColorPickerBase/index.js";
|
|
6
|
-
import {
|
|
7
|
-
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
8
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
|
|
10
10
|
//#region src/ColorPicker/ColorPicker.tsx
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
className: cn("rounded-sm w-6.5 h-6.5 p-0 -ml-1 cursor-pointer", props.className)
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
const ColorPicker$1 = (props) => {
|
|
18
|
-
const { variant = "input", placeholder = "Pick a color", formatDisplayValue,...rest } = props;
|
|
11
|
+
const ColorPicker = (props) => {
|
|
12
|
+
const { variant = "input", formatDisplayValue,...rest } = props;
|
|
13
|
+
const Input = variant === "input" ? ColorPickerInput : ColorPickerButton;
|
|
19
14
|
return /* @__PURE__ */ jsx(ColorPickerBase, {
|
|
20
15
|
...rest,
|
|
21
|
-
children:
|
|
22
|
-
const swatchColor = value != null && value !== "" ? value : void 0;
|
|
23
|
-
const renderSwatch = () => {
|
|
24
|
-
return /* @__PURE__ */ jsx(Swatch, { color: swatchColor });
|
|
25
|
-
};
|
|
26
|
-
const renderDisplayValue = () => {
|
|
27
|
-
if (value == null || value === "") return placeholder;
|
|
28
|
-
return formatDisplayValue != null ? formatDisplayValue(value) : value;
|
|
29
|
-
};
|
|
30
|
-
if (variant === "input") return /* @__PURE__ */ jsxs(InputGroup, { children: [/* @__PURE__ */ jsx(InputGroupAddon, {
|
|
31
|
-
align: "inline-start",
|
|
32
|
-
className: "pl-0",
|
|
33
|
-
children: renderSwatch()
|
|
34
|
-
}), /* @__PURE__ */ jsx(InputGroupInput, {
|
|
35
|
-
value: value ?? "",
|
|
36
|
-
onPointerDown: (e) => {
|
|
37
|
-
if (isPickerOpen) return;
|
|
38
|
-
e.stopPropagation();
|
|
39
|
-
},
|
|
40
|
-
onClick: (e) => {
|
|
41
|
-
if (isPickerOpen) return;
|
|
42
|
-
e.stopPropagation();
|
|
43
|
-
},
|
|
44
|
-
onChange: (e) => onValueChange(e.target.value),
|
|
45
|
-
placeholder
|
|
46
|
-
})] });
|
|
47
|
-
return /* @__PURE__ */ jsxs(InputGroup, {
|
|
48
|
-
className: cn("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer"),
|
|
49
|
-
children: [
|
|
50
|
-
/* @__PURE__ */ jsx(InputGroupAddon, {
|
|
51
|
-
align: "inline-start",
|
|
52
|
-
className: "pl-0",
|
|
53
|
-
children: renderSwatch()
|
|
54
|
-
}),
|
|
55
|
-
/* @__PURE__ */ jsx(InputGroupText, {
|
|
56
|
-
className: "flex-1 text-left text-foreground pl-2",
|
|
57
|
-
children: renderDisplayValue()
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ jsx(InputGroupAddon, {
|
|
60
|
-
align: "inline-end",
|
|
61
|
-
className: "pr-1",
|
|
62
|
-
children: isPickerOpen ? /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4 opacity-50" }) : /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
63
|
-
})
|
|
64
|
-
]
|
|
65
|
-
});
|
|
66
|
-
}
|
|
16
|
+
children: /* @__PURE__ */ jsx(Input, {})
|
|
67
17
|
});
|
|
68
18
|
};
|
|
69
|
-
ColorPicker
|
|
19
|
+
ColorPicker.displayName = "ColorPicker";
|
|
70
20
|
|
|
71
21
|
//#endregion
|
|
72
|
-
export { ColorPicker
|
|
22
|
+
export { ColorPicker };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { ColorPicker, ColorPickerProps } from "./ColorPicker.cjs";
|
|
@@ -2,100 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const require_ColorPickerColorPalette = require('./color-palette/ColorPickerColorPalette.cjs');
|
|
6
|
+
require('./color-palette/index.cjs');
|
|
7
|
+
const require_constants = require('./constants.cjs');
|
|
8
|
+
const require_ColorPickerCompactControls = require('./ColorPickerCompactControls.cjs');
|
|
9
|
+
const require_ColorPickerFullControls = require('./ColorPickerFullControls.cjs');
|
|
7
10
|
const require_use_color_picker_base_swatch = require('./hooks/use-color-picker-base-swatch.cjs');
|
|
8
11
|
const require_use_color_picker_base_value = require('./hooks/use-color-picker-base-value.cjs');
|
|
9
|
-
|
|
10
|
-
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
12
|
+
const require_ColorPickerRoot = require('./ColorPickerRoot.cjs');
|
|
11
13
|
let react = require("react");
|
|
12
14
|
react = require_rolldown_runtime.__toESM(react);
|
|
13
15
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
16
|
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
15
17
|
|
|
16
18
|
//#region src/ColorPickerBase/ColorPickerBase.tsx
|
|
17
|
-
const commonColors = [
|
|
18
|
-
{
|
|
19
|
-
label: "Transparent",
|
|
20
|
-
value: "#00000000"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
label: "Black",
|
|
24
|
-
value: "#000000"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
label: "White",
|
|
28
|
-
value: "#FFFFFF"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
label: "Gray",
|
|
32
|
-
value: "#808080"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
label: "Red",
|
|
36
|
-
value: "#FF0000"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
label: "Orange",
|
|
40
|
-
value: "#FFA500"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
label: "Yellow",
|
|
44
|
-
value: "#FFFF00"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
label: "Lime",
|
|
48
|
-
value: "#84CC16"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: "Green",
|
|
52
|
-
value: "#22C55E"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
label: "Teal",
|
|
56
|
-
value: "#14B8A6"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
label: "Cyan",
|
|
60
|
-
value: "#00FFFF"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
label: "Blue",
|
|
64
|
-
value: "#3B82F6"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
label: "Indigo",
|
|
68
|
-
value: "#6366F1"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
label: "Purple",
|
|
72
|
-
value: "#A855F7"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
label: "Pink",
|
|
76
|
-
value: "#EC4899"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
label: "Brown",
|
|
80
|
-
value: "#A52A2A"
|
|
81
|
-
}
|
|
82
|
-
];
|
|
83
|
-
const DEFAULT_COLOR = "#000000";
|
|
84
|
-
const DEFAULT_SECTIONS = [
|
|
85
|
-
"swatch",
|
|
86
|
-
"picker",
|
|
87
|
-
"format-select",
|
|
88
|
-
"input"
|
|
89
|
-
];
|
|
90
19
|
const ColorPickerBase = (props) => {
|
|
91
20
|
const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children,...rest } = props;
|
|
92
21
|
const { currentValue, handleValueChange } = require_use_color_picker_base_value.useColorPickerBaseValue({
|
|
93
22
|
value: propValue,
|
|
94
|
-
defaultValue: DEFAULT_COLOR,
|
|
23
|
+
defaultValue: require_constants.DEFAULT_COLOR,
|
|
95
24
|
onChange,
|
|
96
25
|
onValueChange
|
|
97
26
|
});
|
|
98
|
-
const { valueForPicker, handleFormatChange
|
|
27
|
+
const { valueForPicker, handleFormatChange } = require_use_color_picker_base_swatch.useColorPickerValueAdapter({
|
|
99
28
|
currentValue,
|
|
100
29
|
format,
|
|
101
30
|
defaultFormat,
|
|
@@ -103,13 +32,13 @@ const ColorPickerBase = (props) => {
|
|
|
103
32
|
handleValueChange
|
|
104
33
|
});
|
|
105
34
|
const [open, setOpen] = (0, react.useState)(false);
|
|
106
|
-
const resolvedSections = sections ?? DEFAULT_SECTIONS;
|
|
107
|
-
let colors = presetColors ||
|
|
35
|
+
const resolvedSections = sections ?? require_constants.DEFAULT_SECTIONS;
|
|
36
|
+
let colors = presetColors || require_ColorPickerColorPalette.COMMON_COLORS;
|
|
108
37
|
const handleOpen = (0, react.useCallback)((isOpen) => {
|
|
109
38
|
setOpen(isOpen);
|
|
110
39
|
}, []);
|
|
111
40
|
if (layout === "compact" && !presetColors) colors = colors.slice(0, -1);
|
|
112
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
41
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ColorPickerRoot.ColorPickerRoot, {
|
|
113
42
|
...rest,
|
|
114
43
|
format,
|
|
115
44
|
defaultFormat,
|
|
@@ -117,26 +46,18 @@ const ColorPickerBase = (props) => {
|
|
|
117
46
|
value: valueForPicker,
|
|
118
47
|
onValueChange: handleValueChange,
|
|
119
48
|
onOpenChange: handleOpen,
|
|
120
|
-
children: [
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
onValueChange: handleValueChange,
|
|
126
|
-
isPickerOpen: open
|
|
127
|
-
})
|
|
128
|
-
}), layout === "compact" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerCompact.ColorPickerCompact, {
|
|
49
|
+
children: [typeof children === "function" ? children({
|
|
50
|
+
value: currentValue,
|
|
51
|
+
onValueChange: handleValueChange,
|
|
52
|
+
isPickerOpen: open
|
|
53
|
+
}) : children, layout === "compact" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerCompactControls.ColorPickerCompactControls, {
|
|
129
54
|
...contentProps,
|
|
130
|
-
onValueChange: handleSwatchSelect,
|
|
131
55
|
presetColors: colors,
|
|
132
|
-
sections: resolvedSections
|
|
133
|
-
|
|
134
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFull.ColorPickerFull, {
|
|
56
|
+
sections: resolvedSections
|
|
57
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFullControls.ColorPickerFullControls, {
|
|
135
58
|
...contentProps,
|
|
136
|
-
onValueChange: handleSwatchSelect,
|
|
137
59
|
presetColors: colors,
|
|
138
|
-
sections: resolvedSections
|
|
139
|
-
currentValue
|
|
60
|
+
sections: resolvedSections
|
|
140
61
|
})]
|
|
141
62
|
});
|
|
142
63
|
};
|
|
@@ -1,88 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
4
|
+
import { COMMON_COLORS } from "./color-palette/ColorPickerColorPalette.js";
|
|
5
|
+
import "./color-palette/index.js";
|
|
6
|
+
import { DEFAULT_COLOR, DEFAULT_SECTIONS } from "./constants.js";
|
|
7
|
+
import { ColorPickerCompactControls } from "./ColorPickerCompactControls.js";
|
|
8
|
+
import { ColorPickerFullControls } from "./ColorPickerFullControls.js";
|
|
9
|
+
import { useColorPickerValueAdapter } from "./hooks/use-color-picker-base-swatch.js";
|
|
7
10
|
import { useColorPickerBaseValue } from "./hooks/use-color-picker-base-value.js";
|
|
8
|
-
import {
|
|
11
|
+
import { ColorPickerRoot } from "./ColorPickerRoot.js";
|
|
9
12
|
import { useCallback, useState } from "react";
|
|
10
13
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
14
|
|
|
12
15
|
//#region src/ColorPickerBase/ColorPickerBase.tsx
|
|
13
|
-
const commonColors = [
|
|
14
|
-
{
|
|
15
|
-
label: "Transparent",
|
|
16
|
-
value: "#00000000"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
label: "Black",
|
|
20
|
-
value: "#000000"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
label: "White",
|
|
24
|
-
value: "#FFFFFF"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
label: "Gray",
|
|
28
|
-
value: "#808080"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
label: "Red",
|
|
32
|
-
value: "#FF0000"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
label: "Orange",
|
|
36
|
-
value: "#FFA500"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
label: "Yellow",
|
|
40
|
-
value: "#FFFF00"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
label: "Lime",
|
|
44
|
-
value: "#84CC16"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
label: "Green",
|
|
48
|
-
value: "#22C55E"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: "Teal",
|
|
52
|
-
value: "#14B8A6"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
label: "Cyan",
|
|
56
|
-
value: "#00FFFF"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
label: "Blue",
|
|
60
|
-
value: "#3B82F6"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
label: "Indigo",
|
|
64
|
-
value: "#6366F1"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
label: "Purple",
|
|
68
|
-
value: "#A855F7"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
label: "Pink",
|
|
72
|
-
value: "#EC4899"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
label: "Brown",
|
|
76
|
-
value: "#A52A2A"
|
|
77
|
-
}
|
|
78
|
-
];
|
|
79
|
-
const DEFAULT_COLOR = "#000000";
|
|
80
|
-
const DEFAULT_SECTIONS = [
|
|
81
|
-
"swatch",
|
|
82
|
-
"picker",
|
|
83
|
-
"format-select",
|
|
84
|
-
"input"
|
|
85
|
-
];
|
|
86
16
|
const ColorPickerBase = (props) => {
|
|
87
17
|
const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children,...rest } = props;
|
|
88
18
|
const { currentValue, handleValueChange } = useColorPickerBaseValue({
|
|
@@ -91,7 +21,7 @@ const ColorPickerBase = (props) => {
|
|
|
91
21
|
onChange,
|
|
92
22
|
onValueChange
|
|
93
23
|
});
|
|
94
|
-
const { valueForPicker, handleFormatChange
|
|
24
|
+
const { valueForPicker, handleFormatChange } = useColorPickerValueAdapter({
|
|
95
25
|
currentValue,
|
|
96
26
|
format,
|
|
97
27
|
defaultFormat,
|
|
@@ -100,12 +30,12 @@ const ColorPickerBase = (props) => {
|
|
|
100
30
|
});
|
|
101
31
|
const [open, setOpen] = useState(false);
|
|
102
32
|
const resolvedSections = sections ?? DEFAULT_SECTIONS;
|
|
103
|
-
let colors = presetColors ||
|
|
33
|
+
let colors = presetColors || COMMON_COLORS;
|
|
104
34
|
const handleOpen = useCallback((isOpen) => {
|
|
105
35
|
setOpen(isOpen);
|
|
106
36
|
}, []);
|
|
107
37
|
if (layout === "compact" && !presetColors) colors = colors.slice(0, -1);
|
|
108
|
-
return /* @__PURE__ */ jsxs(
|
|
38
|
+
return /* @__PURE__ */ jsxs(ColorPickerRoot, {
|
|
109
39
|
...rest,
|
|
110
40
|
format,
|
|
111
41
|
defaultFormat,
|
|
@@ -113,26 +43,18 @@ const ColorPickerBase = (props) => {
|
|
|
113
43
|
value: valueForPicker,
|
|
114
44
|
onValueChange: handleValueChange,
|
|
115
45
|
onOpenChange: handleOpen,
|
|
116
|
-
children: [
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
onValueChange: handleValueChange,
|
|
122
|
-
isPickerOpen: open
|
|
123
|
-
})
|
|
124
|
-
}), layout === "compact" ? /* @__PURE__ */ jsx(ColorPickerCompact, {
|
|
46
|
+
children: [typeof children === "function" ? children({
|
|
47
|
+
value: currentValue,
|
|
48
|
+
onValueChange: handleValueChange,
|
|
49
|
+
isPickerOpen: open
|
|
50
|
+
}) : children, layout === "compact" ? /* @__PURE__ */ jsx(ColorPickerCompactControls, {
|
|
125
51
|
...contentProps,
|
|
126
|
-
onValueChange: handleSwatchSelect,
|
|
127
52
|
presetColors: colors,
|
|
128
|
-
sections: resolvedSections
|
|
129
|
-
|
|
130
|
-
}) : /* @__PURE__ */ jsx(ColorPickerFull, {
|
|
53
|
+
sections: resolvedSections
|
|
54
|
+
}) : /* @__PURE__ */ jsx(ColorPickerFullControls, {
|
|
131
55
|
...contentProps,
|
|
132
|
-
onValueChange: handleSwatchSelect,
|
|
133
56
|
presetColors: colors,
|
|
134
|
-
sections: resolvedSections
|
|
135
|
-
currentValue
|
|
57
|
+
sections: resolvedSections
|
|
136
58
|
})]
|
|
137
59
|
});
|
|
138
60
|
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_color_picker_context = require('./color-picker-context.cjs');
|
|
3
|
+
const require_ColorPickerSwatch = require('./ColorPickerSwatch.cjs');
|
|
4
|
+
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
5
|
+
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
6
|
+
let lucide_react = require("lucide-react");
|
|
7
|
+
lucide_react = require_rolldown_runtime.__toESM(lucide_react);
|
|
8
|
+
let react = require("react");
|
|
9
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
12
|
+
|
|
13
|
+
//#region src/ColorPickerBase/ColorPickerButton.tsx
|
|
14
|
+
const ColorPickerButton = (props) => {
|
|
15
|
+
const { slots, formatDisplayValue, placeholder = "Pick a color",...rest } = props;
|
|
16
|
+
const { isPickerOpen, color, onColorChange } = require_color_picker_context.useColorPickerContext();
|
|
17
|
+
if (process.env.NODE_ENV !== "production") {
|
|
18
|
+
if (onColorChange === void 0) throw new Error("ColorPickerButton must be used within a ColorPickerRoot component");
|
|
19
|
+
}
|
|
20
|
+
const renderDisplayValue = () => {
|
|
21
|
+
if (color == null || color === "") return placeholder;
|
|
22
|
+
return formatDisplayValue != null ? formatDisplayValue(color) : color;
|
|
23
|
+
};
|
|
24
|
+
const currentcolor = color != null && color !== "" ? color : void 0;
|
|
25
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerTrigger, {
|
|
26
|
+
asChild: true,
|
|
27
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.InputGroup, {
|
|
28
|
+
...rest,
|
|
29
|
+
className: (0, __pixpilot_shadcn.cn)("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", rest.className),
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
|
|
32
|
+
align: "inline-start",
|
|
33
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerSwatch.ColorPickerSwatch, {
|
|
34
|
+
color: currentcolor,
|
|
35
|
+
...slots?.swatch
|
|
36
|
+
})
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupText, {
|
|
39
|
+
className: "flex-1 text-left text-foreground pl-2",
|
|
40
|
+
children: renderDisplayValue()
|
|
41
|
+
}),
|
|
42
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
|
|
43
|
+
align: "inline-end",
|
|
44
|
+
className: "",
|
|
45
|
+
children: isPickerOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronUpIcon, { className: "size-4 opacity-50" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
ColorPickerButton.displayName = "ColorPickerButton";
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.ColorPickerButton = ColorPickerButton;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ColorPickerSwatch } from "./ColorPickerSwatch.cjs";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/ColorPickerBase/ColorPickerButton.d.ts
|
|
5
|
+
interface ColorPickerButtonProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'value'> {
|
|
6
|
+
formatDisplayValue?: (value: string) => React.ReactNode;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
slots?: {
|
|
9
|
+
swatch: React.ComponentProps<typeof ColorPickerSwatch>;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
declare const ColorPickerButton: React.FC<ColorPickerButtonProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ColorPickerButton, ColorPickerButtonProps };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ColorPickerSwatch } from "./ColorPickerSwatch.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/ColorPickerBase/ColorPickerButton.d.ts
|
|
5
|
+
interface ColorPickerButtonProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'value'> {
|
|
6
|
+
formatDisplayValue?: (value: string) => React.ReactNode;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
slots?: {
|
|
9
|
+
swatch: React.ComponentProps<typeof ColorPickerSwatch>;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
declare const ColorPickerButton: React.FC<ColorPickerButtonProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ColorPickerButton, ColorPickerButtonProps };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useColorPickerContext } from "./color-picker-context.js";
|
|
2
|
+
import { ColorPickerSwatch as ColorPickerSwatch$1 } from "./ColorPickerSwatch.js";
|
|
3
|
+
import { ColorPickerTrigger, InputGroup, InputGroupAddon, InputGroupText, cn } from "@pixpilot/shadcn";
|
|
4
|
+
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/ColorPickerBase/ColorPickerButton.tsx
|
|
9
|
+
const ColorPickerButton = (props) => {
|
|
10
|
+
const { slots, formatDisplayValue, placeholder = "Pick a color",...rest } = props;
|
|
11
|
+
const { isPickerOpen, color, onColorChange } = useColorPickerContext();
|
|
12
|
+
if (onColorChange === void 0) throw new Error("ColorPickerButton must be used within a ColorPickerRoot component");
|
|
13
|
+
const renderDisplayValue = () => {
|
|
14
|
+
if (color == null || color === "") return placeholder;
|
|
15
|
+
return formatDisplayValue != null ? formatDisplayValue(color) : color;
|
|
16
|
+
};
|
|
17
|
+
const currentcolor = color != null && color !== "" ? color : void 0;
|
|
18
|
+
return /* @__PURE__ */ jsx(ColorPickerTrigger, {
|
|
19
|
+
asChild: true,
|
|
20
|
+
children: /* @__PURE__ */ jsxs(InputGroup, {
|
|
21
|
+
...rest,
|
|
22
|
+
className: cn("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", rest.className),
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsx(InputGroupAddon, {
|
|
25
|
+
align: "inline-start",
|
|
26
|
+
children: /* @__PURE__ */ jsx(ColorPickerSwatch$1, {
|
|
27
|
+
color: currentcolor,
|
|
28
|
+
...slots?.swatch
|
|
29
|
+
})
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsx(InputGroupText, {
|
|
32
|
+
className: "flex-1 text-left text-foreground pl-2",
|
|
33
|
+
children: renderDisplayValue()
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx(InputGroupAddon, {
|
|
36
|
+
align: "inline-end",
|
|
37
|
+
className: "",
|
|
38
|
+
children: isPickerOpen ? /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4 opacity-50" }) : /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
39
|
+
})
|
|
40
|
+
]
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
ColorPickerButton.displayName = "ColorPickerButton";
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ColorPickerButton };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_ColorPickerColorPalette = require('./color-palette/ColorPickerColorPalette.cjs');
|
|
3
|
+
require('./color-palette/index.cjs');
|
|
4
|
+
const require_color_picker_context = require('./color-picker-context.cjs');
|
|
5
|
+
const require_ColorPickerContent = require('./ColorPickerContent.cjs');
|
|
6
|
+
const require_ColorPickerControls = require('./ColorPickerControls.cjs');
|
|
7
|
+
const require_ColorPickerFormatControls = require('./ColorPickerFormatControls.cjs');
|
|
8
|
+
const require_constants = require('./constants.cjs');
|
|
9
|
+
let react = require("react");
|
|
10
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
11
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
13
|
+
|
|
14
|
+
//#region src/ColorPickerBase/ColorPickerCompactControls.tsx
|
|
15
|
+
const ColorPickerCompactControls = react.default.memo((props) => {
|
|
16
|
+
const { presetColors, sections = require_constants.DEFAULT_SECTIONS,...rest } = props;
|
|
17
|
+
const { onColorChange, color: currentColor } = require_color_picker_context.useColorPickerContext();
|
|
18
|
+
const enabledSections = new Set(sections);
|
|
19
|
+
const showPicker = enabledSections.has("picker");
|
|
20
|
+
const showSwatch = enabledSections.has("swatch");
|
|
21
|
+
const showFormatSelect = enabledSections.has("format-select");
|
|
22
|
+
const showInput = enabledSections.has("input");
|
|
23
|
+
const [showFullPicker, setShowFullPicker] = (0, react.useState)(false);
|
|
24
|
+
const shouldShowPickerUi = showPicker && (showSwatch ? showFullPicker : true);
|
|
25
|
+
const canTogglePickerUi = showPicker && showSwatch;
|
|
26
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ColorPickerContent.ColorPickerContent, {
|
|
27
|
+
...rest,
|
|
28
|
+
children: [
|
|
29
|
+
shouldShowPickerUi && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerControls.ColorPickerControls, {}),
|
|
30
|
+
showSwatch && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
31
|
+
className: "gap-2 flex flex-wrap",
|
|
32
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerColorPalette.ColorPickerColorPalette, {
|
|
33
|
+
presetColors,
|
|
34
|
+
onChange: onColorChange,
|
|
35
|
+
selectedColor: currentColor,
|
|
36
|
+
onMoreColor: canTogglePickerUi ? () => setShowFullPicker(!showFullPicker) : void 0
|
|
37
|
+
})
|
|
38
|
+
}),
|
|
39
|
+
(showFormatSelect || showInput) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFormatControls.ColorPickerFormatControls, {
|
|
40
|
+
showFormatSelect,
|
|
41
|
+
showInput
|
|
42
|
+
})
|
|
43
|
+
]
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
ColorPickerCompactControls.displayName = "ColorPickerCompactControls";
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
exports.ColorPickerCompactControls = ColorPickerCompactControls;
|