namespace Sandbox.UI { /// /// A panel containing an icon, typically a material icon. /// [Library( "IconPanel" ), Alias( "icon", "i" ),] public class IconPanel : Label { public IconPanel() { AddClass( "iconpanel" ); } public IconPanel( string icon, string classes = null ) : base() { Text = icon; AddClass( classes ); } } namespace Construct { public static class IconPanelConstructor { /// /// Create and return an icon (panel) with given icon and optionally given CSS classes. /// public static IconPanel Icon( this PanelCreator self, string icon, string classes = null ) { var control = self.panel.AddChild(); if ( icon != null ) control.Text = icon; if ( classes != null ) control.AddClass( classes ); return control; } } } }