@jager-ai/holy-editor
Version:
Rich text editor with Bible verse slash commands and PWA keyboard tracking, extracted from Holy Habit project
105 lines • 2.37 kB
TypeScript
/**
* Color Picker
*
* Color selection dialog for text formatting
* Extracted from Holy Habit holy-editor-pro.js
*/
import { ColorOption } from '../types/Editor';
export declare class ColorPicker {
private static instance;
private isVisible;
private onColorSelect;
private static readonly DEFAULT_COLORS;
private colors;
private toastManager;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): ColorPicker;
/**
* Show color picker dialog
*/
show(onColorSelect?: (color: string) => void): void;
/**
* Hide color picker dialog
*/
hide(): void;
/**
* Set custom color palette
*/
setColors(colors: ColorOption[]): void;
/**
* Get current color palette
*/
getColors(): ColorOption[];
/**
* Add color to palette
*/
addColor(color: ColorOption): void;
/**
* Remove color from palette
*/
removeColor(colorValue: string): void;
/**
* Reset to default colors
*/
resetToDefaults(): void;
/**
* Create color picker dialog
*/
private createColorPickerDialog;
/**
* Apply container styles
*/
private applyContainerStyles;
/**
* Create title element
*/
private createTitle;
/**
* Create color grid
*/
private createColorGrid;
/**
* Create individual color button
*/
private createColorButton;
/**
* Add hover effects to color button
*/
private addButtonHoverEffects;
/**
* Create close button
*/
private createCloseButton;
/**
* Handle color selection
*/
private handleColorSelection;
/**
* Setup outside click handler
*/
private setupOutsideClickHandler;
/**
* Add ripple animation CSS
*/
private addRippleAnimation;
/**
* Check if picker is currently visible
*/
isOpen(): boolean;
/**
* Get color name by value
*/
getColorName(colorValue: string): string | undefined;
/**
* Show color picker with custom position
*/
showAt(x: number, y: number, onColorSelect?: (color: string) => void): void;
/**
* Adjust picker position to stay within viewport
*/
private adjustPositionToViewport;
}
//# sourceMappingURL=ColorPicker.d.ts.map