{"version":3,"file":"angular-react-fabric-lib-components-tooltip.mjs","sources":["../../../libs/fabric/lib/components/tooltip/tooltip-host.component.ts","../../../libs/fabric/lib/components/tooltip/tooltip.module.ts","../../../libs/fabric/lib/components/tooltip/public-api.ts","../../../libs/fabric/lib/components/tooltip/angular-react-fabric-lib-components-tooltip.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { InputRendererOptions, Omit, ReactWrapperComponent } from '@angular-react/core';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  NgZone,\r\n  Output,\r\n  Renderer2,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { ITooltipHostProps, ITooltipProps } from '@fluentui/react/lib/Tooltip';\r\nimport { omit, Styled } from '@angular-react/fabric/lib/utils';\r\nimport { AngularReact } from '@angular-react/core';\r\n\r\n@AngularReact()\r\n@Styled('FabTooltipHostComponent')\r\n@Component({\r\n  selector: 'fab-tooltip-host',\r\n  exportAs: 'fabTooltipHost',\r\n  template: `\r\n    <TooltipHost\r\n      #reactNode\r\n      [theme]=\"theme\"\r\n      [componentRef]=\"componentRef\"\r\n      [calloutProps]=\"calloutProps\"\r\n      [closeDelay]=\"closeDelay\"\r\n      [setAriaDescribedBy]=\"setAriaDescribedBy\"\r\n      [delay]=\"delay\"\r\n      [content]=\"content\"\r\n      [directionalHint]=\"directionalHint\"\r\n      [directionalHintForRTL]=\"directionalHintForRTL\"\r\n      [overflowMode]=\"overflowMode\"\r\n      [hostClassName]=\"hostClassName\"\r\n      [tooltipProps]=\"transformedTooltipProps\"\r\n      [TooltipToggle]=\"onTooltipToggleHandler\"\r\n    >\r\n      <ReactContent><ng-content></ng-content></ReactContent>\r\n    </TooltipHost>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FabTooltipHostComponent extends ReactWrapperComponent<ITooltipHostProps> {\r\n  @ViewChild('reactNode', { static: true }) protected reactNodeRef: ElementRef;\r\n\r\n  @Input() componentRef?: ITooltipHostProps['componentRef'];\r\n  @Input() closeDelay?: ITooltipHostProps['closeDelay'];\r\n  @Input() calloutProps?: ITooltipHostProps['calloutProps'];\r\n  @Input() content?: ITooltipHostProps['content'];\r\n  @Input() delay?: ITooltipHostProps['delay'];\r\n  @Input() directionalHint?: ITooltipHostProps['directionalHint'];\r\n  @Input() directionalHintForRTL?: ITooltipHostProps['directionalHintForRTL'];\r\n  @Input() hostClassName?: ITooltipHostProps['hostClassName'];\r\n  @Input() overflowMode?: ITooltipHostProps['overflowMode'];\r\n  @Input() setAriaDescribedBy?: ITooltipHostProps['setAriaDescribedBy'];\r\n  @Input() theme?: ITooltipHostProps['theme'];\r\n\r\n  @Input()\r\n  set tooltipOptions(value: ITooltipOptions) {\r\n    this._tooltipOptions = value;\r\n    if (value) {\r\n      this.transformedTooltipProps = this._transformTooltipOptionsToProps(value);\r\n    }\r\n  }\r\n\r\n  get tooltipOptions(): ITooltipOptions {\r\n    return this._tooltipOptions;\r\n  }\r\n\r\n  @Output() readonly onTooltipToggle = new EventEmitter<{ isTooltipVisible: boolean }>();\r\n\r\n  transformedTooltipProps: ITooltipHostProps['tooltipProps'];\r\n  private _tooltipOptions: ITooltipOptions;\r\n\r\n  constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, ngZone: NgZone) {\r\n    super(elementRef, changeDetectorRef, renderer, { ngZone, setHostDisplay: true });\r\n\r\n    this.onTooltipToggleHandler = this.onTooltipToggleHandler.bind(this);\r\n  }\r\n\r\n  onTooltipToggleHandler(isTooltipVisible: boolean) {\r\n    this.onTooltipToggle.emit({ isTooltipVisible });\r\n  }\r\n\r\n  private _transformTooltipOptionsToProps(options: ITooltipOptions): ITooltipProps {\r\n    const sharedProperties = omit(options, 'renderContent');\r\n\r\n    const contentRenderer = this.createInputJsxRenderer(options.renderContent);\r\n\r\n    return Object.assign(\r\n      {},\r\n      sharedProperties,\r\n      contentRenderer && ({ onRenderContent: data => contentRenderer(data) } as Pick<ITooltipProps, 'onRenderContent'>)\r\n    );\r\n  }\r\n}\r\n\r\n/**\r\n * Counterpart of `ITooltipProps`, with Angular adjustments.\r\n */\r\nexport interface ITooltipOptions extends Omit<ITooltipProps, 'onRenderContent'> {\r\n  readonly renderContent?: InputRendererOptions<ITooltipProps>;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { registerElement } from '@angular-react/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { TooltipHost } from '@fluentui/react/lib/Tooltip';\r\nimport { FabTooltipHostComponent } from './tooltip-host.component';\r\n\r\nconst components = [FabTooltipHostComponent];\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 FabTooltipModule {\r\n  constructor() {\r\n    // Add any React elements to the registry (used by the renderer).\r\n    registerElement('TooltipHost', () => TooltipHost);\r\n  }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport * from './tooltip-host.component';\r\nexport * from './tooltip.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AA+CO,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,qBAAwC,CAAA;IAenF,IACI,cAAc,CAAC,KAAsB,EAAA;AACvC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC5E,SAAA;KACF;AAED,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;AAOD,IAAA,WAAA,CAAY,UAAsB,EAAE,iBAAoC,EAAE,QAAmB,EAAE,MAAc,EAAA;AAC3G,QAAA,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AANhE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAiC,CAAC;QAQrF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtE;AAED,IAAA,sBAAsB,CAAC,gBAAyB,EAAA;QAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;KACjD;AAEO,IAAA,+BAA+B,CAAC,OAAwB,EAAA;QAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,gBAAgB,EAChB,eAAe,IAAK,EAAE,eAAe,EAAE,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAA6C,CAClH,CAAC;KACH;iIApDU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAtBxB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAGU,uBAAuB,GAAA,UAAA,CAAA;AA3BnC,IAAA,YAAY,EAAE;IACd,MAAM,CAAC,yBAAyB,CAAC;AA0BrB,CAAA,EAAA,uBAAuB,CAqDnC,CAAA;2FArDY,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAzBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;8KAEqD,YAAY,EAAA,CAAA;sBAA/D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAE/B,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAYa,eAAe,EAAA,CAAA;sBAAjC,MAAM;;;AC1ET;AACA;AAQA,MAAM,UAAU,GAAG,CAAC,uBAAuB,CAAC,CAAC;MAQhC,gBAAgB,CAAA;AAC3B,IAAA,WAAA,GAAA;;QAEE,eAAe,CAAC,aAAa,EAAE,MAAM,WAAW,CAAC,CAAC;KACnD;iIAJU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EART,YAAA,EAAA,CAAA,uBAAuB,CAG/B,EAAA,OAAA,EAAA,CAAA,YAAY,aAHJ,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAQ9B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YALjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;AChBD;AACA;;ACDA;;AAEG;;;;"}