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