{"version":3,"file":"angular-react-fabric-lib-components-search-box.mjs","sources":["../../../libs/fabric/lib/components/search-box/search-box.component.ts","../../../libs/fabric/lib/components/search-box/search-box.module.ts","../../../libs/fabric/lib/components/search-box/public-api.ts","../../../libs/fabric/lib/components/search-box/angular-react-fabric-lib-components-search-box.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 { IButtonProps } from '@fluentui/react/lib/Button';\r\nimport { ISearchBoxProps } from '@fluentui/react/lib/SearchBox';\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('FabSearchBoxComponent')\r\n@Component({\r\n  selector: 'fab-search-box',\r\n  exportAs: 'fabSearchBox',\r\n  template: `\r\n    <SearchBox\r\n      #reactNode\r\n      [componentRef]=\"componentRef\"\r\n      [placeholder]=\"placeholder\"\r\n      [value]=\"value\"\r\n      [className]=\"className\"\r\n      [ariaLabel]=\"ariaLabel\"\r\n      [clearButtonProps]=\"clearButtonProps\"\r\n      [iconProps]=\"iconProps\"\r\n      [underlined]=\"underlined\"\r\n      [theme]=\"theme\"\r\n      [styles]=\"styles\"\r\n      [disableAnimation]=\"disableAnimation\"\r\n      [Change]=\"onChangeHandler\"\r\n      [Search]=\"onSearchHandler\"\r\n      [Clear]=\"onClearHandler\"\r\n      [Escape]=\"onEscapeHandler\"\r\n    >\r\n    </SearchBox>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FabSearchBoxComponent extends ReactWrapperComponent<ISearchBoxProps> {\r\n  @ViewChild('reactNode', { static: true }) protected reactNodeRef: ElementRef;\r\n\r\n  @Input() componentRef?: ISearchBoxProps['componentRef'];\r\n  @Input() placeholder?: ISearchBoxProps['placeholder'];\r\n  @Input() value?: ISearchBoxProps['value'];\r\n  @Input() className?: ISearchBoxProps['className'];\r\n  @Input() ariaLabel?: ISearchBoxProps['ariaLabel'];\r\n  @Input() underlined?: ISearchBoxProps['underlined'];\r\n  @Input() theme?: ISearchBoxProps['theme'];\r\n  @Input() styles?: ISearchBoxProps['styles'];\r\n  @Input() disableAnimation?: ISearchBoxProps['disableAnimation'];\r\n  @Input()\r\n  set clearButtonOptions(value: IButtonOptions) {\r\n    this._clearButtonOptions = value;\r\n\r\n    if (value) {\r\n      this.clearButtonProps = this._transformButtonOptionsToProps(value);\r\n    }\r\n  }\r\n\r\n  get clearButtonOptions(): IButtonOptions {\r\n    return this._clearButtonOptions;\r\n  }\r\n\r\n  @Input() iconProps?: ISearchBoxProps['iconProps'];\r\n\r\n  @Output() readonly onChange = new EventEmitter<{ newValue: any }>();\r\n  @Output() readonly onSearch = new EventEmitter<{ newValue: any }>();\r\n  @Output() readonly onClear = new EventEmitter<{ ev?: any }>();\r\n  @Output() readonly onEscape = new EventEmitter<{ ev?: any }>();\r\n\r\n  clearButtonProps: IButtonProps;\r\n\r\n  private _clearButtonOptions: IButtonOptions;\r\n\r\n  constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, ngZone: NgZone) {\r\n    super(elementRef, changeDetectorRef, renderer, { ngZone });\r\n\r\n    this.onChangeHandler = this.onChangeHandler.bind(this);\r\n    this.onSearchHandler = this.onSearchHandler.bind(this);\r\n    this.onClearHandler = this.onClearHandler.bind(this);\r\n    this.onEscapeHandler = this.onEscapeHandler.bind(this);\r\n  }\r\n\r\n  onChangeHandler(newValue: any) {\r\n    this.onChange.emit({\r\n      newValue,\r\n    });\r\n  }\r\n\r\n  onSearchHandler(newValue: any) {\r\n    this.onSearch.emit({\r\n      newValue,\r\n    });\r\n  }\r\n\r\n  onClearHandler(ev?: any) {\r\n    this.onClear.emit({\r\n      ev: (ev && ev.nativeElement) || ev,\r\n    });\r\n  }\r\n\r\n  onEscapeHandler(ev?: any) {\r\n    this.onEscape.emit({\r\n      ev: (ev && ev.nativeElement) || ev,\r\n    });\r\n  }\r\n\r\n  private _transformButtonOptionsToProps(options: IButtonOptions): IButtonProps {\r\n    const sharedProperties = omit(\r\n      options,\r\n      'renderIcon',\r\n      'renderText',\r\n      'renderDescription',\r\n      'renderAriaDescription',\r\n      'renderChildren',\r\n      'renderMenuIcon'\r\n    );\r\n\r\n    const iconRenderer = this.createInputJsxRenderer(options.renderIcon);\r\n    const textRenderer = this.createInputJsxRenderer(options.renderText);\r\n    const descriptionRenderer = this.createInputJsxRenderer(options.renderDescription);\r\n    const ariaDescriptionRenderer = this.createInputJsxRenderer(options.renderAriaDescription);\r\n    const childrenRenderer = this.createInputJsxRenderer(options.renderChildren);\r\n    const menuIconRenderer = this.createInputJsxRenderer(options.renderMenuIcon);\r\n\r\n    return Object.assign(\r\n      {},\r\n      sharedProperties,\r\n      iconRenderer && ({ onRenderIcon: props => iconRenderer(props) } as Pick<IButtonProps, 'onRenderIcon'>),\r\n      textRenderer && ({ onRenderText: props => textRenderer(props) } as Pick<IButtonProps, 'onRenderText'>),\r\n      descriptionRenderer &&\r\n        ({ onRenderDescription: props => descriptionRenderer(props) } as Pick<IButtonProps, 'onRenderDescription'>),\r\n      ariaDescriptionRenderer &&\r\n        ({ onRenderAriaDescription: props => ariaDescriptionRenderer(props) } as Pick<\r\n          IButtonProps,\r\n          'onRenderAriaDescription'\r\n        >),\r\n      childrenRenderer &&\r\n        ({ onRenderChildren: props => childrenRenderer(props) } as Pick<IButtonProps, 'onRenderChildren'>),\r\n      menuIconRenderer &&\r\n        ({ onRenderMenuIcon: props => menuIconRenderer(props) } as Pick<IButtonProps, 'onRenderMenuIcon'>)\r\n    );\r\n  }\r\n}\r\n\r\nexport interface IButtonOptions\r\n  extends Omit<\r\n    IButtonProps,\r\n    | 'onRenderIcon'\r\n    | 'onRenderText'\r\n    | 'onRenderDescription'\r\n    | 'onRenderAriaDescription'\r\n    | 'onRenderChildren'\r\n    | 'onRenderMenuIcon'\r\n  > {\r\n  readonly renderIcon: InputRendererOptions<IButtonProps>;\r\n  readonly renderText: InputRendererOptions<IButtonProps>;\r\n  readonly renderDescription: InputRendererOptions<IButtonProps>;\r\n  readonly renderAriaDescription: InputRendererOptions<IButtonProps>;\r\n  readonly renderChildren: InputRendererOptions<IButtonProps>;\r\n  readonly renderMenuIcon: InputRendererOptions<IButtonProps>;\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 { SearchBox } from '@fluentui/react/lib/SearchBox';\r\nimport { FabSearchBoxComponent } from './search-box.component';\r\n\r\nconst components = [FabSearchBoxComponent];\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 FabSearchBoxModule {\r\n  constructor() {\r\n    // Add any React elements to the registry (used by the renderer).\r\n    registerElement('SearchBox', () => SearchBox);\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 './search-box.component';\r\nexport * from './search-box.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}