// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

//! This file contains only StyleMetrics and Palette, with minimal dependencies.
//! It is used by the compiler to avoid loading the entire widget library.

import { CupertinoPalette } from "styling.slint";

export global StyleMetrics {
    out property <length> layout-spacing: 10px;
    out property <length> layout-padding: 12px;
    out property <length> text-cursor-width: 1px;
    out property <color> window-background: CupertinoPalette.background;
    out property <color> default-text-color: CupertinoPalette.foreground;
    out property <color> textedit-background: CupertinoPalette.alternate-background;
    out property <color> textedit-text-color: CupertinoPalette.foreground;
    out property <color> textedit-background-disabled: CupertinoPalette.tertiary-control-background;
    out property <color> textedit-text-color-disabled: CupertinoPalette.foreground-secondary;
    out property <bool> dark-color-scheme: Palette.color-scheme == ColorScheme.dark;
}

export global Palette {
    out property <brush> background: CupertinoPalette.background;
    out property <brush> foreground: CupertinoPalette.foreground;
    out property <brush> alternate-background: CupertinoPalette.alternate-background;
    out property <brush> alternate-foreground: CupertinoPalette.alternate-foreground;
    out property <brush> control-background: CupertinoPalette.control-background;
    out property <brush> control-foreground: CupertinoPalette.control-foreground;
    out property <brush> accent-background: CupertinoPalette.accent-background;
    out property <brush> accent-foreground: CupertinoPalette.accent-foreground;
    out property <brush> selection-background: CupertinoPalette.selection-background;
    out property <brush> selection-foreground: CupertinoPalette.selection-foreground;
    out property <brush> border: CupertinoPalette.border;
    in-out property <ColorScheme> color-scheme <=> CupertinoPalette.color-scheme;
}
