@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
70 lines (69 loc) • 2.64 kB
TypeScript
import { WidgetAnnotation } from "../Annotations/AnnotationTypes";
export type CaretEdge = 'auto' | 'left' | 'right';
export declare class CombFieldAppearance {
input: HTMLInputElement;
combsCount: number;
private combWidth;
private container?;
constructor(input: HTMLInputElement, combsCount: number, combWidth: number, container?: HTMLElement | undefined);
private _createControls;
}
/**
* CombField behavior and appearance.
*
* */
export declare class CombFieldBehavior {
input: HTMLInputElement;
combsCount: number;
private styleReferenceElement;
private onInputTabCallback?;
private onInputChangedCallback?;
private onInputBlurCallback?;
private annotation?;
static selectionBgColor: string;
static selectionFgColor: string;
private _combInputs;
private _combInputsSelection;
private _combInputsContainer;
private _textAlign;
private _focusedCombIndex;
combInitColor: string;
combInitBackgroundColor: string;
private _readOnly;
private _orientation?;
private _alternativeText?;
constructor(input: HTMLInputElement, combsCount: number, styleReferenceElement: HTMLElement, onInputTabCallback?: Function | undefined, onInputChangedCallback?: Function | undefined, onInputBlurCallback?: Function | undefined, annotation?: WidgetAnnotation | undefined);
initialize(): void;
set readOnly(readOnly: boolean);
get readOnly(): boolean;
get borderStyleReferenceElem(): HTMLElement;
get borderWidth(): number;
/**
* This method is used by GcAnnotationResizer class.
***/
updateCombsLayout(fieldWidth?: number): void;
getSelectedText(): string;
updateFromInputValue(): void;
set textAlign(val: 'left' | 'center' | 'right' | undefined);
get textAlign(): 'left' | 'center' | 'right' | undefined;
getSelectionStart(input: HTMLInputElement): number;
setSelectionStart(input: HTMLInputElement, pos: number): void;
private _findCombWithValue;
private _focusComb;
private _extendCombSelections;
private _createControls;
/**
* Sets values for each comb input, supporting multi-byte characters (emoji, CJK, etc.)
* @param value - Input string to distribute across combs
*/
private _setCombValues;
private _clearSelectedCombsWithShift;
private _updateUnderlyingInputValue;
private _selectAllCombs;
private _deselectAllCombs;
private _onFocus;
private _onBlur;
private _shiftCombValueIfNeeded;
private _insertCharWithShift;
private _repaintCombSelections;
}