Button Widget
The Button widget creates interactive clickable buttons that can trigger various actions within your interface. This widget provides extensive customization options for appearance, behavior, and functionality.
OverviewDirect link to Overview
The Button widget is a versatile UI component that allows users to trigger actions, submit forms, navigate between pages, or execute custom functions. It supports multiple visual styles, sizes, icons, and positioning options.

Basic ConfigurationDirect link to Basic Configuration
Global SettingsDirect link to Global Settings
NameDirect link to Name
- Field: Name
- Description: Display name for the button
- Type: Text input
- Usage: This text appears on the button and can be translated
Variable/ModelDirect link to Variable/Model
- Field: Variable/Model
- Description: The data model or variable name associated with this button
- Type: Text input
- Usage: Used for data binding and referencing the button in scripts
Button PropertiesDirect link to Button Properties
Button TypeDirect link to Button Type
- Field: Button Type
- Options:
primary- Primary action button (typically blue)success- Success/confirmation button (typically green)info- Informational button (typically light blue)warning- Warning button (typically orange/yellow)danger- Destructive action button (typically red)
- Default:
primary
Size OptionsDirect link to Size Options
- Field: Size
- Options:
medium- Standard size buttonsmall- Smaller buttonmini- Minimal size button
- Default:
medium
AlignmentDirect link to Alignment
- Field: Float
- Options:
left- Align button to the leftcenter- Center the buttonright- Align button to the right
- Default:
left
Icon ConfigurationDirect link to Icon Configuration
Prefix IconDirect link to Prefix Icon
- Field: Prefix Icon
- Description: Icon displayed before the button text
- Type: Icon selector
- Usage: Choose from available icon library
Suffix IconDirect link to Suffix Icon
- Field: Suffix Icon
- Description: Icon displayed after the button text
- Type: Icon selector
- Usage: Choose from available icon library

Actions ConfigurationDirect link to Actions Configuration
On Click ActionDirect link to On Click Action
The button supports comprehensive action configuration through a dedicated action editor:
- Script Execution: Execute custom JavaScript code
- Form Submission: Submit parent form data
- Navigation: Navigate to other pages or URLs
- API Calls: Make HTTP requests to external services
- Variable Updates: Modify interface variables
- Function Calls: Trigger predefined functions
Action PropertiesDirect link to Action Properties
- SF_input: Access to input context and current data
- SF_currentIndex: Current index in loop contexts
- Loading State: Automatic loading indicator during action execution
- Error Handling: Built-in error management
Validation and VisibilityDirect link to Validation and Visibility
Screen-Based ValidationDirect link to Screen-Based Validation
Configure button behavior across different screens/contexts:
AvailableDirect link to Available
- Description: Controls if the button exists in the interface
- Type: Boolean or conditional expression
- Default:
true
VisibleDirect link to Visible
- Description: Controls button visibility
- Type: Boolean or conditional expression
- Options:
- Simple toggle (true/false)
- Advanced conditional expression using variables
RequiredDirect link to Required
- Description: Validation requirement (if part of form)
- Type: Boolean or conditional expression
- Context: Only applicable when button is part of form validation
DisabledDirect link to Disabled
- Description: Controls if button is interactive
- Type: Boolean or conditional expression
- Effect: Button appears grayed out and non-clickable when disabled

Advanced Conditional LogicDirect link to Advanced Conditional Logic
Use conditional expressions with interface variables:

Styling and AppearanceDirect link to Styling and Appearance
CSS ClassesDirect link to CSS Classes
- Field: Class
- Description: Custom CSS classes for styling
- Type: Text input (comma-separated)
- Usage: Apply custom styles or framework classes
Dynamic ClassesDirect link to Dynamic Classes
Advanced styling based on conditions:
- Dynamic Class Configuration: Apply classes conditionally
- State-Based Styling: Different styles for different states
- Responsive Classes: Classes that adapt to screen size
Layout OptionsDirect link to Layout Options
- Block vs Inline: Control button layout behavior
- Width: Custom width settings
- Height: Custom height settings

Usage ExamplesDirect link to Usage Examples
Basic ButtonDirect link to Basic Button

Button with IconsDirect link to Button with Icons
Action Button with Start ProcessDirect link to Action Button with Start Process

Conditional ButtonDirect link to Conditional Button

EventsDirect link to Events
onClickDirect link to onClick
- Trigger: When button is clicked
- Context: Provides access to current data and form state
- Parameters:
SF_input: Input context objectSF_currentIndex: Current loop index (if applicable)
Loading StatesDirect link to Loading States
- Automatic Loading: Button shows loading spinner during async operations
- Disabled During Loading: Button becomes non-interactive during action execution
Best PracticesDirect link to Best Practices
Action DesignDirect link to Action Design
- Clear Labels: Use descriptive button text
- Appropriate Types: Match button type to action severity
- Loading Feedback: Ensure async actions show loading states
- Error Handling: Implement proper error management
Visual DesignDirect link to Visual Design
- Consistent Sizing: Use consistent sizes within form groups
- Logical Positioning: Place primary actions prominently
- Icon Usage: Use icons to enhance, not replace, clear text
- Color Coding: Follow standard color conventions
AccessibilityDirect link to Accessibility
- Keyboard Navigation: Ensure buttons are keyboard accessible
- Screen Reader Support: Use meaningful button names
- Focus Management: Proper focus handling in forms
- Contrast: Ensure sufficient color contrast
Form IntegrationDirect link to Form Integration
- Validation Context: Consider button role in form validation
- Submit Behavior: Configure appropriate form submission
- Field Dependencies: Set up proper field relationships
Advanced FeaturesDirect link to Advanced Features
Form IntegrationDirect link to Form Integration
- Submit Forms: Automatically submit parent forms
- Validation Triggers: Trigger form validation
- Field Dependencies: React to other form field changes
Loop ContextDirect link to Loop Context
- Loop Integration: Special handling within data loops
- Index Access: Access to current loop iteration
- Dynamic Properties: Properties that change per loop item
Custom StylingDirect link to Custom Styling
- Theme Integration: Integrates with interface theme settings
- Responsive Design: Adapts to different screen sizes
- Custom CSS: Support for custom styling
TroubleshootingDirect link to Troubleshooting
Common IssuesDirect link to Common Issues
- Button Not Responding: Check if disabled or validation conditions
- Actions Not Executing: Verify action configuration and permissions
- Styling Issues: Check CSS class conflicts
- Loading States: Ensure async actions are properly handled
DebuggingDirect link to Debugging
- Browser Console: Check for JavaScript errors
- Network Tab: Monitor API calls during button actions
- State Inspection: Verify variable states and conditions