Button

Button widget, wraps and styles a regular <button> element. Can display text and icon and also allows specifying button color. Supports different appearances, by setting rendition to one of:

  • 'text' - Flat appearance with text only, no background or border
  • 'outlined' - Transparent button with border
  • 'tonal' - Flat appearance with "soft" background color
  • 'filled' - Flat appearance with stronger background color
  • 'elevated' - Raised appearance

Button renditions
//<code-header>
fiddle.title = 'Button renditions';
//</code-header>
targetElement.style.gridTemplateColumns = 'auto auto auto auto';
const
    onClick = () => Toast.show('Button clicked'),
    renditions = ['text', 'outlined', 'tonal', 'filled', 'elevated'];

for (const rendition of renditions) {
    new Button({
        appendTo : targetElement,
        text     : StringHelper.capitalize(rendition),
        width    : '9em',
        rendition,
        onClick
    });

    new Button({
        appendTo : targetElement,
        icon     : 'fa-flask',
        text     : StringHelper.capitalize(rendition),
        width    : '9em',
        rendition,
        onClick
    });

    new Button({
        appendTo : targetElement,
        icon     : 'fa-cog',
        rendition,
        onClick
    });

    new Button({
        appendTo : targetElement,
        icon     : 'fa-times',
        disabled : true,
        rendition,
        onClick
    });
}

// Green button with text and icon
const button = new Button({
    appendTo : document.body,
    icon    : 'fa-plus-circle',
    text    : 'Add',
    color   : 'b-green',
    onClick : () => {}
});

Button with menu

Buttons can also have a menu that is shown on click, or on click or hover of only the menu icon part of the button (if split is set):

Button with menu
//<code-header>
fiddle.title = 'Button with menu';
//</code-header>

const renditions = ['text', 'outlined', 'tonal', 'filled', 'elevated'];

for (const rendition of renditions) {
    new Button({
        appendTo : targetElement,
        icon     : 'fa-chart-line',
        rendition,
        menu     : [
            { icon : 'fa fa-chart-pie', text : 'Item 1', onItem : () => console.log('Item 1 activated') },
            { icon : 'fa fa-chart-bar', text : 'Item 2', onItem : () => console.log('Item 2 activated') }
        ]
    });

    new Button({
        rendition,
        text     : 'Settings button',
        icon     : 'fa-cog',
        appendTo : targetElement,
        menu     : {

            // Other menu configs can be passed here

            items : [
                { icon : 'fa fa-hammer', text : 'Item 1', onItem : () => console.log('Item 1 activated') },
                { icon : 'fa fa-wrench', text : 'Item 2', onItem : () => console.log('Item 2 activated') }
            ]
        }
    });

    new Button({
        rendition,
        text     : 'Settings button',
        icon     : 'fa-cog',
        appendTo : targetElement,
        split    : 'hover',
        menu     : {

            // Other menu configs can be passed here

            items : [
                { icon : 'fa fa-hammer', text : 'Item 1', onItem : () => console.log('Item 1 activated') },
                { icon : 'fa fa-wrench', text : 'Item 2', onItem : () => console.log('Item 2 activated') }
            ]
        }
    });
}

const button = new Button({
    appendTo : document.body,
    icon    : 'fa-chart',
    menu    : {
        items : [
            {
                text : 'Click me',
                onItem : () => console.log('I was clicked')
            }
        ]
    }
});

Click handling in a complex widget

In the case of a button which is part of a complex UI within a larger Bryntum widget, use of the string form for handlers is advised. A handler which starts with 'up.' will be resolved by looking in owning widgets of the Button. For example a Calendar may have handlers for its buttons configured in:

new Calendar({
    appendTo : document.body,
    project  : myProjectConfig,
    sidebar  : {
        items : {
            addNew : {
                weight  : 0,
                text    : 'New',

                // The Button's ownership will be traversed to find this function name.
                // It will be called on the outermost Calendar widget.
                onClick : 'up.onAddNewClick'
            }
        }
    },

    // Button handler found here
    onAddNewClick() {
        // Use Calendar API which creates event in the currently active date
        this.createEvent();
    }
});

