Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
tokens.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <QObject>
7#include <QQmlEngine>
8
9#include "appbar.h"
10#include "button.h"
11#include "checkbox.h"
12#include "colordark.h"
13#include "colorlight.h"
14#include "dialog.h"
15#include "divider.h"
16#include "elevationtokens.h"
17#include "exposeddropdownmenu.h"
18#include "fab.h"
19#include "fabmenu.h"
20#include "iconbutton.h"
21#include "listitem.h"
22#include "measurementtokens.h"
23#include "menu.h"
24#include "motiontokens.h"
25#include "navigationrail.h"
26#include "palette.h"
27#include "radiobutton.h"
28#include "shapetokens.h"
29#include "typescale.h"
30#include "slider.h"
31#include "statetokens.h"
32#include "switch.h"
33#include "symbol.h"
34#include "tooltip.h"
35
36namespace Fluid {
37
64class Tokens : public QObject
65{
66 Q_OBJECT
67 QML_ELEMENT
68 QML_SINGLETON
69
70 // System tokens
71 Q_PROPERTY(Fluid::ShapeTokens shape READ shape CONSTANT FINAL)
72 Q_PROPERTY(Fluid::ElevationTokens elevation READ elevation CONSTANT FINAL)
73 Q_PROPERTY(Fluid::StateTokens state READ state CONSTANT FINAL)
74 Q_PROPERTY(Fluid::MotionTokens motion READ motion CONSTANT FINAL)
75 Q_PROPERTY(Fluid::MeasurementTokens measurement READ measurement CONSTANT FINAL)
76 Q_PROPERTY(Fluid::PaletteTokens palette READ palette CONSTANT FINAL)
77 Q_PROPERTY(Fluid::ColorLightTokens light READ light CONSTANT FINAL)
78 Q_PROPERTY(Fluid::ColorDarkTokens dark READ dark CONSTANT FINAL)
79
80 // Typography tokens
81 Q_PROPERTY(Fluid::TypeScale *typescale READ typescale CONSTANT FINAL)
82 Q_PROPERTY(
84
85 // Component tokens - App bar
86 Q_PROPERTY(Fluid::AppBar appBar READ appBar CONSTANT FINAL)
87
88 // Component tokens - Button
89 Q_PROPERTY(Fluid::Button button READ button CONSTANT FINAL)
90
91 // Component tokens - Check box
92 Q_PROPERTY(Fluid::CheckBox checkBox READ checkBox CONSTANT FINAL)
93
94 // Component tokens - Radio button
95 Q_PROPERTY(Fluid::RadioButton radioButton READ radioButton CONSTANT FINAL)
96
97 // Component tokens - Dialog
98 Q_PROPERTY(Fluid::Dialog dialog READ dialog CONSTANT FINAL)
99
100 // Component tokens - Floating action button
101 Q_PROPERTY(Fluid::Fab fab READ fab CONSTANT FINAL)
102
103 // Component tokens - FAB menu
104 Q_PROPERTY(Fluid::FabMenu fabMenu READ fabMenu CONSTANT FINAL)
105
106 // Component tokens - Icon button
107 Q_PROPERTY(Fluid::IconButton iconButton READ iconButton CONSTANT FINAL)
108
109 // Component tokens - List item
110 Q_PROPERTY(Fluid::ListItem listItem READ listItem CONSTANT FINAL)
111
112 // Component tokens - Menu
113 Q_PROPERTY(Fluid::Menu menu READ menu CONSTANT FINAL)
114
115 // Component tokens - Navigation rail
116 Q_PROPERTY(Fluid::NavigationRail navigationRail READ navigationRail CONSTANT FINAL)
117
118 // Component tokens - Exposed dropdown menu
119 Q_PROPERTY(
121
122 // Component tokens - Slider
123 Q_PROPERTY(Fluid::Slider slider READ slider CONSTANT FINAL)
124
125 // Component tokens - Divider
126 Q_PROPERTY(Fluid::Divider divider READ divider CONSTANT FINAL)
127
128 // Component tokens - Switch
129 Q_PROPERTY(Fluid::Switch switch READ switchControl CONSTANT FINAL)
130
131 // Component tokens - Symbol
132 Q_PROPERTY(Fluid::Symbol symbol READ symbol CONSTANT FINAL)
133
134 // Component tokens - Tool tip
135 Q_PROPERTY(Fluid::ToolTip toolTip READ toolTip CONSTANT FINAL)
136
137public:
138 explicit Tokens(QObject *parent = nullptr);
139
140 ShapeTokens shape() const;
142 StateTokens state() const;
143 MotionTokens motion() const;
145 PaletteTokens palette() const;
146 ColorLightTokens light() const;
147 ColorDarkTokens dark() const;
148
149 // Typography tokens
150 TypeScale *typescale() const;
152
153 // Component tokens - App bar
154 AppBar appBar() const;
155
156 // Component tokens - Button
157 Button button() const;
158
159 // Component tokens - Check box
160 CheckBox checkBox() const;
161
162 // Component tokens - Radio button
163 RadioButton radioButton() const;
164
165 // Component tokens - Dialog
166 Dialog dialog() const;
167
168 // Component tokens - Floating action button
169 Fab fab() const;
170
171 // Component tokens - FAB menu
172 FabMenu fabMenu() const;
173
174 // Component tokens - Icon button
175 IconButton iconButton() const;
176
177 // Component tokens - List item
178 ListItem listItem() const;
179
180 // Component tokens - Menu
181 Menu menu() const;
182
183 // Component tokens - Navigation rail
186
187 // Component tokens - Exposed dropdown menu
190
191 // Component tokens - Slider
192 Slider slider() const;
193
194 // Component tokens - Divider
195 Divider divider() const;
196
197 // Component tokens - Switch
198 Switch switchControl() const;
199
200 // Component tokens - Symbol
201 Symbol symbol() const;
202
203 // Component tokens - Tool tip
204 ToolTip toolTip() const;
205
206 static Tokens *create(QQmlEngine *engine, QJSEngine *jsEngine);
207
208private:
209 TypeScale *m_typescale = nullptr;
210 EmphasizedTypeScale *m_emphasizedTypeScale = nullptr;
211 ShapeTokens m_shape;
212 ElevationTokens m_elevation;
213 StateTokens m_state;
214 MotionTokens m_motion;
215 MeasurementTokens m_measurement;
216 PaletteTokens m_palette;
217 ColorLightTokens m_light;
218 ColorDarkTokens m_dark;
219 AppBar m_appBar;
220 Button m_button;
221 CheckBox m_checkBox;
222 RadioButton m_radioButton;
223 Dialog m_dialog;
224 Fab m_fab;
225 FabMenu m_fabMenu;
226 IconButton m_iconButton;
227 ListItem m_listItem;
228 Menu m_menu;
229 NavigationRail m_navigationRail;
230 ExposedDropdownMenu m_exposedDropdownMenu;
231 Slider m_slider;
232 Divider m_divider;
233 Switch m_switch;
234 Symbol m_symbol;
235 ToolTip m_toolTip;
236};
237
238} // namespace Fluid
Material Design 3 emphasized type scale tokens.
Definition typescale.h:202
Material Design 3 design tokens.
Definition tokens.h:65
Fluid::Symbol symbol
Definition tokens.h:132
Fluid::MotionTokens motion
Definition tokens.h:74
Fluid::Slider slider
Definition tokens.h:123
Fluid::Divider divider
Definition tokens.h:126
Fluid::ElevationTokens elevation
Definition tokens.h:72
Fluid::AppBar appBar
Definition tokens.h:86
Fluid::ExposedDropdownMenu exposedDropdownMenu
Definition tokens.h:120
Fluid::Fab fab
Definition tokens.h:101
Fluid::Switch switch
Definition tokens.h:129
static Tokens * create(QQmlEngine *engine, QJSEngine *jsEngine)
Definition tokens.cpp:168
Fluid::MeasurementTokens measurement
Definition tokens.h:75
Fluid::IconButton iconButton
Definition tokens.h:107
Switch switchControl() const
Definition tokens.cpp:151
Fluid::FabMenu fabMenu
Definition tokens.h:104
QML_SINGLETONFluid::ShapeTokens shape
Definition tokens.h:71
Fluid::ColorLightTokens light
Definition tokens.h:77
Fluid::Dialog dialog
Definition tokens.h:98
Fluid::EmphasizedTypeScale * emphasizedTypeScale
Definition tokens.h:83
Fluid::RadioButton radioButton
Definition tokens.h:95
Fluid::Button button
Definition tokens.h:89
Fluid::TypeScale * typescale
Definition tokens.h:81
Fluid::ToolTip toolTip
Definition tokens.h:135
Fluid::ColorDarkTokens dark
Definition tokens.h:78
Fluid::StateTokens state
Definition tokens.h:73
Fluid::Menu menu
Definition tokens.h:113
Fluid::ListItem listItem
Definition tokens.h:110
Fluid::PaletteTokens palette
Definition tokens.h:76
Fluid::NavigationRail navigationRail
Definition tokens.h:116
Fluid::CheckBox checkBox
Definition tokens.h:92
Material Design 3 type scale tokens.
Definition typescale.h:123
Material Design 3 Expressive button tokens.
Definition button.h:21
Material Design 3 checkbox tokens.
Definition checkbox.h:20
Material Design 3 dialog tokens.
Definition dialog.h:21
Material Design 3 divider tokens.
Definition divider.h:15
Material Design 3 system elevation tokens.
Material Design 3 tokens for exposed dropdown menus.
Material Design 3 Expressive FAB menu tokens.
Definition fabmenu.h:27
Material Design 3 Expressive floating action button tokens.
Definition fab.h:21
Material Design 3 Expressive icon button tokens.
Definition iconbutton.h:20
Material Design 3 Expressive list item tokens.
Definition listitem.h:21
Material Design 3 system measurement tokens.
Material Design 3 tokens for menus and menu items.
Definition menu.h:26
Material Design 3 system motion tokens.
Material Design 3 Expressive navigation rail tokens.
Material Design 3 radio-button tokens.
Definition radiobutton.h:19
Material Design 3 system shape tokens.
Definition shapetokens.h:48
Material Design 3 Expressive slider tokens.
Definition slider.h:15
Material Design 3 system state tokens.
Definition statetokens.h:18
Material Design 3 switch tokens.
Definition switch.h:20
Material Symbols icon tokens.
Definition symbol.h:17
Material Design 3 tokens for plain and rich tooltips.
Definition tooltip.h:29