@@ -10,6 +10,7 @@ ColumnLayout {
10
10
id: root
11
11
property bool center: true
12
12
required property string header
13
+ property bool showHeader: true
13
14
property int headerMargin
14
15
property int headerSize: 28
15
16
property bool headerBold: false
@@ -26,27 +27,32 @@ ColumnLayout {
26
27
property bool wrap: true
27
28
28
29
spacing: 0
29
- Label {
30
+ Loader {
30
31
Layout .fillWidth : true
31
- topPadding: root .headerMargin
32
- font .family : " Inter"
33
- font .styleName : root .headerBold ? " Semi Bold" : " Regular"
34
- font .pixelSize : root .headerSize
35
- color: root .headerColor
36
- text: root .header
37
- horizontalAlignment: center ? Text .AlignHCenter : Text .AlignLeft
38
- wrapMode: wrap ? Text .WordWrap : Text .NoWrap
32
+ active: root .showHeader && root .header .length > 0
33
+ visible: active
34
+ sourceComponent: Label {
35
+ Layout .fillWidth : true
36
+ topPadding: root .headerMargin
37
+ font .family : " Inter"
38
+ font .styleName : root .headerBold ? " Semi Bold" : " Regular"
39
+ font .pixelSize : root .headerSize
40
+ color: root .headerColor
41
+ text: root .header
42
+ horizontalAlignment: center ? Text .AlignHCenter : Text .AlignLeft
43
+ wrapMode: wrap ? Text .WordWrap : Text .NoWrap
39
44
40
- Behavior on color {
41
- ColorAnimation { duration: 150 }
45
+ Behavior on color {
46
+ ColorAnimation { duration: 150 }
47
+ }
42
48
}
43
49
}
44
50
Loader {
45
51
Layout .fillWidth : true
46
52
active: root .description .length > 0
47
53
visible: active
48
54
sourceComponent: Label {
49
- topPadding: root .descriptionMargin
55
+ topPadding: showHeader ? root .descriptionMargin : root . headerMargin
50
56
font .family : " Inter"
51
57
font .styleName : root .descriptionBold ? " Semi Bold" : " Regular"
52
58
font .pixelSize : root .descriptionSize
0 commit comments