This class may be operated by the keyboard. Space presses the button and invokes any click handler, and ArrowDown activates any configured menu.

Configs

92

Common

listenersEvents

Other

behaviorType: button | submit | reset= buttonAlso a property

The button behavioral type, will be applied as a type attribute to this button's element.

If provided, turns the button into a link.

Not compatible with the adopt config.

Button icon class, a developer-defined CSS class string which results in the desired icon.

Note that demos use Font Awesome icons, but no icons are actually built in.

This may also be configured as the URL of an image (Detected by searching for a / in the string).

iconAlign: start | end= startAlso a property

Button icon alignment. May be 'start' or 'end'. Defaults to 'start'

A submenu configuration object, or an array of MenuItem configuration objects from which to create a submenu which is shown when this button is pressed.

Note that this does not have to be a Menu. The type config can be used to specify any widget as the submenu.

May also be specified as a fully instantiated floating Widget such as a Popup.

menuIcon: String= b-icon-pickerAlso a property

The menu icon class to show when the button has a menu. Set to null to not show a menu icon.

Note that demos use Font Awesome icons, but no icons are actually built in.

pressed: Boolean= falseAlso a property

Initially pressed or not. Only applies with toggleable = true.

const toggleButton = new Button({
   toggleable : true,
   text : 'Enable cool action'
});

A CSS class to add to the pressed state of the button. A b-pressed CSS class is always added, when a button is pressed.

Icon class for the buttons pressed state, a developer-defined CSS class string which results in the desired icon. Only applies to toggle buttons

Note that demos use Font Awesome icons, but no icons are actually built in.

new Button({
   // Icon for unpressed button
   icon        : 'fa-wine-glass',

   // Icon for pressed button
   pressedIcon : 'fa-wine-glass-alt',

   // Only applies to toggle buttons
   toggleable  : true
});
rendition: elevated | filled | tonal | outlined | text | StringAlso a property

Predefined style to use for the button. Possible values are:

  • 'elevated' - Raised button with box-shadow
  • 'filled' - Filled with the primary color
  • 'tonal' - Filled with a faded shade of the primary color
  • 'outlined' - Outlined with borders and pale or transparent fill
  • 'text' - Transparent text-only button

The supplied value will be part of the button's class list, as b-button-{rendition}.

If no value is provided, a default rendition will be determined based on the theme.

split: Boolean | mouseover | hover= falseAlso a property

Set to true to create a split button. A split button has a main action and a dropdown arrow to show a menu.

The menu only shows when the arrow is clicked, not when the main button is clicked.

Set to 'mouseover' to show the menu when hovering the arrow part of the button as well as when toggling by clicking it.

Set to 'hover' to show the menu only when hovering the arrow part of the button - the menu will hide when the mouse leaves the icon to outside of the icon or menu.

The button will only toggle its pressed state and action its click handler when the main part of the button is clicked.

supportsPressedClick: Boolean= false

Set to true to perform action on clicking the button if it's already pressed and belongs to a toggleGroup.

The tab index of the button, or null for natural tab order (recommended). Setting to 0 is equivalent to natural tab order, but is unnecessary for buttons since they are naturally tabbable (i.e., accessible via the TAB key). Setting to -1 disables tabbability but allows for focus to be set to the element programmatically.

From MDN documentation:

Warning: You are recommended to only use 0 and -1 as tabindex values. Avoid using tabindex values greater than 0 and CSS properties that can change the order of focusable HTML elements (Ordering flex items). Doing so makes it difficult for people who rely on using keyboard for navigation or assistive technology to navigate and operate page content. Instead, write the document with the elements in a logical sequence.

The target attribute for the href config

The button's text. You can also supply a DomConfig or an array of DomConfigs for complex button content.

Enabled toggling of the button (stays pressed when pressed).

Indicates that this button is part of a group where only one button can be pressed. Assigning a value also sets toggleable to true.

When part of a ButtonGroup, you can set toggleGroup on it as an alternative to on each button. This config can then be used to override that value if needed.

const yesButton = new Button({
   toggleGroup : 'yesno',
   text        : 'Yes'
});

const noButton = new Button({
   toggleGroup : 'yesno',
   text        : 'No'
});
columnWidget
rtlRTL
spanWidget

