|
1 | | -import { ColorPalette, PanelBody } from "@wordpress/components"; |
2 | | -import { ComponentProps, ComponentType } from "react"; |
| 1 | +import { ColorPalette, GradientPicker } from "@wordpress/components"; |
| 2 | +import type { ComponentProps, ComponentType, ReactNode } from "react"; |
3 | 3 |
|
4 | 4 | declare namespace PanelColorSettings { |
5 | | - type ColorSetting = |
6 | | - & Partial<ComponentProps<typeof ColorPalette>> |
7 | | - & Pick<ComponentProps<typeof ColorPalette>, "onChange" | "value"> |
8 | | - & { label: string }; |
9 | | - interface Props extends Omit<ComponentProps<typeof PanelBody>, "children"> { |
10 | | - colorSettings: ColorSetting[]; |
11 | | - disableCustomColors?: boolean | undefined; |
| 5 | + interface ColorSetting { |
| 6 | + /** The current color of the setting. */ |
| 7 | + value: string; |
| 8 | + /** Callback on change of the setting. */ |
| 9 | + onChange: (value: string | undefined) => void; |
| 10 | + /** Label of the setting. */ |
| 11 | + label: string; |
| 12 | + /** Colors palette for this specific setting. */ |
| 13 | + colors?: ComponentProps<typeof ColorPalette>["colors"]; |
| 14 | + /** Whether to disable custom colors for this specific setting. */ |
| 15 | + disableCustomColors?: boolean; |
| 16 | + /** Whether to disable custom gradients for this specific setting. */ |
| 17 | + disableCustomGradients?: boolean; |
| 18 | + } |
| 19 | + interface Props { |
| 20 | + /** A user-provided set of color settings. */ |
| 21 | + colorSettings?: ColorSetting[]; |
| 22 | + /** Added to the underlying ToolsPanel instance. */ |
| 23 | + className?: string; |
| 24 | + /** Array of colors to be used. */ |
| 25 | + colors?: ComponentProps<typeof ColorPalette>["colors"]; |
| 26 | + /** Not recommended to be used since `PanelColorSettings` resets it. */ |
| 27 | + gradients?: ComponentProps<typeof GradientPicker>["gradients"]; |
| 28 | + /** Whether the addition of custom colors is enabled. */ |
| 29 | + disableCustomColors?: boolean; |
| 30 | + /** Not recommended to be used since `PanelColorSettings` sets it. */ |
| 31 | + disableCustomGradients?: boolean; |
| 32 | + /** Displayed below the underlying `PanelColorGradientSettings` instance. */ |
| 33 | + children?: ReactNode; |
| 34 | + /** Title of the underlying `ToolsPanel`. */ |
| 35 | + title?: string; |
| 36 | + /** Whether to show the title of the `ToolsPanel`. */ |
| 37 | + showTitle?: boolean; |
| 38 | + /** Whether this is rendered in the sidebar. */ |
| 39 | + __experimentalIsRenderedInSidebar?: boolean; |
| 40 | + /** Whether to enable setting opacity when specifying a color. */ |
| 41 | + enableAlpha?: boolean; |
12 | 42 | } |
13 | 43 | } |
14 | 44 | declare const PanelColorSettings: ComponentType<PanelColorSettings.Props>; |
|
0 commit comments