@sv-use/core
Version:
A collection of Svelte 5 utilities.
37 lines (36 loc) • 1.34 kB
TypeScript
import { type ConfigurableWindow } from '../__internal__/configurable.js';
type SRGBHex = `#${string}`;
interface EyeDropperOpenOptions {
/** @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal */
signal?: AbortSignal;
}
export interface EyeDropper {
new (): EyeDropper;
open: (options?: EyeDropperOpenOptions) => Promise<{
sRGBHex: SRGBHex;
}>;
[Symbol.toStringTag]: 'EyeDropper';
}
interface CreateEyeDropperOptions extends ConfigurableWindow {
/**
* Initial sRGBHex value of the eye dropper.
* @default undefined
*/
initialValue?: SRGBHex;
}
type CreateEyeDropperReturn = {
/** Whether the {@link https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API | `Eye Dropper API`} is supported or not. */
readonly isSupported: boolean;
/** The current value selected in the eye dropper tool. */
readonly current: SRGBHex | undefined;
/** A callback to open the eye dropper tool. */
open: (options?: EyeDropperOpenOptions) => Promise<{
sRGBHex: SRGBHex;
} | undefined>;
};
/**
* Provides a mechanism for creating an eye dropper tool.
* @see https://svelte-librarian.github.io/sv-use/docs/core/create-eye-dropper
*/
export declare function createEyeDropper(options?: CreateEyeDropperOptions): CreateEyeDropperReturn;
export {};