Fluid
Loading...
Searching...
No Matches
token.h
Go to the documentation of this file.
1/*
2 * This file is part of Fluid.
3 *
4 * Copyright (C) 2025 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
5 *
6 * $BEGIN_LICENSE:MPL2$
7 *
8 * This Source Code Form is subject to the terms of the Mozilla Public
9 * License, v. 2.0. If a copy of the MPL was not distributed with this
10 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 *
12 * $END_LICENSE$
13 */
14
15#pragma once
16
17#include <QObject>
18#include <QQmlEngine>
19
42class Token : public QObject
43{
44 Q_OBJECT
45 QML_ELEMENT
46 QML_SINGLETON
47
48 // Shape tokens - Corner radius
49 Q_PROPERTY(qreal cornerRadiusNone READ cornerRadiusNone CONSTANT FINAL)
50 Q_PROPERTY(qreal cornerRadiusExtraSmall READ cornerRadiusExtraSmall CONSTANT FINAL)
51 Q_PROPERTY(qreal cornerRadiusSmall READ cornerRadiusSmall CONSTANT FINAL)
52 Q_PROPERTY(qreal cornerRadiusMedium READ cornerRadiusMedium CONSTANT FINAL)
53 Q_PROPERTY(qreal cornerRadiusLarge READ cornerRadiusLarge CONSTANT FINAL)
54 Q_PROPERTY(qreal cornerRadiusExtraLarge READ cornerRadiusExtraLarge CONSTANT FINAL)
55 Q_PROPERTY(qreal cornerRadiusFull READ cornerRadiusFull CONSTANT FINAL)
56
57 // Typography tokens - Font sizes
58 Q_PROPERTY(int fontSizeDisplayLarge READ fontSizeDisplayLarge CONSTANT FINAL)
59 Q_PROPERTY(int fontSizeDisplayMedium READ fontSizeDisplayMedium CONSTANT FINAL)
60 Q_PROPERTY(int fontSizeDisplaySmall READ fontSizeDisplaySmall CONSTANT FINAL)
61 Q_PROPERTY(int fontSizeHeadlineLarge READ fontSizeHeadlineLarge CONSTANT FINAL)
62 Q_PROPERTY(int fontSizeHeadlineMedium READ fontSizeHeadlineMedium CONSTANT FINAL)
63 Q_PROPERTY(int fontSizeHeadlineSmall READ fontSizeHeadlineSmall CONSTANT FINAL)
64 Q_PROPERTY(int fontSizeTitleLarge READ fontSizeTitleLarge CONSTANT FINAL)
65 Q_PROPERTY(int fontSizeTitleMedium READ fontSizeTitleMedium CONSTANT FINAL)
66 Q_PROPERTY(int fontSizeTitleSmall READ fontSizeTitleSmall CONSTANT FINAL)
67 Q_PROPERTY(int fontSizeBodyLarge READ fontSizeBodyLarge CONSTANT FINAL)
68 Q_PROPERTY(int fontSizeBodyMedium READ fontSizeBodyMedium CONSTANT FINAL)
69 Q_PROPERTY(int fontSizeBodySmall READ fontSizeBodySmall CONSTANT FINAL)
70 Q_PROPERTY(int fontSizeLabelLarge READ fontSizeLabelLarge CONSTANT FINAL)
71 Q_PROPERTY(int fontSizeLabelMedium READ fontSizeLabelMedium CONSTANT FINAL)
72 Q_PROPERTY(int fontSizeLabelSmall READ fontSizeLabelSmall CONSTANT FINAL)
73
74 // Spacing tokens
75 Q_PROPERTY(int spacingExtraSmall READ spacingExtraSmall CONSTANT FINAL)
76 Q_PROPERTY(int spacingSmall READ spacingSmall CONSTANT FINAL)
77 Q_PROPERTY(int spacingMedium READ spacingMedium CONSTANT FINAL)
78 Q_PROPERTY(int spacingLarge READ spacingLarge CONSTANT FINAL)
79 Q_PROPERTY(int spacingExtraLarge READ spacingExtraLarge CONSTANT FINAL)
80
81 // Elevation tokens
82 Q_PROPERTY(int elevationLevel0 READ elevationLevel0 CONSTANT FINAL)
83 Q_PROPERTY(int elevationLevel1 READ elevationLevel1 CONSTANT FINAL)
84 Q_PROPERTY(int elevationLevel2 READ elevationLevel2 CONSTANT FINAL)
85 Q_PROPERTY(int elevationLevel3 READ elevationLevel3 CONSTANT FINAL)
86 Q_PROPERTY(int elevationLevel4 READ elevationLevel4 CONSTANT FINAL)
87 Q_PROPERTY(int elevationLevel5 READ elevationLevel5 CONSTANT FINAL)
88
89 // Motion tokens - Duration
90 Q_PROPERTY(int durationShort1 READ durationShort1 CONSTANT FINAL)
91 Q_PROPERTY(int durationShort2 READ durationShort2 CONSTANT FINAL)
92 Q_PROPERTY(int durationShort3 READ durationShort3 CONSTANT FINAL)
93 Q_PROPERTY(int durationShort4 READ durationShort4 CONSTANT FINAL)
94 Q_PROPERTY(int durationMedium1 READ durationMedium1 CONSTANT FINAL)
95 Q_PROPERTY(int durationMedium2 READ durationMedium2 CONSTANT FINAL)
96 Q_PROPERTY(int durationMedium3 READ durationMedium3 CONSTANT FINAL)
97 Q_PROPERTY(int durationMedium4 READ durationMedium4 CONSTANT FINAL)
98 Q_PROPERTY(int durationLong1 READ durationLong1 CONSTANT FINAL)
99 Q_PROPERTY(int durationLong2 READ durationLong2 CONSTANT FINAL)
100 Q_PROPERTY(int durationLong3 READ durationLong3 CONSTANT FINAL)
101 Q_PROPERTY(int durationLong4 READ durationLong4 CONSTANT FINAL)
102
103public:
104 explicit Token(QObject *parent = nullptr);
105
106 // Shape tokens - Corner radius
107 qreal cornerRadiusNone() const;
108 qreal cornerRadiusExtraSmall() const;
109 qreal cornerRadiusSmall() const;
110 qreal cornerRadiusMedium() const;
111 qreal cornerRadiusLarge() const;
112 qreal cornerRadiusExtraLarge() const;
113 qreal cornerRadiusFull() const;
114
115 // Typography tokens - Font sizes
116 int fontSizeDisplayLarge() const;
117 int fontSizeDisplayMedium() const;
118 int fontSizeDisplaySmall() const;
119 int fontSizeHeadlineLarge() const;
120 int fontSizeHeadlineMedium() const;
121 int fontSizeHeadlineSmall() const;
122 int fontSizeTitleLarge() const;
123 int fontSizeTitleMedium() const;
124 int fontSizeTitleSmall() const;
125 int fontSizeBodyLarge() const;
126 int fontSizeBodyMedium() const;
127 int fontSizeBodySmall() const;
128 int fontSizeLabelLarge() const;
129 int fontSizeLabelMedium() const;
130 int fontSizeLabelSmall() const;
131
132 // Spacing tokens
133 int spacingExtraSmall() const;
134 int spacingSmall() const;
135 int spacingMedium() const;
136 int spacingLarge() const;
137 int spacingExtraLarge() const;
138
139 // Elevation tokens
140 int elevationLevel0() const;
141 int elevationLevel1() const;
142 int elevationLevel2() const;
143 int elevationLevel3() const;
144 int elevationLevel4() const;
145 int elevationLevel5() const;
146
147 // Motion tokens - Duration
148 int durationShort1() const;
149 int durationShort2() const;
150 int durationShort3() const;
151 int durationShort4() const;
152 int durationMedium1() const;
153 int durationMedium2() const;
154 int durationMedium3() const;
155 int durationMedium4() const;
156 int durationLong1() const;
157 int durationLong2() const;
158 int durationLong3() const;
159 int durationLong4() const;
160
161 static Token *create(QQmlEngine *engine, QJSEngine *jsEngine);
162};
Material Design 3 design tokens.
Definition token.h:43
int fontSizeHeadlineSmall
Definition token.h:63
int fontSizeBodyMedium
Definition token.h:68
int durationLong1
Definition token.h:98
int durationMedium3
Definition token.h:96
int fontSizeTitleSmall
Definition token.h:66
int durationMedium2
Definition token.h:95
int fontSizeTitleLarge
Definition token.h:64
int fontSizeDisplaySmall
Definition token.h:60
int fontSizeLabelSmall
Definition token.h:72
int spacingMedium
Definition token.h:77
int fontSizeDisplayLarge
Definition token.h:58
int durationShort2
Definition token.h:91
int elevationLevel3
Definition token.h:85
int fontSizeHeadlineLarge
Definition token.h:61
int durationLong4
Definition token.h:101
QML_SINGLETONqreal cornerRadiusNone
Definition token.h:49
int spacingLarge
Definition token.h:78
int fontSizeTitleMedium
Definition token.h:65
int durationShort4
Definition token.h:93
int spacingExtraLarge
Definition token.h:79
int elevationLevel2
Definition token.h:84
qreal cornerRadiusMedium
Definition token.h:52
int fontSizeHeadlineMedium
Definition token.h:62
int durationMedium1
Definition token.h:94
int spacingExtraSmall
Definition token.h:75
int elevationLevel1
Definition token.h:83
int durationLong3
Definition token.h:100
int fontSizeBodySmall
Definition token.h:69
int elevationLevel5
Definition token.h:87
int fontSizeBodyLarge
Definition token.h:67
int elevationLevel4
Definition token.h:86
qreal cornerRadiusExtraSmall
Definition token.h:50
int fontSizeLabelLarge
Definition token.h:70
int durationShort1
Definition token.h:90
qreal cornerRadiusSmall
Definition token.h:51
int fontSizeLabelMedium
Definition token.h:71
qreal cornerRadiusLarge
Definition token.h:53
int durationShort3
Definition token.h:92
int durationLong2
Definition token.h:99
static Token * create(QQmlEngine *engine, QJSEngine *jsEngine)
Definition token.cpp:252
qreal cornerRadiusExtraLarge
Definition token.h:54
int durationMedium4
Definition token.h:97
int fontSizeDisplayMedium
Definition token.h:59
qreal cornerRadiusFull
Definition token.h:55
int spacingSmall
Definition token.h:76
int elevationLevel0
Definition token.h:82