@bilions/search-js
Version:
Instance search UI component
72 lines (71 loc) • 1.59 kB
TypeScript
import './assets/css/index.scss';
import './assets/css/github.scss';
import { SearchJSConfig } from './types';
export declare class SearchJSApp {
config: SearchJSConfig;
/**
* UI component
*
* @var {SearchComponent} component
*/
private component;
/**
* instance variable for singleton structure
*
* @var {SearchJSApp} _instance
*/
private static _instance;
/**
* class constructor
*
* @param {SearchJSConfig} config
*/
constructor(config: SearchJSConfig);
/**
* get singleton instance
*
* @param {SearchJSConfig} config
* @returns {SearchJSApp}
*/
static getInstance(config: SearchJSConfig): SearchJSApp;
/**
* function to open search modal
*
* @returns {void}
*/
open(): void;
/**
* function to close search modal
*
* @returns {void}
*/
close(): void;
/**
* private function to focus on search input when modal open
*
* @returns {void}
*/
private focusOnSearch;
/**
* listen keyboard key press to open or close modal
* (ctrl + k) | (cmd + k) to open modal
* Esc to close modal
*
* @returns {void}
*/
private listenKeyboardKeyPress;
}
/**
* init search js
*
* @param {SearchJSConfig} config
* @returns {SearchJSApp}
*/
declare const SearchJS: (config: SearchJSConfig) => SearchJSApp;
declare global {
interface Window {
SearchJS: (config: SearchJSConfig) => SearchJSApp;
}
}
export default SearchJS;
export * from './types';