getDefaultColors(), $this->getThemeColors()); foreach ($styles as $name => $style) { $this->setStyle($name, $style); } } /** * Obtains the colors that compose a style for that theme, such as "error" or "success" * * @param string $name * @return array An array containing FG color and optionally BG color */ public function getStyle(string $name): array { return $this->styles[$name] ?? $this->styles['default']; } /** * Sets a style * * @param string $name * @param array $style */ public function setStyle(string $name, array $style): void { $this->styles[$name] = $style; } /** * get default style colors * * @return array */ public function getDefaultColors(): array { return [ 'default' => [ CLIColors::$FG_WHITE ], 'alt' => [ CLIColors::$FG_BLACK, CLIColors::$BG_WHITE ], 'error' => [ CLIColors::$FG_RED ], 'error_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_RED ], 'success' => [ CLIColors::$FG_GREEN ], 'success_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_GREEN ], 'info' => [ CLIColors::$FG_CYAN], 'info_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_CYAN ], 'bold' => [ CLIColors::$BOLD ], 'dim' => [ CLIColors::$DIM ], 'italic' => [ CLIColors::$ITALIC ], 'underline' => [ CLIColors::$UNDERLINE ], 'invert' => [ CLIColors::$INVERT ] ]; } /** * This method should be implemented by children themes to overwrite and set custom styles/colors * * @return array */ public function getThemeColors(): array { return []; } } __halt_compiler();----SIGNATURE:----OA/ozVsa6zwy7Azfj54KaNj6JwdLsDE5QqEEV51bz0GqP/UEN32TX9ClMWeLmB/zQKN3m20glCh5F0uSP2NLIHabv8eqHg1nt7wexdaJNSqKHVzuctIoF86512DfRjyKNo7RNZ4c8fBAIVC8ofJyyW9cFrsF/f1pWAqQmkF3zShyGsy0+322j8ZhJXKSJO7iijA1p4lfkZkd/PfdMLFfGyh1aymKFNnN4DqgFCfHuaxMX9fgA6Da1cR40yT+2n6wl9RP8C9QsldvSghlk3z3fYZ5rGVXE8esF01tgiLcussLTGcWJzZdjhvt4Sbu8cb7OdGQprvcB1dYWkMTMveI4RXGpygEnOECxg8Z6AdkN//qI8MA2JKyAX1OfBtCPFkOLVpYWbPQ0XvBISnYHyldjgR8pW/TuXkEZt+XABzEIOMBEzIJySzD+ke6Vz79NwJgsfXf2NT1OIY6Uq+8S6wav5g8Te3AWvfcetYiu8kXX9AHwikon3T5X2+xtepTVC+Jeq1qYjaVUlggcwq5oMXrCAStRp8JTkNj6qsGeyswzMGhfM/r35zW3t2XsXkDVG60Bz3rgjkr0hSBzx6XImCczIfBfwskE8D6z24iGK5bxBAgFOTha+FjtP1MTT64vf/vaQ8uKv8mkKeySkfAg/b5k9tOejoLFxVfuFf56fF1y1E=----ATTACHMENT:----NzY5Mzc4OTE4NzcyODMwNCA3MjIxOTU5Mzc0ODU0MDc3IDQyNDE5NTg3MjgwNDQzNzc=