@opentiny/vue-renderless
Version:
An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.
92 lines (86 loc) • 3.94 kB
TypeScript
import { StyleValue, ExtractPropTypes } from 'vue';
import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from './shared.type.js';
import { IRadioGroupProps } from './radio-group.type.js';
declare const $constants: {
RADIO_GROUP: string;
};
declare const radioButtonProps: {
_constants: {
type: ObjectConstructor;
default: () => {
RADIO_GROUP: string;
};
};
name: StringConstructor;
text: StringConstructor;
events: {
type: ObjectConstructor;
default: () => {};
};
label: {};
disabled: BooleanConstructor;
tipContent: StringConstructor;
tiny_mode: StringConstructor;
tiny_mode_root: BooleanConstructor;
tiny_template: (FunctionConstructor | ObjectConstructor)[];
tiny_renderless: FunctionConstructor;
tiny_theme: StringConstructor;
tiny_mcp_config: ObjectConstructor;
tiny_chart_theme: ObjectConstructor;
};
/**
* Copyright (c) 2022 - present TinyVue Authors.
* Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
declare const handleChange: ({ constants, nextTick, dispatch, state }: Pick<IRadioButtonRenderlessParams, 'constants' | 'nextTick' | 'dispatch' | 'state'>) => () => void;
declare const getValue: (state: IRadioButtonRenderlessParams['state']) => () => IRadioGroupProps['modelValue'];
declare const setValue: ({ state }: Pick<IRadioButtonRenderlessParams, 'state'>) => (val: IRadioGroupProps['modelValue']) => void;
declare const getGroup: ({ constants, parent: $parent }: Pick<IRadioButtonRenderlessParams, 'constants' | 'parent'>) => () => IRadioButtonState['radioGroup'] | null;
declare const getStyle: (state: IRadioButtonRenderlessParams['state']) => () => {
backgroundColor: any;
borderColor: any;
boxShadow: string;
color: any;
};
declare const toggleEvents: ({ vm, props }: Pick<IRadioButtonRenderlessParams, 'vm' | 'props'>) => (isUnBind?: boolean) => void;
declare const keydownHandle: ({ state, props }: Pick<IRadioButtonRenderlessParams, 'state' | 'props'>) => () => void;
declare const handleFocus: (state: IRadioButtonRenderlessParams['state']) => () => boolean;
declare const handleBlur: (state: IRadioButtonRenderlessParams['state']) => () => boolean;
interface IRadioButtonState {
focus: boolean;
value: IRadioButtonProps['label'];
radioGroup: ISharedRenderlessFunctionParams<IRadioButtonConstants>['parent'] | null;
activeStyle: StyleValue;
size: string;
isDisabled: boolean;
tabIndex: number;
showTips: boolean;
tipContent: string | undefined;
}
type IRadioButtonProps = ExtractPropTypes<typeof radioButtonProps>;
type IRadioButtonConstants = typeof $constants;
type IRadioButtonRenderlessParams = ISharedRenderlessFunctionParams<IRadioButtonConstants> & {
state: IRadioButtonState;
props: IRadioButtonProps;
};
interface IRadioButtonApi {
state: IRadioButtonState;
handleChange: ReturnType<typeof handleChange>;
getValue: ReturnType<typeof getValue>;
setValue: ReturnType<typeof setValue>;
getGroup: ReturnType<typeof getGroup>;
getStyle: ReturnType<typeof getStyle>;
toggleEvents: ReturnType<typeof toggleEvents>;
keydownHandle: ReturnType<typeof keydownHandle>;
handleFocus: ReturnType<typeof handleFocus>;
handleBlur: ReturnType<typeof handleBlur>;
}
type IRadioButtonRenderlessParamUtils = ISharedRenderlessParamUtils<IRadioButtonConstants>;
export { IRadioButtonApi, IRadioButtonConstants, IRadioButtonProps, IRadioButtonRenderlessParamUtils, IRadioButtonRenderlessParams, IRadioButtonState };