Button (button)

For actions in forms, dialogs, and more with support for multiple sizes, states, and more.

🔗 External documentation.

ID Label Description Schema
label Label The button label
url URL The button URL. Optional.
                        type: string
format: uri-reference

                      
size Size Buttons can be 4 different sizes, if no size is declared they will be the large size.
                        type: string
enum:
    - sm
    - md
    - lg
    - xl
default: xl

                      
            id: button
label: Button
description: 'For actions in forms, dialogs, and more with support for multiple sizes, states, and more. '
homepage: 'https://protocol.mozilla.org/components/detail/button--primary.html'
variants:
    primary:
        id: primary
        label: 'Primary (Default)'
        description: 'This is a primary button. It represents the primary action someone should take when they land on any given page. Primary buttons have a solid background color, and should be reserved for only one action per page.'
    primary__dark:
        id: primary__dark
        label: 'Primary Dark'
        description: 'This is a primary button displayed on a dark background.'
    secondary:
        id: secondary
        label: Secondary
        description: 'This is a secondary button with a hollow, transparent background. This button should be used for any additional actions someone can take on any given page that is different from the primary action.'
    secondary__dark:
        id: secondary__dark
        label: 'Secondary Dark'
        description: 'This is a secondary button displayed on a dark background.'
    product:
        id: product
        label: Product
        description: 'Use this theme style for product related actions.'
    product__secondary:
        id: product__secondary
        label: 'Product Secondary'
        description: 'This secondary button theme should be used when the CTA is not the main action a person should take on a page.'
    product__secondary__dark:
        id: product__secondary__dark
        label: 'Product Secondary Dark'
    neutral:
        id: neutral
        label: Neutral
        description: 'This is a neutral button.'
    neutral__dark:
        id: neutral__dark
        label: 'Neutral Dark'
        description: 'This is a neutral button with the dark theme.'
slots:
    label:
        id: label
        label: Label
        description: 'The button label'
props:
    url:
        id: url
        label: URL
        description: 'The button URL. Optional.'
        schema:
            type: string
            format: uri-reference
    size:
        id: size
        label: Size
        description: 'Buttons can be 4 different sizes, if no size is declared they will be the large size.'
        schema:
            type: string
            enum:
                - sm
                - md
                - lg
                - xl
            default: xl
examples:
    preview:
        id: preview
        label: Preview
        renderable:
            '@component': button
            label: Submit
            url: 'http://example.com'

          

Primary (Default) ( primary )

This is a primary button. It represents the primary action someone should take when they land on any given page. Primary buttons have a solid background color, and should be reserved for only one action per page.

<a class="mzp-t-primary mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Primary Dark ( primary__dark )

This is a primary button displayed on a dark background.

<a class="mzp-t-primary mzp-t-dark mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Secondary ( secondary )

This is a secondary button with a hollow, transparent background. This button should be used for any additional actions someone can take on any given page that is different from the primary action.

<a class="mzp-t-secondary mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Secondary Dark ( secondary__dark )

This is a secondary button displayed on a dark background.

<a class="mzp-t-secondary mzp-t-dark mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Product ( product )

Use this theme style for product related actions.

<a class="mzp-t-product mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Product Secondary ( product__secondary )

This secondary button theme should be used when the CTA is not the main action a person should take on a page.

<a class="mzp-t-product mzp-t-secondary mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Product Secondary Dark ( product__secondary__dark )

<a class="mzp-t-product mzp-t-secondary mzp-t-dark mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Neutral ( neutral )

This is a neutral button.

<a class="mzp-t-neutral mzp-t- mzp-c-button" href="http://example.com">Submit</a>

Neutral Dark ( neutral__dark )

This is a neutral button with the dark theme.

<a class="mzp-t-neutral mzp-t-dark mzp-t- mzp-c-button" href="http://example.com">Submit</a>