@atlaskit/global-search
Version:
A cross-product search component (batteries included)
51 lines (50 loc) • 2.35 kB
TypeScript
import * as React from 'react';
import { LinkComponent, ReferralContextIdentifiers } from './GlobalQuickSearchWrapper';
import { SelectedSearchResultEvent } from '../util/analytics-event-helper';
import { CreateAnalyticsEventFn } from './analytics/types';
import { FilterWithMetadata } from './../api/CrossProductSearchClient';
export interface Props {
onMount?: () => void;
onSearch(query: string, queryVersion: number, filters?: FilterWithMetadata[]): void;
onSearchSubmit?(event: React.KeyboardEvent<HTMLInputElement>): void;
onAutocomplete?(query: string): void;
isLoading: boolean;
placeholder?: string;
searchSessionId: string;
children: React.ReactNode;
linkComponent?: LinkComponent;
createAnalyticsEvent?: CreateAnalyticsEventFn;
isSendSearchTermsEnabled?: boolean;
selectedResultId?: string;
onSelectedResultIdChanged?: (id: string | number | null) => void;
inputControls?: JSX.Element;
autocompleteSuggestions?: string[];
referralContextIdentifiers?: ReferralContextIdentifiers;
filters?: FilterWithMetadata[];
advancedSearchId: string;
}
export interface State {
query: string;
}
/**
* Presentational component that renders the search input and search results.
*/
export declare class GlobalQuickSearch extends React.Component<Props, State> {
queryVersion: number;
resultSelected: boolean;
state: {
query: string;
};
componentDidMount(): void;
handleSearchInput: ({ target }: React.FormEvent<HTMLInputElement>) => void;
debouncedSearch: any;
doSearch(query: string): void;
debouncedAutocomplete: any;
doAutocomplete(query: string): void;
fireSearchResultSelectedEvent: (eventData: SelectedSearchResultEvent) => void;
fireSearchResultEvents: (eventName: string, eventData: Object) => void;
componentWillUnmount(): void;
render(): JSX.Element;
}
declare const _default: React.ForwardRefExoticComponent<Pick<Props, "filters" | "onMount" | "onSearch" | "onSearchSubmit" | "onAutocomplete" | "isLoading" | "placeholder" | "searchSessionId" | "children" | "linkComponent" | "isSendSearchTermsEnabled" | "selectedResultId" | "onSelectedResultIdChanged" | "inputControls" | "autocompleteSuggestions" | "referralContextIdentifiers" | "advancedSearchId"> & React.RefAttributes<any>>;
export default _default;