import { Opt } from 'lib/option'; import { Variable } from 'types/variable'; import { defaultColorMap } from './defaults/options'; export type MkOptionsResult = { configFile: string; array: () => Opt[]; reset: () => Promise; resetTheme: () => Promise; handler: (deps: string[], callback: () => void) => void; }; export type RecursiveOptionsObject = { [key: string]: RecursiveOptionsObject | Opt | Opt | Opt; }; export type BarLocation = 'top' | 'bottom'; export type BarModule = | 'battery' | 'dashboard' | 'workspaces' | 'windowtitle' | 'media' | 'notifications' | 'volume' | 'network' | 'bluetooth' | 'clock' | 'ram' | 'cpu' | 'cputemp' | 'storage' | 'netstat' | 'kbinput' | 'updates' | 'submap' | 'weather' | 'power' | 'systray' | 'hypridle' | 'hyprsunset'; export type BarLayout = { left: BarModule[]; middle: BarModule[]; right: BarModule[]; }; export type BarLayouts = { [key: string]: BarLayout; }; export type Unit = 'imperial' | 'metric'; export type PowerOptions = 'sleep' | 'reboot' | 'logout' | 'shutdown'; export type NotificationAnchor = | 'top' | 'top right' | 'top left' | 'bottom' | 'bottom right' | 'bottom left' | 'left' | 'right'; export type OSDAnchor = 'top left' | 'top' | 'top right' | 'right' | 'bottom right' | 'bottom' | 'bottom left' | 'left'; export type BarButtonStyles = 'default' | 'split' | 'wave' | 'wave2'; export type ThemeExportData = { filePath: string; themeOnly: boolean; }; export type RowProps = { opt: Opt; title: string; note?: string; type?: | 'number' | 'color' | 'float' | 'object' | 'string' | 'enum' | 'boolean' | 'img' | 'wallpaper' | 'export' | 'import' | 'config_import' | 'font'; enums?: T[]; max?: number; min?: number; disabledBinding?: Variable; exportData?: ThemeExportData; subtitle?: string | VarType | Opt; subtitleLink?: string; dependencies?: string[]; increment?: number; }; export type OSDOrientation = 'horizontal' | 'vertical'; export type HexColor = `#${string}`; export type WindowLayer = 'top' | 'bottom' | 'overlay' | 'background'; export type ActiveWsIndicator = 'underline' | 'highlight' | 'color'; export type MatugenColors = { background: HexColor; error: HexColor; error_container: HexColor; inverse_on_surface: HexColor; inverse_primary: HexColor; inverse_surface: HexColor; on_background: HexColor; on_error: HexColor; on_error_container: HexColor; on_primary: HexColor; on_primary_container: HexColor; on_primary_fixed: HexColor; on_primary_fixed_variant: HexColor; on_secondary: HexColor; on_secondary_container: HexColor; on_secondary_fixed: HexColor; on_secondary_fixed_variant: HexColor; on_surface: HexColor; on_surface_variant: HexColor; on_tertiary: HexColor; on_tertiary_container: HexColor; on_tertiary_fixed: HexColor; on_tertiary_fixed_variant: HexColor; outline: HexColor; outline_variant: HexColor; primary: HexColor; primary_container: HexColor; primary_fixed: HexColor; primary_fixed_dim: HexColor; scrim: HexColor; secondary: HexColor; secondary_container: HexColor; secondary_fixed: HexColor; secondary_fixed_dim: HexColor; shadow: HexColor; surface: HexColor; surface_bright: HexColor; surface_container: HexColor; surface_container_high: HexColor; surface_container_highest: HexColor; surface_container_low: HexColor; surface_container_lowest: HexColor; surface_dim: HexColor; surface_variant: HexColor; tertiary: HexColor; tertiary_container: HexColor; tertiary_fixed: HexColor; tertiary_fixed_dim: HexColor; }; export type MatugenVariation = { rosewater: HexColor; flamingo: HexColor; pink: HexColor; mauve: HexColor; red: HexColor; maroon: HexColor; peach: HexColor; yellow: HexColor; green: HexColor; teal: HexColor; sky: HexColor; sapphire: HexColor; blue: HexColor; lavender: HexColor; text: HexColor; subtext1: HexColor; subtext2: HexColor; overlay2: HexColor; overlay1: HexColor; overlay0: HexColor; surface2: HexColor; surface1: HexColor; surface0: HexColor; base2: HexColor; base: HexColor; mantle: HexColor; crust: HexColor; notifications_closer: HexColor; notifications_background: HexColor; dashboard_btn_text: HexColor; red2: HexColor; peach2: HexColor; pink2: HexColor; mantle2: HexColor; surface1_2: HexColor; surface0_2: HexColor; overlay1_2: HexColor; text2: HexColor; lavender2: HexColor; crust2: HexColor; maroon2: HexColor; mauve2: HexColor; green2: HexColor; surface2_2: HexColor; sky2: HexColor; teal2: HexColor; yellow2: HexColor; pink3: HexColor; red3: HexColor; mantle3: HexColor; surface0_3: HexColor; surface2_3: HexColor; overlay1_3: HexColor; lavender3: HexColor; mauve3: HexColor; green3: HexColor; sky3: HexColor; teal3: HexColor; yellow3: HexColor; maroon3: HexColor; crust3: HexColor; notifications_closer?: HexColor; notifications_background?: HexColor; dashboard_btn_text?: HexColor; }; export type MatugenScheme = | 'content' | 'expressive' | 'fidelity' | 'fruit-salad' | 'monochrome' | 'neutral' | 'rainbow' | 'tonal-spot'; export type MatugenVariations = | 'standard_1' | 'standard_2' | 'standard_3' | 'monochrome_1' | 'monochrome_2' | 'monochrome_3' | 'vivid_1' | 'vivid_2' | 'vivid_3'; type MatugenTheme = 'light' | 'dark'; export type ColorMapKey = keyof typeof defaultColorMap; export type ColorMapValue = (typeof defaultColorMap)[ColorMapKey]; export type ScalingPriority = 'gdk' | 'hyprland' | 'both'; export type BluetoothBatteryState = 'paired' | 'connected' | 'always'; export type BorderLocation = 'none' | 'top' | 'right' | 'bottom' | 'left' | 'horizontal' | 'vertical' | 'full';