ButtonStyle

Configuration options for authentication button appearance and behaviour.

Type definition

type ButtonStyle = {
kind?: ButtonKind
radius?: ButtonRadius
size?: ButtonSize
variant?: ButtonVariant
}

type ButtonKind = 'continue' | 'sign_in' | 'sign_up' | 'verify' | 'icon'

type ButtonSize = 'large' | 'small'

type ButtonVariant = 'dark' | 'light' | 'light-outlined'

type ButtonRadius = 'none' | 'default' | 'round'

Parameters

ParameterTypeDescriptionDefaultRequired
kindcontinue | sign_in | sign_up | verify | iconButton text and purposecontinueNo
sizelarge | smallButton sizelargeNo
variantdark | light | light-outlinedVisual styledarkNo
radiusnone | default | roundCorner roundingdefaultNo

Button kind options

KindDescription
continue"Continue with Revolut" - general authentication
sign_in"Sign in with Revolut" - login flows
sign_up"Sign up with Revolut" - registration flows
verify"Verify with Revolut" - identity verification
iconRevolut icon only - compact design

Button size options

SizeDescription
largeStandard size for primary actions
smallCompact size for secondary placements

Button variant options

VariantDescription
darkDark background with light text (default)
lightLight background with dark text
light-outlinedLight background with border and dark text

Button radius options

RadiusDescription
noneSquare corners (0px border-radius)
defaultStandard rounded corners
roundFully rounded corners (pill shape)

Usage examples

Basic usage

const { mountButton } = revolutId.initialise({
clientId: 'your-client-id',
redirectUri: 'https://your-app.com/callback',
scope: ['openid', 'profile', 'email']
})

mountButton(container, {
kind: 'sign_in',
size: 'large',
variant: 'dark',
radius: 'default'
})

Default styling

For default styling, don't pass any buttonStyle parameters to mountButton.

mountButton(container)
Was this page helpful?