preline
Version:
Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.
1,058 lines (1,055 loc) • 32.1 kB
TypeScript
export interface ICopyMarkupOptions {
targetSelector: string;
wrapperSelector: string;
limit?: number;
}
export interface ICopyMarkup {
options?: ICopyMarkupOptions;
}
export interface IBasePlugin<O, E> {
el: E;
options?: O;
events?: {};
}
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
el: E;
options: O;
events?: any;
constructor(el: E, options: O, events?: any);
createCollection(collection: any[], element: any): void;
fireEvent(evt: string, payload?: any): any;
on(evt: string, cb: Function): void;
}
export interface ICollectionItem<T> {
id: string | number;
element: T;
}
export declare class HSCopyMarkup extends HSBasePlugin<ICopyMarkupOptions> implements ICopyMarkup {
private readonly targetSelector;
private readonly wrapperSelector;
private readonly limit;
private target;
private wrapper;
private items;
constructor(el: HTMLElement, options?: ICopyMarkupOptions);
private init;
private copy;
private addPredefinedItems;
private setTarget;
private setWrapper;
private addToItems;
delete(target: HTMLElement): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSCopyMarkup | ICollectionItem<HSCopyMarkup>;
static autoInit(): void;
}
export interface IAccordionTreeViewStaticOptions {
}
export interface IAccordionTreeView {
el: HTMLElement | null;
options?: IAccordionTreeViewStaticOptions;
}
export interface IAccordionOptions {
}
export interface IAccordion {
options?: IAccordionOptions;
show(): void;
hide(): void;
}
export declare class HSAccordion extends HSBasePlugin<IAccordionOptions> implements IAccordion {
private readonly toggle;
content: HTMLElement | null;
private group;
private isAlwaysOpened;
static selectable: IAccordionTreeView[];
constructor(el: HTMLElement, options?: IAccordionOptions, events?: {});
private init;
show(): boolean;
hide(): boolean;
update(): boolean;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HTMLElement | ICollectionItem<HSAccordion>;
static show(target: HTMLElement): void;
static hide(target: HTMLElement): void;
static autoInit(): void;
static treeView(): boolean;
static toggleSelected(root: IAccordionTreeView, item: HTMLElement): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export type TCarouselOptionsSlidesQty = {
[key: string]: number;
};
export interface ICarouselOptions {
currentIndex: number;
loadingClasses?: string | string[];
dotsItemClasses?: string;
isAutoHeight?: boolean;
isAutoPlay?: boolean;
isCentered?: boolean;
isDraggable?: boolean;
isInfiniteLoop?: boolean;
isRTL?: boolean;
isSnap?: boolean;
hasSnapSpacers?: boolean;
slidesQty?: TCarouselOptionsSlidesQty | number;
speed?: number;
updateDelay?: number;
}
export interface ICarousel {
options?: ICarouselOptions;
recalculateWidth(): void;
goToPrev(): void;
goToNext(): void;
goTo(i: number): void;
}
export declare class HSCarousel extends HSBasePlugin<ICarouselOptions> implements ICarousel {
private currentIndex;
private readonly loadingClasses;
private readonly dotsItemClasses;
private readonly isAutoHeight;
private readonly isAutoPlay;
private readonly isCentered;
private readonly isDraggable;
private readonly isInfiniteLoop;
private readonly isRTL;
private readonly isSnap;
private readonly hasSnapSpacers;
private readonly slidesQty;
private readonly speed;
private readonly updateDelay;
private readonly loadingClassesRemove;
private readonly loadingClassesAdd;
private readonly afterLoadingClassesAdd;
private readonly container;
private readonly inner;
private readonly slides;
private readonly prev;
private readonly next;
private readonly dots;
private dotsItems;
private readonly info;
private readonly infoTotal;
private readonly infoCurrent;
private sliderWidth;
private timer;
private isScrolling;
private isDragging;
private dragStartX;
private initialTranslateX;
private readonly touchX;
private resizeContainer;
resizeContainerWidth: number;
constructor(el: HTMLElement, options?: ICarouselOptions);
private setIsSnap;
private init;
private initDragHandling;
private getTranslateXValue;
private removeClickEventWhileDragging;
private handleDragStart;
private handleDragMove;
private handleDragEnd;
private getEventX;
private getCurrentSlidesQty;
private buildSnapSpacers;
private initDots;
private buildDots;
private setDots;
private goToCurrentDot;
private buildInfo;
private setInfoTotal;
private setInfoCurrent;
private buildSingleDot;
private singleDotEvents;
private observeResize;
private calculateWidth;
private addCurrentClass;
private setCurrentDot;
private setElementToDisabled;
private unsetElementToDisabled;
private addDisabledClass;
private autoPlay;
private setTimer;
private resetTimer;
private detectDirection;
recalculateWidth(): void;
private calculateTransform;
private setTranslate;
goToPrev(): void;
goToNext(): void;
goTo(i: number): void;
private setIndex;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSCarousel | ICollectionItem<HSCarousel>;
static autoInit(): void;
}
export interface ICollapse {
options?: {};
show(): void;
hide(): void;
}
export declare class HSCollapse extends HSBasePlugin<{}> implements ICollapse {
private readonly contentId;
content: HTMLElement | null;
private animationInProcess;
constructor(el: HTMLElement, options?: {}, events?: {});
private init;
private hideAllMegaMenuItems;
show(): boolean;
hide(): boolean;
static getInstance(target: HTMLElement, isInstance?: boolean): HTMLElement | ICollectionItem<HSCollapse>;
static autoInit(): void;
static show(target: HTMLElement): void;
static hide(target: HTMLElement): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export interface IComboBoxOptions {
gap?: number;
viewport?: string | HTMLElement | null;
preventVisibility?: boolean;
apiUrl?: string | null;
apiDataPart?: string | null;
apiQuery?: string | null;
apiSearchQuery?: string | null;
apiHeaders?: {};
apiGroupField?: string | null;
outputItemTemplate?: string | null;
outputEmptyTemplate?: string | null;
outputLoaderTemplate?: string | null;
groupingType?: "default" | "tabs" | null;
groupingTitleTemplate?: string | null;
tabsWrapperTemplate?: string | null;
preventSelection?: boolean;
preventAutoPosition?: boolean;
isOpenOnFocus?: boolean;
}
export interface IComboBox {
options?: IComboBoxOptions;
open(): void;
close(): void;
recalculateDirection(): void;
}
export declare class HSComboBox extends HSBasePlugin<IComboBoxOptions> implements IComboBox {
gap: number;
viewport: string | HTMLElement | null;
preventVisibility: boolean;
apiUrl: string | null;
apiDataPart: string | null;
apiQuery: string | null;
apiSearchQuery: string | null;
apiHeaders: {};
apiGroupField: string | null;
outputItemTemplate: string | null;
outputEmptyTemplate: string | null;
outputLoaderTemplate: string | null;
groupingType: "default" | "tabs" | null;
groupingTitleTemplate: string | null;
tabsWrapperTemplate: string | null;
preventSelection: boolean;
preventAutoPosition: boolean;
isOpenOnFocus: boolean;
private readonly input;
private readonly output;
private readonly itemsWrapper;
private items;
private tabs;
private readonly toggle;
private readonly toggleClose;
private readonly toggleOpen;
private outputPlaceholder;
private outputLoader;
private value;
private selected;
private groups;
private selectedGroup;
isOpened: boolean;
isCurrent: boolean;
private animationInProcess;
constructor(el: HTMLElement, options?: IComboBoxOptions, events?: {});
private init;
private build;
private setResultAndRender;
private buildInput;
private buildItems;
private setResults;
private isItemExists;
private isTextExists;
private isTextExistsAny;
private valuesBySelector;
private buildOutputLoader;
private destroyOutputLoader;
private itemsFromJson;
private jsonItemsRender;
private setGroups;
setCurrent(): void;
private setApiGroups;
private sortItems;
private itemRender;
private plainRender;
private groupTabsRender;
private groupDefaultRender;
private itemsFromHtml;
private buildToggle;
private buildToggleClose;
private buildToggleOpen;
private setSelectedByValue;
private setValue;
private setItemsVisibility;
private hasVisibleItems;
private appendItemsToWrapper;
private buildOutputPlaceholder;
private destroyOutputPlaceholder;
private resultItems;
private setValueAndOpen;
open(val?: string): boolean;
private setValueAndClear;
close(val?: string | null): boolean;
recalculateDirection(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSComboBox | ICollectionItem<HSComboBox>;
static autoInit(): void;
static close(target: HTMLElement | string): void;
static closeCurrentlyOpened(evtTarget?: HTMLElement | null): void;
private static getPreparedItems;
private static setHighlighted;
static accessibility(evt: KeyboardEvent): void;
static onEscape(): void;
static onArrow(isArrowUp?: boolean): boolean;
static onStartEnd(isStart?: boolean): boolean;
static onEnter(evt: Event): void;
}
export interface IDropdown {
options?: {};
open(): void;
close(isAnimated: boolean): void;
forceClearState(): void;
}
export interface IHTMLElementPopper extends HTMLElement {
_popper: any;
}
export declare class HSDropdown extends HSBasePlugin<{}, IHTMLElementPopper> implements IDropdown {
private static history;
private readonly toggle;
private readonly closers;
menu: HTMLElement | null;
private eventMode;
private closeMode;
private animationInProcess;
constructor(el: IHTMLElementPopper, options?: {}, events?: {});
private init;
resizeHandler(): void;
private buildToggle;
private buildMenu;
private buildClosers;
private onClickHandler;
private onMouseEnterHandler;
private onMouseLeaveHandler;
private destroyPopper;
private absoluteStrategyModifiers;
open(): boolean;
close(isAnimated?: boolean): boolean;
forceClearState(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): ICollectionItem<HSDropdown> | IHTMLElementPopper;
static autoInit(): void;
static open(target: HTMLElement): void;
static close(target: HTMLElement): void;
static accessibility(evt: KeyboardEvent): void;
static onEscape(evt: KeyboardEvent): void;
static onEnter(evt: KeyboardEvent): void;
static onArrow(isArrowUp?: boolean): boolean;
static onStartEnd(isStart?: boolean): boolean;
static onFirstLetter(code: string): boolean;
static closeCurrentlyOpened(evtTarget?: HTMLElement | null, isAnimated?: boolean): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export interface IInputNumberOptions {
min?: number;
max?: number;
step?: number;
}
export interface IInputNumber {
options?: IInputNumberOptions;
}
export declare class HSInputNumber extends HSBasePlugin<IInputNumberOptions> implements IInputNumber {
private readonly input;
private readonly increment;
private readonly decrement;
private inputValue;
private readonly minInputValue;
private readonly maxInputValue;
private readonly step;
constructor(el: HTMLElement, options?: IInputNumberOptions);
private init;
private checkIsNumberAndConvert;
private cleanAndExtractNumber;
private build;
private buildInput;
private buildIncrement;
private buildDecrement;
private changeValue;
private disableButtons;
private enableButtons;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSInputNumber | {
id: number;
element: HSInputNumber;
};
static autoInit(): void;
}
export interface IOverlayOptions {
hiddenClass?: string | null;
emulateScrollbarSpace?: boolean;
isClosePrev?: boolean;
backdropClasses?: string | null;
backdropExtraClasses?: string | null;
moveOverlayToBody?: number | null;
}
export interface IOverlay {
options?: IOverlayOptions;
open(): void;
close(): void;
}
export declare class HSOverlay extends HSBasePlugin<{}> implements IOverlay {
private readonly hiddenClass;
private readonly emulateScrollbarSpace;
private readonly isClosePrev;
private readonly backdropClasses;
private readonly backdropExtraClasses;
private readonly animationTarget;
private openNextOverlay;
private autoHide;
private readonly overlayId;
overlay: HTMLElement | null;
initContainer: HTMLElement | null;
isCloseWhenClickInside: boolean;
isTabAccessibilityLimited: boolean;
isLayoutAffect: boolean;
hasAutofocus: boolean;
hasAbilityToCloseOnBackdropClick: boolean;
openedBreakpoint: number | null;
autoClose: number | null;
moveOverlayToBody: number | null;
constructor(el: HTMLElement, options?: IOverlayOptions, events?: {});
private init;
private hideAuto;
private checkTimer;
private buildBackdrop;
private destroyBackdrop;
private focusElement;
private getScrollbarSize;
open(): false | Promise<void>;
close(forceClose?: boolean): Promise<unknown>;
static getInstance(target: HTMLElement, isInstance?: boolean): HTMLElement | ICollectionItem<HSOverlay>;
static autoInit(): void;
static open(target: HTMLElement): void;
static close(target: HTMLElement): void;
static setOpened(breakpoint: number, el: ICollectionItem<HSOverlay>): void;
static accessibility(evt: KeyboardEvent): boolean;
static onEscape(target: ICollectionItem<HSOverlay>): void;
static onTab(target: ICollectionItem<HSOverlay>, focusableElements: HTMLElement[]): boolean;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export interface IPinInputOptions {
availableCharsRE?: RegExp;
}
export interface IPinInput {
options?: IPinInputOptions;
}
export declare class HSPinInput extends HSBasePlugin<IPinInputOptions> implements IPinInput {
private items;
private currentItem;
private currentValue;
private readonly placeholders;
private readonly availableCharsRE;
constructor(el: HTMLElement, options?: IPinInputOptions);
private init;
private build;
private buildInputItems;
private checkIfNumber;
private autoFillAll;
private setCurrentValue;
private toggleCompleted;
private onInput;
private onKeydown;
private onFocusIn;
private onFocusOut;
private onPaste;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSPinInput | ICollectionItem<HSPinInput>;
static autoInit(): void;
}
export interface IRemoveElementOptions {
removeTargetAnimationClass: string;
}
export interface IRemoveElement {
options?: IRemoveElementOptions;
}
export declare class HSRemoveElement extends HSBasePlugin<IRemoveElementOptions> implements IRemoveElement {
private readonly removeTargetId;
private readonly removeTarget;
private readonly removeTargetAnimationClass;
constructor(el: HTMLElement, options?: IRemoveElementOptions);
private init;
private remove;
static autoInit(): void;
}
export interface IScrollspy {
options?: {};
}
export declare class HSScrollspy extends HSBasePlugin<{}> implements IScrollspy {
private activeSection;
private readonly contentId;
private readonly content;
private readonly links;
private readonly sections;
private readonly scrollableId;
private readonly scrollable;
constructor(el: HTMLElement, options?: {});
private init;
private update;
private scrollTo;
static getInstance(target: HTMLElement, isInstance?: boolean): HTMLElement | ICollectionItem<HSScrollspy>;
static autoInit(): void;
}
export interface ISingleOptionOptions {
description: string;
icon: string;
}
export interface ISingleOption {
title: string;
val: string;
disabled?: boolean;
selected?: boolean;
options?: ISingleOptionOptions | null;
}
export interface IApiFieldMap {
id: string;
title: string;
icon?: string | null;
description?: string | null;
[key: string]: unknown;
}
export interface ISelectOptions {
value?: string | string[];
isOpened?: boolean;
placeholder?: string;
hasSearch?: boolean;
preventSearchFocus?: boolean;
mode?: string;
viewport?: string;
wrapperClasses?: string;
apiUrl?: string | null;
apiQuery?: string | null;
apiOptions?: RequestInit | null;
apiDataPart?: string | null;
apiSearchQueryKey?: string | null;
apiFieldsMap?: IApiFieldMap | null;
apiIconTag?: string | null;
toggleTag?: string;
toggleClasses?: string;
toggleSeparators?: {
items?: string;
betweenItemsAndCounter?: string;
};
toggleCountText?: string;
toggleCountTextMinItems?: number;
toggleCountTextMode?: string;
tagsItemTemplate?: string;
tagsItemClasses?: string;
tagsInputId?: string;
tagsInputClasses?: string;
dropdownTag?: string;
dropdownClasses?: string;
dropdownDirectionClasses?: {
top?: string;
bottom?: string;
};
dropdownSpace: number;
dropdownPlacement: string | null;
dropdownScope: "window" | "parent";
extraMarkup?: string | string[] | null;
searchTemplate?: string;
searchWrapperTemplate?: string;
searchId?: string;
searchLimit?: number | typeof Infinity;
isSearchDirectMatch?: boolean;
searchClasses?: string;
searchWrapperClasses?: string;
searchPlaceholder?: string;
searchNoResultTemplate?: string | null;
searchNoResultText?: string | null;
searchNoResultClasses?: string | null;
optionTemplate?: string;
optionTag?: string;
optionClasses?: string;
descriptionClasses?: string;
iconClasses?: string;
isAddTagOnEnter?: boolean;
}
export interface ISelect {
options?: ISelectOptions;
destroy(): void;
open(): void;
close(): void;
addOption(items: ISingleOption | ISingleOption[]): void;
removeOption(values: string | string[]): void;
recalculateDirection(): void;
}
export declare class HSSelect extends HSBasePlugin<ISelectOptions> implements ISelect {
value: string | string[] | null;
private readonly placeholder;
private readonly hasSearch;
private readonly preventSearchFocus;
private readonly mode;
private readonly viewport;
isOpened: boolean | null;
isMultiple: boolean | null;
isDisabled: boolean | null;
selectedItems: string[];
private readonly apiUrl;
private readonly apiQuery;
private readonly apiOptions;
private readonly apiDataPart;
private readonly apiSearchQueryKey;
private readonly apiFieldsMap;
private readonly apiIconTag;
private readonly toggleTag;
private readonly toggleClasses;
private readonly toggleSeparators;
private readonly toggleCountText;
private readonly toggleCountTextMinItems;
private readonly toggleCountTextMode;
private readonly wrapperClasses;
private readonly tagsItemTemplate;
private readonly tagsItemClasses;
private readonly tagsInputId;
private readonly tagsInputClasses;
private readonly dropdownTag;
private readonly dropdownClasses;
private readonly dropdownDirectionClasses;
dropdownSpace: number | null;
readonly dropdownPlacement: string | null;
readonly dropdownScope: "window" | "parent";
private readonly searchTemplate;
private readonly searchWrapperTemplate;
private readonly searchPlaceholder;
private readonly searchId;
private readonly searchLimit;
private readonly isSearchDirectMatch;
private readonly searchClasses;
private readonly searchWrapperClasses;
private readonly searchNoResultTemplate;
private readonly searchNoResultText;
private readonly searchNoResultClasses;
private readonly optionTag;
private readonly optionTemplate;
private readonly optionClasses;
private readonly descriptionClasses;
private readonly iconClasses;
private animationInProcess;
private wrapper;
private toggle;
private toggleTextWrapper;
private tagsInput;
private dropdown;
private popperInstance;
private searchWrapper;
private search;
private searchNoResult;
private selectOptions;
private extraMarkup;
private readonly isAddTagOnEnter;
private tagsInputHelper;
private remoteOptions;
private optionId;
constructor(el: HTMLElement, options?: ISelectOptions);
setValue(val: string | string[]): void;
private init;
private build;
private buildWrapper;
private buildExtraMarkup;
private buildToggle;
private setToggleIcon;
private setToggleTitle;
private buildTags;
private reassignTagsInputPlaceholder;
private buildTagsItem;
private getItemByValue;
private setTagsItems;
private buildTagsInput;
private buildDropdown;
private buildPopper;
private updateDropdownWidth;
private buildSearch;
private buildOption;
private buildOptionFromRemoteData;
private buildOptionsFromRemoteData;
private optionsFromRemoteData;
private apiRequest;
private sortElements;
private remoteSearch;
private destroyOption;
private buildOriginalOption;
private destroyOriginalOption;
private buildTagsInputHelper;
private calculateInputWidth;
private adjustInputWidth;
private onSelectOption;
private triggerChangeEventForNativeSelect;
private addSelectOption;
private removeSelectOption;
private resetTagsInputField;
private clearSelections;
private setNewValue;
private stringFromValueBasic;
private stringFromValueRemoteData;
private stringFromValue;
private selectSingleItem;
private selectMultipleItems;
private unselectMultipleItems;
private searchOptions;
private eraseToggleIcon;
private eraseToggleTitle;
private toggleFn;
destroy(): void;
open(): boolean;
close(): boolean;
addOption(items: ISingleOption | ISingleOption[]): void;
removeOption(values: string | string[]): void;
recalculateDirection(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSSelect | ICollectionItem<HSSelect>;
static autoInit(): void;
static open(target: HTMLElement | string): void;
static close(target: HTMLElement | string): void;
static closeCurrentlyOpened(evtTarget?: HTMLElement | null): void;
static accessibility(evt: KeyboardEvent): void;
static onEscape(): void;
static onArrow(isArrowUp?: boolean): boolean;
static onTab(isArrowUp?: boolean): boolean;
static onStartEnd(isStart?: boolean): boolean;
static onEnter(evt: Event): void;
}
export interface IStepperOptions {
currentIndex?: number;
isCompleted?: boolean;
mode?: string;
}
export interface IStepper {
options?: IStepperOptions;
setProcessedNavItem(n?: number): void;
unsetProcessedNavItem(n?: number): void;
goToNext(): void;
disableButtons(): void;
enableButtons(): void;
setErrorNavItem(n?: number): void;
}
export declare class HSStepper extends HSBasePlugin<{}> implements IStepper {
private currentIndex;
private readonly mode;
private isCompleted;
private totalSteps;
private navItems;
private contentItems;
private backBtn;
private nextBtn;
private skipBtn;
private completeStepBtn;
private completeStepBtnDefaultText;
private finishBtn;
private resetBtn;
constructor(el: HTMLElement, options?: IStepperOptions);
private init;
private getUncompletedSteps;
private setTotalSteps;
private buildNav;
private buildNavItem;
private addNavItem;
private setCurrentNavItem;
private setCurrentNavItemActions;
private getNavItem;
private setProcessedNavItemActions;
private setErrorNavItemActions;
private unsetCurrentNavItemActions;
private handleNavItemClick;
private buildContent;
private buildContentItem;
private addContentItem;
private setCurrentContentItem;
private hideAllContentItems;
private setCurrentContentItemActions;
private unsetCurrentContentItemActions;
private disableAll;
private disableNavItemActions;
private enableNavItemActions;
private buildButtons;
private buildBackButton;
private handleBackButtonClick;
private checkForTheFirstStep;
private setToDisabled;
private setToNonDisabled;
private buildNextButton;
private unsetProcessedNavItemActions;
private handleNextButtonClick;
private removeOptionalClasses;
private buildSkipButton;
private setSkipItem;
private setSkipItemActions;
private showSkipButton;
private handleSkipButtonClick;
private buildCompleteStepButton;
private changeTextAndDisableCompleteButtonIfStepCompleted;
private setCompleteItem;
private setCompleteItemActions;
private showCompleteStepButton;
private handleCompleteStepButtonClick;
private buildFinishButton;
private setCompleted;
private unsetCompleted;
private showFinishButton;
private handleFinishButtonClick;
private buildResetButton;
private handleResetButtonClick;
setProcessedNavItem(n?: number): void;
unsetProcessedNavItem(n?: number): void;
goToNext(): void;
disableButtons(): void;
enableButtons(): void;
setErrorNavItem(n?: number): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSStepper | ICollectionItem<HSStepper>;
static autoInit(): void;
}
export interface IStrongPasswordOptions {
target: string | HTMLInputElement;
hints?: string;
stripClasses?: string;
minLength?: number;
mode?: string;
popoverSpace?: number;
checksExclude?: string[];
specialCharactersSet?: string;
}
export interface IStrongPassword {
options?: IStrongPasswordOptions;
recalculateDirection(): void;
}
export declare class HSStrongPassword extends HSBasePlugin<IStrongPasswordOptions> implements IStrongPassword {
private readonly target;
private readonly hints;
private readonly stripClasses;
private readonly minLength;
private readonly mode;
private readonly popoverSpace;
private readonly checksExclude;
private readonly specialCharactersSet;
isOpened: boolean;
private strength;
private passedRules;
private weakness;
private rules;
private availableChecks;
constructor(el: HTMLElement, options?: IStrongPasswordOptions);
private init;
private build;
private buildStrips;
private buildHints;
private buildWeakness;
private buildRules;
private setWeaknessText;
private setRulesText;
private togglePopover;
private checkStrength;
private checkIfPassed;
private setStrength;
private hideStrips;
recalculateDirection(): void;
static getInstance(target: HTMLElement | string): HSStrongPassword;
static autoInit(): void;
}
export interface ITabs {
options?: {};
}
export declare class HSTabs extends HSBasePlugin<{}> implements ITabs {
toggles: NodeListOf<HTMLElement> | null;
private readonly extraToggleId;
private readonly extraToggle;
private current;
private currentContentId;
currentContent: HTMLElement | null;
private prev;
private prevContentId;
private prevContent;
constructor(el: HTMLElement, options?: {}, events?: {});
private init;
private open;
private change;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSTabs | ICollectionItem<HSTabs>;
static autoInit(): void;
static open(target: HTMLElement): void;
static accessibility(evt: KeyboardEvent): void;
static onArrow(isOpposite?: boolean): void;
static onStartEnd(isOpposite?: boolean): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export interface ITextareaAutoHeightOptions {
defaultHeight: number;
}
export interface ITextareaAutoHeight {
options?: ITextareaAutoHeightOptions;
}
export declare class HSTextareaAutoHeight extends HSBasePlugin<ITextareaAutoHeightOptions> implements ITextareaAutoHeight {
private readonly defaultHeight;
constructor(el: HTMLTextAreaElement, options?: ITextareaAutoHeightOptions);
private init;
private setAutoHeight;
private textareaSetHeight;
private checkIfOneLine;
private isParentHidden;
private parentType;
private callbackAccordingToType;
static getInstance(target: HTMLTextAreaElement | string, isInstance?: boolean): HSTextareaAutoHeight | ICollectionItem<HSTextareaAutoHeight>;
static autoInit(): void;
}
export interface IThemeSwitchOptions {
theme?: "dark" | "light" | "default";
}
export interface IThemeSwitch {
options?: IThemeSwitchOptions;
setAppearance(theme: string, isSaveToLocalStorage: boolean, isSetDispatchEvent: boolean): void;
}
export declare class HSThemeSwitch extends HSBasePlugin<IThemeSwitchOptions> implements IThemeSwitch {
theme: string;
private readonly themeSet;
constructor(el: HTMLElement, options?: IThemeSwitchOptions);
private init;
private setResetStyles;
private addSystemThemeObserver;
private removeSystemThemeObserver;
setAppearance(theme?: string, isSaveToLocalStorage?: boolean, isSetDispatchEvent?: boolean): void;
static getInstance(target: HTMLElement | string): HSThemeSwitch;
static autoInit(): void;
}
export interface IToggleCountOptions {
target: string | HTMLInputElement;
min: number;
max: number;
duration: number;
}
export interface IToggleCount {
options?: IToggleCountOptions;
countUp(): void;
countDown(): void;
}
export declare class HSToggleCount extends HSBasePlugin<IToggleCountOptions> implements IToggleCount {
private readonly target;
private readonly min;
private readonly max;
private readonly duration;
private isChecked;
constructor(el: HTMLElement, options?: IToggleCountOptions);
private init;
private toggle;
private animate;
countUp(): void;
countDown(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSToggleCount | ICollectionItem<HSToggleCount>;
static autoInit(): void;
}
export interface ITogglePasswordOptions {
target: string | string[] | HTMLInputElement | HTMLInputElement[];
}
export interface ITogglePassword {
options?: ITogglePasswordOptions;
show(): void;
hide(): void;
}
export declare class HSTogglePassword extends HSBasePlugin<ITogglePasswordOptions> implements ITogglePassword {
private readonly target;
private isShown;
private isMultiple;
private eventType;
constructor(el: HTMLElement, options?: ITogglePasswordOptions);
private init;
private getMultipleToggles;
show(): void;
hide(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSTogglePassword | ICollectionItem<HSTogglePassword>;
static autoInit(): void;
}
export interface ITooltip {
options?: {};
show(): void;
hide(): void;
}
export declare class HSTooltip extends HSBasePlugin<{}> implements ITooltip {
private readonly toggle;
content: HTMLElement | null;
readonly eventMode: string;
private readonly preventPopper;
private popperInstance;
private readonly placement;
private readonly strategy;
constructor(el: HTMLElement, options?: {}, events?: {});
private init;
private enter;
private leave;
private click;
private focus;
private buildPopper;
show(): void;
hide(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HTMLElement | ICollectionItem<HSTooltip>;
static autoInit(): void;
static show(target: HTMLElement): void;
static hide(target: HTMLElement): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export type ITreeViewOptionsControlBy = "checkbox" | "button";
export interface ITreeViewItem {
id: string;
value: string;
isDir: boolean;
path: string;
isSelected?: boolean;
}
export interface ITreeViewOptions {
items: ITreeViewItem[] | null;
controlBy?: ITreeViewOptionsControlBy;
autoSelectChildren?: boolean;
isIndeterminate?: boolean;
}
export interface ITreeView {
options?: ITreeViewOptions;
}
export declare class HSTreeView extends HSBasePlugin<ITreeViewOptions> implements ITreeView {
private items;
private readonly controlBy;
private readonly autoSelectChildren;
private readonly isIndeterminate;
static group: number;
constructor(el: HTMLElement, options?: ITreeViewOptions, events?: {});
private init;
private initItems;
private controlByButton;
private controlByCheckbox;
private getItem;
private getPath;
private unselectItem;
private selectItem;
private selectChildren;
private toggleParent;
update(): void;
getSelectedItems(): ITreeViewItem[];
changeItemProp(id: string, prop: string, val: any): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): HTMLElement | ICollectionItem<HSTreeView>;
static autoInit(): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export interface IStaticMethods {
getClassProperty(el: HTMLElement, prop?: string, val?: string): string;
afterTransition(el: HTMLElement, cb: Function): void;
autoInit(collection?: string | string[]): void;
cleanCollection(collection?: string | string[]): void;
}
export declare const HSStaticMethods: IStaticMethods;
declare let HSDataTableModule: any;
declare let HSFileUploadModule: any;
declare let HSRangeSliderModule: any;
export {
HSDataTableModule as HSDataTable,
HSFileUploadModule as HSFileUpload,
HSRangeSliderModule as HSRangeSlider,
};
export {};