UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 7.78 kB
{"version":3,"file":"content.mjs","names":[],"sources":["../../../../../../packages/components/popper/src/content.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\nimport { popperArrowProps, popperArrowPropsDefaults } from './arrow'\n\nimport type { PopperEffect } from './popper'\nimport type { ExtractPublicPropTypes, StyleValue } from 'vue'\nimport type { Options, Placement } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type Content from './content.vue'\nimport type { PopperArrowProps } from './arrow'\n\ntype ClassObjectType = Record<string, boolean>\ntype ClassType = string | ClassObjectType | ClassType[]\n\nconst POSITIONING_STRATEGIES = ['fixed', 'absolute'] as const\n\nexport interface CreatePopperInstanceParams {\n referenceEl: Measurable\n popperContentEl: HTMLElement\n arrowEl: HTMLElement | undefined\n}\n\nexport interface PopperCoreConfigProps {\n boundariesPadding?: number\n fallbackPlacements?: Placement[]\n gpuAcceleration?: boolean\n /**\n * @description offset of the Tooltip\n */\n offset?: number\n /**\n * @description position of Tooltip\n */\n placement?: Placement\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions?: Partial<Options>\n strategy?: (typeof POSITIONING_STRATEGIES)[number]\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopperCoreConfigProps` instead.\n */\nexport const popperCoreConfigProps = buildProps({\n boundariesPadding: {\n type: Number,\n default: 0,\n },\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: undefined,\n },\n gpuAcceleration: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the Tooltip\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description position of Tooltip\n */\n placement: {\n type: String,\n values: placements,\n default: 'bottom',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n strategy: {\n type: String,\n values: POSITIONING_STRATEGIES,\n default: 'absolute',\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopperCoreConfigProps` instead.\n */\nexport type PopperCoreConfigPropsPublic = ExtractPublicPropTypes<\n typeof popperCoreConfigProps\n>\n\nexport interface PopperContentProps\n extends PopperCoreConfigProps, PopperArrowProps {\n id?: string\n style?: StyleValue\n className?: ClassType\n effect?: PopperEffect\n visible?: boolean\n enterable?: boolean\n pure?: boolean\n focusOnShow?: boolean\n trapping?: boolean\n popperClass?: ClassType\n popperStyle?: StyleValue\n referenceEl?: HTMLElement\n triggerTargetEl?: HTMLElement\n stopPopperMouseEvent?: boolean\n virtualTriggering?: boolean\n zIndex?: number\n ariaLabel?: string\n loop?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopperContentProps` instead.\n */\nexport const popperContentProps = buildProps({\n ...popperCoreConfigProps,\n ...popperArrowProps,\n id: String,\n style: {\n type: definePropType<StyleValue>([String, Array, Object]),\n },\n className: {\n type: definePropType<ClassType>([String, Array, Object]),\n },\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'dark',\n },\n visible: Boolean,\n enterable: {\n type: Boolean,\n default: true,\n },\n pure: Boolean,\n focusOnShow: Boolean,\n trapping: Boolean,\n popperClass: {\n type: definePropType<ClassType>([String, Array, Object]),\n },\n popperStyle: {\n type: definePropType<StyleValue>([String, Array, Object]),\n },\n referenceEl: {\n type: definePropType<HTMLElement>(Object),\n },\n triggerTargetEl: {\n type: definePropType<HTMLElement>(Object),\n },\n stopPopperMouseEvent: {\n type: Boolean,\n default: true,\n },\n virtualTriggering: Boolean,\n zIndex: Number,\n ...useAriaProps(['ariaLabel']),\n loop: Boolean,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `PopperContentProps` instead.\n */\nexport type PopperContentPropsPublic = ExtractPublicPropTypes<\n typeof popperContentProps\n>\n\nexport const popperCoreConfigPropsDefaults = {\n boundariesPadding: 0,\n gpuAcceleration: true,\n offset: 12,\n placement: 'bottom',\n popperOptions: () => ({}),\n strategy: 'absolute',\n} as const\n\nexport const popperContentPropsDefaults = {\n ...popperCoreConfigPropsDefaults,\n ...popperArrowPropsDefaults,\n effect: 'dark',\n enterable: true,\n stopPopperMouseEvent: true,\n visible: false,\n pure: false,\n focusOnShow: false,\n trapping: false,\n virtualTriggering: false,\n loop: false,\n style: undefined,\n popperStyle: undefined,\n} as const\n\nexport const popperContentEmits = {\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n focus: () => true,\n blur: () => true,\n close: () => true,\n}\nexport type PopperContentEmits = typeof popperContentEmits\n\nexport type PopperContentInstance = InstanceType<typeof Content> & unknown\n\n/** @deprecated use `popperCoreConfigProps` instead, and it will be deprecated in the next major version */\nexport const usePopperCoreConfigProps = popperCoreConfigProps\n\n/** @deprecated use `popperContentProps` instead, and it will be deprecated in the next major version */\nexport const usePopperContentProps = popperContentProps\n\n/** @deprecated use `popperContentEmits` instead, and it will be deprecated in the next major version */\nexport const usePopperContentEmits = popperContentEmits\n\n/** @deprecated use `PopperCoreConfigProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperCoreConfigProps = PopperCoreConfigProps\n\n/** @deprecated use `PopperContentProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperContentProps = PopperContentProps\n\n/** @deprecated use `PopperContentInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowContent = PopperContentInstance\n"],"mappings":";;;;;;AAeA,MAAM,yBAAyB,CAAC,SAAS,WAAW;;;;AA8BpD,MAAa,wBAAwB,WAAW;CAC9C,mBAAmB;EACjB,MAAM;EACN,SAAS;EACV;CACD,oBAAoB;EAClB,MAAM,eAA4B,MAAM;EACxC,SAAS;EACV;CACD,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACV;CAID,eAAe;EACb,MAAM,eAAiC,OAAO;EAC9C,gBAAgB,EAAE;EACnB;CACD,UAAU;EACR,MAAM;EACN,QAAQ;EACR,SAAS;EACV;CACF,CAAU;;;;AAkCX,MAAa,qBAAqB,WAAW;CAC3C,GAAG;CACH,GAAG;CACH,IAAI;CACJ,OAAO,EACL,MAAM,eAA2B;EAAC;EAAQ;EAAO;EAAO,CAAC,EAC1D;CACD,WAAW,EACT,MAAM,eAA0B;EAAC;EAAQ;EAAO;EAAO,CAAC,EACzD;CACD,QAAQ;EACN,MAAM,eAA6B,OAAO;EAC1C,SAAS;EACV;CACD,SAAS;CACT,WAAW;EACT,MAAM;EACN,SAAS;EACV;CACD,MAAM;CACN,aAAa;CACb,UAAU;CACV,aAAa,EACX,MAAM,eAA0B;EAAC;EAAQ;EAAO;EAAO,CAAC,EACzD;CACD,aAAa,EACX,MAAM,eAA2B;EAAC;EAAQ;EAAO;EAAO,CAAC,EAC1D;CACD,aAAa,EACX,MAAM,eAA4B,OAAO,EAC1C;CACD,iBAAiB,EACf,MAAM,eAA4B,OAAO,EAC1C;CACD,sBAAsB;EACpB,MAAM;EACN,SAAS;EACV;CACD,mBAAmB;CACnB,QAAQ;CACR,GAAG,aAAa,CAAC,YAAY,CAAC;CAC9B,MAAM;CACP,CAAU;AASX,MAAa,gCAAgC;CAC3C,mBAAmB;CACnB,iBAAiB;CACjB,QAAQ;CACR,WAAW;CACX,sBAAsB,EAAE;CACxB,UAAU;CACX;AAED,MAAa,6BAA6B;CACxC,GAAG;CACH,GAAG;CACH,QAAQ;CACR,WAAW;CACX,sBAAsB;CACtB,SAAS;CACT,MAAM;CACN,aAAa;CACb,UAAU;CACV,mBAAmB;CACnB,MAAM;CACN,OAAO;CACP,aAAa;CACd;AAED,MAAa,qBAAqB;CAChC,aAAa,QAAoB,eAAe;CAChD,aAAa,QAAoB,eAAe;CAChD,aAAa;CACb,YAAY;CACZ,aAAa;CACd;;AAMD,MAAa,2BAA2B;;AAGxC,MAAa,wBAAwB;;AAGrC,MAAa,wBAAwB"}