feat: initial commit - Phase 1 & 2 core features

This commit is contained in:
hiderfong
2026-04-22 17:07:33 +08:00
commit 1773bda06b
25005 changed files with 6252106 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
import { SFCWithInstall } from "../../utils/vue/typescript.js";
import "../../utils/index.js";
import { PopoverEmits, PopoverInstance, PopoverProps, PopoverPropsPublic, popoverEmits, popoverProps, popoverPropsDefaults } from "./src/popover.js";
import { _default } from "./src/popover.vue.js";
import { _default as _default$1 } from "./src/directive.js";
//#region ../../packages/components/popover/index.d.ts
declare const ElPopoverDirective: SFCWithInstall<typeof _default$1>;
declare const ElPopover: SFCWithInstall<typeof _default> & {
directive: typeof ElPopoverDirective;
};
//#endregion
export { ElPopover, ElPopover as default, ElPopoverDirective, PopoverEmits, PopoverInstance, PopoverProps, PopoverPropsPublic, popoverEmits, popoverProps, popoverPropsDefaults };
+18
View File
@@ -0,0 +1,18 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_install = require('../../utils/vue/install.js');
const require_popover = require('./src/popover.js');
const require_popover$1 = require('./src/popover2.js');
const require_directive = require('./src/directive.js');
//#region ../../packages/components/popover/index.ts
const ElPopoverDirective = require_install.withInstallDirective(require_directive.default, require_directive.VPopover);
const ElPopover = require_install.withInstall(require_popover$1.default, { directive: ElPopoverDirective });
//#endregion
exports.ElPopover = ElPopover;
exports.default = ElPopover;
exports.ElPopoverDirective = ElPopoverDirective;
exports.popoverEmits = require_popover.popoverEmits;
exports.popoverProps = require_popover.popoverProps;
exports.popoverPropsDefaults = require_popover.popoverPropsDefaults;
//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":["withInstallDirective","PopoverDirective","VPopover","withInstall","Popover"],"sources":["../../../../../packages/components/popover/index.ts"],"sourcesContent":["import { withInstall, withInstallDirective } from '@element-plus/utils'\nimport Popover from './src/popover.vue'\nimport PopoverDirective, { VPopover } from './src/directive'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPopoverDirective: SFCWithInstall<typeof PopoverDirective> =\n withInstallDirective(PopoverDirective, VPopover)\n\nexport const ElPopover: SFCWithInstall<typeof Popover> & {\n directive: typeof ElPopoverDirective\n} = withInstall(Popover, {\n directive: ElPopoverDirective,\n})\nexport default ElPopover\n\nexport * from './src/popover'\n"],"mappings":";;;;;;;AAMA,MAAa,qBACXA,qCAAqBC,2BAAkBC,2BAAS;AAElD,MAAa,YAETC,4BAAYC,2BAAS,EACvB,WAAW,oBACZ,CAAC"}
@@ -0,0 +1,6 @@
import { ObjectDirective } from "vue";
//#region ../../packages/components/popover/src/directive.d.ts
declare const _default: ObjectDirective;
//#endregion
export { _default };
@@ -0,0 +1,21 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
//#region ../../packages/components/popover/src/directive.ts
const attachEvents = (el, binding) => {
const popover = (binding.arg || binding.value)?.popperRef;
if (popover) popover.triggerRef = el;
};
var directive_default = {
mounted(el, binding) {
attachEvents(el, binding);
},
updated(el, binding) {
attachEvents(el, binding);
}
};
const VPopover = "popover";
//#endregion
exports.VPopover = VPopover;
exports.default = directive_default;
//# sourceMappingURL=directive.js.map
@@ -0,0 +1 @@
{"version":3,"file":"directive.js","names":[],"sources":["../../../../../../packages/components/popover/src/directive.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { PopoverInstance } from './popover'\n\nconst attachEvents = (el: HTMLElement, binding: DirectiveBinding) => {\n const popperComponent: PopoverInstance = binding.arg || binding.value\n const popover = popperComponent?.popperRef\n if (popover) {\n popover.triggerRef = el\n }\n}\n\nexport default {\n mounted(el, binding) {\n attachEvents(el, binding)\n },\n updated(el, binding) {\n attachEvents(el, binding)\n },\n} as ObjectDirective\n\nexport const VPopover = 'popover'\n"],"mappings":";;;AAGA,MAAM,gBAAgB,IAAiB,YAA8B;CAEnE,MAAM,WADmC,QAAQ,OAAO,QAAQ,QAC/B;AACjC,KAAI,QACF,SAAQ,aAAa;;AAIzB,wBAAe;CACb,QAAQ,IAAI,SAAS;AACnB,eAAa,IAAI,QAAQ;;CAE3B,QAAQ,IAAI,SAAS;AACnB,eAAa,IAAI,QAAQ;;CAE5B;AAED,MAAa,WAAW"}
@@ -0,0 +1,307 @@
import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
import { Arrayable } from "../../../utils/typescript.js";
import "../../../utils/index.js";
import { PopperEffect } from "../../popper/src/popper.js";
import { TooltipTriggerType, UseTooltipTriggerProps } from "../../tooltip/src/trigger.js";
import { ElTooltipContentProps } from "../../tooltip/src/content.js";
import "../../tooltip/index.js";
import { _default } from "./popover.vue.js";
import { Placement as Placement$1 } from "../../popper/index.js";
import * as vue from "vue";
import { ExtractPublicPropTypes, PropType } from "vue";
import { Options } from "@popperjs/core";
//#region ../../packages/components/popover/src/popover.d.ts
interface PopoverProps {
/**
* @description how the popover is triggered, not valid in controlled mode
*/
trigger?: UseTooltipTriggerProps['trigger'];
/**
* @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 popover through the keyboard, not valid in controlled mode
*/
triggerKeys?: UseTooltipTriggerProps['triggerKeys'];
/**
* @description popover placement
*/
placement?: Placement$1;
/**
* @description whether Popover is disabled
*/
disabled?: UseTooltipTriggerProps['disabled'];
/**
* @description whether popover is visible
*/
visible?: ElTooltipContentProps['visible'];
/**
* @description popover transition animation
*/
transition?: ElTooltipContentProps['transition'];
/**
* @description parameters for [popper.js](https://popper.js.org/docs/v2/)
*/
popperOptions?: Partial<Options>;
/**
* @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover
*/
tabindex?: string | number;
/**
* @description popover content, can be replaced with a default `slot`
*/
content?: ElTooltipContentProps['content'];
/**
* @description custom style for popover
*/
popperStyle?: ElTooltipContentProps['popperStyle'];
/**
* @description custom class name for popover
*/
popperClass?: ElTooltipContentProps['popperClass'];
/**
* @description whether the mouse can enter the popover
*/
enterable?: ElTooltipContentProps['enterable'];
/**
* @description Tooltip theme, built-in theme: `dark` / `light`
*/
effect?: ElTooltipContentProps['effect'];
/**
* @description whether popover dropdown is teleported to the body
*/
teleported?: ElTooltipContentProps['teleported'];
/**
* @description which select dropdown appends to
*/
appendTo?: ElTooltipContentProps['appendTo'];
/**
* @description popover title
*/
title?: string;
/**
* @description popover width
*/
width?: string | number;
/**
* @description popover offset
*/
offset?: number;
/**
* @description delay of appearance, in millisecond, not valid in controlled mode
*/
showAfter?: number;
/**
* @description delay of disappear, in millisecond, not valid in controlled mode
*/
hideAfter?: number;
/**
* @description timeout in milliseconds to hide tooltip, not valid in controlled mode
*/
autoClose?: number;
/**
* @description whether a tooltip arrow is displayed or not. For more info, please refer to [ElPopper](https://github.com/element-plus/element-plus/tree/dev/packages/components/popper)
*/
showArrow?: boolean;
/**
* @description when popover inactive and `persistent` is `false` , popover will be destroyed
*/
persistent?: boolean;
/**
* @description update:visible event handler
*/
'onUpdate:visible'?: (visible: boolean) => void;
}
/**
* @deprecated Removed after 3.0.0, Use `PopoverProps` instead.
*/
declare const popoverProps: {
readonly trigger: EpPropFinalized<(new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | TooltipTriggerType[]) | (() => Arrayable<TooltipTriggerType>) | (((new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | TooltipTriggerType[]) | (() => Arrayable<TooltipTriggerType>)) | null)[], unknown, unknown, "hover", boolean>;
readonly triggerKeys: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | (((new (...args: any[]) => string[]) | (() => string[])) | null)[], unknown, unknown, () => string[], boolean>;
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement$1) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement$1)) | null)[], unknown, unknown, "bottom", boolean>;
readonly disabled: BooleanConstructor;
readonly visible: EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | (((new (...args: any[]) => boolean) | (() => boolean | null)) | null)[], unknown, unknown, null, boolean>;
readonly transition: StringConstructor;
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
readonly tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
readonly content: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly popperStyle: {
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => string | false | vue.CSSProperties | vue.StyleValue[]) | (() => vue.StyleValue) | (((new (...args: any[]) => string | false | vue.CSSProperties | vue.StyleValue[]) | (() => vue.StyleValue)) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly popperClass: {
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | any)[])[])[])[])[])[])[])[])[])[])[]) | (((new (...args: any[]) => string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | (string | {
[x: string]: boolean;
} | any)[])[])[])[])[])[])[])[])[])[])[])) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly enterable: {
readonly default: true;
readonly type: PropType<EpPropMergeType<BooleanConstructor, unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
readonly __epPropKey: true;
};
readonly effect: {
readonly default: "light";
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
readonly __epPropKey: true;
};
readonly teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly appendTo: {
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>) | (((new (...args: any[]) => string | HTMLElement) | (() => EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>)) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly title: StringConstructor;
readonly width: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
readonly showAfter: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
readonly hideAfter: EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
readonly autoClose: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly persistent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly 'onUpdate:visible': {
readonly type: PropType<(visible: boolean) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
};
/**
* @deprecated Removed after 3.0.0, Use `PopoverProps` instead.
*/
type PopoverPropsPublic = ExtractPublicPropTypes<typeof popoverProps>;
declare const popoverEmits: {
'update:visible': (value: boolean) => boolean;
'before-enter': () => boolean;
'before-leave': () => boolean;
'after-enter': () => boolean;
'after-leave': () => boolean;
};
type PopoverEmits = typeof popoverEmits;
type PopoverInstance = InstanceType<typeof _default> & unknown;
/**
* @description default values for PopoverProps
*/
declare const popoverPropsDefaults: {
readonly trigger: "hover";
readonly triggerKeys: () => string[];
readonly placement: "bottom";
readonly visible: null;
readonly popperOptions: () => {};
readonly tabindex: 0;
readonly content: "";
readonly popperStyle: undefined;
readonly enterable: true;
readonly effect: "light";
readonly teleported: true;
readonly width: 150;
readonly offset: undefined;
readonly showAfter: 0;
readonly hideAfter: 200;
readonly autoClose: 0;
readonly showArrow: true;
readonly persistent: true;
};
//#endregion
export { PopoverEmits, PopoverInstance, PopoverProps, PopoverPropsPublic, popoverEmits, popoverProps, popoverPropsDefaults };
@@ -0,0 +1,105 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_aria = require('../../../constants/aria.js');
const require_types = require('../../../utils/types.js');
const require_runtime = require('../../../utils/vue/props/runtime.js');
const require_content = require('../../tooltip/src/content.js');
const require_trigger = require('../../tooltip/src/trigger.js');
const require_dropdown = require('../../dropdown/src/dropdown.js');
//#region ../../packages/components/popover/src/popover.ts
/**
* @deprecated Removed after 3.0.0, Use `PopoverProps` instead.
*/
const popoverProps = require_runtime.buildProps({
trigger: require_trigger.useTooltipTriggerProps.trigger,
triggerKeys: require_trigger.useTooltipTriggerProps.triggerKeys,
placement: require_dropdown.dropdownProps.placement,
disabled: require_trigger.useTooltipTriggerProps.disabled,
visible: require_content.useTooltipContentProps.visible,
transition: require_content.useTooltipContentProps.transition,
popperOptions: require_dropdown.dropdownProps.popperOptions,
tabindex: require_dropdown.dropdownProps.tabindex,
content: require_content.useTooltipContentProps.content,
popperStyle: require_content.useTooltipContentProps.popperStyle,
popperClass: require_content.useTooltipContentProps.popperClass,
enterable: {
...require_content.useTooltipContentProps.enterable,
default: true
},
effect: {
...require_content.useTooltipContentProps.effect,
default: "light"
},
teleported: require_content.useTooltipContentProps.teleported,
appendTo: require_content.useTooltipContentProps.appendTo,
title: String,
width: {
type: [String, Number],
default: 150
},
offset: {
type: Number,
default: void 0
},
showAfter: {
type: Number,
default: 0
},
hideAfter: {
type: Number,
default: 200
},
autoClose: {
type: Number,
default: 0
},
showArrow: {
type: Boolean,
default: true
},
persistent: {
type: Boolean,
default: true
},
"onUpdate:visible": { type: Function }
});
const popoverEmits = {
"update:visible": (value) => require_types.isBoolean(value),
"before-enter": () => true,
"before-leave": () => true,
"after-enter": () => true,
"after-leave": () => true
};
/**
* @description default values for PopoverProps
*/
const popoverPropsDefaults = {
trigger: "hover",
triggerKeys: () => [
require_aria.EVENT_CODE.enter,
require_aria.EVENT_CODE.numpadEnter,
require_aria.EVENT_CODE.space
],
placement: "bottom",
visible: null,
popperOptions: () => ({}),
tabindex: 0,
content: "",
popperStyle: void 0,
enterable: true,
effect: "light",
teleported: true,
width: 150,
offset: void 0,
showAfter: 0,
hideAfter: 200,
autoClose: 0,
showArrow: true,
persistent: true
};
//#endregion
exports.popoverEmits = popoverEmits;
exports.popoverProps = popoverProps;
exports.popoverPropsDefaults = popoverPropsDefaults;
//# sourceMappingURL=popover.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,63 @@
import { Arrayable } from "../../../utils/typescript.js";
import "../../../utils/index.js";
import { PopperEffect, PopperInstance } from "../../popper/src/popper.js";
import { TooltipTriggerType } from "../../tooltip/src/trigger.js";
import "../../tooltip/index.js";
import { PopoverProps } from "./popover.js";
import "../../../index.js";
import { Options, Placement } from "../../popper/index.js";
import * as vue from "vue";
//#region ../../packages/components/popover/src/popover.vue.d.ts
declare var __VLS_15: {}, __VLS_18: {
hide: () => void;
};
type __VLS_Slots = {} & {
reference?: (props: typeof __VLS_15) => any;
} & {
default?: (props: typeof __VLS_18) => any;
};
declare const __VLS_base: vue.DefineComponent<PopoverProps, {
/** @description popper ref */popperRef: vue.ComputedRef<PopperInstance | undefined>; /** @description hide popover */
hide: () => void;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
"update:visible": (value: boolean) => void;
"before-enter": () => void;
"before-leave": () => void;
"after-enter": () => void;
"after-leave": () => void;
}, string, vue.PublicProps, Readonly<PopoverProps> & Readonly<{
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
"onBefore-enter"?: (() => any) | undefined;
"onBefore-leave"?: (() => any) | undefined;
"onAfter-enter"?: (() => any) | undefined;
"onAfter-leave"?: (() => any) | undefined;
}>, {
offset: number;
teleported: boolean;
effect: PopperEffect;
tabindex: string | number;
visible: boolean | null;
content: string;
enterable: boolean;
popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
placement: Placement;
popperOptions: Partial<Options>;
showArrow: boolean;
persistent: boolean;
showAfter: number;
hideAfter: number;
autoClose: number;
trigger: Arrayable<TooltipTriggerType>;
triggerKeys: string[];
width: string | number;
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//#endregion
export { _default };
@@ -0,0 +1,132 @@
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
const require_style = require('../../../utils/dom/style.js');
const require_index = require('../../../hooks/use-namespace/index.js');
const require_index$1 = require('../../tooltip/index.js');
const require_popover = require('./popover.js');
let vue = require("vue");
//#region ../../packages/components/popover/src/popover.vue?vue&type=script&setup=true&lang.ts
const updateEventKeyRaw = `onUpdate:visible`;
var popover_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
name: "ElPopover",
__name: "popover",
props: require_popover.popoverProps,
emits: require_popover.popoverEmits,
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emit = __emit;
const onUpdateVisible = (0, vue.computed)(() => {
return props[updateEventKeyRaw];
});
const ns = require_index.useNamespace("popover");
const tooltipRef = (0, vue.ref)();
const popperRef = (0, vue.computed)(() => {
return (0, vue.unref)(tooltipRef)?.popperRef;
});
const style = (0, vue.computed)(() => {
return [{ width: require_style.addUnit(props.width) }, props.popperStyle];
});
const kls = (0, vue.computed)(() => {
return [
ns.b(),
props.popperClass,
{ [ns.m("plain")]: !!props.content }
];
});
const gpuAcceleration = (0, vue.computed)(() => {
return props.transition === `${ns.namespace.value}-fade-in-linear`;
});
const hide = () => {
tooltipRef.value?.hide();
};
const beforeEnter = () => {
emit("before-enter");
};
const beforeLeave = () => {
emit("before-leave");
};
const afterEnter = () => {
emit("after-enter");
};
const afterLeave = () => {
emit("update:visible", false);
emit("after-leave");
};
__expose({
popperRef,
hide
});
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$1.ElTooltip), (0, vue.mergeProps)({
ref_key: "tooltipRef",
ref: tooltipRef
}, _ctx.$attrs, {
trigger: __props.trigger,
"trigger-keys": __props.triggerKeys,
placement: __props.placement,
disabled: __props.disabled,
visible: __props.visible,
transition: __props.transition,
"popper-options": __props.popperOptions,
tabindex: __props.tabindex,
content: __props.content,
offset: __props.offset,
"show-after": __props.showAfter,
"hide-after": __props.hideAfter,
"auto-close": __props.autoClose,
"show-arrow": __props.showArrow,
"aria-label": __props.title,
effect: __props.effect,
enterable: __props.enterable,
"popper-class": kls.value,
"popper-style": style.value,
teleported: __props.teleported,
"append-to": __props.appendTo,
persistent: __props.persistent,
"gpu-acceleration": gpuAcceleration.value,
"onUpdate:visible": onUpdateVisible.value,
onBeforeShow: beforeEnter,
onBeforeHide: beforeLeave,
onShow: afterEnter,
onHide: afterLeave
}), {
content: (0, vue.withCtx)(() => [__props.title ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("title")),
role: "title"
}, (0, vue.toDisplayString)(__props.title), 3)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.renderSlot)(_ctx.$slots, "default", { hide }, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.content), 1)])]),
default: (0, vue.withCtx)(() => [_ctx.$slots.reference ? (0, vue.renderSlot)(_ctx.$slots, "reference", { key: 0 }) : (0, vue.createCommentVNode)("v-if", true)]),
_: 3
}, 16, [
"trigger",
"trigger-keys",
"placement",
"disabled",
"visible",
"transition",
"popper-options",
"tabindex",
"content",
"offset",
"show-after",
"hide-after",
"auto-close",
"show-arrow",
"aria-label",
"effect",
"enterable",
"popper-class",
"popper-style",
"teleported",
"append-to",
"persistent",
"gpu-acceleration",
"onUpdate:visible"
]);
};
}
});
//#endregion
exports.default = popover_vue_vue_type_script_setup_true_lang_default;
//# sourceMappingURL=popover.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
{"version":3,"file":"popover.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @update:visible=\"onUpdateVisible\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot :hide=\"hide\">\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { popoverEmits, popoverPropsDefaults } from './popover'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { PopoverProps } from './popover'\n\ndefineOptions({\n name: 'ElPopover',\n})\n\nconst props = withDefaults(defineProps<PopoverProps>(), popoverPropsDefaults)\nconst emit = defineEmits(popoverEmits)\n\nconst updateEventKeyRaw = `onUpdate:visible` as const\n\nconst onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw]\n})\n\nconst ns = useNamespace('popover')\nconst tooltipRef = ref<TooltipInstance>()\nconst popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n})\n\nconst style = computed(() => {\n return [\n {\n width: addUnit(props.width),\n },\n props.popperStyle!,\n ]\n})\n\nconst kls = computed(() => {\n return [ns.b(), props.popperClass!, { [ns.m('plain')]: !!props.content }]\n})\n\nconst gpuAcceleration = computed(() => {\n return props.transition === `${ns.namespace.value}-fade-in-linear`\n})\n\nconst hide = () => {\n tooltipRef.value?.hide()\n}\n\nconst beforeEnter = () => {\n emit('before-enter')\n}\nconst beforeLeave = () => {\n emit('before-leave')\n}\n\nconst afterEnter = () => {\n emit('after-enter')\n}\n\nconst afterLeave = () => {\n emit('update:visible', false)\n emit('after-leave')\n}\n\ndefineExpose({\n /** @description popper ref */\n popperRef,\n /** @description hide popover */\n hide,\n})\n</script>\n"],"mappings":";;;;;;;;AAiEA,MAAM,oBAAoB;;;;;;;EAH1B,MAAM,QAAQ;EACd,MAAM,OAAO;EAIb,MAAM,0CAAiC;AACrC,UAAO,MAAM;IACd;EAED,MAAM,KAAK,2BAAa,UAAS;EACjC,MAAM,2BAAkC;EACxC,MAAM,oCAA2B;AAC/B,yBAAa,WAAW,EAAE;IAC3B;EAED,MAAM,gCAAuB;AAC3B,UAAO,CACL,EACE,OAAO,sBAAQ,MAAM,MAAM,EAC5B,EACD,MAAM,YACR;IACD;EAED,MAAM,8BAAqB;AACzB,UAAO;IAAC,GAAG,GAAG;IAAE,MAAM;IAAc,GAAG,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,MAAM,SAAS;IAAA;IACzE;EAED,MAAM,0CAAiC;AACrC,UAAO,MAAM,eAAe,GAAG,GAAG,UAAU,MAAM;IACnD;EAED,MAAM,aAAa;AACjB,cAAW,OAAO,MAAK;;EAGzB,MAAM,oBAAoB;AACxB,QAAK,eAAc;;EAErB,MAAM,oBAAoB;AACxB,QAAK,eAAc;;EAGrB,MAAM,mBAAmB;AACvB,QAAK,cAAa;;EAGpB,MAAM,mBAAmB;AACvB,QAAK,kBAAkB,MAAK;AAC5B,QAAK,cAAa;;AAGpB,WAAa;GAEX;GAEA;GACD,CAAA;;oEA1Ec,0BAAA,sBAAA;aA3CP;IAAJ,KAAI;MACIA,KAAAA,QAAM;IACb,SAAS,QAAA;IACT,gBAAc,QAAA;IACd,WAAW,QAAA;IACX,UAAU,QAAA;IACV,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,kBAAgB,QAAA;IAChB,UAAU,QAAA;IACV,SAAS,QAAA;IACT,QAAQ,QAAA;IACR,cAAY,QAAA;IACZ,cAAY,QAAA;IACZ,cAAY,QAAA;IACZ,cAAY,QAAA;IACZ,cAAY,QAAA;IACZ,QAAQ,QAAA;IACR,WAAW,QAAA;IACX,gBAAc,IAAA;IACd,gBAAc,MAAA;IACd,YAAY,QAAA;IACZ,aAAW,QAAA;IACX,YAAY,QAAA;IACZ,oBAAkB,gBAAA;IAClB,oBAAgB,gBAAA;IAChB,cAAa;IACb,cAAa;IACb,QAAM;IACN,QAAM;;IAMI,gCAGH,CAFK,QAAA,2DAEL,OAAA;;KAFa,8CAAO,GAAE,CAAC,EAAC,QAAA,CAAA;KAAW,MAAK;gCACzC,QAAA,MAAK,EAAA,EAAA,mEAIH,KAAA,QAAA,WAAA,EAFM,MAAI,QAEV,mDADF,QAAA,QAAO,EAAA,EAAA;oCAPH,CAFKC,KAAAA,OAAO,gCACI,KAAA,QAAA,aAAA,EAAA,KAAA,GAAA,CAAA"}
@@ -0,0 +1,9 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_popover_vue_vue_type_script_setup_true_lang = require('./popover.vue_vue_type_script_setup_true_lang.js');
//#region ../../packages/components/popover/src/popover.vue
var popover_default = require_popover_vue_vue_type_script_setup_true_lang.default;
//#endregion
exports.default = popover_default;
//# sourceMappingURL=popover2.js.map
@@ -0,0 +1 @@
{"version":3,"file":"popover2.js","names":[],"sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @update:visible=\"onUpdateVisible\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot :hide=\"hide\">\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { popoverEmits, popoverPropsDefaults } from './popover'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { PopoverProps } from './popover'\n\ndefineOptions({\n name: 'ElPopover',\n})\n\nconst props = withDefaults(defineProps<PopoverProps>(), popoverPropsDefaults)\nconst emit = defineEmits(popoverEmits)\n\nconst updateEventKeyRaw = `onUpdate:visible` as const\n\nconst onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw]\n})\n\nconst ns = useNamespace('popover')\nconst tooltipRef = ref<TooltipInstance>()\nconst popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n})\n\nconst style = computed(() => {\n return [\n {\n width: addUnit(props.width),\n },\n props.popperStyle!,\n ]\n})\n\nconst kls = computed(() => {\n return [ns.b(), props.popperClass!, { [ns.m('plain')]: !!props.content }]\n})\n\nconst gpuAcceleration = computed(() => {\n return props.transition === `${ns.namespace.value}-fade-in-linear`\n})\n\nconst hide = () => {\n tooltipRef.value?.hide()\n}\n\nconst beforeEnter = () => {\n emit('before-enter')\n}\nconst beforeLeave = () => {\n emit('before-leave')\n}\n\nconst afterEnter = () => {\n emit('after-enter')\n}\n\nconst afterLeave = () => {\n emit('update:visible', false)\n emit('after-leave')\n}\n\ndefineExpose({\n /** @description popper ref */\n popperRef,\n /** @description hide popover */\n hide,\n})\n</script>\n"],"mappings":""}
@@ -0,0 +1,4 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
require('../../base/style/css.js');
require('../../popper/style/css.js');
require("element-plus/theme-chalk/el-popover.css");
@@ -0,0 +1,4 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
require('../../base/style/index.js');
require('../../popper/style/index.js');
require("element-plus/theme-chalk/src/popover.scss");