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 "badge.h"
11#include "button.h"
12#include "buttongroup.h"
13#include "checkbox.h"
14#include "colordark.h"
15#include "colorlight.h"
16#include "dialog.h"
17#include "divider.h"
18#include "elevationtokens.h"
19#include "exposeddropdownmenu.h"
20#include "fab.h"
21#include "fabmenu.h"
22#include "iconbutton.h"
23#include "listitem.h"
24#include "measurementtokens.h"
25#include "menu.h"
26#include "motiontokens.h"
27#include "navigationrail.h"
28#include "palette.h"
29#include "radiobutton.h"
30#include "segmentedbutton.h"
31#include "shapetokens.h"
32#include "splitbutton.h"
33#include "typescale.h"
34#include "slider.h"
35#include "statetokens.h"
36#include "switch.h"
37#include "symbol.h"
38#include "tab.h"
39#include "textfield.h"
40#include "tooltip.h"
41
42namespace Fluid {
43
70class Tokens : public QObject
71{
72 Q_OBJECT
73 QML_ELEMENT
74 QML_SINGLETON
75
76 // System tokens
77 Q_PROPERTY(Fluid::ShapeTokens shape READ shape CONSTANT FINAL)
78 Q_PROPERTY(Fluid::ElevationTokens elevation READ elevation CONSTANT FINAL)
79 Q_PROPERTY(Fluid::StateTokens state READ state CONSTANT FINAL)
80 Q_PROPERTY(Fluid::MotionTokens motion READ motion CONSTANT FINAL)
81 Q_PROPERTY(Fluid::MeasurementTokens measurement READ measurement CONSTANT FINAL)
82 Q_PROPERTY(Fluid::PaletteTokens palette READ palette CONSTANT FINAL)
83 Q_PROPERTY(Fluid::ColorLightTokens light READ light CONSTANT FINAL)
84 Q_PROPERTY(Fluid::ColorDarkTokens dark READ dark CONSTANT FINAL)
85
86 // Typography tokens
87 Q_PROPERTY(Fluid::TypeScale *typescale READ typescale CONSTANT FINAL)
88 Q_PROPERTY(
90
91 // Component tokens - App bar
92 Q_PROPERTY(Fluid::AppBar appBar READ appBar CONSTANT FINAL)
93
94 // Component tokens - Badge
95 Q_PROPERTY(Fluid::Badge badge READ badge CONSTANT FINAL)
96
97 // Component tokens - Button
98 Q_PROPERTY(Fluid::Button button READ button CONSTANT FINAL)
99 Q_PROPERTY(Fluid::ButtonGroup buttonGroup READ buttonGroup CONSTANT FINAL)
100 Q_PROPERTY(Fluid::SplitButton splitButton READ splitButton CONSTANT FINAL)
101
102 // Component tokens - Check box
103 Q_PROPERTY(Fluid::CheckBox checkBox READ checkBox CONSTANT FINAL)
104
105 // Component tokens - Radio button
106 Q_PROPERTY(Fluid::RadioButton radioButton READ radioButton CONSTANT FINAL)
107
108 // Component tokens - Segmented button
109 Q_PROPERTY(Fluid::SegmentedButton segmentedButton READ segmentedButton CONSTANT FINAL)
110
111 // Component tokens - Dialog
112 Q_PROPERTY(Fluid::Dialog dialog READ dialog CONSTANT FINAL)
113
114 // Component tokens - Floating action button
115 Q_PROPERTY(Fluid::Fab fab READ fab CONSTANT FINAL)
116
117 // Component tokens - FAB menu
118 Q_PROPERTY(Fluid::FabMenu fabMenu READ fabMenu CONSTANT FINAL)
119
120 // Component tokens - Icon button
121 Q_PROPERTY(Fluid::IconButton iconButton READ iconButton CONSTANT FINAL)
122
123 // Component tokens - List item
124 Q_PROPERTY(Fluid::ListItem listItem READ listItem CONSTANT FINAL)
125
126 // Component tokens - Menu
127 Q_PROPERTY(Fluid::Menu menu READ menu CONSTANT FINAL)
128
129 // Component tokens - Navigation rail
130 Q_PROPERTY(Fluid::NavigationRail navigationRail READ navigationRail CONSTANT FINAL)
131
132 // Component tokens - Exposed dropdown menu
133 Q_PROPERTY(
135
136 // Component tokens - Slider
137 Q_PROPERTY(Fluid::Slider slider READ slider CONSTANT FINAL)
138
139 // Component tokens - Divider
140 Q_PROPERTY(Fluid::Divider divider READ divider CONSTANT FINAL)
141
142 // Component tokens - Switch
143 Q_PROPERTY(Fluid::Switch switch READ switchControl CONSTANT FINAL)
144
145 // Component tokens - Symbol
146 Q_PROPERTY(Fluid::Symbol symbol READ symbol CONSTANT FINAL)
147
148 // Component tokens - Tabs
149 Q_PROPERTY(Fluid::Tab tab READ tab CONSTANT FINAL)
150
151 // Component tokens - Text field
152 Q_PROPERTY(Fluid::TextField textField READ textField CONSTANT FINAL)
153
154 // Component tokens - Tool tip
155 Q_PROPERTY(Fluid::ToolTip toolTip READ toolTip CONSTANT FINAL)
156
157public:
158 explicit Tokens(QObject *parent = nullptr);
159
160 ShapeTokens shape() const;
162 StateTokens state() const;
163 MotionTokens motion() const;
165 PaletteTokens palette() const;
166 ColorLightTokens light() const;
167 ColorDarkTokens dark() const;
168
169 // Typography tokens
170 TypeScale *typescale() const;
172
173 // Component tokens - App bar
174 AppBar appBar() const;
175
176 // Component tokens - Badge
177 Badge badge() const;
178
179 // Component tokens - Button
180 Button button() const;
181 ButtonGroup buttonGroup() const;
182 SplitButton splitButton() const;
183
184 // Component tokens - Check box
185 CheckBox checkBox() const;
186
187 // Component tokens - Radio button
188 RadioButton radioButton() const;
189
190 // Component tokens - Segmented button
193
194 // Component tokens - Dialog
195 Dialog dialog() const;
196
197 // Component tokens - Floating action button
198 Fab fab() const;
199
200 // Component tokens - FAB menu
201 FabMenu fabMenu() const;
202
203 // Component tokens - Icon button
204 IconButton iconButton() const;
205
206 // Component tokens - List item
207 ListItem listItem() const;
208
209 // Component tokens - Menu
210 Menu menu() const;
211
212 // Component tokens - Navigation rail
215
216 // Component tokens - Exposed dropdown menu
219
220 // Component tokens - Slider
221 Slider slider() const;
222
223 // Component tokens - Divider
224 Divider divider() const;
225
226 // Component tokens - Switch
227 Switch switchControl() const;
228
229 // Component tokens - Symbol
230 Symbol symbol() const;
231
232 // Component tokens - Text field
234 TextField textField() const;
235
237 Tab tab() const;
238
239 // Component tokens - Tool tip
240 ToolTip toolTip() const;
241
242 static Tokens *create(QQmlEngine *engine, QJSEngine *jsEngine);
243
244private:
245 TypeScale *m_typescale = nullptr;
246 EmphasizedTypeScale *m_emphasizedTypeScale = nullptr;
247 ShapeTokens m_shape;
248 ElevationTokens m_elevation;
249 StateTokens m_state;
250 MotionTokens m_motion;
251 MeasurementTokens m_measurement;
252 PaletteTokens m_palette;
253 ColorLightTokens m_light;
254 ColorDarkTokens m_dark;
255 AppBar m_appBar;
256 Badge m_badge;
257 Button m_button;
258 ButtonGroup m_buttonGroup;
259 SplitButton m_splitButton;
260 CheckBox m_checkBox;
261 RadioButton m_radioButton;
262 SegmentedButton m_segmentedButton;
263 Dialog m_dialog;
264 Fab m_fab;
265 FabMenu m_fabMenu;
266 IconButton m_iconButton;
267 ListItem m_listItem;
268 Menu m_menu;
269 NavigationRail m_navigationRail;
270 ExposedDropdownMenu m_exposedDropdownMenu;
271 Slider m_slider;
272 Divider m_divider;
273 Switch m_switch;
274 Symbol m_symbol;
275 Tab m_tab;
276 TextField m_textField;
277 ToolTip m_toolTip;
278};
279
280} // namespace Fluid
Material Design 3 emphasized type scale tokens.
Definition typescale.h:202
Material Design 3 design tokens.
Definition tokens.h:71
Fluid::Symbol symbol
Definition tokens.h:146
Fluid::MotionTokens motion
Definition tokens.h:80
Fluid::Slider slider
Definition tokens.h:137
Fluid::Divider divider
Definition tokens.h:140
Fluid::ElevationTokens elevation
Definition tokens.h:78
Fluid::ButtonGroup buttonGroup
Definition tokens.h:99
Fluid::AppBar appBar
Definition tokens.h:92
Fluid::ExposedDropdownMenu exposedDropdownMenu
Definition tokens.h:134
Fluid::SplitButton splitButton
Definition tokens.h:100
Fluid::Fab fab
Definition tokens.h:115
Fluid::Switch switch
Definition tokens.h:143
static Tokens * create(QQmlEngine *engine, QJSEngine *jsEngine)
Definition tokens.cpp:202
Fluid::MeasurementTokens measurement
Definition tokens.h:81
Fluid::IconButton iconButton
Definition tokens.h:121
Switch switchControl() const
Definition tokens.cpp:173
Fluid::FabMenu fabMenu
Definition tokens.h:118
QML_SINGLETONFluid::ShapeTokens shape
Definition tokens.h:77
Fluid::ColorLightTokens light
Definition tokens.h:83
Fluid::Dialog dialog
Definition tokens.h:112
Fluid::EmphasizedTypeScale * emphasizedTypeScale
Definition tokens.h:89
Fluid::RadioButton radioButton
Definition tokens.h:106
Fluid::Button button
Definition tokens.h:98
Fluid::TypeScale * typescale
Definition tokens.h:87
Fluid::TextField textField
Definition tokens.h:152
Fluid::ToolTip toolTip
Definition tokens.h:155
Fluid::ColorDarkTokens dark
Definition tokens.h:84
Fluid::SegmentedButton segmentedButton
Definition tokens.h:109
Fluid::Badge badge
Definition tokens.h:95
Fluid::StateTokens state
Definition tokens.h:79
Fluid::Menu menu
Definition tokens.h:127
Fluid::ListItem listItem
Definition tokens.h:124
Fluid::PaletteTokens palette
Definition tokens.h:82
Fluid::NavigationRail navigationRail
Definition tokens.h:130
Fluid::CheckBox checkBox
Definition tokens.h:103
Fluid::Tab tab
Definition tokens.h:149
Material Design 3 type scale tokens.
Definition typescale.h:123
Immutable Material Design 3 badge metrics.
Definition badge.h:20
Material Design 3 Expressive button-group tokens.
Definition buttongroup.h:19
Material Design 3 Expressive button tokens.
Definition button.h:22
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:25
Material Design 3 Expressive icon button tokens.
Definition iconbutton.h:21
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:20
Material Design 3 outlined segmented-button tokens.
Material Design 3 system shape tokens.
Definition shapetokens.h:48
Material Design 3 Expressive slider tokens.
Definition slider.h:15
Immutable Material Design 3 Expressive split-button metrics.
Definition splitbutton.h:25
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
Immutable Material Design 3 primary and secondary tab metrics.
Definition tab.h:26
Material Design 3 tokens for text fields.
Definition textfield.h:22
Material Design 3 tokens for plain and rich tooltips.
Definition tooltip.h:29