/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { TileSize } from '../models/tile-size'; import { ColorPaletteChangeEvent } from './ColorPaletteChangeEvent'; /** * Represents the props of the [KendoVue ColorPalette component]({% slug overview_colorpalette %}). */ export interface ColorPaletteProps { /** * The color palette that will be displayed. * * The supported values are: * * The name of the predefined palette preset (for example, `office`, `basic`, and `apex`). * * A string array. */ palette?: string[] | string; /** * Specifies the number of columns that will be displayed. * Defaults to `10`. */ columns?: number; /** * Specifies the size of a color cell in px. * Defaults to `24`. */ tileSize?: number | TileSize; /** * The default value of the ColorPalette. */ defaultValue?: string; /** * The value of the ColorPalette. */ value?: string; /** * The model value of the ColorPalette. */ modelValue?: string; /** * The model rgba value of the ColorPalette. */ modelRgbaValue?: string; /** * Determines whether the ColorPalette is disabled * ([more information and example]({% slug disabled_colorpalette %})). */ disabled?: boolean; /** * Sets the `tabIndex` property of the ColorPalette. */ tabIndex?: number; /** * Specifies the id of the component. */ id?: string; /** * Sets additional CSS classes to the ColorPalette. */ class?: string; /** * Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_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; /** * Configures the `size` of the ColorPalette. * * The available options are: * - `small` * - `medium` * - `large` * * @default undefined */ size?: 'small' | 'medium' | 'large'; /** * Determines the event handler that will be fired when the user edits the value. */ onChange?: (event: ColorPaletteChangeEvent) => void; /** * Represent the focus event of the ColorPalette. */ onFocus?: (event: FocusEvent) => void; }