<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<button class="notification-button" mat-mini-fab [matMenuTriggerFor]="bell">
  <mat-icon matBadge="3" matBadgeColor="warn" class="notification-button__icon">notifications_none</mat-icon>
</button>
<mat-menu #bell="matMenu" xPosition="before" class="notification-menu">
  <button mat-menu-item class="notification-menu__button">
    <mat-icon class="notification-menu__icon_yellow">local_offer</mat-icon>
    Kie 2.0.0 has release!
  </button>
  <button mat-menu-item class="notification-menu__button">
    <mat-icon class="notification-menu__icon_green">thumb_up</mat-icon>
    New Control Panel is Coming!
  </button>
  <button mat-menu-item class="notification-menu__button">
    <mat-icon class="notification-menu__icon_pink">notifications_none</mat-icon>
    There is a critical Bug in javachassis.
  </button>

</mat-menu>
