{"version":3,"file":"angular-react-fabric-lib-components-contextual-menu.mjs","sources":["../../../libs/fabric/lib/components/contextual-menu/directives/contextual-menu-item.directive.ts","../../../libs/fabric/lib/components/contextual-menu/contextual-menu.module.ts","../../../libs/fabric/lib/components/contextual-menu/public-api.ts","../../../libs/fabric/lib/components/contextual-menu/angular-react-fabric-lib-components-contextual-menu.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport {\r\n  AfterContentInit,\r\n  ContentChildren,\r\n  Directive,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  Output,\r\n  QueryList,\r\n  ContentChild,\r\n  TemplateRef,\r\n  ElementRef,\r\n} from '@angular/core';\r\nimport { IContextualMenuItem } from '@fluentui/react/lib/ContextualMenu';\r\nimport { KnownKeys, InputRendererOptions } from '@angular-react/core';\r\nimport { getDataAttributes } from '@angular-react/fabric/lib/utils';\r\nimport { ItemChangedPayload, ChangeableItemsHelper, IChangeableItemsContainer, ChangeableItemDirective } from '@angular-react/fabric/lib/components/core';\r\nimport { OnChanges } from '@angular-react/fabric/lib/declarations';\r\n\r\nexport type ContextualMenuItemChangedPayload = ItemChangedPayload<\r\n  IContextualMenuItemOptions['key'],\r\n  IContextualMenuItemOptions\r\n>;\r\n\r\n/**\r\n * Wrapper directive to allow rendering a custom item to a ContextualMenuItem.\r\n */\r\n@Directive({ selector: 'fab-command-bar-item > render' })\r\nexport class ContextualMenuItemRenderDirective {\r\n  @ContentChild(TemplateRef) readonly templateRef: TemplateRef<IContextualMenuItemOptionsRenderContext>;\r\n}\r\n\r\n/**\r\n * Wrapper directive to allow rendering a custom icon to a ContextualMenuItem.\r\n */\r\n@Directive({ selector: 'fab-command-bar-item > render-icon' })\r\nexport class ContextualMenuItemRenderIconDirective {\r\n  @ContentChild(TemplateRef) readonly templateRef: TemplateRef<IContextualMenuItemOptionsRenderIconContext>;\r\n}\r\n\r\n@Directive({ selector: 'contextual-menu-item' })\r\nexport class ContextualMenuItemDirective extends ChangeableItemDirective<IContextualMenuItem>\r\n  implements\r\n    AfterContentInit,\r\n    IChangeableItemsContainer<IContextualMenuItem>,\r\n    IContextualMenuItem,\r\n    OnChanges<ContextualMenuItemDirective>,\r\n    OnDestroy {\r\n  @ContentChildren(ContextualMenuItemDirective) readonly menuItemsDirectives: QueryList<ContextualMenuItemDirective>;\r\n  @ContentChild(ContextualMenuItemRenderDirective) readonly renderDirective: ContextualMenuItemRenderDirective;\r\n  @ContentChild(ContextualMenuItemRenderIconDirective)\r\n  readonly renderIconDirective: ContextualMenuItemRenderIconDirective;\r\n\r\n  @Input() componentRef?: IContextualMenuItem['componentRef'];\r\n  @Input() text?: IContextualMenuItem['text'];\r\n  @Input() secondaryText?: IContextualMenuItem['secondaryText'];\r\n  @Input() itemType?: IContextualMenuItem['itemType'];\r\n  @Input() iconProps?: IContextualMenuItem['iconProps'];\r\n  @Input() submenuIconProps?: IContextualMenuItem['submenuIconProps'];\r\n  @Input() disabled?: IContextualMenuItem['disabled'];\r\n  @Input() primaryDisabled?: IContextualMenuItem['primaryDisabled'];\r\n  @Input() shortCut?: IContextualMenuItem['shortCut'];\r\n  @Input() canCheck?: IContextualMenuItem['canCheck'];\r\n  @Input() checked?: IContextualMenuItem['checked'];\r\n  @Input() split?: IContextualMenuItem['split'];\r\n  @Input() data?: IContextualMenuItem['data'];\r\n  @Input() href?: IContextualMenuItem['href'];\r\n  @Input() target?: IContextualMenuItem['target'];\r\n  @Input() rel?: IContextualMenuItem['rel'];\r\n  @Input() subMenuProps?: IContextualMenuItem['subMenuProps'];\r\n  @Input() getItemClassNames?: IContextualMenuItem['getItemClassNames'];\r\n  @Input() itemProps?: IContextualMenuItem['itemProps'];\r\n  @Input() getSplitButtonVerticalDividerClassNames?: IContextualMenuItem['getSplitButtonVerticalDividerClassNames'];\r\n  @Input() sectionProps?: IContextualMenuItem['sectionProps'];\r\n  @Input() className?: IContextualMenuItem['className'];\r\n  @Input() style?: IContextualMenuItem['style'];\r\n  @Input() ariaLabel?: IContextualMenuItem['ariaLabel'];\r\n  @Input() title?: IContextualMenuItem['title'];\r\n  @Input() onMouseDown?: IContextualMenuItem['onMouseDown'];\r\n  @Input() role?: IContextualMenuItem['role'];\r\n  @Input() customOnRenderListLength?: IContextualMenuItem['customOnRenderListLength'];\r\n  @Input() keytipProps?: IContextualMenuItem['keytipProps'];\r\n  @Input() inactive?: IContextualMenuItem['inactive'];\r\n  @Input() name?: IContextualMenuItem['name'];\r\n  @Input() render: IContextualMenuItemOptions['render'];\r\n  @Input() renderIcon: IContextualMenuItemOptions['renderIcon'];\r\n\r\n  @Output() readonly click = new EventEmitter<{ ev?: MouseEvent | KeyboardEvent; item?: IContextualMenuItem }>();\r\n\r\n  @Output()\r\n  get onChildItemChanged(): EventEmitter<ItemChangedPayload<string, IContextualMenuItem>> {\r\n    return this._changeableItemsHelper && this._changeableItemsHelper.onChildItemChanged;\r\n  }\r\n\r\n  @Output()\r\n  get onItemsChanged(): EventEmitter<QueryList<ChangeableItemDirective<IContextualMenuItem>>> {\r\n    return this._changeableItemsHelper && this._changeableItemsHelper.onItemsChanged;\r\n  }\r\n\r\n  constructor(readonly elementRef: ElementRef<HTMLElement>) {\r\n    super();\r\n  }\r\n\r\n  private _changeableItemsHelper: ChangeableItemsHelper<IContextualMenuItem>;\r\n\r\n  ngAfterContentInit() {\r\n    if (this.renderDirective && this.renderDirective.templateRef) {\r\n      this.render = this.renderDirective.templateRef;\r\n    }\r\n\r\n    if (this.renderIconDirective && this.renderIconDirective.templateRef) {\r\n      this.renderIcon = this.renderIconDirective.templateRef;\r\n    }\r\n\r\n    this._changeableItemsHelper = new ChangeableItemsHelper(this.menuItemsDirectives, this, nonSelfDirective => {\r\n      const items = nonSelfDirective.map(directive => this._directiveToContextualMenuItem(directive as any));\r\n      if (!this.subMenuProps) {\r\n        this.subMenuProps = { items: items };\r\n      } else {\r\n        this.subMenuProps.items = items;\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this._changeableItemsHelper.destroy();\r\n  }\r\n\r\n  private _directiveToContextualMenuItem(directive: ContextualMenuItemDirective): IContextualMenuItem {\r\n    return {\r\n      ...directive,\r\n      ...getDataAttributes(directive.elementRef.nativeElement, true),\r\n      onClick: (ev, item) => {\r\n        directive.click.emit({ ev: ev && ev.nativeEvent, item: item });\r\n      },\r\n    };\r\n  }\r\n}\r\n\r\n// Not using `Omit` here since it confused the TypeScript compiler and it just showed the properties listed here (`renderIcon`, `render` and `data`).\r\n// The type here is just `Omit` without the generics though.\r\nexport interface IContextualMenuItemOptions<TData = any>\r\n  extends Pick<IContextualMenuItem, Exclude<KnownKeys<IContextualMenuItem>, 'onRender' | 'onRenderIcon'>> {\r\n  readonly renderIcon?: InputRendererOptions<IContextualMenuItemOptionsRenderIconContext>;\r\n  readonly render?: InputRendererOptions<IContextualMenuItemOptionsRenderContext>;\r\n  readonly data?: TData;\r\n\r\n  /**\r\n   * For any attributes like data-* etc.\r\n   */\r\n  [propertyName: string]: any;\r\n}\r\n\r\nexport interface IContextualMenuItemOptionsRenderContext {\r\n  item: any;\r\n  dismissMenu: (ev?: any, dismissAll?: boolean) => void;\r\n}\r\n\r\nexport interface IContextualMenuItemOptionsRenderIconContext {\r\n  contextualMenuItem: IContextualMenuItem;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport {\r\n  ContextualMenuItemDirective,\r\n  ContextualMenuItemRenderDirective,\r\n  ContextualMenuItemRenderIconDirective,\r\n} from './directives/contextual-menu-item.directive';\r\n\r\nconst components = [\r\n  ContextualMenuItemDirective,\r\n  ContextualMenuItemRenderDirective,\r\n  ContextualMenuItemRenderIconDirective,\r\n];\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: components,\r\n  exports: components,\r\n  schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class FabContextualMenuModule {}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport * from './contextual-menu.module';\r\nexport * from './directives/contextual-menu-item.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}