blob: 16d86b629962f4a9997f19f79a98a9f1125b5cbe [file] [log] [blame]
{"version":3,"file":"covalent-core-dynamic-menu.js","sources":["../../../../src/platform/core/dynamic-menu/dynamic-menu.component.ts","../../../src/platform/core/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.ts","../../src/platform/core/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.ts","../../../../src/platform/core/dynamic-menu/dynamic-menu.module.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n// Trigger button launches top level menu. Must specify text and/or icon.\nexport interface IMenuTrigger {\n id?: string; // Optional identifier\n text?: string; // Text to display on button\n icon?: string; // Optional icon\n svgIcon?: string; // Optional svgIcon\n iconClasses?: string[]; // Optional styling classes\n}\n\n// Menu items can serve one of four roles:\n// - Submenu trigger (has children property)\n// - URL link (has link property)\n// - Action link (has action property)\n// - Grouping label (has neither children, link or action properties)\nexport interface IMenuItem {\n id?: string; // Optional identifier\n text: string; // Display text\n icon?: string; // Optional icon\n svgIcon?: string; // Optional svgIcon\n iconClasses?: string[]; // Optional styling classes\n // If children provided, item is a submenu trigger\n // Represents the contents of the submenu\n children?: IMenuItem[];\n // If link provided, item is a URL link\n link?: string; // href (relative or fully qualified).\n newTab?: boolean; // Indicates where URL should be displayed, current or new browser tab\n // If action provided, item is an action link\n // A click on this item will emit itemClicked event\n action?: string;\n}\n\n// Click action event payload derived from IMenuItem\nexport interface ITdDynamicMenuLinkClickEvent {\n text: string;\n action: string;\n}\n\n@Component({\n selector: 'td-dynamic-menu',\n styleUrls: ['dynamic-menu.component.scss'],\n templateUrl: './dynamic-menu.component.html',\n})\nexport class TdDynamicMenuComponent {\n @Input() trigger: IMenuTrigger;\n @Input() items: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> = new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { MatMenu } from '@angular/material/menu';\nimport { IMenuItem, ITdDynamicMenuLinkClickEvent } from '../dynamic-menu.component';\n\n@Component({\n selector: 'td-dynamic-menu-item',\n templateUrl: './dynamic-menu-item.component.html',\n styleUrls: ['./dynamic-menu-item.component.scss'],\n})\nexport class TdDynamicMenuItemComponent {\n @Input() items: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> = new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n @ViewChild('childMenu', { static: true }) public childMenu: MatMenu;\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { IMenuItem, ITdDynamicMenuLinkClickEvent } from '../../dynamic-menu.component';\n\n@Component({\n selector: 'td-dynamic-menu-link',\n templateUrl: './dynamic-menu-link.component.html',\n styleUrls: ['./dynamic-menu-link.component.scss'],\n})\nexport class TdDynamicMenuLinkComponent {\n @Input() item: IMenuItem;\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> = new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(): void {\n this.itemClicked.emit({ text: this.item.text, action: this.item.action });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TdDynamicMenuComponent } from './dynamic-menu.component';\nimport { TdDynamicMenuItemComponent } from './dynamic-menu-item/dynamic-menu-item.component';\nimport { TdDynamicMenuLinkComponent } from './dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component';\n\n@NgModule({\n declarations: [TdDynamicMenuComponent, TdDynamicMenuItemComponent, TdDynamicMenuLinkComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatListModule, MatMenuModule, MatTooltipModule],\n providers: [],\n exports: [TdDynamicMenuComponent, TdDynamicMenuItemComponent, TdDynamicMenuLinkComponent],\n})\nexport class CovalentDynamicMenuModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;2BASC;;;IALC,0BAAY;;IACZ,4BAAc;;IACd,4BAAc;;IACd,+BAAiB;;IACjB,mCAAuB;;;;;wBAuBxB;;;IAdC,uBAAY;;IACZ,yBAAa;;IACb,yBAAc;;IACd,4BAAiB;;IACjB,gCAAuB;;IAGvB,6BAAuB;;IAEvB,yBAAc;;IACd,2BAAiB;;IAGjB,2BAAgB;;;;;2CAOjB;;;IAFC,4CAAa;;IACb,8CAAe;;MAQJ,sBAAsB;IALnC;QASY,gBAAW,GAA+C,IAAI,YAAY,EAAgC,CAAC;KAKtH;;;;;IAHC,WAAW,CAAC,KAAmC;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;;YAbF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAE3B,u1BAA4C;;aAC7C;;;sBAEE,KAAK;oBACL,KAAK;0BAEL,MAAM;;;;IAHP,yCAA+B;;IAC/B,uCAA4B;;IAE5B,6CAAqH;;;;;;;;MCvC1G,0BAA0B;IALvC;QAQY,gBAAW,GAA+C,IAAI,YAAY,EAAgC,CAAC;KAOtH;;;;;IAHC,WAAW,CAAC,KAAmC;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,2yCAAiD;;aAElD;;;oBAEE,KAAK;0BAEL,MAAM;wBAEN,SAAS,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;IAJxC,2CAA4B;;IAE5B,iDAAqH;;IAErH,+CAAoE;;;;;;;;MCNzD,0BAA0B;IALvC;QAQY,gBAAW,GAA+C,IAAI,YAAY,EAAgC,CAAC;KAKtH;;;;IAHC,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3E;;;YAZF,SAAS,SAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,k0BAAiD;;aAElD;;;mBAEE,KAAK;0BAEL,MAAM;;;;IAFP,0CAAyB;;IAEzB,iDAAqH;;;;;;;;MCO1G,yBAAyB;;;YANrC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;gBAC9F,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAC;gBACvG,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;aAC1F;;;;;;;;;;;;;;;;;;;;;;;"}