@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 1.68 kB
Source Map (JSON)
{"version":3,"file":"popper.mjs","sources":["../../../../packages/tokens/popper.ts"],"sourcesContent":["import type {\n FloatingElement,\n ReferenceElement,\n} from '@vuesax-alpha/hooks/use-floating/vue'\nimport type { PopperTriggerType } from '@vuesax-alpha/components/popper'\nimport type { Arrayable } from '@vuesax-alpha/utils'\nimport type { InjectionKey, Ref } from 'vue'\n\nexport type Measurable = {\n getBoundingClientRect: () => DOMRect\n}\n\n/**\n * triggerRef indicates the element that triggers popper\n * contentRef indicates the element of popper content\n * referenceRef indicates the element that popper content relative with\n */\nexport type PopperContext = {\n triggerRef: Ref<ReferenceElement | undefined>\n contentRef: Ref<FloatingElement | undefined>\n arrowRef: Ref<HTMLElement | undefined>\n referenceRef: Ref<ReferenceElement | undefined>\n\n controlled: Ref<boolean>\n id: Ref<string>\n open: Ref<boolean>\n trigger: Ref<Arrayable<PopperTriggerType>>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n onBeforeShow: () => void\n onBeforeHide: () => void\n updatePopper: (shouldUpdateZIndex?: boolean) => void\n}\n\nexport type PopperContentInjectionContext = {\n arrowRef: Ref<HTMLElement | undefined>\n arrowOffset: Ref<number | undefined>\n}\n\nexport const popperContextKey: InjectionKey<PopperContext> = Symbol('popper')\n\nexport const popperContentContextKey: InjectionKey<PopperContentInjectionContext> =\n Symbol('popper-content')\n"],"names":[],"mappings":"AA0Ca,MAAA,gBAAA,GAAgD,OAAO,QAAQ,EAAA;AAE/D,MAAA,uBAAA,GACX,OAAO,gBAAgB;;;;"}