UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.17 kB
{"version":3,"file":"trigger.mjs","names":[],"sources":["../../../../../../packages/components/tooltip/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperTriggerProps } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nimport type { PopperTriggerProps } from '@element-plus/components/popper'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { ExtractPublicPropTypes } from 'vue'\n\nexport type TooltipTriggerType = 'hover' | 'focus' | 'click' | 'contextmenu'\n\nexport interface UseTooltipTriggerProps extends PopperTriggerProps {\n /**\n * @description whether Tooltip is disabled\n */\n disabled?: boolean\n /**\n * @description How should the tooltip be triggered (to show), not valid in controlled mode\n */\n trigger?: Arrayable<TooltipTriggerType>\n /**\n * @description When you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of tooltip through the keyboard, not valid in controlled mode\n */\n triggerKeys?: string[]\n /**\n * @description when triggering tooltips through hover, whether to focus the trigger element, which improves accessibility\n */\n focusOnTarget?: boolean\n}\n\nexport const useTooltipTriggerPropsDefaults = {\n trigger: 'hover',\n triggerKeys: () => [\n EVENT_CODE.enter,\n EVENT_CODE.numpadEnter,\n EVENT_CODE.space,\n ],\n} as const\n\n/**\n * @deprecated Removed after 3.0.0, Use `UseTooltipTriggerProps` instead.\n */\nexport const useTooltipTriggerProps = buildProps({\n ...popperTriggerProps,\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n /**\n * @description How should the tooltip be triggered (to show), not valid in controlled mode\n */\n trigger: {\n type: definePropType<Arrayable<TooltipTriggerType>>([String, Array]),\n default: 'hover',\n },\n /**\n * @description When you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of tooltip through the keyboard, not valid in controlled mode\n */\n triggerKeys: {\n type: definePropType<string[]>(Array),\n default: () => [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space],\n },\n /**\n * @description when triggering tooltips through hover, whether to focus the trigger element, which improves accessibility\n */\n focusOnTarget: Boolean,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `UseTooltipTriggerProps` instead.\n */\nexport type ElTooltipTriggerProps = UseTooltipTriggerProps\n\n/**\n * @deprecated Removed after 3.0.0, Use `UseTooltipTriggerProps` instead.\n */\nexport type ElTooltipTriggerPropsPublic = ExtractPublicPropTypes<\n typeof useTooltipTriggerProps\n>\n"],"mappings":";;;;;AA6BA,MAAa,iCAAiC;CAC5C,SAAS;CACT,mBAAmB;EACjB,WAAW;EACX,WAAW;EACX,WAAW;EACZ;CACF;;;;AAKD,MAAa,yBAAyB,WAAW;CAC/C,GAAG;CAIH,UAAU;CAIV,SAAS;EACP,MAAM,eAA8C,CAAC,QAAQ,MAAM,CAAC;EACpE,SAAS;EACV;CAID,aAAa;EACX,MAAM,eAAyB,MAAM;EACrC,eAAe;GAAC,WAAW;GAAO,WAAW;GAAa,WAAW;GAAM;EAC5E;CAID,eAAe;CAChB,CAAU"}