vxe-pc-ui
Version:
A vue based PC component library
113 lines (92 loc) • 4.01 kB
TypeScript
import { RenderFunction, SetupContext, Ref } from 'vue'
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentAlignType, VxeComponentSizeType, VxeComponentEventParams, VxeComponentPermissionCodeType, ValueOf } from '@vxe-ui/core'
import { VxeButtonProps, VxeButtonPropTypes } from './button'
/* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
export declare const VxeButtonGroup: DefineVxeComponentApp<VxeButtonGroupProps, VxeButtonGroupEventProps, VxeButtonGroupSlots>
export type VxeButtonGroupComponent = DefineVxeComponentOptions<VxeButtonGroupProps, VxeButtonGroupEventProps>
export type VxeButtonGroupInstance = DefineVxeComponentInstance<VxeButtonGroupProps, VxeButtonGroupConstructor>
export interface VxeButtonGroupConstructor extends VxeComponentBaseOptions, VxeButtonGroupMethods {
props: VxeButtonGroupProps
context: SetupContext<VxeButtonGroupEmits>
reactData: ButtonGroupReactData
getRefMaps(): ButtonGroupPrivateRef
getComputeMaps(): ButtonGroupPrivateComputed
renderVN: RenderFunction
}
export interface ButtonGroupPrivateRef {
refElem: Ref<HTMLDivElement | undefined>
}
export interface VxeButtonGroupPrivateRef extends ButtonGroupPrivateRef { }
export namespace VxeButtonGroupPropTypes {
export type Size = VxeComponentSizeType
export type PermissionCode = VxeComponentPermissionCodeType
export type Options = VxeButtonProps[]
export type Round = boolean
export type Vertical = boolean
export type Circle = boolean
export type Align = VxeComponentAlignType
export type Disabled = boolean
export type Mode = VxeButtonPropTypes.Mode
export type Status = VxeButtonPropTypes.Status
export type ClassName = string | ((params: { $buttonGroup: VxeButtonGroupConstructor }) => string)
}
export type VxeButtonGroupProps = {
size?: VxeButtonGroupPropTypes.Size
permissionCode?: VxeButtonGroupPropTypes.PermissionCode
options?: VxeButtonGroupPropTypes.Options
mode?: VxeButtonGroupPropTypes.Mode
status?: VxeButtonGroupPropTypes.Status
round?: VxeButtonGroupPropTypes.Round
align?: VxeButtonGroupPropTypes.Align
vertical?: VxeButtonGroupPropTypes.Vertical
circle?: VxeButtonGroupPropTypes.Circle
/**
* 是否禁用
*/
disabled?: VxeButtonGroupPropTypes.Disabled
className?: VxeButtonGroupPropTypes.ClassName
}
export interface ButtonGroupPrivateComputed {
}
export interface VxeButtonGroupPrivateComputed extends ButtonGroupPrivateComputed { }
export interface ButtonGroupReactData {
}
export interface ButtonGroupMethods {
dispatchEvent(type: ValueOf<VxeButtonGroupEmits>, params: any, evnt: Event): void
}
export interface VxeButtonGroupMethods extends ButtonGroupMethods { }
export interface ButtonGroupPrivateMethods {
handleClick(params: {
name: VxeButtonPropTypes.Name | undefined
}, evnt: Event): void
}
export interface VxeButtonGroupPrivateMethods extends ButtonGroupPrivateMethods { }
export type VxeButtonGroupEmits = [
'click'
]
export namespace VxeButtonGroupDefines {
export interface ButtonGroupEventParams extends VxeComponentEventParams {
$buttonGroup: VxeButtonGroupConstructor
}
export interface ClickEventParams extends ButtonGroupEventParams {
name: VxeButtonPropTypes.Name
option: VxeButtonProps
}
}
export type VxeButtonGroupEventProps = {
onClick?: VxeButtonGroupEvents.Click
}
export interface VxeButtonGroupListeners {
click?: VxeButtonGroupEvents.Click
}
export namespace VxeButtonGroupEvents {
export type Click = (params: VxeButtonGroupDefines.ClickEventParams) => void
}
export namespace VxeButtonGroupSlotTypes {
export interface DefaultSlotParams {}
}
export interface VxeButtonGroupSlots {
default?: (params: VxeButtonGroupSlotTypes.DefaultSlotParams) => any
}
export const ButtonGroup: typeof VxeButtonGroup
export default VxeButtonGroup