ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
53 lines (52 loc) • 1.77 kB
TypeScript
import { RanElement } from '../../utils';
import { EventManager } from '../../utils/builder';
export interface Context {
checked: boolean;
}
export declare class Checkbox extends RanElement {
static formAssociated: boolean;
_events: EventManager;
_internals?: ElementInternals;
checkInput: HTMLInputElement;
checkInner: HTMLSpanElement;
context: Context;
container: HTMLElement;
_shadowDom: ShadowRoot;
static get observedAttributes(): string[];
_defaultChecked: boolean;
_defaultCaptured: boolean;
constructor();
get disabled(): boolean;
set disabled(value: boolean | string);
get required(): boolean;
set required(value: boolean | string);
get value(): string;
set value(value: string);
get checked(): boolean;
set checked(value: boolean | string);
get sheet(): string;
set sheet(value: string);
handlerExternalCss: () => void;
updateChecked: () => void;
syncA11yAndForm: () => void;
/**
* Lets `required` be seen by form.checkValidity()/reportValidity()/:invalid.
* Disabled checkboxes never block submission, matching native semantics.
*/
private _updateValidity;
checkValidity(): boolean;
reportValidity(): boolean;
get validity(): ValidityState | undefined;
get validationMessage(): string;
/**
* @description: 原生 form.reset() 时恢复到连接时(用户交互前)的初始勾选状态
*/
formResetCallback(): void;
update: () => void;
onChange: () => void;
onKeydown: (event: KeyboardEvent) => void;
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}
export default Checkbox;