Skip to content

SusAppBar

SusAppBar

Top strip with prepend / default / append slots (+ optional extension when Prominent).

Package

SusKit · Molecules (commercial)

Open in Playground

SusKit · Molecules

Props

NameTypeDefault
TitleProp<string>""v-model
DensityProp<string>"default"v-model
ColorProp<string>"primary"v-model
FlatProp<bool>falsev-model
AbsoluteProp<bool>falsev-model
ProminentProp<bool>falsev-model

Slots

Name
prepend
(default)
append
extension

Events

No public events.

Style hooks

USS class contract — override appearance without touching C#. States toggle via these classes:

  • sus-app-bar
  • sus-app-bar__append
  • sus-app-bar__content
  • sus-app-bar__extension
  • sus-app-bar__prepend
  • sus-app-bar__row
  • sus-app-bar__title
  • sus-app-bar--absolute
  • sus-app-bar--danger
  • sus-app-bar--density-comfortable
  • sus-app-bar--density-compact
  • sus-app-bar--flat
  • sus-app-bar--info
  • sus-app-bar--primary
  • sus-app-bar--prominent
  • sus-app-bar--secondary
  • sus-app-bar--success
  • sus-app-bar--surface
  • sus-app-bar--warning
  • sus-slot

Usage

Default slot often holds SusTabs; append holds action chips / currency.

csharp
var bar = new SusAppBar();
bar.Title.Value = "";
bar.Color.Value = "surface";
bar.Density.Value = "default";
bar.Flat.Value = true;

var tabs = new SusTabs();
tabs.Items.Value = new List<TabItem>
{
    new() { Title = "Gear", Value = "0" },
    new() { Title = "Bag", Value = "1" },
    new() { Title = "Vendor", Value = "2" },
};
tabs.Model.Value = "0";
bar.Slot("default")?.Add(tabs);

var chip = new SusChip();
chip.Label.Value = "Glimmer  1200";
chip.Variant.Value = "tonal";
bar.Slot("append")?.Add(chip);
xml
<template>
  <sus:SusAppBar Title="Mission"
                 Color="primary"
                 Density="default"
                 :Flat="Flat.Value"
                 :Prominent="Prominent.Value">
    <template #prepend>
      <sus:SusButton Icon="menu" Variant="text" />
    </template>
    <template #append>
      <sus:SusChip Label="Shards  42" Variant="tonal" />
    </template>
  </sus:SusAppBar>
</template>

<script>
public Prop<bool> Flat = new(true);
public Prop<bool> Prominent = new(false);
</script>
PropRole
TitleLabel in the content strip
Densitydefault · compact · comfortable
Colorprimary · secondary · … · surface
Flat / Absolute / ProminentVisual / position modifiers

See also Layout recipes.