pencil.js
Version:
Nice modular interactive 2D drawing library.
84 lines (83 loc) • 1.99 kB
TypeScript
/**
* 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 {};