@paperlinkai/chat
Version:
PaperLink AI Chat Widget - Easy integration for any website
64 lines (62 loc) • 1.95 kB
TypeScript
import { WidgetConfig, WidgetFeatures, WidgetTheme } from '../types/widget';
/**
* Default theme configuration based on modern design principles
* Colors follow Tailwind CSS naming conventions for consistency
*/
export declare const defaultTheme: WidgetTheme;
/**
* Default feature flags configuration
* Enable/disable specific widget functionalities
*/
export declare const defaultFeatures: WidgetFeatures;
/**
* Complete default widget configuration
* These values are used when properties are not provided in Chat.init()
*/
export declare const defaultConfig: WidgetConfig;
/**
* Configuration validation rules
* Used to validate user-provided configuration
*/
export declare const configValidation: {
readonly required: (keyof WidgetConfig)[];
readonly validPositions: readonly ["bottom-right", "bottom-left", "top-right", "top-left"];
readonly numberRanges: {
readonly width: {
readonly min: 320;
readonly max: 800;
};
readonly height: {
readonly min: 400;
readonly max: 900;
};
readonly maxMessages: {
readonly min: 10;
readonly max: 1000;
};
readonly scrollToBottomThreshold: {
readonly min: 0;
readonly max: 500;
};
};
readonly stringLengths: {
readonly title: {
readonly max: 50;
};
readonly greeting: {
readonly max: 200;
};
readonly placeholder: {
readonly max: 100;
};
};
};
/**
* Deep merge utility for configuration objects
* Properly merges nested objects like theme and features
*/
export declare function deepMergeConfig(defaultConfig: WidgetConfig, userConfig: Partial<WidgetConfig>): WidgetConfig;
/**
* Validate user configuration against validation rules
*/
export declare function validateConfig(config: Partial<WidgetConfig>): string[];