Aura Components in the ui Namespace Are Being Deprecated
Where: This change applies to orgs with Lightning components in Lightning Experience, Salesforce Classic, and all versions of the Salesforce mobile app.
When: Support for deprecated Aura components in the ui namespace ends on May 1, 2021. You can continue to use these components beyond May 1, 2021, but we are not accepting support cases for them after that date.
Why: Retiring our legacy components enables us to focus on components that match the latest web standards in performance, accessibility, user experience, and internationalization.
How: Replace the deprecated components with their counterparts in the lightning namespace. These components are faster, more efficient, and they implement Lightning Design System styling out-of-the-box.
The deprecated Aura components and their recommended alternatives are listed as follows.
- ui:actionMenuItem
- Use lightning:menuItem with lightning:buttonMenu instead.
- ui:button
- Use lightning:button, lightning:buttonIcon, or lightning:buttonIconStateful. For button groups, use lightning:buttonGroup.
- ui:checkboxMenuItem
- Use lightning:menuItem with lightning:buttonMenu instead.
- ui:inputCheckbox
- Use lightning:input with checkbox, toggle, or checkbox-button type instead. For checkbox groups, use lightning:checkboxGroup.
- ui:inputCurrency
- Use lightning:input with number type and currency formatter instead.
- ui:inputDate
- Use lightning:input with date type instead.
- ui:inputDateTime
- Use lightning:input with datetime type instead.
- ui:inputDefaultError
- Use lightning:input with built-in field validation instead.
- ui:inputEmail
- Use lightning:input with email type instead.
- ui:inputNumber
- Use lightning:input with number type instead.
- ui:inputPhone
- Use lightning:input with phone type instead.
- ui:inputRadio
- Use lightning:input with radio type instead. For radio groups, use lightning:radioGroup.
- ui:inputRichText
- Use lightning:inputRichText instead.
- ui:inputSecret
- Use lightning:input with password type instead.
- ui:inputSelect
- Use lightning:select or lightning:combobox instead.
- ui:inputSelectOption
- Use lightning:select or lightning:combobox instead.
- ui:inputText
- Use lightning:input with text type instead.
- ui:inputTextArea
- Use lightning:textarea instead.
- ui:inputURL
- Use lightning:input with url type instead.
- ui:menu
- Use lightning:buttonMenu instead.
- ui:menuItem
- Use lightning:menuItem with lightning:buttonMenu instead.
- ui:menuItemSeparator
- Use lightning:menuDivider with lightning:buttonMenu instead.
- ui:menuList
- Use lightning:buttonMenu instead.
- ui:menuTrigger
- Use lightning:buttonMenu instead.
- ui:menuTriggerLink
- Use lightning:buttonMenu instead.
- ui:message
- Use lightning:notificationsLibrary instead.
- ui:outputCheckbox
- Use lightning:input with checkbox type and set readonly to true.
- ui:outputCurrency
- Use lightning:formattedNumber with style set to currency.
- ui:outputDate
- Use lightning:formattedDateTime instead.
- ui:outputDateTime
- Use lightning:formattedDateTime or lightning:formattedTime instead.
- ui:outputEmail
- Use lightning:formattedEmail instead.
- ui:outputNumber
- Use lightning:formattedNumber instead.
- ui:outputPhone
- Use lightning:formattedPhone instead.
- ui:outputRichText
- Use lightning:formattedRichText instead.
- ui:outputText
- Use lightning:formattedText instead.
- ui:outputTextArea
- Use lightning:formattedText instead.
- ui:outputURL
- Use lightning:formattedUrl instead.
- ui:radioMenuItem
- Use lightning:menuItem with lightning:buttonMenu instead.
- ui:spinner
- Use lightning:spinner instead.