@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
74 lines • 2.79 kB
TypeScript
/**
* @license
* Copyright 2025 Kai-Orion & Sandlada
* SPDX-License-Identifier: MIT
*/
import { LitElement, type PropertyValues } from 'lit';
import { createValidator, getValidityAnchor } from '../../utils/behaviors/constraint-validation';
import { RadioValidator } from '../../utils/behaviors/validators/radio-validator';
import { SelectionController } from '../../utils/controller/selection-controller';
import { getFormState, getFormValue } from '../../utils/form/form-associated';
declare global {
interface HTMLElementTagNameMap {
"mdc-radio-button": RadioButton;
}
}
declare const RadioButton_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object & import("../../utils/behaviors/constraint-validation").ConstraintValidation & import("../../utils/form/form-associated").FormAssociated & import("../../utils/behaviors/element-internals").WithElementInternals & import("../focus-ring/focus-ring-options.mixin").IMixinFocusRingOption & import("../ripple/ripple-options.mixin").IMixinRippleOptions & import("../ripple/ripple-options.mixin").IMixinRippleAttributes);
/**
*
* @form
* - default-checked
* - checked
* - disabled
*
* @version
* Material Design 3 - Expressive
*
* @link
* https://m3.material.io/components/radio-button/specs
*
*/
export declare class RadioButton extends RadioButton_base {
static shadowRootOptions: {
clonable?: boolean;
customElementRegistry?: CustomElementRegistry | null;
mode: ShadowRootMode;
serializable?: boolean;
slotAssignment?: SlotAssignmentMode;
delegatesFocus: boolean;
};
static styles: import("lit").CSSResult;
disabled: boolean;
name: string;
readonly type: 'checkbox' | 'radio';
value: 'on' | (string & {});
required: boolean;
checked: boolean;
protected readonly selectionController: SelectionController;
get focusRingControl(): HTMLElement;
get rippleControl(): HTMLElement;
constructor();
connectedCallback(): void;
protected updated(_changedProperties: PropertyValues): void;
protected getRenderClasses(): {
container: boolean;
selected: boolean;
unselected: boolean;
};
protected render(): unknown;
private readonly handleFocusIn;
private readonly handleFocusOut;
private readonly handleVisualKeyDown;
private shouldShowKeyboardVisuals;
private queueKeyboardVisualSync;
private clearKeyboardVisuals;
private handleClick;
[createValidator](): RadioValidator;
[getValidityAnchor](): this;
[getFormValue](): "on" | (string & {}) | null;
[getFormState](): string;
formResetCallback(): void;
formStateRestoreCallback(state: string): void;
}
export {};
//# sourceMappingURL=radio-button.d.ts.map