UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.32 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/popper/src/utils.ts"],"sourcesContent":["import { unrefElement } from '@vueuse/core'\nimport { isClient } from '@element-plus/utils'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Modifier } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type { PopperCoreConfigProps } from './content'\n\nexport const buildPopperOptions = (\n props: PopperCoreConfigProps,\n modifiers: Modifier<any, any>[] = []\n) => {\n const { placement, strategy, popperOptions } = props\n const options = {\n placement,\n strategy,\n ...popperOptions,\n modifiers: [...genModifiers(props), ...modifiers],\n }\n\n deriveExtraModifiers(options, popperOptions?.modifiers)\n return options\n}\n\nexport const unwrapMeasurableEl = (\n $el: MaybeRef<Measurable | undefined | ComponentPublicInstance>\n) => {\n if (!isClient) return\n return unrefElement($el as HTMLElement)\n}\n\nfunction genModifiers(options: PopperCoreConfigProps) {\n const { offset, gpuAcceleration, fallbackPlacements } = options\n return [\n {\n name: 'offset',\n options: {\n offset: [0, offset ?? 12],\n },\n },\n {\n name: 'preventOverflow',\n options: {\n padding: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n },\n },\n },\n {\n name: 'flip',\n options: {\n padding: 5,\n fallbackPlacements,\n },\n },\n {\n name: 'computeStyles',\n options: {\n gpuAcceleration,\n },\n },\n ]\n}\n\nfunction deriveExtraModifiers(\n options: any,\n modifiers: PopperCoreConfigProps['popperOptions']['modifiers']\n) {\n if (modifiers) {\n options.modifiers = [...options.modifiers, ...(modifiers ?? [])]\n }\n}\n"],"names":[],"mappings":";;AASO,MAAM,kBAAqB,GAAA,CAChC,KACA,EAAA,SAAA,GAAkC,EAC/B,KAAA;AACH,EAAA,MAAM,EAAE,SAAA,EAAW,QAAU,EAAA,aAAA,EAAkB,GAAA,KAAA,CAAA;AAC/C,EAAA,MAAM,OAAU,GAAA;AAAA,IACd,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,aAAA;AAAA,IACH,WAAW,CAAC,GAAG,aAAa,KAAK,CAAA,EAAG,GAAG,SAAS,CAAA;AAAA,GAClD,CAAA;AAEA,EAAqB,oBAAA,CAAA,OAAA,EAAS,+CAAe,SAAS,CAAA,CAAA;AACtD,EAAO,OAAA,OAAA,CAAA;AACT,EAAA;AAEa,MAAA,kBAAA,GAAqB,CAChC,GACG,KAAA;AACH,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,OAAO,aAAa,GAAkB,CAAA,CAAA;AACxC,EAAA;AAEA,SAAS,aAAa,OAAgC,EAAA;AACpD,EAAA,MAAM,EAAE,MAAA,EAAQ,eAAiB,EAAA,kBAAA,EAAuB,GAAA,OAAA,CAAA;AACxD,EAAO,OAAA;AAAA,IACL;AAAA,MACE,IAAM,EAAA,QAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,MAAQ,EAAA,CAAC,CAAG,EAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA;AAAA,OAC1B;AAAA,KACF;AAAA,IACA;AAAA,MACE,IAAM,EAAA,iBAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,GAAK,EAAA,CAAA;AAAA,UACL,MAAQ,EAAA,CAAA;AAAA,UACR,IAAM,EAAA,CAAA;AAAA,UACN,KAAO,EAAA,CAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,IACA;AAAA,MACE,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,OAAS,EAAA,CAAA;AAAA,QACT,kBAAA;AAAA,OACF;AAAA,KACF;AAAA,IACA;AAAA,MACE,IAAM,EAAA,eAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,eAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,oBAAA,CACP,SACA,SACA,EAAA;AACA,EAAA,IAAI,SAAW,EAAA;AACb,IAAQ,OAAA,CAAA,SAAA,GAAY,CAAC,GAAG,OAAA,CAAQ,WAAW,GAAI,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,EAAG,CAAA,CAAA;AAAA,GACjE;AACF;;;;"}