smart-webcomponents
Version:
Web Components & Custom Elements for Professional Web Applications
142 lines (137 loc) • 4.84 kB
TypeScript
import {BaseElement, Animation} from "./smart.element"
export interface ScrollBarProperties {
/**
* Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
* Default value: advanced
*/
animation?: Animation | string;
/**
* Enables or disables the element.
* Default value: false
*/
disabled?: boolean;
/**
* Sets or gets the scrollbar's largestep. The value is increased/decreased with this largestep when the user presses the left mouse button in the area between a scrollbar button and thumb.
* Default value: 100
*/
largeStep?: number;
/**
* Sets or gets the unlockKey which unlocks the product.
* Default value: ""
*/
unlockKey?: string;
/**
* Sets or gets the language. Used in conjunction with the property messages.
* Default value: "en"
*/
locale?: string;
/**
* Callback, related to localization module.
* Default value: null
*/
localizeFormatFunction?: any;
/**
* Sets or gets the scrollbar's maximum value.
* Default value: 1000
*/
max?: number;
/**
* Sets or gets the type of used mechanical action. The mechanical action defines in which moment the value of the element will be updated.
* Default value: switchWhileDragging
*/
mechanicalAction?: DragMechanicalAction | string;
/**
* Sets an object with string values, related to the different states of passwords strength.
* 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."
* }
* }
*/
messages?: any;
/**
* Sets or gets the scrollbar's minimum value.
* Default value: 0
*/
min?: number;
/**
* Sets or gets the scrollbar's orientation
* Default value: horizontal
*/
orientation?: Orientation | string;
/**
* If the element is readonly, users cannot interact with it.
* 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 or gets scrollbar buttons visibility.
* Default value: true
*/
showButtons?: boolean;
/**
* Sets or gets the scrollbar's step. The value is increased/decreased with this step when the user presses a scrollbar button.
* Default value: 10
*/
step?: number;
/**
* Determines the theme. Theme defines the look of the element
* Default value: ""
*/
theme?: string;
/**
* If is set to true, the element cannot be focused.
* Default value: false
*/
unfocusable?: boolean;
/**
* Sets or gets the widget's value.
* Default value: 0
*/
value?: number;
}
/**
Scrollbar is a replacement of the default scroll bar with multiple UI Styling options.
*/
export interface ScrollBar extends BaseElement, ScrollBarProperties {
/* Get a member by its name */
[name: string]: any;
/**
* This event is triggered when the value is changed.
* @param event. The custom event. Custom data event was created with: ev.detail(value, oldValue, min, max)
* value - A numeric value indicating the scroll position.
* oldValue - A numeric value indicating the previous scroll position.
* min - A numeric value indicating the min scroll position.
* max - A numeric value indicating the max scroll position.
*/
onChange: ((this: any, ev: Event) => any) | null;
/**
* Redraws the element.
*/
refresh(): void;
}
declare global {
interface Document {
createElement(tagName: "smart-scroll-bar"): ScrollBar;
querySelector(selectors: "smart-scroll-bar"): ScrollBar | null;
querySelectorAll(selectors: "smart-scroll-bar"): NodeListOf<ScrollBar>;
getElementsByTagName(qualifiedName: "smart-scroll-bar"): HTMLCollectionOf<ScrollBar>;
getElementsByName(elementName: "smart-scroll-bar"): NodeListOf<ScrollBar>;
}
}
/**Sets or gets the type of used mechanical action. The mechanical action defines in which moment the value of the element will be updated. */
export declare type DragMechanicalAction = 'switchUntilReleased' | 'switchWhenReleased' | 'switchWhileDragging';
/**Sets or gets the scrollbar's orientation */
export declare type Orientation = 'horizontal' | 'vertical';