UNPKG

@blueprintjs/select

Version:

Components related to selecting items from a list

48 lines (47 loc) 2.35 kB
import * as React from "react"; import { type MenuItemProps } from "@blueprintjs/core"; import type { ItemPredicate, ItemRenderer, ItemRendererProps } from "../common"; export interface Film { /** Title of film. */ title: string; /** Release year. */ year: number; /** IMDb ranking. */ rank: number; } /** Top 100 films as rated by IMDb users. http://www.imdb.com/chart/top */ export declare const TOP_100_FILMS: Film[]; /** * Takes the same arguments as `ItemRenderer<Film>`, but returns the common menu item * props for that item instead of the rendered element itself. This is useful for implementing * custom item renderers. */ export declare function getFilmItemProps(film: Film, { handleClick, handleFocus, modifiers, query, ref }: ItemRendererProps): MenuItemProps & React.Attributes; /** * Simple film item renderer for "menu" containers. Does not support "selected" appearance. */ export declare const renderFilm: ItemRenderer<Film>; /** * Renders a menu item to create a single film from a given query string. */ export declare const renderCreateFilmMenuItem: (query: string, active: boolean, handleClick: React.MouseEventHandler<HTMLElement>) => React.JSX.Element; /** * Renders a menu item to create one or more films from a given query string. */ export declare const renderCreateFilmsMenuItem: (query: string, active: boolean, handleClick: React.MouseEventHandler<HTMLElement>) => React.JSX.Element; export declare const filterFilm: ItemPredicate<Film>; export declare function createFilm(title: string): Film; export declare function createFilms(query: string): Film[]; export declare function areFilmsEqual(filmA: Film, filmB: Film): boolean; export declare function doesFilmEqualQuery(film: Film, query: string): boolean; export declare function arrayContainsFilm(films: Film[], filmToFind: Film): boolean; export declare function addFilmToArray(films: Film[], filmToAdd: Film): Film[]; export declare function deleteFilmFromArray(films: Film[], filmToDelete: Film): Film[]; export declare function maybeAddCreatedFilmToArrays(items: Film[], createdItems: Film[], film: Film): { createdItems: Film[]; items: Film[]; }; export declare function maybeDeleteCreatedFilmFromArrays(items: Film[], createdItems: Film[], film: Film | undefined): { createdItems: Film[]; items: Film[]; };