| 123456789101112131415161718192021222324252627 |
- import { MacOSScrollAccel, type ScrollAcceleration } from "@opentui/core"
- export type ScrollConfig = {
- scroll_acceleration?: { enabled?: boolean }
- scroll_speed?: number
- }
- export class CustomSpeedScroll implements ScrollAcceleration {
- constructor(private speed: number) {}
- tick(_now?: number): number {
- return this.speed
- }
- reset(): void {}
- }
- export function getScrollAcceleration(tuiConfig?: ScrollConfig): ScrollAcceleration {
- if (tuiConfig?.scroll_acceleration?.enabled) {
- return new MacOSScrollAccel()
- }
- if (tuiConfig?.scroll_speed !== undefined) {
- return new CustomSpeedScroll(tuiConfig.scroll_speed)
- }
- return new CustomSpeedScroll(3)
- }
|