Related components

Banner regular


The BannerSlim component has multiple building blocks which can be put together in a composable manner to get the desired result. You can pass in a colorScheme object to the BannerSlim to customise the component's colours. ColorScheme is experimental and has been implemented only locally, but you can read more about how it currently works and available options on the repository's github.

Anatomy

The root BannerSlim component manages the banner's configuration and exposes it via the React Context API. This state can be accessed by any child components by calling the useBannerContext hook. The sub-components call this hook to refer to the core configuration and render accordingly.

Examples

We have several variations with which BannerSlim can be rendered

Size variant

By default sizing is breakpoint based with the following format: size: { '@initial': 'sm', '@md': 'md' }

<BannerSlim
  colorScheme={{ base: 'purple1' }}
  emphasis="bold"
>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the default variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
  </BannerSlim.Actions>
  <BannerSlim.Dismiss />
</BannerSlim>

sm


<BannerSlim
  colorScheme={{ base: 'purple1' }}
  emphasis="bold"
  size="sm"
>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the "sm" variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
  </BannerSlim.Actions>
</BannerSlim>

md


<BannerSlim
  colorScheme={{ base: 'primary1' }}
  emphasis="subtle"
  size="md"
>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the "md" variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
  </BannerSlim.Actions>
</BannerSlim>

Emphasis Variant

The component comes with three options on emphasis: bold, subtle and minimal , with the later the default.

Example of bold emphasis


<BannerSlim
  emphasis="bold"
>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the "bold" emphasis variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
  </BannerSlim.Actions>
</BannerSlim>

Dismissible Variant

It's possible to render it as a dismissible component as well. Just add <BannerSlim.Dismiss /> as a child to BannerSlim.Actions.


<BannerSlim
  colorScheme={{ base: 'primary2' }}
  emphasis="subtle"
  size="md"
  onDismiss={() => console.log('Dismissed')}
>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the dismissible variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
    <BannerSlim.Dismiss />
  </BannerSlim.Actions>
</BannerSlim>

Disabled Variant


<BannerSlim
  colorScheme={{ base: 'primary2' }}
disabled


>
  <BannerSlim.Content>
    <BannerSlim.Image src="https://picsum.photos/id/919/400/400" />
    <BannerSlim.Text>
      This is the disabled variant of BannerSlim.
    </BannerSlim.Text>
  </BannerSlim.Content>
  <BannerSlim.Actions>
    <BannerSlim.Button>Primary CTA</BannerSlim.Button>
    <BannerSlim.Dismiss />
  </BannerSlim.Actions>
</BannerSlim>