<?php
/**
 * Theme Options Defaults
 *
 * Delegates to FieldRegistry (public API). Kept for BC.
 *
 * @package Kutby
 * @since   1.0.0
 */

declare(strict_types=1);

namespace Kutby\ThemeOptions;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class Defaults
 */
final class Defaults {

	/**
	 * Return all default option groups.
	 *
	 * @return array<string, mixed>
	 */
	public static function all(): array {
		return FieldRegistry::defaults();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function general(): array {
		return FieldRegistry::defaults()['general'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, string>
	 */
	public static function colors(): array {
		return FieldRegistry::defaults()['colors'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function typography(): array {
		return FieldRegistry::defaults()['typography'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function header(): array {
		return FieldRegistry::defaults()['header'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function footer(): array {
		return FieldRegistry::defaults()['footer'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, bool>
	 */
	public static function homepage(): array {
		return FieldRegistry::defaults()['homepage'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function buttons(): array {
		return FieldRegistry::defaults()['buttons'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function cards(): array {
		return FieldRegistry::defaults()['cards'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function sidebar(): array {
		return FieldRegistry::defaults()['sidebar'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function breadcrumb(): array {
		return FieldRegistry::defaults()['breadcrumb'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, mixed>
	 */
	public static function search(): array {
		return FieldRegistry::defaults()['search'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, string>
	 */
	public static function social(): array {
		return FieldRegistry::defaults()['social'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, bool>
	 */
	public static function seo(): array {
		return FieldRegistry::defaults()['seo'] ?? array();
	}

	/**
	 * @deprecated 2.5.0 Use FieldRegistry::defaults().
	 * @return array<string, bool>
	 */
	public static function performance(): array {
		return FieldRegistry::defaults()['performance'] ?? array();
	}
}