Accessibility

ariaLabelWidget
keyMapKeyMap

CSS

clsWidget
colorWidget
htmlClsWidget
styleWidget
uiWidget

DOM

adoptWidget
appendToWidget
contentWidget
datasetWidget
htmlWidget
idWidget
tagWidget
titleWidget

Float & align

alignWidget
anchorWidget
centeredWidget
draggableWidget
floatingWidget
xWidget
yWidget

Layout

alignSelfWidget
dockWidget
flexWidget
heightWidget
hiddenWidget
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
textAlignWidget
weightWidget
widthWidget

Misc

badgeBadge
dataFieldWidget
disabledWidget
localeClassLocalizable
localizableLocalizable
maskedWidget
ownerWidget
readOnlyWidget
refWidget
rippleWidget
tabWidget
tooltipWidget

Scrolling

Properties

83

Class hierarchy

isButton: Boolean= truereadonly
Identifies an object as an instance of Button class, or subclass thereof.
isButton: Boolean= truereadonlystatic
Identifies an object as an instance of Button class, or subclass thereof.
isBadgeBadge
isDelayableDelayable
isEventsEvents
isKeyMapKeyMap
isLocalizableLocalizable
isWidgetWidget

Other

behaviorType: button | submit | reset= buttonAlso a config

The button behavioral type, will be applied as a type attribute to this button's element.

If provided, turns the button into a link.

Not compatible with the adopt config.

Button icon class, a developer-defined CSS class string which results in the desired icon.

Note that demos use Font Awesome icons, but no icons are actually built in.

This may also be configured as the URL of an image (Detected by searching for a / in the string).

iconAlign: start | end= startAlso a config

Button icon alignment. May be 'start' or 'end'. Defaults to 'start'

Returns the instantiated menu widget as configured by menu.

menuIcon: String= b-icon-pickerAlso a config

The menu icon class to show when the button has a menu. Set to null to not show a menu icon.

Note that demos use Font Awesome icons, but no icons are actually built in.

pressed: Boolean= falseAlso a config

Initially pressed or not. Only applies with toggleable = true.

const toggleButton = new Button({
   toggleable : true,
   text : 'Enable cool action'
});

A CSS class to add to the pressed state of the button. A b-pressed CSS class is always added, when a button is pressed.

Icon class for the buttons pressed state, a developer-defined CSS class string which results in the desired icon. Only applies to toggle buttons

Note that demos use Font Awesome icons, but no icons are actually built in.

new Button({
   // Icon for unpressed button
   icon        : 'fa-wine-glass',

   // Icon for pressed button
   pressedIcon : 'fa-wine-glass-alt',

   // Only applies to toggle buttons
   toggleable  : true
});
rendition: elevated | filled | tonal | outlined | text | StringAlso a config

Predefined style to use for the button. Possible values are:

  • 'elevated' - Raised button with box-shadow
  • 'filled' - Filled with the primary color
  • 'tonal' - Filled with a faded shade of the primary color
  • 'outlined' - Outlined with borders and pale or transparent fill
  • 'text' - Transparent text-only button

The supplied value will be part of the button's class list, as b-button-{rendition}.

If no value is provided, a default rendition will be determined based on the theme.

split: Boolean | mouseover | hover= falseAlso a config

Set to true to create a split button. A split button has a main action and a dropdown arrow to show a menu.

The menu only shows when the arrow is clicked, not when the main button is clicked.

Set to 'mouseover' to show the menu when hovering the arrow part of the button as well as when toggling by clicking it.

Set to 'hover' to show the menu only when hovering the arrow part of the button - the menu will hide when the mouse leaves the icon to outside of the icon or menu.

The button will only toggle its pressed state and action its click handler when the main part of the button is clicked.

The tab index of the button, or null for natural tab order (recommended). Setting to 0 is equivalent to natural tab order, but is unnecessary for buttons since they are naturally tabbable (i.e., accessible via the TAB key). Setting to -1 disables tabbability but allows for focus to be set to the element programmatically.

From MDN documentation:

