@progress/kendo-vue-buttons
Version:
279 lines (278 loc) • 7.8 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { FormComponentProps } from '@progress/kendo-vue-common';
import { ChipProps } from './Chip';
import { ChipListChangeEvent, ChipListDataChangeEvent } from '../models/events';
/**
* Represents the properties of [ChipList]({% slug overview_chiplist %}) component.
*/
export interface ChipListProps extends FormComponentProps, ChipProps {
/**
* Sets the `id` property of the top div element of the ChipList.
*/
id?: string;
/**
* Sets additional classes to the ChipList.
*/
className?: string;
/**
* Sets the `tabIndex` attribute.
*/
tabIndex?: number;
/**
* Represents Chip component.
*/
chip?: any;
/**
* Represents the data about the child Chips.
*/
dataItems?: any;
/**
* Represents the default data about the child Chips.
*/
defaultDataItems?: any[];
/**
* Triggered after Chip data change.
*/
onDatachange?: (event: ChipListDataChangeEvent) => void;
/**
* Represents the selection state of Chip component.
*/
value?: any | any[];
/**
* Represents the default value of the selection state of Chip component.
*/
defaultValue?: any | any[];
/**
* Triggered after value change.
*/
onChange?: (event: ChipListChangeEvent) => void;
/**
* Configures the `size` of the Chip.
*
* The available options are:
* - small
* - medium
* - large
*
* @default `undefined`
*/
size?: 'small' | 'medium' | 'large';
/**
* Configures the `roundness` of the Chip.
*
* The available options are:
* - none
* - small
* - medium
* - large
* - full
*
* @default `undefined`
*/
rounded?: 'none' | 'small' | 'medium' | 'large' | 'full';
/**
* Configures the `fillMode` of the Chip.
*
* The available options are:
* - solid
* - outline
* - flat
*
* @default `undefined`
*/
fillMode?: 'solid' | 'outline' | 'flat';
/**
* Represents the selection state of Chip component.
*/
selection?: string;
/**
* Represents the `text` field of Chip, defaults to 'text'.
*/
textField?: string;
/**
* Represents the `value` field of the Chip, defaults to 'value'.
*/
valueField?: string;
/**
* Represents the 'avatar' field in the Chip, defaults to 'avatar'.
*/
avatarField?: object;
/**
* Determines of ChipList is disabled.
*/
disabled?: boolean;
/**
* The ChipList direction 'ltr' as default or 'rtl'.
*/
dir?: string;
/**
* Identifies the element(s) which will describe the component, similar to HTML aria-describedby attribute.
* For example these elements could contain error or hint message.
*/
ariaDescribedBy?: string;
/**
* Identifies the element(s) which will label the component.
*/
ariaLabelledBy?: string;
}
/**
* Represents the target(element and props) of the ChipListChangeEvent.
*/
export interface ChipListHandle {
/**
* The current element or `null` if there is no one.
*/
element: HTMLDivElement | null;
/**
* The props values of the ChipList.
*/
props: ChipListProps;
}
/**
* @hidden
*/
declare const ChipList: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
id: StringConstructor;
tabIndex: NumberConstructor;
dataItems: ArrayConstructor;
defaultDataItems: {
type: ArrayConstructor;
default: () => any[];
};
value: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
defaultValue: {
type: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
default: () => any;
};
size: StringConstructor;
rounded: StringConstructor;
fillMode: {
type: StringConstructor;
validator: (value: string) => boolean;
};
selection: {
type: StringConstructor;
default: () => "none";
};
textField: {
type: StringConstructor;
default: () => "text";
};
valueField: {
type: StringConstructor;
default: () => "value";
};
avatarField: {
type: StringConstructor;
default: () => "avatar";
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
dir: {
type: StringConstructor;
default: () => "ltr";
};
chip: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
ariaLabelledBy: StringConstructor;
ariaDescribedBy: StringConstructor;
}>, {
chipListRef: import('vue').Ref<any, any>;
}, {
currentDataItems: any[];
currentDir: string;
isRtl: boolean;
currentFocused: {
value: boolean;
};
currentValue: {
value: any;
};
}, {
computedDataItems(): any;
computedValue(): any;
items(): any;
}, {
handleDispatchSelection(action: any): void;
handleDispatchFocus(action: any): void;
handleDispatchDataItems(action: any): void;
handleChange(newValue: any, event: any): void;
handleDataChange(newData: any, event: any): void;
itemsReducer(acc: any, current: any): any;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
change: (event: ChipListChangeEvent) => true;
datachange: (event: ChipListDataChangeEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
id: StringConstructor;
tabIndex: NumberConstructor;
dataItems: ArrayConstructor;
defaultDataItems: {
type: ArrayConstructor;
default: () => any[];
};
value: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
defaultValue: {
type: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
default: () => any;
};
size: StringConstructor;
rounded: StringConstructor;
fillMode: {
type: StringConstructor;
validator: (value: string) => boolean;
};
selection: {
type: StringConstructor;
default: () => "none";
};
textField: {
type: StringConstructor;
default: () => "text";
};
valueField: {
type: StringConstructor;
default: () => "value";
};
avatarField: {
type: StringConstructor;
default: () => "avatar";
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
dir: {
type: StringConstructor;
default: () => "ltr";
};
chip: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
ariaLabelledBy: StringConstructor;
ariaDescribedBy: StringConstructor;
}>> & Readonly<{
onChange?: (event: ChipListChangeEvent) => any;
onDatachange?: (event: ChipListDataChangeEvent) => any;
}>, {
dir: string;
disabled: boolean;
defaultDataItems: unknown[];
defaultValue: string | number | Record<string, any> | unknown[];
selection: string;
textField: string;
valueField: string;
avatarField: string;
}, {}, {}, {}, string, () => {
kendoSelection: any;
kendoFocused: any;
kendoDataItems: any;
handleDispatchDataItems: any;
handleDispatchSelection: any;
handleDispatchFocus: any;
}, true, {}, any>;
export { ChipList };