14.0.0 • Published 5 months ago

@material/top-app-bar v14.0.0

Weekly downloads
36,505
License
MIT
Repository
github
Last release
5 months ago

Top App Bar

MDC Top App Bar acts as a container for items such as application title, navigation icon, and action items.

Design & API Documentation

Installation

npm install @material/top-app-bar

Usage

HTML Structure

<header class="mdc-top-app-bar">
  <div class="mdc-top-app-bar__row">
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-start">
      <a href="#" class="material-icons mdc-top-app-bar__navigation-icon">menu</a>
      <span class="mdc-top-app-bar__title">Title</span>
    </section>
  </div>
</header>

Top app bars can accommodate multiple action items on the opposite side of the navigation icon:

<header class="mdc-top-app-bar">
  <div class="mdc-top-app-bar__row">
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-start">
      <a href="#" class="material-icons mdc-top-app-bar__navigation-icon">menu</a>
      <span class="mdc-top-app-bar__title">Title</span>
    </section>
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-end" role="toolbar">
      <a href="#" class="material-icons mdc-top-app-bar__action-item" aria-label="Download" alt="Download">file_download</a>
      <a href="#" class="material-icons mdc-top-app-bar__action-item" aria-label="Print this page" alt="Print this page">print</a>
      <a href="#" class="material-icons mdc-top-app-bar__action-item" aria-label="Bookmark this page" alt="Bookmark this page">bookmark</a>
    </section>
  </div>
</header>

Top app bars can be fixed at the top of the page:

<header class="mdc-top-app-bar mdc-top-app-bar--fixed">
  <div class="mdc-top-app-bar__row">
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-start">
      <a href="#" class="material-icons mdc-top-app-bar__navigation-icon">menu</a>
      <span class="mdc-top-app-bar__title">Title</span>
    </section>
  </div>
</header>

Short top app bars should only be used with one action item:

<header class="mdc-top-app-bar mdc-top-app-bar--short">
  <div class="mdc-top-app-bar__row">
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-start">
      <a href="#" class="material-icons mdc-top-app-bar__navigation-icon">menu</a>
      <span class="mdc-top-app-bar__title">Title</span>
    </section>
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-end" role="toolbar">
      <a href="#" class="material-icons mdc-top-app-bar__action-item" aria-label="Bookmark this page" alt="Bookmark this page">bookmark</a>
    </section>
  </div>
</header>

Short top app bars can be configured to always appear collapsed by applying the mdc-top-app-bar--short-collapsed before instantiating the component :

<header class="mdc-top-app-bar mdc-top-app-bar--short mdc-top-app-bar--short-collapsed">
  <div class="mdc-top-app-bar__row">
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-start">
      <a href="#" class="material-icons mdc-top-app-bar__navigation-icon">menu</a>
      <span class="mdc-top-app-bar__title">Title</span>
    </section>
    <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-end" role="top-app-bar">
      <a href="#" class="material-icons mdc-top-app-bar__icon" aria-label="Bookmark this page" alt="Bookmark this page">bookmark</a>
    </section>
  </div>
</header>

JavaScript

  // Instantiation
  var topAppBarElement = document.querySelector('#topAppBar');
  var topAppBar = mdc.topAppBar.MDCTopAppBar.attachTo(topAppBarElement);

  // Listen for navigation icon events
  topAppBarElement.addEventListener('MDCTopAppBar:nav', function () {
    // do something
  });

CSS Classes

ClassDescription
mdc-top-app-barMandatory.
mdc-top-app-bar--fixedClass used to style the top app bar as a fixed top app bar.
mdc-top-app-bar--prominentClass used to style the top app bar as a prominent top app bar.
mdc-top-app-bar--shortClass used to style the top app bar as a short top app bar.
mdc-top-app-bar--short-collapsedClass used to indicate the short top app bar is collapsed.

Sass Mixins

MixinDescription
mdc-top-app-bar-ink-color($color)Sets the ink color of the top app bar.
mdc-top-app-bar-icon-ink-color($color)Sets the ink color of the top app bar icons.
mdc-top-app-bar-fill-color($color)Sets the fill color of the top app bar.
mdc-top-app-bar-fill-color-accessible($color)Sets the fill color of the top app bar and automatically sets a high-contrast ink color.
mdc-top-app-bar-short-border-radius($border-radius)Sets the border-bottom-radius property on the action item side. Used only for the short top app bar when collapsed.

MDCTopAppBar

See Importing the JS component for more information on how to import JavaScript.

MDCTopAppBarAdapter

