Socket
Socket
Sign inDemoInstall

@angular-material-extensions/fab-menu

Package Overview
Dependencies
63
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @angular-material-extensions/fab-menu

Angular Material component that allow users to select a county or nationality


Version published
Weekly downloads
543
decreased by-9.5%
Maintainers
1
Install size
207 kB
Created
Weekly downloads
 

Readme

Source

angular-material-extensions's logo

@angular-material-extensions/fab-menu - Angular Material component that allow users to select a country or nationality with an autocomplete feature

npm version npm demo docs: typedoc Join the chat at https://gitter.im/angular-material-extensions/Lobby Build Status codecov license

@angular-material-extensions/fab-menu demonstration

@angular-material-extensions/fab-menu demonstration

Built by and for developers :heart:

Do you have any question or suggestion ? Please do not hesitate to contact us! Alternatively, provide a PR | open an appropriate issue here

If you like this project, support angular-material-extensions by starring :star: and sharing it :loudspeaker:

Table of Contents

Demo

View all the directives and components in action at https://angular-material-extensions.github.io/fab-menu

Library's components

  • <mat-fab-menu> used to display the main component

Dependencies


Installation

If Angular Material Design is not setup, just run ng add @angular/material learn more

Now add the library via the angular schematics

ng add @angular-material-extensions/fab-menu

2. Install via npm. (Alternative)

Now install @angular-material-extensions/fab-menu via:

npm install --save @angular-material-extensions/fab-menu

Import the library

If you installed the library via angular schematics, you can skip this step

Once installed you need to import the main module:

import { MatFabMenuModule } from '@angular-material-extensions/fab-menu';
import { MatFabMenuModule } from '@angular-material-extensions/fab-menu';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [MatFabMenuModule, ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}

Other modules in your application like for lazy loading import MatSelectCountryModule into your feature module:

API

<mat-fab-menu> used to display the main component - see the demo examples

<mat-mini-fab-menu> used to display a mini version of the fab menu - see the demo examples

optionbindtypedefaultdescription
fabButtonsInput()MatFabMenu[]-array of floating actions button as menu to render
iconInput()stringaddmaterial icon string e.g: home, mail, phone see more
directionInput()MatFabMenuDirectiontopthe direction of buttons: `'top'
colorInput()ThemePaletteaccentthe color of the main fab: primary, accent or warn
isActiveInput()booleanfalseWhether the component is active
disabledInput()booleanfalseWhether the component is disabled
closeAfterSelectionInput()booleantrueClose after selecting a fab menu item
onFabMenuItemSelectedOutput()EventEmitter<string | number>-emits the selected button by id

Methods

@ViewChild('matFabMenu', { static: false }) matFabMenu: MatFabMenu;

toggle() will toggle the isActive property

Important interfaces or type


import {ThemePalette, TooltipPosition} from '@angular/material';

interface MatFabMenu {
  id: string | number;
  icon?: string; // please use either icon or imgUrl
  iconColor?: ThemePalette;
  imgUrl?: string; // please use either icon or imgUrl
  tooltip?: string;
  tooltipPosition?: TooltipPosition;
  color?: ThemePalette;
}

type MatFabMenuDirection = 'top' | 'bottom' | 'left' | 'right';

Usage

<mat-fab-menu color="primary"
              [fabButtons]="fabButtonsRandom">
</mat-fab-menu>

<!-- or if you prefer the mini version -->

<mat-mini-fab-menu color="primary"
                   [fabButtons]="fabButtonsRandom">
</mat-mini-fab-menu>

import {MatFabMenu} from '@angular-material-extensions/fab-menu';

fabButtonsRandom: MatFabMenu[] = [
    {
      id: 1,
      icon: 'create'
    },
    {
      id: 2,
      icon: 'mail'
    },
    {
      id: 3,
      icon: 'file_copy'
    },
    {
      id: 4,
      icon: 'phone'
    },
  ];

try to use your own svg instead of material icons:

import {MatFabMenu} from '@angular-material-extensions/fab-menu';

fabCountries: MatFabMenu[] = [
    {
      id: 1,
      imgUrl: 'assets/countrys-flags/svg/canada.svg'
    },
    {
      id: 2,
      imgUrl: 'assets/countrys-flags/svg/germany.svg'
    },
    {
      id: 3,
      imgUrl: 'assets/countrys-flags/svg/france.svg'
    },
    {
      id: 4,
      imgUrl: 'assets/countrys-flags/svg/lebanon.svg'
    },
  ];
<mat-fab-menu color="primary"
              [fabButtons]="fabButtonsRandom">
</mat-fab-menu>

@angular-material-extensions/fab-menu demonstration

<mat-fab-menu color="primary"
              direction="bottom"
              [fabButtons]="fabButtonsRandom">
</mat-fab-menu>

@angular-material-extensions/fab-menu demonstration

<mat-fab-menu color="primary"
              direction="left"
              [fabButtons]="fabButtonsRandom">
</mat-fab-menu>

@angular-material-extensions/fab-menu demonstration

<mat-fab-menu color="primary"
              direction="right"
              [fabButtons]="fabButtonsRandom">
</mat-fab-menu>

@angular-material-extensions/fab-menu demonstration

Run Demo App Locally

Build the library

after installing the dependencies with npm i

$ npm run build:lib

Serve the demo app

$ npm start

Other Angular Libraries


Support

Built by and for developers :heart: we will help you :punch:


Who is using ngx-mailto? Awesome apps?

  1. Nahaus.de

Are you missing your project or you app? PR me to publish it on the README

jetbrains logo

This project is supported by jetbrains with 1 ALL PRODUCTS PACK OS LICENSE incl. webstorm


License

Copyright (c) 2019-2022 Anthony Nahas. Licensed under the MIT License (MIT)

Keywords

FAQs

Last updated on 19 Dec 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc