UNPKG

finpro

Version:
102 lines 3.15 kB
import { CSSResultGroup, PropertyValues } from 'lit'; import '../fp-icon/fp-icon'; import '../fp-select/fp-select-option/fp-select-option'; import type FpSelectOption from './fp-select-option/fp-select-option'; import FinproElement from '../../internals/finpro-element'; export interface ISelectOption { value: string; text: string; selected: boolean; } export declare type SelectSize = 'medium' | 'large' | 'small'; export declare type CleanUpFunction = () => void; export default class FpSelect extends FinproElement { static get styles(): CSSResultGroup; /** * Sets the label value */ label?: string; /** * Sets the placeholder value. If left blank, the label value (if specified) is set as placeholder. */ placeholder?: string; /** * Sets the size value. Select component's height value will be changed accordingly */ size: SelectSize; /** * When option is not selected, shows component in error state */ required: boolean; /** * Shows the component in disabled state. */ disabled: boolean; /** * Allows multiple options to be selected */ multiple: boolean; /** * Makes label as fixed positioned */ labelFixed: boolean; /** * Adds help text */ helpText?: string; /** * Set custom error message */ customInvalidText?: string; private _isPopoverOpen; private _selectedOptions; private _additionalSelectedOptionCount; private _isInvalid; private _selectedOptionsContainer; private _selectedOptionsItems; private _popover; private _selectInput; private _onFpSelect; private _connectedOptions; private _cleanUpPopover; get options(): FpSelectOption[]; get opened(): boolean; get selectedOptions(): ISelectOption[]; get additionalSelectedOptionCount(): number; get isInvalid(): boolean; open(): void; close(): void; private _clickOutsideHandler; private _setupPopover; connectedCallback(): void; disconnectedCallback(): void; private inputTemplate; private menuTemplate; render(): import("lit-html").TemplateResult<1>; private get _showPlaceHolder(); private _onClickSelectInput; private _handleSelectEvent; private _handleSingleSelect; private _handleMultipleSelect; private _handleSelectOptionEvent; private _onClickRemove; private _checkAdditionalItemCount; private _checkRequired; protected updated(_changedProperties: PropertyValues): void; /** * This method is used by `fp-select-option` component to register itself to fp-select. * @param option FpSelectOption reference to be registered */ registerOption(option: FpSelectOption): void; /** * This method is used by `fp-select-option` component to unregister itself from fp-select. * @param option FpSelectOption reference to be unregistered */ unregisterOption(option: FpSelectOption): void; } declare global { interface HTMLElementTagNameMap { 'fp-select': FpSelect; } } //# sourceMappingURL=fp-select.d.ts.map