Method SignatureDescription
hasClass(className: string) => booleanChecks if the root element of the component has the given className.
addClass(className: string) => voidAdds a class to the root element of the component.
removeClass(className: string) => voidRemoves a class from the root element of the component.
registerNavigationIconInteractionHandler(evtType: string, handler: EventListener) => voidRegisters an event listener on the native navigation icon element for a given event.
deregisterNavigationIconInteractionHandler(evtType: string, handler: EventListener) => voidDeregisters an event listener on the native navigation icon element for a given event.
notifyNavigationIconClicked() => voidEmits a custom event MDCTopAppBar:nav when the navigation icon is clicked.
registerScrollHandler(handler) => voidRegisters a handler to be called when user scrolls. Our default implementation adds the handler as a listener to the window's scroll event.
deregisterScrollHandler(handler) => voidUnregisters a handler to be called when user scrolls. Our default implementation removes the handler as a listener to the window's scroll event.
getViewportScrollY() => numberGets the number of pixels that the content of body is scrolled from the top of the page.
getTotalActionItems() => numberGets the number of action items in the top app bar.

Events

Event NameEvent Data StructureDescription
MDCTopAppBar:navNoneEmits when the navigation icon is clicked.
@frannca/ngx-admin@zentek/topbar@zentek/zenpwa-test-hpwa-test1pwa-test2sot-incubatormdwrapper@beezydev/top-app-barmaterial-components-web@everything-registry/sub-chunk-584vue-composttest-rsmdc@fruver/mdc-react@emuanalytics/flow-rdfuui-components@hieunv/react-mdcsvmd@infinitebrahmanuniverse/nolb-_matestencil-todo-listsvelte-arcadia@material/mwc-top-app-bar-fixed@material/mwc-top-app-bar@material/react-top-app-bar@materials-elements/core@materials-elements/site@materials-ui/core@materials-ui/site@lucasecdb/rmdc@morioh/material@gmvdev/materials@leanup/material-core@mhamrah/svelte-material-ui@preact-material-components/top-app-bar@pmwcs/top-app-bar@pitaya-components/top-bar@pitaya-components/topbar@pitaya-components/fab@plonquo/ember-material-components@qbcart/eshop-app-shell@worm425/betsy-web-components@types/material__top-app-barelectron-test-ui@tylertech/forge@mcwv/top-app-bar@mdc-stencil/top-app-bar@smui/top-app-barember-cli-mdc-top-app-bar@rmwc/top-app-baraapp-chat.js@angular/material@angular/material-experimental@arterial/top-app-bargesdisc-components@detachhead/smui-top-app-barclosure-react-top-app-barhomeassistant-frontend-raceland@betsybot/betsy-web-componentsjsonresume-theme-material-design@aurelia2-mdc-web/top-app-bar@authentic/mwc-top-app-bar@aurelia-material-components/top-app-bar@aurelia-mdc-web/top-app-bar@bitchin/react-material-webbw-material@dev.mohe/mwc-top-app-bar@dev.mohe/mwc-top-app-bar-fixedmaterial-toolboxpreact-material-componentspreact-material-components-mgrmaterial-imba
14.0.0

2 years ago

13.0.0

3 years ago

12.0.0

3 years ago

11.0.0

3 years ago

10.0.0

3 years ago

9.0.0

3 years ago

8.0.0

3 years ago

7.0.0

4 years ago

6.0.0

4 years ago

5.1.0

4 years ago

5.0.0

4 years ago

4.0.0

4 years ago

3.2.0

5 years ago

4.0.0-canary.1

5 years ago

4.0.0-canary.0

5 years ago

4.0.0-alpha.0

5 years ago

3.1.0

5 years ago

3.1.0-alpha.0

5 years ago

3.0.0

5 years ago

3.0.0-alpha.1

5 years ago

3.0.0-alpha.0

5 years ago

2.3.0

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-1

5 years ago

1.0.0-0

5 years ago

0.44.1

5 years ago

0.44.0

5 years ago

0.43.0

5 years ago

0.42.0

5 years ago

0.41.0

5 years ago

0.40.1

6 years ago

0.40.0

6 years ago

0.39.3

6 years ago

0.39.2

6 years ago

0.39.1

6 years ago

0.39.0

6 years ago

0.39.0-0

6 years ago

0.38.1

6 years ago

0.38.0

6 years ago

0.37.1

6 years ago

0.37.0

6 years ago

0.36.1

6 years ago

0.36.0

6 years ago

0.36.0-0

6 years ago

0.35.2

6 years ago

0.35.1

6 years ago

0.35.0

6 years ago

0.34.1

6 years ago

0.34.0

6 years ago

0.33.0

6 years ago

0.32.0

6 years ago