/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { ProgressBarAnimation as ProgressBarAnimation_2 } from '..'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; /** * @hidden */ declare interface BaseProps { /** * Sets one of the two visually distinct types of progress bar. * * @hidden */ type?: 'linear' | 'circular'; /** * Sets the value of the progress bar. Has to be between `min` and `max` values. Defaults to `0`. * Set `null` to enable the indeterminate state of the progress bar. * See examples ([here]({% slug overview_progressbar %})). */ value?: number | null; /** * The minimum value of the progress bar. Defaults to `0`. */ min?: number; /** * The maximum value of the progress bar. Defaults to `100`. */ max?: number; /** * Represents the `dir` HTML attribute. This is used to switch from LTR to RTL. */ dir?: string; /** * The accessible label of the component. */ ariaLabel?: string; /** * Sets the disabled state of the progress bar. * See examples ([here]({% slug progressbar_disabled %})). */ disabled?: boolean; /** * Defines the orientation of the progress bar. * See examples ([here]({% slug progressbar_orientation %})) . * Defaults to `horizontal`. */ orientation?: 'horizontal' | 'vertical' | string; /** * If set to `true`, the progress bar will be reversed. * See examples ([here]({% slug progressbar_direction %})). * Defaults to `false`. */ reverse?: boolean; /** * Specifies a list of CSS classes that will be added to the progress bar element. */ className?: string; /** * The styles that are applied to the inner element which represents the empty portion of the progress bar. * See examples ([here]({% slug progressbar_appearance %})). */ emptyStyle?: object; /** * Sets additional classes to the inner element which represents the empty portion of the progress bar. * See examples ([here]({% slug progressbar_appearance %})). */ emptyClassName?: string; /** * The styles that are applied to the inner element which represents the full portion of the progress bar. * See examples ([here]({% slug progressbar_appearance %})). */ progressStyle?: object; /** * Sets additional classes to the inner element which represents the full portion of the progress bar. * See examples ([here]({% slug progressbar_appearance %})). */ progressClassName?: string; /** * Sets the `tabIndex` property of the progress bar. */ tabIndex?: number; } /** * @hidden */ export declare const ChunkProgressBar: DefineComponent<ExtractPropTypes< { chunkCount: { type: PropType<number>; default: number; }; ariaLabel: PropType<string>; disabled: PropType<boolean>; reverse: { type: PropType<boolean>; default: boolean; }; max: { type: PropType<number>; default: number; }; min: { type: PropType<number>; default: number; }; value: { type: PropType<number>; default: number; }; tabIndex: PropType<number>; emptyStyle: PropType<object>; emptyClassName: PropType<string>; progressStyle: PropType<object>; progressClassName: PropType<string>; orientation: { type: PropType<string>; default: string; validator: (value: string) => any; }; }>, {}, { currentDir: any; }, {}, { focusElement(): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { chunkCount: { type: PropType<number>; default: number; }; ariaLabel: PropType<string>; disabled: PropType<boolean>; reverse: { type: PropType<boolean>; default: boolean; }; max: { type: PropType<number>; default: number; }; min: { type: PropType<number>; default: number; }; value: { type: PropType<number>; default: number; }; tabIndex: PropType<number>; emptyStyle: PropType<object>; emptyClassName: PropType<string>; progressStyle: PropType<object>; progressClassName: PropType<string>; orientation: { type: PropType<string>; default: string; validator: (value: string) => any; }; }>> & Readonly<{}>, { reverse: boolean; value: number; max: number; min: number; orientation: string; chunkCount: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * Represents the props of the [Kendo UI for Vue ChunkProgressBar component]({% slug overview_chunkprogressbar %}). */ export declare interface ChunkProgressBarProps extends BaseProps { /** * Sets the number of chunks into which the ChunkProgressBar will be split. Defaults to `5`. */ chunkCount?: number; } /** * An interface for the ProgressBar label. */ export declare interface LabelProps { /** * Represents the current value of the ProgressBar. */ value?: number | null; } /** * @hidden */ export declare const ProgressBar: DefineComponent<ExtractPropTypes< { animation: { type: PropType<boolean | ProgressBarAnimation_2>; default: boolean; }; disabled: { type: PropType<boolean>; default: boolean; }; reverse: { type: PropType<boolean>; default: boolean; }; label: PropType<any>; labelRender: PropType<any>; labelVisible: { type: PropType<boolean>; default: boolean; }; labelPlacement: { type: PropType<any>; default: any; validator: (value: string) => any; }; dir: { type: PropType<string>; default: any; }; max: { type: PropType<number>; default: number; }; min: { type: PropType<number>; default: number; }; value: { type: PropType<number>; default: number; }; orientation: { type: PropType<string>; default: string; validator: (value: string) => any; }; tabIndex: PropType<number>; emptyStyle: PropType<object>; emptyClassName: PropType<string>; progressStyle: PropType<object>; progressClassName: PropType<string>; ariaLabel: PropType<string>; }>, {}, { currentDir: any; }, { wrapperClass(): ProgressBarComputed['wrapperClass']; isVertical(): ProgressBarComputed['isVertical']; animationDuration(): ProgressBarComputed['animationDuration']; }, { focus(): void; progressStatusElement(): any; progressStatusWrapElement(): any; handleStart(): void; handleUpdate(progress: number): void; handleEnd(): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { animation: { type: PropType<boolean | ProgressBarAnimation_2>; default: boolean; }; disabled: { type: PropType<boolean>; default: boolean; }; reverse: { type: PropType<boolean>; default: boolean; }; label: PropType<any>; labelRender: PropType<any>; labelVisible: { type: PropType<boolean>; default: boolean; }; labelPlacement: { type: PropType<any>; default: any; validator: (value: string) => any; }; dir: { type: PropType<string>; default: any; }; max: { type: PropType<number>; default: number; }; min: { type: PropType<number>; default: number; }; value: { type: PropType<number>; default: number; }; orientation: { type: PropType<string>; default: string; validator: (value: string) => any; }; tabIndex: PropType<number>; emptyStyle: PropType<object>; emptyClassName: PropType<string>; progressStyle: PropType<object>; progressClassName: PropType<string>; ariaLabel: PropType<string>; }>> & Readonly<{}>, { reverse: boolean; value: number; animation: boolean | ProgressBarAnimation_2; labelVisible: boolean; labelPlacement: any; disabled: boolean; dir: string; max: number; min: number; orientation: string; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * Specifies the animation settings of the ProgressBar. */ export declare interface ProgressBarAnimation { /** * Specifies the duration of the ProgressBar animation. Defaults to `400`. */ duration: number; } /** * @hidden */ export declare interface ProgressBarComputed { [key: string]: any; wrapperClass: object; isVertical: boolean; animationDuration: number; } /** * The ProgressBar ref. */ export declare interface ProgressBarHandle { /** * The ProgressBar element. */ element: HTMLDivElement | null; /** * The progress status element. */ progressStatusElement: HTMLDivElement | null; /** * The progress status wrap element. */ progressStatusWrapElement: HTMLSpanElement | null; /** * Focus the ProgressBar. */ focus: () => void; } /** * Represents the props of the [Kendo UI for Vue ProgressBar component]({% slug overview_progressbar %}). */ export declare interface ProgressBarProps extends BaseProps { /** * Specifies the animation settings of the ProgressBar. Defaults to `false`. * If boolean, enables or disables the default animation. * Use ProgressBarAnimation to set slide animation with customizable duration option. Accepts a number in milliseconds. */ animation?: boolean | ProgressBarAnimation; /** * Overrides the default label ([see example]({% slug progressbar_label %})). */ label?: any; /** * Overrides the default label template ([see example]({% slug progressbar_label %})). */ labelRender?: any; /** * Sets the visibility of the progress status label. Defaults to `true`. */ labelVisible?: boolean; /** * Sets the position of the progress status label. Defaults to `end` ([see example]({% slug progressbar_label %})). */ labelPlacement?: 'start' | 'center' | 'end' | any; } export { }