import type { FormStyleSettings, StyleTheme } from '@/types/form-style'
import defaultFormStylesJson from '../../../backend/resources/defaultFormStyles.json'

/**
 * Default form style settings
 *
 * These defaults provide a clean, accessible design out of the box
 * and serve as the reset point for the "Reset to Default" functionality.
 * Imported from backend/resources/defaultFormStyles.json (shared with PHP TemplateDefaults).
 */
export const DEFAULT_FORM_STYLES: FormStyleSettings = defaultFormStylesJson as FormStyleSettings

/**
 * Available themes
 */
export const AVAILABLE_THEMES: StyleTheme[] = [
  {
    id: 'ivy-default',
    name: 'Ivy (Default)',
    isDefault: true,
    settings: DEFAULT_FORM_STYLES,
  },
]

// TODO Font options for later

/**
 * Font family options for the style controls
 */
export const FONT_FAMILY_OPTIONS = [
  { value: 'inherit', label: 'Theme Default' },
  { value: 'Arial, sans-serif', label: 'Arial' },
  { value: 'Helvetica, sans-serif', label: 'Helvetica' },
  { value: '"Times New Roman", serif', label: 'Times New Roman' },
  { value: 'Georgia, serif', label: 'Georgia' },
  { value: '"Courier New", monospace', label: 'Courier New' },
  { value: 'Verdana, sans-serif', label: 'Verdana' },
  { value: 'Tahoma, sans-serif', label: 'Tahoma' },
  { value: '"Trebuchet MS", sans-serif', label: 'Trebuchet MS' },
  { value: 'Roboto, sans-serif', label: 'Roboto' },
  { value: '"Open Sans", sans-serif', label: 'Open Sans' },
]

/**
 * Font weight options
 */
export const FONT_WEIGHT_OPTIONS = [
  { value: '300', label: 'Light (300)' },
  { value: '400', label: 'Regular (400)' },
  { value: '500', label: 'Medium (500)' },
  { value: '600', label: 'Semi Bold (600)' },
  { value: '700', label: 'Bold (700)' },
  { value: '800', label: 'Extra Bold (800)' },
]