Warning: You are recommended to only use 0 and -1 as tabindex values. Avoid using tabindex values greater than 0 and CSS properties that can change the order of focusable HTML elements (Ordering flex items). Doing so makes it difficult for people who rely on using keyboard for navigation or assistive technology to navigate and operate page content. Instead, write the document with the elements in a logical sequence.

The target attribute for the href config

The button's text. You can also supply a DomConfig or an array of DomConfigs for complex button content.

toggleable: Boolean= falseAlso a config

Enabled toggling of the button (stays pressed when pressed).

Indicates that this button is part of a group where only one button can be pressed. Assigning a value also sets toggleable to true.

When part of a ButtonGroup, you can set toggleGroup on it as an alternative to on each button. This config can then be used to override that value if needed.

const yesButton = new Button({
   toggleGroup : 'yesno',
   text        : 'Yes'
});

const noButton = new Button({
   toggleGroup : 'yesno',
   text        : 'No'
});
$namestaticWidget
columnWidget
rtlRTL
spanWidget
typestaticWidget

Accessibility

keyMapKeyMap

CSS

clsWidget

DOM

appendToWidget
contentWidget
datasetWidget
elementWidget
htmlWidget
idWidget
styleWidget

Float & align

xWidget
yWidget

Layout

alignSelfWidget
flexWidget
heightWidget
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
widthWidget

Lifecycle

configBase

Misc

badgeBadge
cellInfoWidget
disabledWidget
localeHelperLocalizable
localeManagerLocalizable
readOnlyWidget
refWidget
tabWidget
tooltipWidget

Visibility

hiddenWidget
isVisibleWidget

Widget hierarchy

ownerWidget
parentWidget

Functions

59

Other

Iterate over all widgets owned by this widget and any descendants.

Note: Due to this method aborting when the function returns false, beware of using short form arrow functions. If the expression executed evaluates to false, iteration will terminate.

Due to the menu config being a lazy config and only being converted to be a Menu instance just before it's shown, the menu will not be part of the iteration before it has been shown once.

ParameterTypeDescription
fnfunction

A function to execute upon all descendant widgets. Iteration terminates if this function returns false.

deepBoolean

Pass as false to only consider immediate child widgets.

Returns: Boolean -

Returns true if iteration was not aborted by a step returning false

Toggle button state (only use with toggleable = true)

ParameterTypeDescription
pressedBoolean

Specify to force a certain toggle state

composeWidget
createOnFrameDelayable
disableWidget
enableWidget
focusWidget
LstaticLocalizable
maskWidget
onEvents
recomposeWidget
relayAllEvents
triggerEvents
unEvents
unmaskWidget

Configuration

applyDefaultsstaticBase

Events

Float & align

alignToWidget
setXYWidget
showByWidget
toFrontWidget

Lifecycle

createstaticWidget
destroystaticBase
initClassstaticWidget

Misc

attachTooltipstaticWidget
fromElementstaticWidget
fromSelectorstaticWidget
getByIdstaticWidget
isOfTypeNamestaticBase
mixinstaticBase
optionalLstaticLocalizable

Visibility

hideWidget
showWidget

Widget hierarchy

closestWidget
containsWidget
ownsWidget
queryWidget
queryAllWidget
upWidget

Events

19

Fires when the default action is performed (the button is clicked)

// Adding a listener using the "on" method
button.on('action', ({ source, event, domEvent }) => {

});
ParameterTypeDescription
sourceButton

The button

eventEvent

DEPRECATED - Use domEvent instead.

domEventEvent

The triggering DOM event. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

This event is triggered when the button's menu is about to be shown.

// Adding a listener using the "on" method
button.on('beforeShowMenu', ({ source, menu, userAction, domEvent }) => {

});
ParameterTypeDescription
sourceButton

This Button instance.

menuMenu

This button's menu instance.

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Fires before the button is toggled (the pressed state is changed). If the button is part of a toggleGroup and you need to process the pressed button only, consider using click event or action event. Return false to prevent the toggle to the new pressed state.

// Adding a listener using the "on" method
button.on('beforeToggle', ({ source, pressed, userAction, domEvent }) => {

});
ParameterTypeDescription
sourceButton

Toggled button

pressedBoolean

New pressed state

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Fires when the button is clicked

