Files
element-plus/packages/components/tooltip/src/trigger.ts
2022-09-22 01:20:41 +00:00

25 lines
797 B
TypeScript

import { buildProps, definePropType } from '@element-plus/utils'
import { popperTriggerProps } from '@element-plus/components/popper'
import { EVENT_CODE } from '@element-plus/constants'
import type { Arrayable } from '@element-plus/utils'
import type { ExtractPropTypes } from 'vue'
export type TooltipTriggerType = 'hover' | 'focus' | 'click' | 'contextmenu'
export const useTooltipTriggerProps = buildProps({
...popperTriggerProps,
disabled: Boolean,
trigger: {
type: definePropType<Arrayable<TooltipTriggerType>>([String, Array]),
default: 'hover',
},
triggerKeys: {
type: definePropType<string[]>(Array),
default: () => [EVENT_CODE.enter, EVENT_CODE.space],
},
} as const)
export type ElTooltipTriggerProps = ExtractPropTypes<
typeof useTooltipTriggerProps
>