// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 import { ColorSchemeSelector } from "color-scheme.slint"; export struct TextStyle { font-size: relative-font-size, font-weight: int, } export global CupertinoFontSettings { out property light-font-weight: 300; out property regular-font-weight: 400; out property semibold-font-weight: 600; out property body: { font-size: 13 * 0.0769rem, font-weight: regular-font-weight }; out property title: { font-size: 28 * 0.0769rem, font-weight: light-font-weight }; // needed? out property body-strong: { font-size: 14 * 0.0769rem, font-weight: semibold-font-weight }; } export global CupertinoColors { out property systemGray: #8E8E93; out property systemGray2: #AEAEB2; out property systemGray3: #C7C7CC; out property systemGray4: #D1D1D6; out property systemGray5: #E7E7E7; out property systemGray55: #f0f0f0; out property systemGray6: #F2F2F7; out property white: #FFFFFF; out property systemGray2-dark: #636366; out property systemGray3-dark: #48484A; out property systemGray4-dark: #3A3A3C; out property systemGray5-dark: #2C2C2E; out property systemGray55-dark: #262626; out property systemGray6-dark: #1C1C1E; out property black: #000000; out property red: #FF3B30; out property orange: #FF9500; out property yellow: #FFCC00; out property green: #28CD41; out property mint: #00C7BE; out property teal: #59ADC4; out property cyan: #55BEF0; out property blue: #326CCF; out property indigo: #5856D6; out property purple: #AF52DE; out property pink: #FF2D55; out property brown: #A2845E; out property gray: #8E8E93; out property selection-color: self.blue; } export global CupertinoPalette { in-out property color-scheme: ColorSchemeSelector.color-scheme; property dark-color-scheme: { if (color-scheme == ColorScheme.unknown) { return SlintInternal.color-scheme == ColorScheme.dark; } return color-scheme == ColorScheme.dark; } // base palette out property background: dark-color-scheme ? CupertinoColors.systemGray55-dark: CupertinoColors.systemGray55; out property foreground: dark-color-scheme ? CupertinoColors.systemGray6 : CupertinoColors.systemGray6-dark; out property alternate-background: dark-color-scheme ? CupertinoColors.systemGray5-dark : CupertinoColors.systemGray5; out property alternate-foreground: dark-color-scheme ? CupertinoColors.systemGray5 : CupertinoColors.systemGray5-dark; out property control-background: dark-color-scheme ? CupertinoColors.systemGray2-dark : CupertinoColors.systemGray6; out property control-foreground: dark-color-scheme ? CupertinoColors.systemGray4 : CupertinoColors.systemGray5-dark; out property accent-background: dark-color-scheme ? CupertinoColors.selection-color : CupertinoColors.selection-color; out property accent-foreground: CupertinoColors.systemGray5; out property selection-background: dark-color-scheme ? CupertinoColors.selection-color.transparentize(0.5) : CupertinoColors.selection-color.transparentize(0.5); out property selection-foreground: dark-color-scheme ? CupertinoColors.systemGray6 : CupertinoColors.systemGray6-dark; out property border: dark-color-scheme ? CupertinoColors.systemGray6.transparentize(0.9) : CupertinoColors.systemGray6-dark.transparentize(0.9); // additional palette out property tertiary-background: dark-color-scheme ? CupertinoColors.systemGray6-dark : CupertinoColors.systemGray6; out property quaternary-background: dark-color-scheme ? CupertinoColors.systemGray6-dark : CupertinoColors.systemGray6; out property secondary-accent-background: dark-color-scheme ? CupertinoColors.blue : CupertinoColors.blue; out property tertiary-accent-background: dark-color-scheme ? CupertinoColors.blue : CupertinoColors.blue; out property foreground-neg: dark-color-scheme ? CupertinoColors.systemGray6-dark : CupertinoColors.systemGray6; out property foreground-secondary: dark-color-scheme ? CupertinoColors.systemGray6.transparentize(0.4) : CupertinoColors.systemGray6-dark.transparentize(0.4); out property secondary-control-background: dark-color-scheme ? CupertinoColors.systemGray : CupertinoColors.systemGray; out property tertiary-control-background: dark-color-scheme ? CupertinoColors.systemGray5-dark : CupertinoColors.systemGray5; out property quaternary-control-background: dark-color-scheme ? CupertinoColors.systemGray2-dark : CupertinoColors.systemGray6; out property alternate-control-background: dark-color-scheme ? CupertinoColors.systemGray3-dark : CupertinoColors.systemGray3; out property hover: dark-color-scheme ? CupertinoColors.systemGray5-dark : CupertinoColors.systemGray4; out property pressed: dark-color-scheme ? CupertinoColors.systemGray2 : CupertinoColors.systemGray6; out property popup-border: dark-color-scheme ? CupertinoColors.systemGray3-dark : CupertinoColors.systemGray6-dark.transparentize(0.9); out property decent-border: dark-color-scheme ? CupertinoColors.systemGray6-dark.transparentize(0.9) : CupertinoColors.systemGray6.transparentize(0.9); out property control-background-thumb: dark-color-scheme ? CupertinoColors.systemGray3 : CupertinoColors.systemGray6; out property separator: dark-color-scheme ? CupertinoColors.systemGray6-dark : CupertinoColors.systemGray4; out property bar-background: dark-color-scheme ? CupertinoColors.systemGray4-dark : CupertinoColors.systemGray4; out property bar-border: dark-color-scheme ? @linear-gradient(180deg, CupertinoColors.systemGray4-dark 0%, CupertinoColors.systemGray3-dark 80%, CupertinoColors.systemGray2-dark 100%) : CupertinoColors.systemGray5; out property inner-border: dark-color-scheme ? CupertinoColors.systemGray5-dark: CupertinoColors.systemGray4; out property inner-shadow: dark-color-scheme ? CupertinoColors.systemGray5-dark : CupertinoColors.systemGray6; out property state: dark-color-scheme ? CupertinoColors.systemGray6 : CupertinoColors.systemGray6-dark; out property state-secondary: dark-color-scheme ? CupertinoColors.systemGray6-dark : CupertinoColors.systemGray6; // FIXME: dark color out property dimmer: @linear-gradient(180deg, CupertinoColors.white 100%, CupertinoColors.black 0%); } export global Icons { out property arrow-down: @image-url("_arrow-down.svg"); out property arrow-up: @image-url("_arrow-up.svg"); out property check-mark: @image-url("_check-mark.svg"); out property chevron-down: @image-url("_chevron-down.svg"); out property chevron-up: @image-url("_chevron-up.svg"); out property down: @image-url("_down.svg"); out property dropdown: @image-url("_dropdown.svg"); out property left: @image-url("_left.svg"); out property right: @image-url("_right.svg"); out property up: @image-url("_up.svg"); out property keyboard: @image-url("_keyboard.svg"); out property clock: @image-url("_clock.svg"); out property arrow-back: @image-url("_arrow_back.svg"); out property arrow-forward: @image-url("_arrow_forward.svg"); out property edit: @image-url("_edit.svg"); out property calendar: @image-url("_calendar.svg"); } export global CupertinoSizeSettings { out property item-height: 22px; }