name: Expression description: A formula builder interface that allows users to construct complex expressions, calculations, and logical conditions through visual components, operators, and functions with syntax validation and auto-completion. category: Input slds_classes: root: '' elements: - class: slds-expression__group description: Logical grouping container for expression elements purpose: Groups related expression components together - class: slds-expression__row description: Individual row within expression builder purpose: Contains a single expression statement or condition - class: slds-expression__buttons description: Action buttons for expression manipulation purpose: Contains add, remove, and group action buttons modifiers: [] states: - class: slds-has-error description: Error state for invalid expressions trigger: Applied when expression syntax is invalid - class: slds-is-editing description: Active editing state trigger: Applied when user is actively editing expression variants: - name: Base description: Standard expression builder interface classes: [] usage_context: Default implementation for expression building differences: Basic expression builder with fields and operators - name: Compound description: Multi-condition expression builder classes: [] usage_context: When multiple logical conditions are needed differences: Support for AND/OR logic and grouped conditions - name: Advanced description: Advanced expression builder with functions classes: [] usage_context: When complex calculations and functions are required differences: Includes function library and advanced operators lightning_component: name: No direct component url: https://developer.salesforce.com/docs/component-library/overview/components mapping_notes: No direct Lightning Base Component equivalent - typically implemented using custom components with lightning-combobox and lightning-input patterns accessibility: keyboard_support: - Tab navigation through expression elements - Enter/Space to activate buttons and dropdowns - Arrow keys for navigating expression components - Delete/Backspace to remove expression elements screen_reader: - Expression structure and logic announced - Field and operator selections described - Validation errors clearly communicated - Expression summary provided aria_attributes: - role='group' for expression sections - aria-label for expression components - aria-describedby for validation messages - aria-expanded for collapsible groups - aria-invalid for error states usage_guidelines: when_to_use: - For building complex business rules and formulas - When users need to create calculated fields - For advanced filtering and search criteria - In workflow and automation rule builders when_not_to_use: - For simple single-field filters (use basic inputs) - When users don't need complex logic - For purely visual/design-related conditions best_practices: - Provide clear field and operator labels - Include helpful examples and documentation - Validate expressions in real-time - Offer function assistance and auto-completion - Group related conditions logically common_mistakes: - Poor validation feedback - Overwhelming users with too many options - Unclear operator meanings - Not providing expression examples code_examples: - title: Basic Expression Builder description: Advanced expression builder including functions and calculations code: "
\n
\n
\n
\n
\n
\n
\n \n\ \
\n
\n
\n \ \
\n \ \ \n \ \ \n \ \ \n \ \ \n \n\ \ \n
\n
\n \ \
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n \ \
\n
\n )\n
\n
\n
\n
\n
\n \n\ \
\n
\n SUM(Opportunity.Amount)\n
\n
\n \ \
\n
\n
\n
\n
\n \n\ \ \n \n
\n
\n
\n
\n" dependencies: css_files: - expression.css - form-element.css - combobox.css - button.css javascript: - expression.js icons: - utility-sprite.svg other_components: - form-element - combobox - button - select - input related_components: - name: Form Element relationship: container description: Uses form elements for input controls - name: Combobox relationship: depends-on description: Uses combobox for field and function selection - name: Visual Picker relationship: alternative description: Alternative for simpler selection scenarios references: official_docs: https://v1.lightningdesignsystem.com/components/expression/ metadata: version: 1.0.0 last_updated: '2025-11-12' review_status: complete notes: ' Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.'