/**
 * Single source of truth (JS side) for the settings used by the React app.
 *
 * Defaults and ranges mirror wuppi_get_settings_defaults() / wuppi_sanitize_settings()
 * in inc/theme-settings.php. Keep them in sync.
 */

export const PALETTE_SLOTS = [
	'primary',
	'accent',
	'foreground',
	'background',
	'muted',
	'muted-foreground',
	'secondary',
	'card',
];

export const RADIUS_PRESETS = {
	none: 0,
	sm: 6,
	md: 8,
	lg: 16,
	pill: 999,
};

export const TRANSITION_PRESETS = {
	none: '0s',
	fast: '0.1s',
	normal: '0.2s',
	slow: '0.6s',
};

export const MOBILE_PADDING_PRESETS = [
	{ value: 12, label: 'S' },
	{ value: 16, label: 'M' },
	{ value: 20, label: 'L' },
	{ value: 24, label: 'XL' },
];

export const BTN_PADDING_PRESETS = [
	{ value: 'compact', label: 'S' },
	{ value: 'normal', label: 'M' },
	{ value: 'large', label: 'L' },
];

export const BTN_FONT_WEIGHT_OPTIONS = [
	{ value: '400', label: '400' },
	{ value: '500', label: '500' },
	{ value: '600', label: '600' },
	{ value: '700', label: '700' },
];

export const PADDING_PRESETS = {
	compact: { y: '0.5rem', x: '1rem' },
	normal: { y: '0.75rem', x: '1.5rem' },
	large: { y: '1rem', x: '2rem' },
};

export const DEFAULTS = {
	back_to_top: 1,
	back_to_top_shape: 'circle',
	mobile_content_padding: 16,

	header_height: 72,
	header_nav_density: 'compact',
	header_nav_gap: 14,
	header_desktop_behavior: 'scroll',
	header_mobile_behavior: 'sticky-glass',
	header_auto_hide_delay: 900,

	nav_font_weight: '400',
	nav_hover_underline: 0,
	nav_active_indicator: 'none',

	btn_radius_use_global: 1,
	btn_radius_preset: 'md',
	btn_padding_preset: 'normal',
	btn_font_weight: '500',
	btn_hover_bg: 'accent',
	btn_hover_color: 'background',
	btn_outline_hover_bg: 'muted',
	btn_outline_hover_color: 'foreground',
	btn_outline_hover_border: 'foreground',

	radius_preset: 'md',
	radius_image_override: 0,
	radius_image: 8,
	radius_card_override: 0,
	radius_card: 8,
	radius_input_override: 0,
	radius_input: 6,

	shadow_enabled: 0,
	shadow_intensity: 8,
	shadow_on_cards: 0,
	shadow_on_images: 0,
	shadow_on_buttons: 0,
	shadow_on_buttons_hover_only: 0,

	transition_speed: 'normal',
	respect_reduced_motion: 1,

	heading_line_height: 1.2,
	heading_letter_spacing: -0.01,
	body_line_height: 1.6,

	input_focus_color: 'primary',
	input_focus_style: 'outline',
	custom_css: '',
};
