Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
appbar.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <QtCore/qobject.h>
7#include <QtQml/qqmlregistration.h>
8
9#include "elevationtokens.h"
10#include "shapetokens.h"
11#include "statetokens.h"
12
13// Component values map to the AndroidX Material 3 generated tokens:
14// https://android.googlesource.com/platform/frameworks/support/+/5ba2cdd61be7b6945db999b238d14f3c626136fb/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/
15// AppBarTokens.kt, TopAppBarTokens.kt, and SearchBarTokens.kt.
16
17namespace Fluid {
18
19struct AppBar
20{
21 Q_GADGET
22 QML_ANONYMOUS
23
24 Q_PROPERTY(qreal avatarSize READ avatarSize CONSTANT FINAL)
25 Q_PROPERTY(qreal iconButtonSpace READ iconButtonSpace CONSTANT FINAL)
26 Q_PROPERTY(qreal leadingSpace READ leadingSpace CONSTANT FINAL)
27 Q_PROPERTY(qreal trailingSpace READ trailingSpace CONSTANT FINAL)
28 Q_PROPERTY(Fluid::ShapeValue containerShape READ containerShape CONSTANT FINAL)
29 Q_PROPERTY(qreal mediumContainerHeight READ mediumContainerHeight CONSTANT FINAL)
30 Q_PROPERTY(qreal largeContainerHeight READ largeContainerHeight CONSTANT FINAL)
31 Q_PROPERTY(qreal containerElevation READ containerElevation CONSTANT FINAL)
32 Q_PROPERTY(qreal onScrollContainerElevation READ onScrollContainerElevation CONSTANT FINAL)
33 Q_PROPERTY(qreal smallContainerHeight READ smallContainerHeight CONSTANT FINAL)
34 Q_PROPERTY(
38 Q_PROPERTY(qreal largeFlexibleContainerHeight READ largeFlexibleContainerHeight CONSTANT FINAL)
41 Q_PROPERTY(qreal searchContainerHeight READ searchContainerHeight CONSTANT FINAL)
42 Q_PROPERTY(qreal horizontalPadding READ horizontalPadding CONSTANT FINAL)
43 Q_PROPERTY(qreal titleInset READ titleInset CONSTANT FINAL)
44 Q_PROPERTY(qreal mediumTitleBottomPadding READ mediumTitleBottomPadding CONSTANT FINAL)
45 Q_PROPERTY(qreal largeTitleBottomPadding READ largeTitleBottomPadding CONSTANT FINAL)
46 Q_PROPERTY(qreal mediumTitleSubtitleGap READ mediumTitleSubtitleGap CONSTANT FINAL)
47 Q_PROPERTY(qreal largeTitleSubtitleGap READ largeTitleSubtitleGap CONSTANT FINAL)
48 Q_PROPERTY(qreal minimumInteractiveSize READ minimumInteractiveSize CONSTANT FINAL)
49 Q_PROPERTY(qreal iconSize READ iconSize CONSTANT FINAL)
50 Q_PROPERTY(qreal searchOuterHorizontalPadding READ searchOuterHorizontalPadding CONSTANT FINAL)
51 Q_PROPERTY(qreal searchOuterFieldMargin READ searchOuterFieldMargin CONSTANT FINAL)
52 Q_PROPERTY(qreal searchAdaptiveBreakpoint READ searchAdaptiveBreakpoint CONSTANT FINAL)
53 Q_PROPERTY(qreal searchAdaptiveWidthFraction READ searchAdaptiveWidthFraction CONSTANT FINAL)
54 Q_PROPERTY(qreal searchLeadingSpace READ searchLeadingSpace CONSTANT FINAL)
55 Q_PROPERTY(qreal searchTrailingSpace READ searchTrailingSpace CONSTANT FINAL)
56 Q_PROPERTY(qreal searchContainedLeadingMargin READ searchContainedLeadingMargin CONSTANT FINAL)
57 Q_PROPERTY(
59 Q_PROPERTY(qreal searchContainedLeadingSpace READ searchContainedLeadingSpace CONSTANT FINAL)
60 Q_PROPERTY(qreal searchContainedTrailingSpace READ searchContainedTrailingSpace CONSTANT FINAL)
62 CONSTANT FINAL)
65 Q_PROPERTY(qreal searchIconLabelGap READ searchIconLabelGap CONSTANT FINAL)
66 Q_PROPERTY(qreal searchAvatarTargetSize READ searchAvatarTargetSize CONSTANT FINAL)
67 Q_PROPERTY(qreal searchAvatarSize READ searchAvatarSize CONSTANT FINAL)
68 Q_PROPERTY(qreal searchTrailingActionsGap READ searchTrailingActionsGap CONSTANT FINAL)
70 CONSTANT FINAL)
72 CONSTANT FINAL)
73 Q_PROPERTY(qreal overflowItemHeight READ overflowItemHeight CONSTANT FINAL)
74 Q_PROPERTY(qreal overflowHorizontalPadding READ overflowHorizontalPadding CONSTANT FINAL)
75 Q_PROPERTY(qreal overflowIconLabelGap READ overflowIconLabelGap CONSTANT FINAL)
76 Q_PROPERTY(qreal overflowMinimumWidth READ overflowMinimumWidth CONSTANT FINAL)
77 Q_PROPERTY(qreal overflowMaximumWidth READ overflowMaximumWidth CONSTANT FINAL)
78 Q_PROPERTY(qreal hoverStateLayerOpacity READ hoverStateLayerOpacity CONSTANT FINAL)
79 Q_PROPERTY(qreal focusStateLayerOpacity READ focusStateLayerOpacity CONSTANT FINAL)
80 Q_PROPERTY(qreal pressedStateLayerOpacity READ pressedStateLayerOpacity CONSTANT FINAL)
81 Q_PROPERTY(qreal disabledContentOpacity READ disabledContentOpacity CONSTANT FINAL)
82
83public:
84 constexpr qreal avatarSize() const
85 {
86 return 32.0;
87 }
88 constexpr qreal iconButtonSpace() const
89 {
90 return 0.0;
91 }
92 constexpr qreal leadingSpace() const
93 {
94 return 4.0;
95 }
96 constexpr qreal trailingSpace() const
97 {
98 return 4.0;
99 }
100 constexpr ShapeValue containerShape() const
101 {
102 return ShapeTokens{ }.cornerNone();
103 }
104 constexpr qreal mediumContainerHeight() const
105 {
106 return 112.0;
107 }
108 constexpr qreal largeContainerHeight() const
109 {
110 return 152.0;
111 }
112 constexpr qreal containerElevation() const
113 {
114 return ElevationTokens{ }.level0();
115 }
116 constexpr qreal onScrollContainerElevation() const
117 {
118 return ElevationTokens{ }.level2();
119 }
120 constexpr qreal smallContainerHeight() const
121 {
122 return 64.0;
123 }
124 constexpr qreal mediumFlexibleContainerHeight() const
125 {
126 return 112.0;
127 }
129 {
130 return 136.0;
131 }
132 constexpr qreal largeFlexibleContainerHeight() const
133 {
134 return 120.0;
135 }
137 {
138 return 152.0;
139 }
140 constexpr qreal searchContainerHeight() const
141 {
142 return 56.0;
143 }
144 constexpr qreal horizontalPadding() const
145 {
146 return 4.0;
147 }
148 constexpr qreal titleInset() const
149 {
150 return 16.0;
151 }
152 constexpr qreal mediumTitleBottomPadding() const
153 {
154 return 24.0;
155 }
156 constexpr qreal largeTitleBottomPadding() const
157 {
158 return 28.0;
159 }
160 constexpr qreal mediumTitleSubtitleGap() const
161 {
162 return 4.0;
163 }
164 constexpr qreal largeTitleSubtitleGap() const
165 {
166 return 8.0;
167 }
168 constexpr qreal minimumInteractiveSize() const
169 {
170 return 48.0;
171 }
172 constexpr qreal iconSize() const
173 {
174 return 24.0;
175 }
176 constexpr qreal searchOuterHorizontalPadding() const
177 {
178 return 4.0;
179 }
180 constexpr qreal searchOuterFieldMargin() const
181 {
182 return 8.0;
183 }
184 constexpr qreal searchAdaptiveBreakpoint() const
185 {
186 return 312.0;
187 }
188 constexpr qreal searchAdaptiveWidthFraction() const
189 {
190 return 0.5;
191 }
192 constexpr qreal searchLeadingSpace() const
193 {
194 return 8.0;
195 }
196 constexpr qreal searchTrailingSpace() const
197 {
198 return 8.0;
199 }
200 constexpr qreal searchContainedLeadingMargin() const
201 {
202 return 24.0;
203 }
204 constexpr qreal searchContainedTrailingMargin() const
205 {
206 return 24.0;
207 }
208 constexpr qreal searchContainedLeadingSpace() const
209 {
210 return 4.0;
211 }
212 constexpr qreal searchContainedTrailingSpace() const
213 {
214 return 4.0;
215 }
217 {
218 return 16.0;
219 }
221 {
222 return 16.0;
223 }
224 constexpr qreal searchIconLabelGap() const
225 {
226 return 4.0;
227 }
228 constexpr qreal searchAvatarTargetSize() const
229 {
230 return 48.0;
231 }
232 constexpr qreal searchAvatarSize() const
233 {
234 return 30.0;
235 }
236 constexpr qreal searchTrailingActionsGap() const
237 {
238 return 0.0;
239 }
240 constexpr qreal searchTrailingActionsLeadingSpace() const
241 {
242 return 4.0;
243 }
245 {
246 return 4.0;
247 }
248 constexpr qreal overflowItemHeight() const
249 {
250 return 48.0;
251 }
252 constexpr qreal overflowHorizontalPadding() const
253 {
254 return 12.0;
255 }
256 constexpr qreal overflowIconLabelGap() const
257 {
258 return 12.0;
259 }
260 constexpr qreal overflowMinimumWidth() const
261 {
262 return 112.0;
263 }
264 constexpr qreal overflowMaximumWidth() const
265 {
266 return 280.0;
267 }
268 constexpr qreal hoverStateLayerOpacity() const
269 {
271 }
272 constexpr qreal focusStateLayerOpacity() const
273 {
275 }
276 constexpr qreal pressedStateLayerOpacity() const
277 {
279 }
280 constexpr qreal disabledContentOpacity() const
281 {
282 return 0.38;
283 }
284};
285
286} // namespace Fluid
qreal searchTrailingActionsLeadingSpace
Definition appbar.h:70
constexpr qreal overflowIconLabelGap() const
Definition appbar.h:256
constexpr qreal largeTitleSubtitleGap() const
Definition appbar.h:164
qreal iconSize
Definition appbar.h:49
constexpr qreal searchLeadingSpace() const
Definition appbar.h:192
constexpr qreal iconButtonSpace() const
Definition appbar.h:88
qreal hoverStateLayerOpacity
Definition appbar.h:78
qreal iconButtonSpace
Definition appbar.h:25
qreal searchContainedLeadingSpace
Definition appbar.h:59
qreal searchIconLabelGap
Definition appbar.h:65
qreal searchTrailingActionsTrailingSpace
Definition appbar.h:72
qreal overflowMaximumWidth
Definition appbar.h:77
qreal mediumTitleSubtitleGap
Definition appbar.h:46
qreal largeTitleSubtitleGap
Definition appbar.h:47
qreal leadingSpace
Definition appbar.h:26
constexpr qreal iconSize() const
Definition appbar.h:172
qreal overflowIconLabelGap
Definition appbar.h:75
constexpr ShapeValue containerShape() const
Definition appbar.h:100
qreal mediumFlexibleContainerHeight
Definition appbar.h:35
qreal pressedStateLayerOpacity
Definition appbar.h:80
QML_ANONYMOUSqreal avatarSize
Definition appbar.h:24
constexpr qreal overflowMinimumWidth() const
Definition appbar.h:260
constexpr qreal searchTrailingActionsTrailingSpace() const
Definition appbar.h:244
qreal containerElevation
Definition appbar.h:31
constexpr qreal searchContainedLeadingMargin() const
Definition appbar.h:200
qreal searchContainerHeight
Definition appbar.h:41
qreal searchTrailingSpace
Definition appbar.h:55
constexpr qreal leadingSpace() const
Definition appbar.h:92
qreal searchOuterFieldMargin
Definition appbar.h:51
qreal searchOuterHorizontalPadding
Definition appbar.h:50
qreal searchAvatarSize
Definition appbar.h:67
constexpr qreal searchContainerHeight() const
Definition appbar.h:140
constexpr qreal pressedStateLayerOpacity() const
Definition appbar.h:276
qreal mediumTitleBottomPadding
Definition appbar.h:44
constexpr qreal containerElevation() const
Definition appbar.h:112
constexpr qreal mediumTitleSubtitleGap() const
Definition appbar.h:160
qreal mediumContainerHeight
Definition appbar.h:29
constexpr qreal largeContainerHeight() const
Definition appbar.h:108
constexpr qreal mediumFlexibleContainerHeight() const
Definition appbar.h:124
constexpr qreal searchIconLabelGap() const
Definition appbar.h:224
constexpr qreal hoverStateLayerOpacity() const
Definition appbar.h:268
qreal overflowHorizontalPadding
Definition appbar.h:74
constexpr qreal minimumInteractiveSize() const
Definition appbar.h:168
constexpr qreal titleInset() const
Definition appbar.h:148
constexpr qreal searchAdaptiveBreakpoint() const
Definition appbar.h:184
constexpr qreal searchTrailingActionsGap() const
Definition appbar.h:236
qreal mediumFlexibleContainerHeightWithSubtitle READ mediumFlexibleContainerHeightWithSubtitle
Definition appbar.h:37
qreal onScrollContainerElevation
Definition appbar.h:32
constexpr qreal overflowMaximumWidth() const
Definition appbar.h:264
constexpr qreal onScrollContainerElevation() const
Definition appbar.h:116
constexpr qreal largeFlexibleContainerHeightWithSubtitle() const
Definition appbar.h:136
constexpr qreal searchAvatarTargetSize() const
Definition appbar.h:228
qreal searchLeadingSpace
Definition appbar.h:54
qreal searchContainedTrailingSpace
Definition appbar.h:60
constexpr qreal searchOuterHorizontalPadding() const
Definition appbar.h:176
constexpr qreal overflowItemHeight() const
Definition appbar.h:248
constexpr qreal searchAvatarSize() const
Definition appbar.h:232
constexpr qreal searchOuterFieldMargin() const
Definition appbar.h:180
constexpr qreal horizontalPadding() const
Definition appbar.h:144
qreal titleInset
Definition appbar.h:43
qreal trailingSpace
Definition appbar.h:27
qreal largeContainerHeight
Definition appbar.h:30
constexpr qreal searchContainedTrailingMargin() const
Definition appbar.h:204
constexpr qreal searchTrailingActionsLeadingSpace() const
Definition appbar.h:240
constexpr qreal largeTitleBottomPadding() const
Definition appbar.h:156
qreal searchContainedNoActionsTrailingSpace READ searchContainedNoActionsTrailingSpace
Definition appbar.h:64
constexpr qreal smallContainerHeight() const
Definition appbar.h:120
qreal searchAvatarTargetSize
Definition appbar.h:66
constexpr qreal focusStateLayerOpacity() const
Definition appbar.h:272
qreal searchAdaptiveBreakpoint
Definition appbar.h:52
qreal overflowItemHeight
Definition appbar.h:73
qreal minimumInteractiveSize
Definition appbar.h:48
constexpr qreal largeFlexibleContainerHeight() const
Definition appbar.h:132
qreal searchContainedNoActionsLeadingSpace
Definition appbar.h:62
qreal searchTrailingActionsGap
Definition appbar.h:68
qreal smallContainerHeight
Definition appbar.h:33
constexpr qreal mediumTitleBottomPadding() const
Definition appbar.h:152
constexpr qreal searchContainedNoActionsLeadingSpace() const
Definition appbar.h:216
qreal largeTitleBottomPadding
Definition appbar.h:45
constexpr qreal searchAdaptiveWidthFraction() const
Definition appbar.h:188
qreal searchContainedTrailingMargin
Definition appbar.h:58
constexpr qreal searchTrailingSpace() const
Definition appbar.h:196
Fluid::ShapeValue containerShape
Definition appbar.h:28
constexpr qreal searchContainedLeadingSpace() const
Definition appbar.h:208
qreal horizontalPadding
Definition appbar.h:42
constexpr qreal overflowHorizontalPadding() const
Definition appbar.h:252
constexpr qreal mediumFlexibleContainerHeightWithSubtitle() const
Definition appbar.h:128
qreal searchAdaptiveWidthFraction
Definition appbar.h:53
qreal searchContainedLeadingMargin
Definition appbar.h:56
constexpr qreal searchContainedTrailingSpace() const
Definition appbar.h:212
constexpr qreal searchContainedNoActionsTrailingSpace() const
Definition appbar.h:220
qreal largeFlexibleContainerHeightWithSubtitle READ largeFlexibleContainerHeightWithSubtitle
Definition appbar.h:40
qreal focusStateLayerOpacity
Definition appbar.h:79
constexpr qreal mediumContainerHeight() const
Definition appbar.h:104
qreal overflowMinimumWidth
Definition appbar.h:76
qreal largeFlexibleContainerHeight
Definition appbar.h:38
constexpr qreal trailingSpace() const
Definition appbar.h:96
constexpr qreal disabledContentOpacity() const
Definition appbar.h:280
qreal disabledContentOpacity
Definition appbar.h:81
Material Design 3 system elevation tokens.
QML_ANONYMOUSqreal level0
Material Design 3 system shape tokens.
Definition shapetokens.h:48
Fluid::ShapeValue cornerNone
Definition shapetokens.h:66
Material Design 3 system state tokens.
Definition statetokens.h:18
qreal focusStateLayerOpacity
Definition statetokens.h:23
qreal hoverStateLayerOpacity
Definition statetokens.h:24
qreal pressedStateLayerOpacity
Definition statetokens.h:25