UNPKG

smart-webcomponents

Version:

Web Components & Custom Elements for Professional Web Applications

312 lines (307 loc) 11 kB
import {BaseElement, Animation} from "./smart.element" export interface SliderProperties { /** * Sets or gets the animation mode. Animation is disabled when the property is set to 'none' * Default value: advanced */ animation?: Animation | string; /** * With the coerce property true and clicking the track, the thumb and value are moved and set to the nearest value allowed by the interval property. * Default value: false */ coerce?: boolean; /** * Sets or gets whether custom ticks at (possibly) uneven interval will be plotted. The ticks to be plotted are defined with the property customTicks. * Default value: false */ customInterval?: boolean; /** * If customInterval is enabled, sets a list of ticks to be plotted. If coerce is set to true, the value will snap to these ticks. * Default value: 0,50,100 */ customTicks?: number[]; /** * Sets or gets the pattern which labels are displayed in when mode is 'date'. * Default value: "d" */ dateLabelFormatString?: string; /** * Sets or gets the char to use as the decimal separator in numeric values. * Default value: ""."" */ decimalSeparator?: string; /** * Enables or disables the widget. * Default value: false */ disabled?: boolean; /** * Enables or disables incrementing/decrementing the value using the mouse wheel in jqxSlider. * Default value: false */ enableMouseWheelAction?: boolean; /** * Determines what values the thumb snaps to. * Default value: 1 */ interval?: string | number; /** * Sets the direction of the slider. If is true - positions of the slider's begin and end are changed. * Default value: false */ inverted?: boolean; /** * A callback function that can be used to format the values displayed on the slider labels and tooltip. * Default value: null */ labelFormatFunction?: any; /** * Sets or gets the widget's label visibility. * Default value: all */ labelsVisibility?: LabelsVisibility | string; /** * Sets or gets the unlockKey which unlocks the product. * Default value: "" */ unlockKey?: string; /** * Sets or gets the locale. Used in conjunction with the property messages. * Default value: "en" */ locale?: string; /** * Callback, related to localization module. * Default value: null */ localizeFormatFunction?: any; /** * Enables or disables the usage of logarithmic scale in the widget. * Default value: false */ logarithmicScale?: boolean; /** * Sets or gets the maximum value of the widget. * Default value: 100 */ max?: string | number; /** * Sets or gets the type of used mechanical action. * Default value: switchWhileDragging */ mechanicalAction?: DragMechanicalAction | string; /** * Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. * Default value: * { * "en": { * "propertyUnknownType": "'' property is with undefined 'type' member!", * "propertyInvalidValue": "Invalid '!", * "propertyInvalidValueType": "Invalid '!", * "elementNotInDOM": "Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.", * "moduleUndefined": "Module is undefined.", * "missingReference": ".", * "htmlTemplateNotSuported": ": Browser doesn't support HTMLTemplate elements.", * "invalidTemplate": "' property accepts a string that must match the id of an HTMLTemplate element from the DOM.", * "significantPrecisionDigits": ": the properties significantDigits and precisionDigits cannot be set at the same time.", * "invalidMinOrMax": " value. Max cannot be lower than Min.", * "noInteger": ": precisionDigits could be set only on \"floatingPoint\" scaleType." * } * } */ messages?: any; /** * Sets or gets the minimum value of the widget. * Default value: 0 */ min?: string | number; /** * Sets or gets whether the widget works with numbers or dates. * Default value: numeric */ mode?: ScaleMode | string; /** * Sets or gets the element's name, which is used as a reference when the data is submitted. * Default value: "" */ name?: string; /** * Sets the orientation of the widget. * Default value: horizontal */ orientation?: Orientation | string; /** * Determines the number of digits after the decimal point. Applicable only when scaleType is 'integer'. * Default value: null */ precisionDigits?: number; /** * Enables or disables the slider to be in range mode. If is set to true, the range is represented between two thumbs. * Default value: false */ rangeSlider?: boolean; /** * When the slider is read only the users cannot drag or click in the fill of the slider. * Default value: false */ readonly?: boolean; /** * Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. * Default value: false */ rightToLeft?: boolean; /** * Sets the position of the widget's scales. * Default value: near */ scalePosition?: ScalePosition | string; /** * Sets the type of the slider's scale. * Default value: floatingPoint */ scaleType?: ScaleType | string; /** * Enables or disables scientific notation. * Default value: false */ scientificNotation?: boolean; /** * Enables or disables displaying of the buttons. * Default value: false */ showButtons?: boolean; /** * Enables or disables displaying of the thumb label. * Default value: false */ showThumbLabel?: boolean; /** * Enables or disables displaying of the tooltip. * Default value: false */ showTooltip?: boolean; /** * Enables or disables displaying of the units. * Default value: false */ showUnit?: boolean; /** * Determining how many significant digits are in a number. Applicable only when scaleType is 'integer'. * Default value: null */ significantDigits?: number; /** * Sets or gets the element's visual theme. * Default value: "" */ theme?: string; /** * Sets or gets the position of the thumb label. * Default value: near */ thumbLabelPosition?: Position | string; /** * Sets or gets the position of the ticks in jqxSlider widget. * Default value: scale */ ticksPosition?: TicksPosition | string; /** * Sets or gets the visibility of the ticks. * Default value: minor */ ticksVisibility?: TicksVisibility | string; /** * Sets or gets the position of the tooltip in jqxSlider widget. * Default value: near */ tooltipPosition?: Position | string; /** * Sets or gets if the element can be focused. * Default value: false */ unfocusable?: boolean; /** * Sets or gets the name of unit used in jqxSlider widget. * Default value: "kg" */ unit?: string; /** * Sets the value's validation by min/max. If 'strict' is applied, the value is always validated by min and max. If 'interaction' is applied, programmatic value changes are not coerced to min/max and if min/max are changed, resulting in the current value being out of range, the value is not coerced, and no change event is fired. * Default value: strict */ validation?: Validation | string; /** * Sets or gets the value of the jqxSlider widget. The property is used when the rangeSlider property is set to false. * Default value: 0 */ value?: any; /** * Sets or gets the value of the jqxSlider widget. The property is used when the rangeSlider property is set to true. * Default value: 0,100 */ values?: number[]; /** * Sets or gets the word length. Applicable only when scaleType is 'integer'. * Default value: int32 */ wordLength?: WordLength | string; } /** Sliders allow users to make selections from a range of values. */ export interface Slider extends BaseElement, SliderProperties { /* Get a member by its name */ [name: string]: any; /** * This event is triggered when the value of the slider is changed. * @param event. The custom event. Custom data event was created with: ev.detail(value, oldValue) * value - A numeric value indicating the scroll position. * oldValue - A numeric value indicating the previous scroll position. */ onChange: ((this: any, ev: Event) => any) | null; /** * Focuses the slider. */ focus(): void; /** * Gets the optimal size of the widget. * @returns {any} */ getOptimalSize(): any; /** * Get/set the value of the slider. * @param {string | number | number[] | string[]} value?. The value to be set. If no parameter is passed, returns the displayed value of the slider. * @returns {string} */ val(value?: string | number | number[] | string[]): string; } declare global { interface Document { createElement(tagName: "smart-slider"): Slider; querySelector(selectors: "smart-slider"): Slider | null; querySelectorAll(selectors: "smart-slider"): NodeListOf<Slider>; getElementsByTagName(qualifiedName: "smart-slider"): HTMLCollectionOf<Slider>; getElementsByName(elementName: "smart-slider"): NodeListOf<Slider>; } } /**Sets or gets the widget's label visibility. */ export declare type LabelsVisibility = 'all' | 'endPoints' | 'none'; /**Sets or gets the type of used mechanical action. */ export declare type DragMechanicalAction = 'switchUntilReleased' | 'switchWhenReleased' | 'switchWhileDragging'; /**Sets or gets whether the widget works with numbers or dates. */ export declare type ScaleMode = 'numeric' | 'date'; /**Sets the orientation of the widget. */ export declare type Orientation = 'horizontal' | 'vertical'; /**Sets the position of the widget's scales. */ export declare type ScalePosition = 'near' | 'far' | 'both' | 'none'; /**Sets the type of the slider's scale. */ export declare type ScaleType = 'floatingPoint' | 'integer'; /**Sets or gets the position of the tooltip in jqxSlider widget. */ export declare type Position = 'near' | 'far'; /**Sets or gets the position of the ticks in jqxSlider widget. */ export declare type TicksPosition = 'scale' | 'track'; /**Sets or gets the visibility of the ticks. */ export declare type TicksVisibility = 'major' | 'minor' | 'none'; /**Sets the value's validation by min/max. If 'strict' is applied, the value is always validated by min and max. If 'interaction' is applied, programmatic value changes are not coerced to min/max and if min/max are changed, resulting in the current value being out of range, the value is not coerced, and no change event is fired. */ export declare type Validation = 'strict' | 'interaction'; /**Sets or gets the word length. Applicable only when scaleType is 'integer'. */ export declare type WordLength = 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64';