UNPKG

pencil.js

Version:

Nice modular interactive 2D drawing library.

84 lines (83 loc) 1.99 kB
/** * Select class * <br><img src="./media/examples/select.png" alt="select demo"/> * @class * @extends {module:Input} */ export default class Select { /** * @inheritDoc * @param {Object} definition - Select definition * @return {Select} */ static from(definition: any): Select; /** * @typedef {Object} SelectOptions * @extends TextOptions * @extends InputOptions * @prop {String} [value=0] - Selected index of the select */ /** * @type {SelectOptions} */ static get defaultOptions(): any; /** * Margin around the text * @type {Number} */ static get MARGIN(): number; /** * Select constructor * @param {PositionDefinition} positionDefinition - Any position * @param {Array<String>} optionsList - List of options to display * @param {InputOptions} [options] - Drawing options */ constructor(positionDefinition: PositionDefinition, optionsList: Array<string>, options?: InputOptions); display: Text; optionsList: Text[]; optionsContainer: Rectangle; /** * @param {Number} value - Index of the selected option */ set value(value: number); /** * @return {Number} */ get value(): number; arrow: Triangle; /** * Computer button size * @return {{width: Number, height: Number}} */ get size(): { width: number; height: number; }; /** * Get this button's width * @return {Number} */ get width(): number; /** * Get this button's height * @return {Number} */ get height(): number; /** * @inheritDoc */ click(): void; /** * @inheritDoc */ toJSON(): any; [selectedKey]: number; } import Text from "@pencil.js/text"; import Rectangle from "@pencil.js/rectangle"; import Triangle from "@pencil.js/triangle"; /** * @module Select */ declare const selectedKey: unique symbol; export {};