UNPKG

angular-instantsearch

Version:

Lightning-fast search for Angular apps, by Algolia.

30 lines (29 loc) 1.37 kB
import { OnDestroy, OnInit } from '@angular/core'; import { bem } from './utils'; import { NgAisInstantSearch } from './instantsearch/instantsearch'; import { NgAisIndex } from './index-widget/index-widget'; import { Widget as W } from 'instantsearch.js/es/types'; import { IndexWidget } from 'instantsearch.js/es/widgets/index/index'; export declare type Widget = W | IndexWidget; export declare type Connector = (renderFn: (state: object, isFirstRendering: boolean) => void, unmountFn: () => void) => (widgetOptions?: object) => Widget; export declare abstract class BaseWidget<TState extends Record<string, unknown> = {}> implements OnInit, OnDestroy { autoHideContainer?: boolean; widget?: Widget; state?: TState; cx: ReturnType<typeof bem>; abstract instantSearchInstance: NgAisInstantSearch; abstract parentIndex?: NgAisIndex; constructor(widgetName: string); get parent(): NgAisIndex | NgAisInstantSearch; createWidget(connector: Connector, options?: object, additionalWidgetProperties?: object): void; ngOnInit(): void; ngOnDestroy(): void; updateState: (state: TState, isFirstRendering: boolean) => Promise<void> | void; /** * Helper to generate class names for an item * @param item element to generate a class name for */ getItemClass(item: { isRefined?: boolean; }): string; }