{"version":3,"file":"menu.js","sources":["../../packages/material/menu/menu-animations.js","../../packages/material/menu/menu-errors.js","../../packages/material/menu/menu-item.js","../../packages/material/menu/menu-directive.js","../../packages/material/menu/menu-trigger.js","../../packages/material/menu/menu-module.js","../../packages/material/menu/index.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { trigger, state, style, animate, transition, } from '@angular/animations';\n/**\n * Below are all the animations for the mat-menu component.\n * Animation duration and timing values are based on:\n * https://material.io/guidelines/components/menus.html#menus-usage\n */\n/**\n * This animation controls the menu panel's entry and exit from the page.\n *\n * When the menu panel is added to the DOM, it scales in and fades in its border.\n *\n * When the menu panel is removed from the DOM, it simply fades out after a brief\n * delay to display the ripple.\n */\n// TODO(kara): switch to :enter and :leave once Mobile Safari is sorted out.\nexport const /** @type {?} */ transformMenu = trigger('transformMenu', [\n state('void', style({\n opacity: 0,\n // This starts off from 0.01, instead of 0, because there's an issue in the Angular animations\n // as of 4.2, which causes the animation to be skipped if it starts from 0.\n transform: 'scale(0.01, 0.01)'\n })),\n state('enter-start', style({\n opacity: 1,\n transform: 'scale(1, 0.5)'\n })),\n state('enter', style({\n transform: 'scale(1, 1)'\n })),\n transition('void => enter-start', animate('100ms linear')),\n transition('enter-start => enter', animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n transition('* => void', animate('150ms 50ms linear', style({ opacity: 0 })))\n]);\n/**\n * This animation fades in the background color and content of the menu panel\n * after its containing element is scaled in.\n */\nexport const fadeInItems = trigger('fadeInItems', [\n state('showing', style({ opacity: 1 })),\n transition('void => *', [\n style({ opacity: 0 }),\n animate('400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n]);\n//# sourceMappingURL=menu-animations.js.map","/**\n * Throws an exception for the case when menu trigger doesn't have a valid mat-menu instance\n * \\@docs-private\n * @return {?}\n */\nexport function throwMatMenuMissingError() {\n throw Error(`mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n