/**
*
* Channel-bound `` for a single color channel of `InputColor`. For text channels (`hex`,
* `css`) renders a `type="text"` input; otherwise renders a `type="number"` input bounded by the
* channel's `min`/`max`/`step`. Reads/writes via the parent `InputColor`.
*
* @module inputcolorinput
*
*/
import type { DefineComponent, DesignToken, EmitFn, HintedString, PassThrough } from '@primevue/core';
import type { ComponentHooks } from '@primevue/core/basecomponent';
import type { PassThroughOptions } from 'primevue/passthrough';
import type { Component, VNode } from 'vue';
/**
* Custom passthrough(pt) option type, used to forward attributes via {@link InputColorInputPassThroughOptions}.
*/
export declare type InputColorInputPassThroughOptionType = InputColorInputPassThroughAttributes | ((options: InputColorInputPassThroughMethodOptions) => InputColorInputPassThroughAttributes | string) | string | null | undefined;
/**
* Custom passthrough(pt) option method.
*/
export interface InputColorInputPassThroughMethodOptions {
/**
* Defines instance.
*/
instance: any;
/**
* Defines valid properties.
*/
props: InputColorInputProps;
/**
* Defines valid attributes.
*/
attrs: any;
/**
* Defines parent options.
*/
parent: any;
/**
* Defines passthrough(pt) options in global config.
*/
global: object | undefined;
}
/**
* Custom passthrough(pt) options.
* @see {@link InputColorInputProps.pt}
*/
export interface InputColorInputPassThroughOptions {
/**
* Used to pass attributes to the root's DOM element.
*/
root?: InputColorInputPassThroughOptionType;
/**
* Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks}
*/
hooks?: ComponentHooks;
}
/**
* Custom passthrough attributes for each DOM elements.
*/
export interface InputColorInputPassThroughAttributes {
[key: string]: any;
}
/**
* Color channel that an `InputColorInput` can drive.
*/
export type InputColorInputChannel = HintedString<'hex' | 'css' | 'red' | 'green' | 'blue' | 'hue' | 'saturation' | 'brightness' | 'lightness' | 'alpha' | 'L' | 'C' | 'H'>;
/**
* Defines valid properties in InputColorInput component.
*/
export interface InputColorInputProps {
/**
* Component or HTML tag to render as. Defaults to PrimeVue's `InputText`.
* @defaultValue InputText
*/
as?: string | Component | undefined;
/**
* When enabled, it changes the default rendered element for the one passed as a child element.
* @defaultValue false
*/
asChild?: boolean | undefined;
/**
* Channel this input drives.
* @defaultValue 'hex'
*/
channel?: InputColorInputChannel;
/**
* It generates scoped CSS variables using design tokens for the component.
*/
dt?: DesignToken;
/**
* Used to pass attributes to DOM elements inside the component.
* @type {InputColorInputPassThroughOptions}
*/
pt?: PassThrough;
/**
* Used to configure passthrough(pt) options of the component.
* @type {PassThroughOptions}
*/
ptOptions?: PassThroughOptions;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false
*/
unstyled?: boolean;
}
/**
* Defines valid slots in InputColorInput component.
*/
export interface InputColorInputSlots {
/**
* Custom root element template. Receives scope props when `asChild` is enabled.
* @param {Object} scope - default slot's params.
*/
default(scope: {
/**
* Style class of the input root.
*/
class: string;
/**
* Attributes to spread on the consumer's root element.
*/
a11yAttrs: Record;
}): VNode[];
}
/**
* Defines valid emits in InputColorInput component.
*/
export interface InputColorInputEmitsOptions {}
/**
* Type alias for emits resolved from {@link InputColorInputEmitsOptions}.
*/
export declare type InputColorInputEmits = EmitFn;
/**
* **PrimeVue - InputColorInput**
*
* _Channel-bound `` for a single color channel of `InputColor`._
*
* [Live Demo](https://www.primevue.dev/inputcolor/)
* --- ---
* 
*
* @group Component
*
*/
declare const InputColorInput: DefineComponent;
declare module 'vue' {
export interface GlobalComponents {
InputColorInput: DefineComponent;
}
}
export default InputColorInput;