/** * 値を指定された範囲内にクランプする */ export declare const clamp: (value: number, min: number, max: number) => number; /** * 初期値を適切にクランプする */ export declare const getClampedValue: (val: number | number[] | undefined, min: number, max: number, isRange: boolean) => number | number[]; /** * パーセンテージを計算する */ export declare const getPercentage: (val: number, min: number, max: number) => number; /** * 座標から値を計算する */ export declare const getValueFromPosition: (clientX: number, trackRect: DOMRect, min: number, max: number, step: number) => number; /** * 最寄りのつまみのインデックスを取得する * 同じ距離の場合は、クリック位置が右側ならmaxのつまみ、左側ならminのつまみを選択 */ export declare const getNearestThumbIndex: (clickValue: number, values: number[]) => number; /** * つまみの交差を防止する */ export declare const preventThumbCrossing: (values: number[], thumbIndex: number, newValue: number) => number[]; /** * キーボード操作で値を更新する */ export declare const getKeyboardValue: (currentValue: number | number[], key: string, min: number, max: number, step: number, isRange: boolean, draggedThumbIndex: number | null) => number | number[]; /** * テキスト選択を防止する */ export declare const preventTextSelection: () => void; /** * テキスト選択を復元する */ export declare const restoreTextSelection: () => void; /** * スクロールを防止する */ export declare const preventScroll: (event: Event) => void; export declare const SLIDER_DRAGGING_CLASS = "ingred-ui-slider-dragging"; /** * ドラッグ中の document 副作用(カーソル上書き・選択禁止・スクロール防止)を開始する。 * 呼び出し元は返したセッションを restore に渡し、所有権を明示する。 */ export declare const applyDraggingCursor: () => object; /** * このセッションが最後の所有者なら document 副作用を元に戻す */ export declare const restoreDraggingCursor: (session?: object | null) => void; export declare const resetDraggingCursorSessions: () => void; export declare const isSliderDragging: () => boolean;