5import QtQuick.Templates as T
22 property MD.typescale typescale: MD.Tokens.typescale.labelLarge
25 property bool error: false
27 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding)
28 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding, implicitIndicatorHeight + topPadding + bottomPadding)
30 spacing: MD.Tokens.checkBox.contentSpacing
31 padding: MD.Tokens.checkBox.contentPadding
32 verticalPadding: padding + 7
35 focusPolicy: Qt.StrongFocus
40 property color iconColor: rootControl.error ? rootControl.MD.Style.onErrorColor : rootControl.MD.Style.onPrimaryColor
41 property color containerColor: rootControl.checkState === Qt.Unchecked ? "transparent" : rootControl.error ? rootControl.MD.Style.errorColor : rootControl.MD.Style.primaryColor
42 property color outlineColor: rootControl.error ? rootControl.MD.Style.errorColor : MD.Style.onSurfaceVariantColor
43 property color labelColor: rootControl.MD.Style.onSurfaceColor
44 property color stateLayerColor:
"transparent"
46 property real outlineWidth: rootControl.checkState == Qt.Checked ? MD.Tokens.checkBox.selectedOutlineWidth : MD.Tokens.checkBox.unselectedOutlineWidth
48 property real contentOpacity: 1.0
49 property real containerOpacity: 1.0
50 property real stateLayerOpacity: 1.0
56 when: !rootControl.enabled
59 visualState.iconColor: rootControl.MD.Style.surfaceColor
60 visualState.containerColor: rootControl.checkState === Qt.Unchecked ?
"transparent" : rootControl.error ? rootControl.MD.Style.errorColor : rootControl.MD.Style.onSurfaceColor
61 visualState.outlineColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? MD.Style.onSurfaceVariantColor : rootControl.MD.Style.onSurfaceColor
62 visualState.outlineWidth: rootControl.checkState == Qt.Checked ? MD.Tokens.checkBox.selectedOutlineWidth : MD.Tokens.checkBox.unselectedOutlineWidth
63 visualState.contentOpacity: MD.Tokens.checkBox.selectedDisabledContainerOpacity
64 visualState.containerOpacity: MD.Tokens.checkBox.selectedDisabledContainerOpacity
69 when: rootControl.hovered && rootControl.enabled
72 visualState.outlineColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? MD.Style.onSurfaceVariantColor : rootControl.MD.Style.onSurfaceColor
73 visualState.stateLayerColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? rootControl.MD.Style.primaryColor : rootControl.MD.Style.onSurfaceColor
74 visualState.stateLayerOpacity: MD.Tokens.checkBox.hoverStateLayerOpacity
79 when: rootControl.visualFocus && rootControl.enabled
82 visualState.outlineColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? MD.Style.onSurfaceVariantColor : rootControl.MD.Style.onSurfaceColor
83 visualState.stateLayerColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? rootControl.MD.Style.primaryColor : rootControl.MD.Style.onSurfaceColor
84 visualState.stateLayerOpacity: MD.Tokens.checkBox.focusStateLayerOpacity
89 when: rootControl.down && rootControl.enabled
92 visualState.outlineColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? MD.Style.onSurfaceVariantColor : rootControl.MD.Style.onSurfaceColor
93 visualState.stateLayerColor: rootControl.error ? rootControl.MD.Style.errorColor : rootControl.checkState === Qt.Checked ? rootControl.MD.Style.primaryColor : rootControl.MD.Style.onSurfaceColor
94 visualState.stateLayerOpacity: MD.Tokens.checkBox.pressedStateLayerOpacity
99 indicator: MD.CheckIndicator {
100 x: rootControl.text ? (rootControl.mirrored ? rootControl.width - width - rootControl.rightPadding : rootControl.leftPadding) : rootControl.leftPadding + (rootControl.availableWidth - width) / 2
101 y: rootControl.topPadding + (rootControl.availableHeight - height) / 2
104 color: visualState.iconColor
105 opacity: visualState.containerOpacity
106 backgroundColor: visualState.containerColor
107 outlineColor: visualState.outlineColor
108 outlineWidth: visualState.outlineWidth
111 anchors.centerIn: parent
112 width: MD.
Tokens.checkBox.stateLayerSize
113 height: MD.
Tokens.checkBox.stateLayerSize
115 pressX: rootControl.pressX
116 pressY: rootControl.pressY
117 pressed: rootControl.pressed
118 stateOpacity: visualState.stateLayerOpacity
119 color: visualState.stateLayerColor
123 contentItem: MD.
Label {
124 leftPadding: rootControl.indicator && !rootControl.mirrored ? rootControl.indicator.width + rootControl.spacing : 0
125 rightPadding: rootControl.indicator && rootControl.mirrored ? rootControl.indicator.width + rootControl.spacing : 0
127 text: rootControl.text
128 typescale: rootControl.typescale
129 color: visualState.labelColor
130 opacity: visualState.contentOpacity
131 elide: Text.ElideRight
132 verticalAlignment: Text.AlignVCenter
Material Design 3 design tokens.
Displays text using a selectable Material 3 type scale.