d0325016c8ea05bc8476efb05c26ec631ef494d9f1b3c44191a481a586ddfbd6c38cdea8b4da9286791e5e1ecd203be1931e0adceac531e931b53f3e94f5b2 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. require('../../popper/index.js');
  5. var constants = require('./constants.js');
  6. var trigger = require('./trigger.js');
  7. var utils = require('./utils.js');
  8. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  9. var trigger$1 = require('../../popper/src/trigger2.js');
  10. var event = require('../../../utils/dom/event.js');
  11. var index = require('../../../hooks/use-namespace/index.js');
  12. var aria = require('../../../utils/dom/aria.js');
  13. const __default__ = vue.defineComponent({
  14. name: "ElTooltipTrigger"
  15. });
  16. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  17. ...__default__,
  18. props: trigger.useTooltipTriggerProps,
  19. setup(__props, { expose }) {
  20. const props = __props;
  21. const ns = index.useNamespace("tooltip");
  22. const { controlled, id, open, onOpen, onClose, onToggle } = vue.inject(constants.TOOLTIP_INJECTION_KEY, void 0);
  23. const triggerRef = vue.ref(null);
  24. const stopWhenControlledOrDisabled = () => {
  25. if (vue.unref(controlled) || props.disabled) {
  26. return true;
  27. }
  28. };
  29. const trigger = vue.toRef(props, "trigger");
  30. const onMouseenter = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "hover", (e) => {
  31. onOpen(e);
  32. if (props.focusOnTarget && e.target) {
  33. vue.nextTick(() => {
  34. aria.focusElement(e.target, { preventScroll: true });
  35. });
  36. }
  37. }));
  38. const onMouseleave = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "hover", onClose));
  39. const onClick = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "click", (e) => {
  40. if (e.button === 0) {
  41. onToggle(e);
  42. }
  43. }));
  44. const onFocus = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "focus", onOpen));
  45. const onBlur = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "focus", onClose));
  46. const onContextMenu = event.composeEventHandlers(stopWhenControlledOrDisabled, utils.whenTrigger(trigger, "contextmenu", (e) => {
  47. e.preventDefault();
  48. onToggle(e);
  49. }));
  50. const onKeydown = event.composeEventHandlers(stopWhenControlledOrDisabled, (e) => {
  51. const { code } = e;
  52. if (props.triggerKeys.includes(code)) {
  53. e.preventDefault();
  54. onToggle(e);
  55. }
  56. });
  57. expose({
  58. triggerRef
  59. });
  60. return (_ctx, _cache) => {
  61. return vue.openBlock(), vue.createBlock(vue.unref(trigger$1["default"]), {
  62. id: vue.unref(id),
  63. "virtual-ref": _ctx.virtualRef,
  64. open: vue.unref(open),
  65. "virtual-triggering": _ctx.virtualTriggering,
  66. class: vue.normalizeClass(vue.unref(ns).e("trigger")),
  67. onBlur: vue.unref(onBlur),
  68. onClick: vue.unref(onClick),
  69. onContextmenu: vue.unref(onContextMenu),
  70. onFocus: vue.unref(onFocus),
  71. onMouseenter: vue.unref(onMouseenter),
  72. onMouseleave: vue.unref(onMouseleave),
  73. onKeydown: vue.unref(onKeydown)
  74. }, {
  75. default: vue.withCtx(() => [
  76. vue.renderSlot(_ctx.$slots, "default")
  77. ]),
  78. _: 3
  79. }, 8, ["id", "virtual-ref", "open", "virtual-triggering", "class", "onBlur", "onClick", "onContextmenu", "onFocus", "onMouseenter", "onMouseleave", "onKeydown"]);
  80. };
  81. }
  82. });
  83. var ElTooltipTrigger = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "trigger.vue"]]);
  84. exports["default"] = ElTooltipTrigger;
  85. //# sourceMappingURL=trigger2.js.map