前端初始化

This commit is contained in:
“hsc”
2026-08-21 15:36:24 +08:00
commit e4d8ecde13
14411 changed files with 2275932 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
import { SFCWithInstall } from "../../utils/vue/typescript.js";
import { PopoverEmits, PopoverInstance, PopoverProps, PopoverPropsPublic, popoverEmits, popoverProps, popoverPropsDefaults } from "./src/popover.js";
import _default from "./src/popover.vue.js";
import _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 };
+11
View File
@@ -0,0 +1,11 @@
import { withInstall, withInstallDirective } from "../../utils/vue/install.mjs";
import { popoverEmits, popoverProps, popoverPropsDefaults } from "./src/popover.mjs";
import popover_default from "./src/popover2.mjs";
import directive_default, { VPopover } from "./src/directive.mjs";
//#region ../../packages/components/popover/index.ts
const ElPopoverDirective = withInstallDirective(directive_default, VPopover);
const ElPopover = withInstall(popover_default, { directive: ElPopoverDirective });
//#endregion
export { ElPopover, ElPopover as default, ElPopoverDirective, popoverEmits, popoverProps, popoverPropsDefaults };
//# sourceMappingURL=index.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["PopoverDirective","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,qBACX,qBAAqBA,mBAAkB,SAAS;AAElD,MAAa,YAET,YAAYC,iBAAS,EACvB,WAAW,oBACZ,CAAC"}
+7
View File
@@ -0,0 +1,7 @@
import { ObjectDirective } from "vue";
//#region ../../packages/components/popover/src/directive.d.ts
declare const _default: ObjectDirective;
declare const VPopover = "popover";
//#endregion
export { VPopover, _default as default };
+18
View File
@@ -0,0 +1,18 @@
//#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
export { VPopover, directive_default as default };
//# sourceMappingURL=directive.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"directive.mjs","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;CACjC,IAAI,SACF,QAAQ,aAAa;;AAIzB,IAAA,oBAAe;CACb,QAAQ,IAAI,SAAS;EACnB,aAAa,IAAI,QAAQ;;CAE3B,QAAQ,IAAI,SAAS;EACnB,aAAa,IAAI,QAAQ;;CAE5B;AAED,MAAa,WAAW"}
+209
View File
@@ -0,0 +1,209 @@
import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
import { Arrayable, ClassValue } from "../../../utils/typescript.js";
import { Measurable } from "../../popper/src/constants.js";
import { PopperEffect } from "../../popper/src/popper.js";
import { Options, Placement } from "../../popper/index.js";
import { TooltipTriggerType } from "../../tooltip/src/trigger.js";
import { UseTooltipProps } from "../../tooltip/src/tooltip.js";
import _default from "./popover.vue.js";
import * as _$vue from "vue";
import { ExtractPublicPropTypes } from "vue";
//#region ../../packages/components/popover/src/popover.d.ts
interface PopoverProps extends Omit<UseTooltipProps, 'ariaLabel' | 'gpuAcceleration' | 'rawContent'> {
/**
* @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover
*/
tabindex?: string | number;
/**
* @description popover title
*/
title?: string;
/**
* @description popover width
*/
width?: string | number;
}
/**
* @deprecated Removed after 3.0.0, Use `PopoverProps` instead.
*/
declare const popoverProps: {
readonly placement: EpPropFinalized<(new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
readonly tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
readonly effect: {
readonly default: "light";
readonly type: _$vue.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 title: StringConstructor;
readonly width: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
readonly offset: {
readonly default: undefined;
readonly type: _$vue.PropType<number>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
readonly __epPropKey: true;
};
readonly persistent: EpPropFinalized<unknown, unknown, unknown, true, boolean>;
readonly disabled: BooleanConstructor;
readonly id: StringConstructor;
readonly popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
readonly popperStyle: EpPropFinalized<(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, undefined, boolean>;
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
readonly strategy: EpPropFinalized<StringConstructor, "fixed" | "absolute", unknown, "absolute", 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 boundariesPadding: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, undefined, boolean>;
readonly arrowOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
readonly style: EpPropFinalized<(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, undefined, boolean>;
readonly className: {
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly enterable: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly referenceEl: {
readonly type: _$vue.PropType<HTMLElement>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly triggerTargetEl: {
readonly type: _$vue.PropType<HTMLElement>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly stopPopperMouseEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly loop: BooleanConstructor;
readonly visible: EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | (((new (...args: any[]) => boolean) | (() => boolean | null)) | null)[], unknown, unknown, null, boolean>;
readonly pure: BooleanConstructor;
readonly focusOnShow: BooleanConstructor;
readonly trapping: BooleanConstructor;
readonly virtualTriggering: BooleanConstructor;
readonly zIndex: NumberConstructor;
readonly appendTo: {
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly content: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly transition: StringConstructor;
readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
readonly onBlur: {
readonly type: _$vue.PropType<(e: FocusEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onClick: {
readonly type: _$vue.PropType<(e: PointerEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onContextmenu: {
readonly type: _$vue.PropType<(e: PointerEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onFocus: {
readonly type: _$vue.PropType<(e: FocusEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onKeydown: {
readonly type: _$vue.PropType<(e: KeyboardEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onMouseenter: {
readonly type: _$vue.PropType<(e: MouseEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly onMouseleave: {
readonly type: _$vue.PropType<(e: MouseEvent) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly role: EpPropFinalized<StringConstructor, "dialog" | "menu" | "tooltip" | "grid" | "group" | "listbox" | "navigation" | "tree", unknown, "tooltip", boolean>;
readonly open: BooleanConstructor;
readonly "onUpdate:visible": {
readonly type: _$vue.PropType<(val: boolean) => void>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly trigger: EpPropFinalized<(new (...args: any[]) => "hover" | "click" | "contextmenu" | "focus" | TooltipTriggerType[]) | (() => Arrayable<TooltipTriggerType>) | (((new (...args: any[]) => "hover" | "click" | "contextmenu" | "focus" | 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 focusOnTarget: BooleanConstructor;
readonly virtualRef: {
readonly type: _$vue.PropType<Measurable>;
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 title: undefined;
readonly tabindex: 0;
readonly effect: "light";
readonly width: 150;
readonly offset: undefined;
readonly showArrow: true;
readonly persistent: true;
readonly arrowOffset: 5;
readonly trigger: "hover";
readonly triggerKeys: () => string[];
readonly popperClass: undefined;
readonly popperStyle: undefined;
readonly popperOptions: () => {};
readonly placement: "bottom";
readonly strategy: "absolute";
readonly showAfter: 0;
readonly hideAfter: 200;
readonly autoClose: 0;
readonly boundariesPadding: 0;
readonly style: undefined;
readonly enterable: true;
readonly stopPopperMouseEvent: true;
readonly loop: false;
readonly visible: null;
readonly pure: false;
readonly focusOnShow: false;
readonly trapping: false;
readonly virtualTriggering: false;
readonly content: "";
readonly teleported: true;
};
//#endregion
export { PopoverEmits, PopoverInstance, PopoverProps, PopoverPropsPublic, popoverEmits, popoverProps, popoverPropsDefaults };
+85
View File
@@ -0,0 +1,85 @@
import { isBoolean } from "../../../utils/types.mjs";
import { buildProps } from "../../../utils/vue/props/runtime.mjs";
import { popperArrowPropsDefaults } from "../../popper/src/arrow.mjs";
import { useTooltipContentPropsDefaults } from "../../tooltip/src/content.mjs";
import { useTooltipTriggerPropsDefaults } from "../../tooltip/src/trigger.mjs";
import { useTooltipProps } from "../../tooltip/src/tooltip.mjs";
import { dropdownProps } from "../../dropdown/src/dropdown.mjs";
import { omit } from "lodash-unified";
//#region ../../packages/components/popover/src/popover.ts
/**
* @deprecated Removed after 3.0.0, Use `PopoverProps` instead.
*/
const popoverProps = buildProps({
...omit(useTooltipProps, [
"ariaLabel",
"gpuAcceleration",
"rawContent"
]),
/**
* @description popover placement
*/
placement: dropdownProps.placement,
/**
* @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover
*/
tabindex: dropdownProps.tabindex,
/**
* @description Tooltip theme, built-in theme: `dark` / `light`
*/
effect: {
...useTooltipProps.effect,
default: "light"
},
/**
* @description popover title
*/
title: String,
/**
* @description popover width
*/
width: {
type: [String, Number],
default: 150
},
/**
* @description popover offset
*/
offset: {
...useTooltipProps.offset,
default: void 0
},
/**
* @description when popover inactive and `persistent` is `false` , popover will be destroyed
*/
persistent: {
...useTooltipProps.persistent,
default: true
}
});
const popoverEmits = {
"update:visible": (value) => isBoolean(value),
"before-enter": () => true,
"before-leave": () => true,
"after-enter": () => true,
"after-leave": () => true
};
/**
* @description default values for PopoverProps
*/
const popoverPropsDefaults = {
...omit(useTooltipContentPropsDefaults, ["gpuAcceleration"]),
...useTooltipTriggerPropsDefaults,
...popperArrowPropsDefaults,
title: void 0,
tabindex: 0,
effect: "light",
width: 150,
offset: void 0,
showArrow: true,
persistent: true
};
//#endregion
export { popoverEmits, popoverProps, popoverPropsDefaults };
//# sourceMappingURL=popover.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"popover.mjs","names":[],"sources":["../../../../../../packages/components/popover/src/popover.ts"],"sourcesContent":["import { buildProps, isBoolean } from '@element-plus/utils'\nimport {\n useTooltipContentPropsDefaults,\n useTooltipProps,\n useTooltipTriggerPropsDefaults,\n} from '@element-plus/components/tooltip'\nimport { dropdownProps } from '@element-plus/components/dropdown'\nimport { popperArrowPropsDefaults } from '@element-plus/components/popper'\nimport { omit } from 'lodash-unified'\n\nimport type { UseTooltipProps } from '@element-plus/components/tooltip'\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Popover from './popover.vue'\n\nexport interface PopoverProps extends Omit<\n UseTooltipProps,\n 'ariaLabel' | 'gpuAcceleration' | 'rawContent'\n> {\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover\n */\n tabindex?: string | number\n /**\n * @description popover title\n */\n title?: string\n /**\n * @description popover width\n */\n width?: string | number\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopoverProps` instead.\n */\nexport const popoverProps = buildProps({\n ...omit(useTooltipProps, ['ariaLabel', 'gpuAcceleration', 'rawContent']),\n /**\n * @description popover placement\n */\n placement: dropdownProps.placement,\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover\n */\n tabindex: dropdownProps.tabindex,\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n ...useTooltipProps.effect,\n default: 'light',\n },\n /**\n * @description popover title\n */\n title: String,\n /**\n * @description popover width\n */\n width: {\n type: [String, Number],\n default: 150,\n },\n /**\n * @description popover offset\n */\n offset: {\n ...useTooltipProps.offset,\n default: undefined,\n },\n /**\n * @description when popover inactive and `persistent` is `false` , popover will be destroyed\n */\n persistent: {\n ...useTooltipProps.persistent,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopoverProps` instead.\n */\nexport type PopoverPropsPublic = ExtractPublicPropTypes<typeof popoverProps>\n\nexport const popoverEmits = {\n 'update:visible': (value: boolean) => isBoolean(value),\n 'before-enter': () => true,\n 'before-leave': () => true,\n 'after-enter': () => true,\n 'after-leave': () => true,\n}\nexport type PopoverEmits = typeof popoverEmits\n\nexport type PopoverInstance = InstanceType<typeof Popover> & unknown\n\n/**\n * @description default values for PopoverProps\n */\nexport const popoverPropsDefaults = {\n ...omit(useTooltipContentPropsDefaults, ['gpuAcceleration']),\n ...useTooltipTriggerPropsDefaults,\n ...popperArrowPropsDefaults,\n title: undefined,\n tabindex: 0,\n effect: 'light',\n width: 150,\n offset: undefined,\n showArrow: true,\n persistent: true,\n} as const\n"],"mappings":";;;;;;;;;;;;AAmCA,MAAa,eAAe,WAAW;CACrC,GAAG,KAAK,iBAAiB;EAAC;EAAa;EAAmB;EAAa,CAAC;;;;CAIxE,WAAW,cAAc;;;;CAIzB,UAAU,cAAc;;;;CAIxB,QAAQ;EACN,GAAG,gBAAgB;EACnB,SAAS;EACV;;;;CAID,OAAO;;;;CAIP,OAAO;EACL,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;;;;CAID,QAAQ;EACN,GAAG,gBAAgB;EACnB,SAAS,KAAA;EACV;;;;CAID,YAAY;EACV,GAAG,gBAAgB;EACnB,SAAS;EACV;CACF,CAAU;AAOX,MAAa,eAAe;CAC1B,mBAAmB,UAAmB,UAAU,MAAM;CACtD,sBAAsB;CACtB,sBAAsB;CACtB,qBAAqB;CACrB,qBAAqB;CACtB;;;;AAQD,MAAa,uBAAuB;CAClC,GAAG,KAAK,gCAAgC,CAAC,kBAAkB,CAAC;CAC5D,GAAG;CACH,GAAG;CACH,OAAO,KAAA;CACP,UAAU;CACV,QAAQ;CACR,OAAO;CACP,QAAQ,KAAA;CACR,WAAW;CACX,YAAY;CACb"}
+72
View File
@@ -0,0 +1,72 @@
import { Arrayable, ClassValue } from "../../../utils/typescript.js";
import { PopperEffect, PopperInstance } from "../../popper/src/popper.js";
import { Options, Placement } from "../../popper/index.js";
import { TooltipTriggerType } from "../../tooltip/src/trigger.js";
import { PopoverProps } from "./popover.js";
import * as _$vue from "vue";
//#region ../../packages/components/popover/src/popover.vue.d.ts
declare var __VLS_14: {}, __VLS_17: {
hide: () => void;
};
type __VLS_Slots = {} & {
reference?: (props: typeof __VLS_14) => any;
} & {
default?: (props: typeof __VLS_17) => 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;
}>, {
effect: PopperEffect;
popperClass: string | false | Record<string, any> | ClassValue[] | null;
popperStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
popperOptions: Partial<Options>;
placement: Placement;
strategy: "fixed" | "absolute";
showAfter: number;
hideAfter: number;
autoClose: number;
boundariesPadding: number;
offset: number;
arrowOffset: number;
style: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
enterable: boolean;
stopPopperMouseEvent: boolean;
loop: boolean;
visible: boolean | null;
pure: boolean;
focusOnShow: boolean;
trapping: boolean;
virtualTriggering: boolean;
content: string;
teleported: boolean;
persistent: boolean;
showArrow: boolean;
tabindex: string | number;
title: string;
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 as default };
@@ -0,0 +1,94 @@
import { isArray } from "../../../utils/types.mjs";
import { addUnit } from "../../../utils/dom/style.mjs";
import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
import { ElTooltip } from "../../tooltip/index.mjs";
import { popoverEmits, popoverProps } from "./popover.mjs";
import { pick } from "lodash-unified";
import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, unref, withCtx } from "vue";
//#region ../../packages/components/popover/src/popover.vue?vue&type=script&setup=true&lang.ts
var popover_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
name: "ElPopover",
__name: "popover",
props: popoverProps,
emits: popoverEmits,
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emit = __emit;
const passTooltipProps = computed(() => {
const tooltipProps = ElTooltip.props;
return pick(props, isArray(tooltipProps) ? tooltipProps : Object.keys(tooltipProps));
});
const ns = useNamespace("popover");
const tooltipRef = ref();
const popperRef = computed(() => {
return unref(tooltipRef)?.popperRef;
});
const style = computed(() => {
return [{ width: addUnit(props.width) }, props.popperStyle];
});
const kls = computed(() => {
return [
ns.b(),
props.popperClass,
{ [ns.m("plain")]: !!props.content }
];
});
const gpuAcceleration = 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({
/** @description popper ref */
popperRef,
/** @description hide popover */
hide
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(ElTooltip), mergeProps({
ref_key: "tooltipRef",
ref: tooltipRef
}, passTooltipProps.value, {
"aria-label": __props.title,
"popper-class": kls.value,
"popper-style": style.value,
"gpu-acceleration": gpuAcceleration.value,
onBeforeShow: beforeEnter,
onBeforeHide: beforeLeave,
onShow: afterEnter,
onHide: afterLeave
}), {
content: withCtx(() => [__props.title ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(unref(ns).e("title")),
role: "title"
}, toDisplayString(__props.title), 3)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", { hide }, () => [createTextVNode(toDisplayString(__props.content), 1)])]),
default: withCtx(() => [_ctx.$slots.reference ? renderSlot(_ctx.$slots, "reference", { key: 0 }) : createCommentVNode("v-if", true)]),
_: 3
}, 16, [
"aria-label",
"popper-class",
"popper-style",
"gpu-acceleration"
]);
};
}
});
//#endregion
export { popover_vue_vue_type_script_setup_true_lang_default as default };
//# sourceMappingURL=popover.vue_vue_type_script_setup_true_lang.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"popover.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"passTooltipProps\"\n :aria-label=\"title\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :gpu-acceleration=\"gpuAcceleration\"\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 { pick } from 'lodash-unified'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit, isArray } 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 passTooltipProps = computed(() => {\n const tooltipProps = ElTooltip.props\n const keys = isArray(tooltipProps) ? tooltipProps : Object.keys(tooltipProps)\n return pick(props, keys)\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":";;;;;;;;;;;;;;EA2CA,MAAM,QAAQ;EACd,MAAM,OAAO;EAEb,MAAM,mBAAmB,eAAe;GACtC,MAAM,eAAe,UAAU;GAE/B,OAAO,KAAK,OADC,QAAQ,aAAa,GAAG,eAAe,OAAO,KAAK,aAAY,CACrD;IACxB;EAED,MAAM,KAAK,aAAa,UAAS;EACjC,MAAM,aAAa,KAAqB;EACxC,MAAM,YAAY,eAAe;GAC/B,OAAO,MAAM,WAAW,EAAE;IAC3B;EAED,MAAM,QAAQ,eAAe;GAC3B,OAAO,CACL,EACE,OAAO,QAAQ,MAAM,MAAM,EAC5B,EACD,MAAM,YACR;IACD;EAED,MAAM,MAAM,eAAe;GACzB,OAAO;IAAC,GAAG,GAAG;IAAE,MAAM;IAAc,GAAG,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,MAAM,SAAS;IAAA;IACzE;EAED,MAAM,kBAAkB,eAAe;GACrC,OAAO,MAAM,eAAe,GAAG,GAAG,UAAU,MAAM;IACnD;EAED,MAAM,aAAa;GACjB,WAAW,OAAO,MAAK;;EAGzB,MAAM,oBAAoB;GACxB,KAAK,eAAc;;EAErB,MAAM,oBAAoB;GACxB,KAAK,eAAc;;EAGrB,MAAM,mBAAmB;GACvB,KAAK,cAAa;;EAGpB,MAAM,mBAAmB;GACvB,KAAK,kBAAkB,MAAK;GAC5B,KAAK,cAAa;;EAGpB,SAAa;;GAEX;;GAEA;GACD,CAAA;;uBAnGC,YAwBa,MAAA,UAAA,EAxBb,WAwBa;aAvBP;IAAJ,KAAI;MACI,iBAAA,OAAgB;IACvB,cAAY,QAAA;IACZ,gBAAc,IAAA;IACd,gBAAc,MAAA;IACd,oBAAkB,gBAAA;IAClB,cAAa;IACb,cAAa;IACb,QAAM;IACN,QAAM;;IAMI,SAAO,cAGV,CAFK,QAAA,SAAA,WAAA,EAAX,mBAEM,OAAA;;KAFa,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,QAAA,CAAA;KAAW,MAAK;uBACzC,QAAA,MAAK,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA,EAEV,WAEO,KAAA,QAAA,WAAA,EAFM,MAAI,QAEV,CAAA,gBAAA,gBADF,QAAA,QAAO,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;2BAPH,CAFKA,KAAAA,OAAO,YACrB,WAAyB,KAAA,QAAA,aAAA,EAAA,KAAA,GAAA,CAAA,GAAA,mBAAA,QAAA,KAAA,CAAA,CAAA"}
+7
View File
@@ -0,0 +1,7 @@
import popover_vue_vue_type_script_setup_true_lang_default from "./popover.vue_vue_type_script_setup_true_lang.mjs";
//#region ../../packages/components/popover/src/popover.vue
var popover_default = popover_vue_vue_type_script_setup_true_lang_default;
//#endregion
export { popover_default as default };
//# sourceMappingURL=popover2.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"popover2.mjs","names":[],"sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"passTooltipProps\"\n :aria-label=\"title\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :gpu-acceleration=\"gpuAcceleration\"\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 { pick } from 'lodash-unified'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit, isArray } 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 passTooltipProps = computed(() => {\n const tooltipProps = ElTooltip.props\n const keys = isArray(tooltipProps) ? tooltipProps : Object.keys(tooltipProps)\n return pick(props, keys)\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":""}
+3
View File
@@ -0,0 +1,3 @@
import "../../base/style/css.mjs";
import "../../popper/style/css.mjs";
import "element-plus/theme-chalk/el-popover.css";
+3
View File
@@ -0,0 +1,3 @@
import "../../base/style/index.mjs";
import "../../popper/style/index.mjs";
import "element-plus/theme-chalk/src/popover.scss";