import "root:/modules/common" import "root:/modules/common/widgets" import "root:/modules/common/functions/color_utils.js" as ColorUtils import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell.Io GroupButton { id: button property string buttonIcon baseWidth: altAction ? 60 : 40 baseHeight: 40 clickedWidth: baseWidth + 20 toggled: false buttonRadius: (altAction && toggled) ? Appearance?.rounding.normal : Math.min(baseHeight, baseWidth) / 2 buttonRadiusPressed: Appearance?.rounding?.small contentItem: MaterialSymbol { anchors.centerIn: parent iconSize: Appearance.font.pixelSize.larger fill: toggled ? 1 : 0 color: toggled ? Appearance.m3colors.m3onPrimary : Appearance.colors.colOnLayer1 horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter text: buttonIcon Behavior on color { animation: Appearance.animation.elementMoveFast.colorAnimation.createObject(this) } } }