Switch()

Creates a Material Design toggle switch with labels for both on and off states. Ideal for binary settings.

Syntax
Result = MaterialSB::Switch(LabelOff.s, LabelOn.s, Flags = #Switch_Default, Parent = #Null)
Parameters
LabelOff.s The label text displayed on the left (off state).
LabelOn.s The label text displayed on the right (on state).
Flags Optional. Combination of switch flags for initial state.
Parent Optional. Parent element. If #Null, uses the current parent from the stack.
Flags
FlagDescription
#Switch_DefaultStandard switch, initially off (default)
#Switch_CheckedInitially on state
#Switch_DisabledDisabled state
Return Value

Returns the switch checkbox input element. Access the checked property to get/set state.

Example
Global darkModeSwitch

Procedure ToggleDarkMode()
  Protected isOn
  !v_ison = v_darkmodeswitch.checked;
  MaterialSB::SetDarkTheme(isOn)
  If isOn
    MaterialSB::Toast("Dark mode enabled")
  Else
    MaterialSB::Toast("Light mode enabled")
  EndIf
EndProcedure

Procedure Main(Success)
  If Success
    MaterialSB::Row(MaterialSB::#Grid_Container)
      MaterialSB::Col(12, 6)
        MaterialSB::Card()
          MaterialSB::CardContent()
            MaterialSB::Append(MaterialSB::Header("Settings", 4))
            
            ; Dark mode switch with callback
            darkModeSwitch = MaterialSB::Switch("Light", "Dark", MaterialSB::#Switch_Checked)
            MaterialSB::InputSetCallback(darkModeSwitch, @ToggleDarkMode())
            
            ; Notifications switch
            MaterialSB::Switch("Off", "On")
            MaterialSB::Append(MaterialSB::Paragraph("Email notifications"))
            
            ; Disabled switch
            MaterialSB::Switch("Disabled", "Enabled", MaterialSB::#Switch_Disabled)
            MaterialSB::Append(MaterialSB::Paragraph("Premium feature"))
            
          MaterialSB::CloseCurrentParent()
        MaterialSB::CloseCurrentParent()
      MaterialSB::CloseCurrentParent()
    MaterialSB::CloseCurrentParent()
  EndIf
EndProcedure

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

Checkbox(), Radio(), InputSetCallback(), SetDarkTheme()