UNPKG

watercolor-ui

Version:

A modern minimalist cross-framework component library

202 lines 5.57 kB
/** * 验证单选按钮值 * @param {*} value - 要验证的值 * @param {Array} options - 可选值数组 * @returns {boolean} 是否有效 */ export function validateRadioValue(value: any, options?: any[]): boolean; /** * 验证单选按钮组配置 * @param {Object} config - 配置对象 * @returns {Object} 验证结果 */ export function validateRadioGroupConfig(config?: Object): Object; /** * 规范化选项数组 * @param {Array} options - 原始选项 * @returns {Array} 规范化后的选项 */ export function normalizeRadioOptions(options?: any[]): any[]; /** * 查找选中的选项 * @param {*} value - 当前值 * @param {Array} options - 选项数组 * @returns {Object|null} 选中的选项 */ export function findSelectedOption(value: any, options?: any[]): Object | null; /** * 获取下一个可用选项 * @param {*} currentValue - 当前值 * @param {Array} options - 选项数组 * @param {boolean} loop - 是否循环 * @returns {Object|null} 下一个选项 */ export function getNextRadioOption(currentValue: any, options?: any[], loop?: boolean): Object | null; /** * 获取上一个可用选项 * @param {*} currentValue - 当前值 * @param {Array} options - 选项数组 * @param {boolean} loop - 是否循环 * @returns {Object|null} 上一个选项 */ export function getPreviousRadioOption(currentValue: any, options?: any[], loop?: boolean): Object | null; /** * 生成单选按钮容器类名 * @param {Object} options - 选项 * @returns {string} 类名字符串 */ export function getRadioClasses(options?: Object): string; /** * 生成单选按钮类名 * @param {Object} options - 选项 * @returns {string} 类名字符串 */ export function getRadioButtonClasses(options?: Object): string; /** * 生成单选按钮组类名 * @param {Object} options - 选项 * @returns {string} 类名字符串 */ export function getRadioGroupClasses(options?: Object): string; /** * 创建单选按钮变化处理器 * @param {Function} onChange - 变化回调 * @param {Object} options - 选项 * @returns {Function} 处理器函数 */ export function createRadioChangeHandler(onChange: Function, options?: Object): Function; /** * 创建单选按钮键盘处理器 * @param {Function} onChange - 变化回调 * @param {Array} options - 选项数组 * @param {*} currentValue - 当前值 * @returns {Function} 键盘处理器 */ export function createRadioKeyboardHandler(onChange: Function, options: any[] | undefined, currentValue: any): Function; /** * 生成可访问性属性 * @param {Object} options - 选项 * @returns {Object} 可访问性属性 */ export function getRadioAccessibilityProps(options?: Object): Object; /** * 生成单选按钮组可访问性属性 * @param {Object} options - 选项 * @returns {Object} 可访问性属性 */ export function getRadioGroupAccessibilityProps(options?: Object): Object; export namespace RADIO_SIZES { let SM: string; let MD: string; let LG: string; } export namespace RADIO_COLORS { let PRIMARY: string; let SECONDARY: string; let SUCCESS: string; let ERROR: string; let WARNING: string; let INFO: string; } export namespace RADIO_VARIANTS { let STANDARD: string; let OUTLINED: string; let CARD: string; let BUTTON: string; } export namespace RADIO_ORIENTATIONS { let VERTICAL: string; let HORIZONTAL: string; let INLINE: string; } /** * 单选按钮组管理器 */ export class RadioGroupManager { constructor(options?: {}); options: { name: string; value: null; options: never[]; disabled: boolean; required: boolean; onChange: null; }; state: { value: null; focused: boolean; touched: boolean; }; /** * 获取当前状态 * @returns {Object} 当前状态 */ getState(): Object; /** * 设置值 * @param {*} value - 新值 */ setValue(value: any): void; /** * 获取选中的选项 * @returns {Object|null} 选中的选项 */ getSelectedOption(): Object | null; /** * 验证当前值 * @returns {boolean} 是否有效 */ isValid(): boolean; /** * 获取错误信息 * @returns {Array} 错误信息数组 */ getErrors(): any[]; /** * 重置状态 */ reset(): void; /** * 更新选项 * @param {Object} newOptions - 新选项 */ updateOptions(newOptions: Object): void; /** * 处理焦点事件 */ handleFocus(): void; /** * 处理失焦事件 */ handleBlur(): void; /** * 移动到下一个选项 */ moveToNext(): void; /** * 移动到上一个选项 */ moveToPrevious(): void; } declare namespace _default { export { RADIO_SIZES }; export { RADIO_COLORS }; export { RADIO_VARIANTS }; export { RADIO_ORIENTATIONS }; export { validateRadioValue }; export { validateRadioGroupConfig }; export { normalizeRadioOptions }; export { findSelectedOption }; export { getNextRadioOption }; export { getPreviousRadioOption }; export { getRadioClasses }; export { getRadioButtonClasses }; export { getRadioGroupClasses }; export { createRadioChangeHandler }; export { createRadioKeyboardHandler }; export { RadioGroupManager }; export { getRadioAccessibilityProps }; export { getRadioGroupAccessibilityProps }; } export default _default; //# sourceMappingURL=utils.d.ts.map