using AtomUI.Controls.Utils; using AtomUI.IconPkg; using AtomUI.IconPkg.AntDesign; using AtomUI.Media; using AtomUI.Theme; using AtomUI.Theme.Styling; using Avalonia; using Avalonia.Animation; using Avalonia.Controls; using Avalonia.Controls.Presenters; using Avalonia.Controls.Primitives; using Avalonia.Controls.Templates; using Avalonia.Data; using Avalonia.Data.Converters; using Avalonia.Input; using Avalonia.Layout; using Avalonia.Styling; namespace AtomUI.Controls; internal abstract class BaseButtonTheme : BaseControlTheme { public const string FramePart = "PART_Frame"; public const string LabelPart = "PART_Label"; public const string MainInfoLayoutPart = "PART_MainInfoLayout"; public const string RootLayoutPart = "PART_RootLayout"; public const string LoadingIconPart = "PART_LoadingIcon"; public const string ButtonIconPart = "PART_ButtonIcon"; public const string RightExtraContentPart = "PART_RightExtraContent"; public const string RightExtraLayoutPart = "PART_RightExtraLayout"; public BaseButtonTheme(Type targetType) : base(targetType) { } protected override IControlTemplate BuildControlTemplate() { return new FuncControlTemplate