Button()

Creates a Material Design button with various style variants and a click callback.

Syntax
Result = MaterialSB::Button(Text.s, *Callback, Flags = #Button_Default, Parent = #Null)
Parameters
Parameter Description
Text.s The button label text.
*Callback Procedure address to call when the button is clicked, or #Null for no callback.
Flags (Optional) Button style and behavior flags. Can be combined with |.
Parent (Optional) Parent element. Uses current parent if #Null.
Flags
Flag Description
#Button_Default Standard filled button (default).
#Button_Tonal Tonal button variant with muted fill.
#Button_Outlined Button with outline border only.
#Button_Elevated Button with elevation shadow.
#Button_Text Text-only button with no background.
#Button_Floating Floating action button (FAB) style.
#Button_Large Large button size.
#Button_Small Small button size.
#Button_IconLeft Position icon on the left side.
#Button_Disabled Disabled button state.
Return Value

Returns the button DOM element.

Remarks

Buttons automatically have a 5-pixel margin applied. To add color, use AddClass() with a color constant.

Example
Procedure OnClickSave()
  MaterialSB::Toast("Saved!", 2000)
EndProcedure

Procedure OnClickCancel()
  MaterialSB::Toast("Cancelled", 2000)
EndProcedure

Procedure Main(Success)
  If Success
    MaterialSB::Row(MaterialSB::#Grid_Container)
      MaterialSB::Col(12)
        ; Standard filled button
        MaterialSB::Button("Save", @OnClickSave())
        
        ; Outlined button
        MaterialSB::Button("Cancel", @OnClickCancel(), MaterialSB::#Button_Outlined)
        
        ; Large tonal button
        MaterialSB::Button("Submit", #Null, MaterialSB::#Button_Tonal | MaterialSB::#Button_Large)
        
        ; Floating action button
        fab = MaterialSB::Button("+", @OnClickSave(), MaterialSB::#Button_Floating)
        MaterialSB::AddClass(fab, "red")
        
        ; Disabled button
        MaterialSB::Button("Disabled", #Null, MaterialSB::#Button_Disabled)
      MaterialSB::CloseCurrentParent()
    MaterialSB::CloseCurrentParent()
  EndIf
EndProcedure

MaterialSB::Download(@Main())
See Also

ButtonSetCallback(), AddClass(), Colors