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
| Flag | Description |
|---|---|
#Switch_Default | Standard switch, initially off (default) |
#Switch_Checked | Initially on state |
#Switch_Disabled | Disabled 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())