angular-instantsearch
Version:
Lightning-fast search for Angular apps, by Algolia.
30 lines (29 loc) • 1.37 kB
TypeScript
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;
}