import type { IEventDetail } from '@breadstone/mosaik-elements'; import { ColorEditorFormat } from '../Types/ColorEditorFormat'; /** * Represents the event detail for alpha (opacity) change events. * * @public */ export interface IAlphaChangedEventDetail extends IEventDetail { /** * The alpha/opacity value (0-1). */ readonly alpha: number; } /** * Event fired when alpha/opacity changes. * * @public */ export type AlphaChangedEvent = CustomEvent; /** * Represents the event detail for hue change events. * * @public */ export interface IHueChangedEventDetail extends IEventDetail { /** * The hue value (0-360). */ readonly hue: number; } /** * Event fired when hue changes. * * @public */ export type HueChangedEvent = CustomEvent; /** * Represents the event detail for shade change events. * * @public */ export interface IShadeChangedEventDetail extends IEventDetail { /** * The shade/value component. */ readonly shade: number; } /** * Event fired when shade changes. * * @public */ export type ShadeChangedEvent = CustomEvent; /** * Represents the event detail for color change events. * * @public */ export interface IColorChangedEventDetail extends IEventDetail { /** * The color value (hex, rgb, etc.). */ readonly color: string; /** * The hue component (0-360). */ readonly hue?: number; /** * The saturation component (0-100). */ readonly saturation?: number; /** * The value/brightness component (0-100). */ readonly value?: number; /** * The alpha/opacity component (0-1). */ readonly alpha?: number; /** * The color format string. */ readonly format?: string; } /** * Event fired when color changes. * * @public */ export type ColorChangedEvent = CustomEvent; /** * Represents the event detail for color area change events. * * @public */ export interface IColorAreaChangedEventDetail extends IEventDetail { /** * The saturation component (0-100). */ readonly saturation: number; /** * The value/brightness component (0-100). */ readonly value: number; /** * The hue component (0-360). */ readonly hue: number; } /** * Event fired when color area changes. * * @public */ export type ColorAreaChangedEvent = CustomEvent; /** * Represents the event detail for color format change events. * * @public */ export interface IColorFormatChangedEventDetail extends IEventDetail { /** * The format string. */ readonly format: ColorEditorFormat; } /** * Event fired when color format changes. * * @public */ export type ColorFormatChangedEvent = CustomEvent; /** * Represents the event detail for palette change events. * * @public */ export interface IPaletteChangedEventDetail extends IEventDetail { /** * The palette colors. */ readonly colors?: ReadonlyArray; /** * The palette name. */ readonly palette?: string; } /** * Event fired when palette changes. * * @public */ export type PaletteChangedEvent = CustomEvent; /** * Represents the event detail for palette add events. * * @public */ export interface IPaletteAddEventDetail extends IEventDetail { /** * The color value (hex, rgb, etc.). */ readonly color: string; } /** * Event fired when a color is added to palette. * * @public */ export type PaletteAddEvent = CustomEvent; /** * Represents the event detail for palette select events. * * @public */ export interface IPaletteSelectEventDetail extends IEventDetail { /** * The color value (hex, rgb, etc.). */ readonly color: string; /** * The index of the selected color. */ readonly index?: number; } /** * Event fired when a color is selected from palette. * * @public */ export type PaletteSelectEvent = CustomEvent; /** * Represents the event detail for swatch copy events. * * @public */ export interface ISwatchCopyEventDetail extends IEventDetail { /** * The color value (hex, rgb, etc.). */ readonly color: string; } /** * Event fired when a swatch color is copied. * * @public */ export type SwatchCopyEvent = CustomEvent; declare global { interface HTMLElementEventMap { alphaChanged: AlphaChangedEvent; hueChanged: HueChangedEvent; shadeChanged: ShadeChangedEvent; colorChanged: ColorChangedEvent; colorAreaChanged: ColorAreaChangedEvent; colorFormatChanged: ColorFormatChangedEvent; paletteChanged: PaletteChangedEvent; paletteCustomChanged: PaletteChangedEvent; paletteAdd: PaletteAddEvent; paletteSelect: PaletteSelectEvent; swatchCopy: SwatchCopyEvent; } } //# sourceMappingURL=ColorEvents.d.ts.map