// Adding a listener using the "on" method
button.on('click', ({ source, event, domEvent }) => {

});
ParameterTypeDescription
sourceButton

The button

eventEvent

DEPRECATED - Use domEvent instead.

domEventEvent

The triggering DOM event. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Fires when the button is toggled via a UI interaction (the pressed state is changed). If the button is part of a toggleGroup and you need to process the pressed button only, consider using click event or action event.

// Adding a listener using the "on" method
button.on('toggle', ({ source, pressed, userAction, domEvent }) => {

});
ParameterTypeDescription
sourceButton

Toggled button

pressedBoolean

New pressed state

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

catchAllEvents
destroyEvents
focusInWidget
focusOutWidget
hideWidget
paintWidget
readOnlyWidget
recomposeWidget
resizeWidget
showWidget

Event handlers

19

Called when the default action is performed (the button is clicked)

new Button({
    onAction({ source, event, domEvent }) {

    }
});
ParameterTypeDescription
sourceButton

The button

eventEvent

DEPRECATED - Use domEvent instead.

domEventEvent

The triggering DOM event. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

This event is called when the button's menu is about to be shown.

new Button({
    onBeforeShowMenu({ source, menu, userAction, domEvent }) {

    }
});
ParameterTypeDescription
sourceButton

This Button instance.

menuMenu

This button's menu instance.

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Called before the button is toggled (the pressed state is changed). If the button is part of a toggleGroup and you need to process the pressed button only, consider using click event or action event. Return false to prevent the toggle to the new pressed state.

new Button({
    onBeforeToggle({ source, pressed, userAction, domEvent }) {

    }
});
ParameterTypeDescription
sourceButton

Toggled button

pressedBoolean

New pressed state

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Called when the button is clicked

new Button({
    onClick({ source, event, domEvent }) {

    }
});
ParameterTypeDescription
sourceButton

The button

eventEvent

DEPRECATED - Use domEvent instead.

domEventEvent

The triggering DOM event. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

Called when the button is toggled via a UI interaction (the pressed state is changed). If the button is part of a toggleGroup and you need to process the pressed button only, consider using click event or action event.

new Button({
    onToggle({ source, pressed, userAction, domEvent }) {

    }
});
ParameterTypeDescription
sourceButton

Toggled button

pressedBoolean

New pressed state

userActionBoolean

true if the toggle was triggered by a user action (click), false if it was triggered programmatically.

domEventEvent

The original DOM event that triggered the action, if any. Using the pointerType property of this event can help determine if it was a mouse, touch or pen action.

onDestroyEvents
onFocusInWidget
onHideWidget
onPaintWidget
onResizeWidget
onShowWidget

Typedefs

6

CSS variables

