/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { RadioButtonProps } from './RadioButtonProps'; import { RadioGroupFocusEvent } from './RadioGroupFocusEvent'; import { RadioGroupChangeEvent } from './RadioGroupChangeEvent'; /** * Represents the props of the [Kendo UI for Vue RadioGroup component]({% slug overview_radiobutton %}). */ export interface RadioGroupProps { /** * Identifies the element(s) which will describe the component, similar to HTML * [aria-describedby](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute) * 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 collection of radio buttons that will * be rendered in the RadioGroup ([see example]({% slug overview_radiobutton %})). */ dataItems?: Array; /** * Sets the default checked state of a radio button when used in * uncontrolled mode ([see example]({% slug overview_radiobutton %})). * The `checked` property is passed to the underlying `input` element. */ defaultValue?: any; /** * Represents the `dir` HTML attribute. This is used to switch from LTR to RTL. */ dir?: string; /** * Disable all radio buttons ([see example]({% slug disabled_radiobutton %})). */ disabled?: boolean; /** * Overrides the default component responsible for visualizing a single item. * * The default element is `li` with a [RadioButton]({% slug api_inputs_radiobuttonprops %}) as `children`. */ item?: any; /** * Sets the label position of the radio buttons. * Accepts two options: `before` or `after`. Defaults to `after`. */ labelPlacement?: string; /** * Specifies the radio group layout 'horizontal' or 'vertical'. DEfault is 'horizontal'. */ layout?: string; /** * Specifies the `name` property of the `input` DOM elements. */ name?: string; /** * The event handler that will be fired when the changes the selected value. */ onChange?: (event: RadioGroupChangeEvent) => void; /** * The event handler that will be fired when Radio button is focused. */ onFocus?: (event: RadioGroupFocusEvent) => void; /** * @hidden */ modelValue?: string | number | null; /** * Sets the default checked state of a radio * button when used in controlled mode ([see example]({% slug controlled_radiogroup %})). * The `checked` property is passed to the underlying `input` element. */ value?: string | number | null; /** * Overrides the validity state of the component. * If `valid` is set, the `required` property will be ignored. */ valid?: boolean; }