Pasek aplikacji

Pasek aplikacji to <header> z rzędem w środku. Części są osobne, żebyś mógł je układać: appBarNav() na odnośniki, appBarSpacer(), żeby zepchnąć resztę na drugi koniec, i appBarActions() na przyciski na końcu.

Podstawowy pasek

sitelo
appBar({ brand: 'sitelo' },
  appBarSpacer(),
  appBarActions(
    button({ size: 'sm', variant: 'soft' }, 'Zaloguj się'),
  ),
)

Z nawigacją

navLink() to styl odnośnika dla paska; current oznacza aktywną stronę przez aria-current, a nie tylko kolorem.

appBar({ brand: 'sitelo' },
  appBarNav(
    navLink({ href: '#docs', current: true }, 'Dokumentacja'),
    navLink({ href: '#ui' }, 'UI'),
    navLink({ href: '#examples' }, 'Przykłady'),
  ),
  appBarSpacer(),
  appBarActions(
    button({ size: 'sm', variant: 'outline', color: 'neutral' }, 'GitHub'),
    button({ size: 'sm' }, 'Zacznij'),
  ),
)

Marka ze znakiem

Marka przyjmuje dowolne znaczniki i prowadzi do /, chyba że href powie inaczej.

Ssitelo
v2.6.3
appBar({
  href: '#home',
  brand: stack({ direction: 'row', gap: 'sm', inline: true, align: 'center' },
    avatar({ name: 'S', size: 'sm', square: true, color: 'primary' }),
    'sitelo',
  ),
},
  appBarSpacer(),
  appBarActions(chip({ size: 'sm', color: 'neutral' }, 'v2.6.3')),
)

Przyklejony i rozmyty

sticky przypina pasek do góry przewijanego kontenera; blur czyni go półprzezroczystym, żeby treść przechodziła pod nim. Oba pokazane są tu w przewijanym pudełku, a nie na samej stronie.

sitelo
sticky

Przewiń mnie — akapit 1.

Przewiń mnie — akapit 2.

Przewiń mnie — akapit 3.

Przewiń mnie — akapit 4.

Przewiń mnie — akapit 5.

Przewiń mnie — akapit 6.

div({ style: 'height: 12rem; overflow: auto; border: 1px solid var(--su-border); border-radius: 0.6rem' },
  appBar({ brand: 'sitelo', sticky: true, blur: true },
    appBarSpacer(),
    appBarActions(chip({ size: 'sm', color: 'primary' }, 'sticky')),
  ),
  container({ size: 'sm', style: 'padding-block: 1rem' },
    stack({ gap: 'md' },
      ...Array.from({ length: 6 }, (unused, index) =>
        text({ variant: 'small', tone: 'muted' }, 'Przewiń mnie — akapit ' + (index + 1) + '.'),
      ),
    ),
  ),
)

Z szufladą na małych ekranach

Typowy wzorzec: odnośniki w pasku na desktopie, przycisk otwierający drawer() na telefonie. Szuflada jest popoverem, więc przycisk nie potrzebuje skryptu.

fragment(
  appBar({ brand: 'sitelo' },
    appBarSpacer(),
    appBarActions(
      themeToggle(),
      iconButton({
        label: 'Otwórz nawigację',
        variant: 'ghost',
        color: 'neutral',
        popovertarget: 'app-bar-drawer',
        icon: icon('menu'),
      }),
    ),
  ),
  drawer({ id: 'app-bar-drawer', title: 'Nawigacja' },
    navLink({ href: '#docs' }, 'Dokumentacja'),
    navLink({ href: '#ui' }, 'UI'),
    navLink({ href: '#examples' }, 'Przykłady'),
  ),
)

Propsy

appBar():

PropTypDomyślnieOpis
brandChild—Treść odnośnika marki na początku.
hrefstring'/'Dokąd prowadzi marka.
stickybooleanfalsePrzypina pasek do góry przy przewijaniu.
blurbooleanfalsePółprzezroczyste tło z rozmyciem za nim.
asstring'header'Element do wyrenderowania.

Części:

CzęśćPropsyDomyślnieOpis
appBarNav—Element nav mieszczący odnośniki.
appBarSpacer—Elastyczna przerwa; wszystko po niej idzie na drugi koniec.
appBarActions—Końcowa grupa przycisków.
navLinkhref, current, color—Odnośnik w stylu paska; current oznacza aktywną stronę.