/** * @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 { SignatureChangeEvent } from './SignatureChangeEvent'; import { SignatureFocusEvent } from './SignatureFocusEvent'; import { SignatureBlurEvent } from './SignatureBlurEvent'; import { SignatureOpenEvent } from './SignatureOpenEvent'; import { SignatureCloseEvent } from './SignatureCloseEvent'; /** * Represents the props of the [Kendo UI for Vue Signature component]({% slug overview_signature %}). */ export interface SignatureProps extends FormComponentProps { /** * Specifies the value of the Signature. * * The value is an image encoded as a [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs). */ value?: string; /** * Specifies the v-model. */ modelValue?: string; /** * Sets the `tabIndex` property of the Signature. */ tabIndex?: number; /** * Sets the `id` of the Signature DOM element. */ id?: string; /** * Represents the `dir` HTML attribute. */ dir?: string; /** * Specifies the name of the Signature input. */ name?: 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; /** * The accessible label of the component. */ ariaLabel?: string; /** * Determines whether the Signature is in its read-only state. */ readOnly?: boolean; /** * Determines whether the Signature is in its disabled state. */ disabled?: boolean; /** * Configures the `size` of the Signature. * * The available options are: * - small * - medium * - large * * @default undefined */ size?: 'small' | 'medium' | 'large'; /** * Configures the `roundness` of the Signature. * * The available options are: * - none * - small * - medium * - large * * @default undefined */ rounded?: 'none' | 'small' | 'medium' | 'large' | 'full'; /** * Configures the `fillMode` of the Signature. * * The available options are: * - solid * - outline * - flat * * @default undefined */ fillMode?: 'solid' | 'flat' | 'outline'; /** * The stroke color of the signature. * * Accepts CSS color names and hex values. * * The default value is determined by the theme `$kendo-input-text` variable. */ color?: string; /** * The background color of the signature. * * Accepts CSS color names and hex values. * * The default value is determined by the theme `$kendo-input-bg` variable. */ backgroundColor?: string; /** * The stroke width of the signature. * * @default 1 */ strokeWidth?: number; /** * A flag indicating whether to smooth out signature lines. * * @default false */ smooth?: boolean; /** * A flag indicating if the signature can be maximized. * * @default true */ maximizable?: boolean; /** * Sets the open and close state of the Signature. */ open?: boolean; /** * The scale factor for the popup. * * The Signature width and height will be multiplied by the scale when showing the popup. * * @default 3 */ popupScale?: number; /** * The scale factor for the exported image. * * The Signature width and height will be multiplied by the scale when converting the signature to an image. * * @default 2 */ exportScale?: number; /** * A flag indicating whether the dotted line should be displayed in the background. * * @default false */ hideLine?: boolean; /** * Represents the input element `style` HTML attribute. */ inputStyle?: object; /** * Determines the event handler that will be fired when the user edits the value. */ onChange?: (event: SignatureChangeEvent) => void; /** * The event handler that will be fired when Signature is focused. */ onFocus?: (event: SignatureFocusEvent) => void; /** * The event handler that will be fired when Signature is blurred. */ onBlur?: (event: SignatureBlurEvent) => void; /** * The event handler that will be fired when Signature popup is open. */ onOpen?: (event: SignatureOpenEvent) => void; /** * The event handler that will be fired when Signature popup is closed. */ onClose?: (event: SignatureCloseEvent) => void; /** @hidden */ maximized?: boolean; /** * The validation message of the component. */ validationMessage?: string; /** * The validity styles. Defaults to 'true'. */ validityStyles?: boolean; /** * The required state of the component. */ required?: boolean; }