UNPKG

@progress/kendo-vue-buttons

Version:
68 lines (67 loc) 2.98 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { PropType } from 'vue'; import { SegmentedControlState, SegmentedItemProps } from './interfaces'; /** * Represents the Kendo UI for Vue SegmentedControl component. * * The SegmentedControl displays a horizontal set of mutually exclusive button segments, * allowing the user to select one option at a time. * @hidden */ declare const SegmentedControl: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ items: { type: PropType<SegmentedItemProps[]>; default: () => any[]; }; size: PropType<"small" | "medium" | "xs" | "large">; layoutMode: { type: PropType<"stretch" | "compact">; default: string; }; value: PropType<string>; defaultValue: PropType<string>; itemTemplate: PropType<string | ((itemData: SegmentedItemProps) => any)>; }>, {}, { interactionState: SegmentedControlState; }, { selectedItemValue(): string | undefined; sizeClass(): string | undefined; buttonClass(): (itemValue: string, disabled: boolean | undefined, isSelected: boolean) => string; iconClass(): (iconClassName: string | undefined, isSelected: boolean) => string; }, { updateThumbPosition(): void; updateState(state: Partial<SegmentedControlState>): void; handleButtonClick(itemData: SegmentedItemProps, e: MouseEvent): void; handleMouseEnter(itemValue: string, disabled: boolean | undefined, onMouseEnter: (e: MouseEvent) => void, e: MouseEvent): void; handleMouseLeave(onMouseLeave: (e: MouseEvent) => void, e: MouseEvent): void; handleFocus(itemValue: string, onFocus: (e: FocusEvent) => void, e: FocusEvent): void; handleBlur(onBlur: (e: FocusEvent) => void, e: FocusEvent): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { change: (value: string) => true; }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ items: { type: PropType<SegmentedItemProps[]>; default: () => any[]; }; size: PropType<"small" | "medium" | "xs" | "large">; layoutMode: { type: PropType<"stretch" | "compact">; default: string; }; value: PropType<string>; defaultValue: PropType<string>; itemTemplate: PropType<string | ((itemData: SegmentedItemProps) => any)>; }>> & Readonly<{ onChange?: (value: string) => any; }>, { items: SegmentedItemProps[]; layoutMode: "stretch" | "compact"; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { SegmentedControl }; export type { SegmentedControlProps, SegmentedItemProps } from './interfaces';