UNPKG

@paperlinkai/chat

Version:

PaperLink AI Chat Widget - Easy integration for any website

64 lines (62 loc) 1.95 kB
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[];