import QtQuick import qs.Common import qs.Widgets Rectangle { id: root property string iconName: "" property string title: "" property string description: "" signal clicked readonly property real iconContainerSize: Math.round(Theme.iconSize * 1.3) height: Math.round(Theme.fontSizeMedium * 4.2) radius: Theme.cornerRadius color: Theme.surfaceContainerHigh Rectangle { anchors.fill: parent radius: parent.radius color: Theme.primary opacity: mouseArea.containsMouse ? 0.12 : 0 } Row { anchors.left: parent.left anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter anchors.margins: Theme.spacingM spacing: Theme.spacingS Rectangle { width: root.iconContainerSize height: root.iconContainerSize radius: Math.round(root.iconContainerSize * 0.28) color: Theme.primaryContainer anchors.verticalCenter: parent.verticalCenter DankIcon { anchors.centerIn: parent name: root.iconName size: Theme.iconSize - 6 color: Theme.primary } } Column { anchors.verticalCenter: parent.verticalCenter spacing: 2 width: parent.width - root.iconContainerSize - Theme.spacingS StyledText { text: root.title font.pixelSize: Theme.fontSizeSmall font.weight: Font.Medium color: Theme.surfaceText } StyledText { text: root.description font.pixelSize: Theme.fontSizeSmall - 1 color: Theme.surfaceVariantText width: parent.width elide: Text.ElideRight } } } MouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor onClicked: root.clicked() } }