UNPKG

@kya-os/cli

Version:

CLI for MCP-I setup and management

131 lines 3.31 kB
/** * Gradient System for Terminal Effects * Provides comprehensive gradient color mapping capabilities */ import { Coordinate, TerminalDimensions } from "./types.js"; /** * Gradient direction options */ export declare enum GradientDirection { HORIZONTAL = "horizontal", VERTICAL = "vertical", DIAGONAL = "diagonal", RADIAL = "radial", DIAGONAL_REVERSE = "diagonal_reverse" } /** * Gradient configuration */ export interface GradientConfig { /** Array of color stops */ stops: string[]; /** Number of steps between each stop */ steps?: number; /** Direction of the gradient */ direction?: GradientDirection; /** Easing function for color interpolation */ easingFn?: (t: number) => number; } /** * Gradient class for creating color transitions */ export declare class Gradient { private colorStops; private steps; private direction; private easingFn; private spectrum; constructor(config: GradientConfig); /** * Generate the full color spectrum */ private generateSpectrum; /** * Interpolate between two colors */ private interpolateColors; /** * Build coordinate-to-color mapping for a canvas area */ buildCoordinateColorMapping(dimensions: TerminalDimensions, bounds?: { top?: number; bottom?: number; left?: number; right?: number; }): Map<string, string>; /** * Get color at a specific position based on gradient direction */ private getColorAtPosition; /** * Get color for a specific coordinate */ getColorForCoordinate(coord: Coordinate, dimensions: TerminalDimensions): string; /** * Get the generated color spectrum */ getSpectrum(): string[]; /** * Apply gradient to a string (character by character) */ applyToString(text: string): Array<{ char: string; color: string; }>; } /** * Predefined gradients */ export declare const GRADIENTS: { FIRE: { stops: string[]; steps: number; }; OCEAN: { stops: string[]; steps: number; }; MATRIX: { stops: string[]; steps: number; }; SUNSET: { stops: string[]; steps: number; }; COOL: { stops: string[]; steps: number; }; MONOCHROME: { stops: string[]; steps: number; }; RAINBOW: { stops: string[]; steps: number; }; }; /** * Easing functions for gradient interpolation */ export declare const EASING: { linear: (t: number) => number; inQuad: (t: number) => number; outQuad: (t: number) => number; inOutQuad: (t: number) => number; inCubic: (t: number) => number; outCubic: (t: number) => number; inOutCubic: (t: number) => number; inExpo: (t: number) => number; outExpo: (t: number) => number; inOutExpo: (t: number) => number; inSine: (t: number) => number; outSine: (t: number) => number; inOutSine: (t: number) => number; }; /** * Helper function to create a gradient from preset */ export declare function createGradient(preset: keyof typeof GRADIENTS, direction?: GradientDirection, easingFn?: (t: number) => number): Gradient; //# sourceMappingURL=gradient.d.ts.map