import QtQuick import ZShell.Config import qs.Services ButtonBase { id: root readonly property alias label: label property alias text: label.text activeColor: type === TextButton.Filled ? Colors.palette.m3primary : Colors.palette.m3secondary activeOnColor: { if (type === TextButton.Text) return Colors.palette.m3primary; return type === TextButton.Filled ? Colors.palette.m3onPrimary : Colors.palette.m3onSecondary; } horizontalPadding: Tokens.padding.small implicitHeight: label.implicitHeight + verticalPadding * 2 implicitWidth: label.implicitWidth + horizontalPadding * 2 inactiveColor: { if (!isToggle && type === TextButton.Filled) return Colors.palette.m3primary; return type === TextButton.Filled ? Colors.tPalette.m3surfaceContainer : Colors.palette.m3secondaryContainer; } inactiveOnColor: { if (!isToggle && type === TextButton.Filled) return Colors.palette.m3onPrimary; if (type === TextButton.Text) return Colors.palette.m3primary; return type === TextButton.Filled ? Colors.palette.m3onSurface : Colors.palette.m3onSecondaryContainer; } verticalPadding: Tokens.padding.extraSmall CustomText { id: label anchors.centerIn: parent color: root.onColor font: root.font } }