100
NameDescription
--b-button-box-shadowButton box-shadow, overridden by renditions
--b-button-text-alignButton text-align
--b-button-icon-only-border-radiusBorder-radius for icon-only buttons
--b-button-font-weightButton text font-weight
--b-button-gapGap between icon and label
--b-button-heightButton height
--b-button-icon-padding-inlineInline padding for buttons with icon
--b-button-end-icon-padding-inlineInline padding for buttons with icon at the end
--b-button-menu-padding-inlineInline padding for buttons with menu
--b-button-opacityButton opacity
--b-button-padding-inlineText-only button inline padding
--b-button-border-radiusButton border-radius
--b-button-elevated-box-shadowElevatedBox-shadow for elevated buttons
--b-button-elevated-colorElevatedText color for elevated buttons
--b-button-filled-colorFilledText color for filled buttons
--b-button-tonal-border-widthTonalBorder width for tonal buttons
--b-button-outlined-border-widthOutlinedBorder width for outlined buttons
--b-button-outlined-border-colorOutlinedBorder color for outlined buttons
--b-button-outlined-backgroundOutlinedBackground for outlined buttons
--b-button-type-text-backgroundTextBackground for text buttons
--b-button-elevated-backgroundElevatedBackground for elevated buttons
--b-button-filled-backgroundFilledBackground for filled buttons
--b-button-outlined-hover-border-colorOutlinedBorder color for hovered outlined buttons
--b-button-outlined-colorOutlinedText color for outlined buttons
--b-button-tonal-backgroundTonalBackground for tonal buttons
--b-button-tonal-colorTonalText color for tonal buttons
--b-button-tonal-border-colorTonalBorder color for tonal buttons
--b-button-type-text-colorTextText color for text buttons
Active
--b-button-active-box-shadowBox-shadow for active buttons, overridden by renditions
--b-button-elevated-active-box-shadowElevatedBox-shadow for active elevated buttons
--b-button-elevated-active-backgroundElevatedBackground for active elevated buttons
--b-button-filled-active-backgroundFilledBackground for active filled buttons
--b-button-outlined-active-backgroundOutlinedBackground for active outlined buttons
--b-button-tonal-active-backgroundTonalBackground for active tonal buttons
--b-button-type-text-active-backgroundTextBackground for active text buttons
Disabled
--b-button-disabled-opacityOpacity for disabled buttons
--b-button-disabled-border-colorBorder-color for disabled buttons
--b-button-outlined-disabled-backgroundOutlinedBackground for disabled outlined buttons
--b-button-outlined-disabled-border-colorOutlinedBorder color for disabled outlined buttons
--b-button-type-text-disabled-backgroundTextBackground for disabled text buttons
--b-button-disabled-backgroundBackground for disabled buttons
--b-button-disabled-colorDisabled button text color
Focused
--b-button-focus-outline-widthFocus outline width
--b-button-focus-outline-offsetFocus outline offset
--b-button-focus-box-shadowBox-shadow for focused buttons, overridden by renditions
--b-button-focus-border-colorBorder-color for focused buttons, overridden by renditions
--b-button-elevated-focus-box-shadowElevatedBox-shadow for focused elevated buttons
--b-button-outlined-focus-border-colorOutlinedBorder color for focused outlined buttons
--b-button-type-text-focused-backgroundBackground for focused text buttons
--b-button-focus-outline-colorFocus outline color
--b-button-elevated-focused-backgroundElevatedBackground for focused elevated buttons
--b-button-filled-focused-backgroundFilledBackground for focused filled buttons
--b-button-outlined-focused-backgroundOutlinedBackground for focused outlined buttons
--b-button-tonal-focused-backgroundTonalBackground for focused tonal buttons
Hovered
--b-button-hover-box-shadowBox-shadow for hovered buttons, overridden by renditions
--b-button-elevated-hover-box-shadowElevatedBox-shadow for hovered elevated buttons
--b-button-filled-hover-box-shadowFilledBox-shadow for hovered filled buttons
--b-button-tonal-hover-box-shadowTonalBox-shadow for hovered tonal buttons
--b-button-elevated-hover-backgroundElevatedBackground for hovered elevated buttons
--b-button-filled-hover-backgroundFilledBackground for hovered filled buttons
--b-button-outlined-hover-backgroundOutlinedBackground for hovered outlined buttons
--b-button-tonal-hover-backgroundTonalBackground for hovered tonal buttons
--b-button-type-text-hover-backgroundTextBackground for hovered text buttons
Pressed
--b-button-pressed-box-shadowBox-shadow for pressed buttons, overridden by renditions
--b-button-outlined-pressed-colorOutlinedText color for pressed outlined buttons
--b-button-elevated-pressed-backgroundElevatedBackground for pressed elevated buttons
--b-button-elevated-pressed-hover-backgroundElevatedBackground for hovered pressed elevated buttons
--b-button-filled-pressed-backgroundFilledBackground for pressed filled buttons
--b-button-filled-pressed-hover-backgroundFilledBackground for hovered pressed filled buttons
--b-button-outlined-pressed-backgroundOutlinedBackground for pressed outlined buttons
--b-button-outlined-pressed-hover-backgroundOutlinedBackground for hovered pressed outlined buttons
--b-button-tonal-pressed-backgroundTonalBackground for pressed tonal buttons
--b-button-tonal-pressed-hover-backgroundTonalBackground for hovered pressed tonal buttons
--b-button-type-text-pressed-backgroundTextBackground for pressed text buttons
--b-button-type-text-pressed-hover-backgroundTextBackground for hovered pressed text buttons

Inherited