element-plus
Version:
A Component Library for Vue 3
1 lines • 3.45 kB
Source Map (JSON)
{"version":3,"file":"trigger.mjs","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"],"names":[],"mappings":";;;;AA6BO,MAAM,8BAAA,GAAiC;AAAA,EAC5C,OAAA,EAAS,OAAA;AAAA,EACT,aAAa,MAAM;AAAA,IACjB,UAAA,CAAW,KAAA;AAAA,IACX,UAAA,CAAW,WAAA;AAAA,IACX,UAAA,CAAW;AAAA;AAEf;AAKO,MAAM,yBAAyB,UAAA,CAAW;AAAA,EAC/C,GAAG,kBAAA;AAAA;AAAA;AAAA;AAAA,EAIH,QAAA,EAAU,OAAA;AAAA;AAAA;AAAA;AAAA,EAIV,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,cAAA,CAA8C,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,IACnE,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,CAAC,UAAA,CAAW,OAAO,UAAA,CAAW,WAAA,EAAa,WAAW,KAAK;AAAA,GAC5E;AAAA;AAAA;AAAA;AAAA,EAIA,aAAA,EAAe;AACjB,CAAU;;;;"}