/** * @license * Copyright Endlessjs. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { Router } from '@angular/router'; import { ElSearchService } from './search.service'; import { ElThemeService } from '../../services/theme.service'; import { ElOverlayService } from '../cdk/overlay/overlay-service'; import { ElPortalDirective } from '../cdk/overlay/mapping'; /** * search-field-component is used under the hood by el-search component * can't be used itself */ export declare class ElSearchFieldComponent implements OnChanges, AfterViewInit { static readonly TYPE_MODAL_ZOOMIN = "modal-zoomin"; static readonly TYPE_ROTATE_LAYOUT = "rotate-layout"; static readonly TYPE_MODAL_MOVE = "modal-move"; static readonly TYPE_CURTAIN = "curtain"; static readonly TYPE_COLUMN_CURTAIN = "column-curtain"; static readonly TYPE_MODAL_DROP = "modal-drop"; static readonly TYPE_MODAL_HALF = "modal-half"; type: string; placeholder: string; hint: string; show: boolean; close: EventEmitter<{}>; search: EventEmitter<{}>; searchInput: EventEmitter<{}>; inputElement: ElementRef; readonly showClass: boolean; readonly modalZoomin: boolean; readonly rotateLayout: boolean; readonly modalMove: boolean; readonly curtain: boolean; readonly columnCurtain: boolean; readonly modalDrop: boolean; readonly modalHalf: boolean; ngOnChanges({ show }: SimpleChanges): void; ngAfterViewInit(): void; emitClose(): void; submitSearch(term: any): void; emitSearchInput(term: string): void; focusInput(): void; } export declare type ElSearchType = 'modal-zoomin' | 'rotate-layout' | 'modal-move' | 'curtain' | 'column-curtain' | 'modal-drop' | 'modal-half'; /** * Beautiful full-page search control. * * @stacked-example(Showcase, search/search-showcase.component) * * Basic setup: * * ```ts * * ``` * ### Installation * * Import `ElSearchModule` to your feature module. * ```ts * @NgModule({ * imports: [ * // ... * ElSearchModule, * ], * }) * export class PageModule { } * ``` * ### Usage * * Several animation types are available: * modal-zoomin, rotate-layout, modal-move, curtain, column-curtain, modal-drop, modal-half * * It is also possible to handle search event using `ElSearchService`: * * @stacked-example(Search Event, search/search-event.component) * * @styles * * search-background-color: * search-divider-color: * search-divider-style: * search-divider-width: * search-extra-background-color: * search-text-color: * search-text-font-family: * search-text-font-size: * search-text-font-weight: * search-text-line-height: * search-placeholder-text-color: * search-info-text-color: * search-info-text-font-family: * search-info-text-font-size: * search-info-text-font-weight: * search-info-text-line-height: */ export declare class ElSearchComponent implements OnInit, OnDestroy { private searchService; private themeService; private router; private overlayService; private changeDetector; private alive; private overlayRef; showSearchField: boolean; /** * Tags a search with some ID, can be later used in the search service * to determine which search component triggered the action, if multiple searches exist on the page. * * @type {string} */ tag: string; /** * Search input placeholder * @type {string} */ placeholder: string; /** * Hint showing under the input field to improve user experience * * @type {string} */ hint: string; /** * Search design type, available types are * modal-zoomin, rotate-layout, modal-move, curtain, column-curtain, modal-drop, modal-half * @type {string} */ type: ElSearchType; searchFieldPortal: ElPortalDirective; searchButton: ElementRef; constructor(searchService: ElSearchService, themeService: ElThemeService, router: Router, overlayService: ElOverlayService, changeDetector: ChangeDetectorRef); ngOnInit(): void; ngOnDestroy(): void; openSearch(): void; hideSearch(): void; search(term: any): void; emitInput(term: string): void; emitActivate(): void; emitDeactivate(): void; private removeLayoutClasses; }