ColorPalette

Concrete implementation of a color palette.

Methods

all

public function all(): array

at

public function at(float $position): ColorInterface
Parameters
NameTypeDefault
$position float -

builder

static
public static function builder(ColorInterface|string|null $base): ColorPaletteBuilder

Create a palette builder, optionally starting from a base color.

Parameters
NameTypeDefault
$base ColorInterface|string|null null
public function closest(ColorInterface $target, ColorDistanceInterface $metric): ColorInterface
Parameters
NameTypeDefault
$target ColorInterface -
$metric ColorDistanceInterface null
public function count(): int
public function darken(float $amount): static
Parameters
NameTypeDefault
$amount float -
public function desaturate(float $amount): static
Parameters
NameTypeDefault
$amount float -
public function filter(callable $fn): static
Parameters
NameTypeDefault
$fn callable -

fromHex

static
public static function fromHex(array $hexColors): ColorPalette
Parameters
NameTypeDefault
$hexColors array -

get

public function get(string|int $key): ColorInterface
Parameters
NameTypeDefault
$key string|int -
public function getIterator(): Traversable

interpolate

static
public static function interpolate(ColorInterface $start, ColorInterface $end, int $steps, string $space): ColorPalette

Create a palette by interpolating between two colors.

Parameters
NameTypeDefault
$start ColorInterface -
$end ColorInterface -
$steps int 10
$space string "oklab"
public function isNamed(): bool
public function lighten(float $amount): static
Parameters
NameTypeDefault
$amount float -
public static function lightnessScale(ColorInterface $color, int $steps, float $min, float $max): ColorPalette

Create a palette of evenly spaced OKLCH lightness steps from one color.

Parameters
NameTypeDefault
$color ColorInterface -
$steps int 10
$min float 0.05
$max float 0.95

map

public function map(callable $fn): static
Parameters
NameTypeDefault
$fn callable -
public function merge(ColorPaletteInterface $other): static
Parameters
NameTypeDefault
$other ColorPaletteInterface -

named

static
public static function named(array $colors): ColorPalette
Parameters
NameTypeDefault
$colors array -
public function names(): array

parse

static
public static function parse(array $cssColors): ColorPalette
Parameters
NameTypeDefault
$cssColors array -
public function reverse(): static
public function rotateHue(float $degrees): static
Parameters
NameTypeDefault
$degrees float -
public function saturate(float $amount): static
Parameters
NameTypeDefault
$amount float -

scale

static
public static function scale(array $colors): ColorPalette
Parameters
NameTypeDefault
$colors array -

shades

static
public static function shades(ColorInterface $color, int $steps): ColorPalette

Create a palette of shades toward black from one color.

Parameters
NameTypeDefault
$color ColorInterface -
$steps int 5
public function slice(int $offset, int $length): static
Parameters
NameTypeDefault
$offset int -
$length int null

tints

static
public static function tints(ColorInterface $color, int $steps): ColorPalette

Create a palette of tints toward white from one color.

Parameters
NameTypeDefault
$color ColorInterface -
$steps int 5

to

public function to(string $space): static
Parameters
NameTypeDefault
$space string -
public function toCss(string $space): array
Parameters
NameTypeDefault
$space string null
public function toCssVariables(string $prefix): string
Parameters
NameTypeDefault
$prefix string "color"
public function toHex(): array