{"version":3,"file":"popper.mjs","sources":["../../../../../packages/components/popper/src/popper.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, StyleValue } from 'vue'\nimport type { Placement, Options } from '@popperjs/core'\n\nconst effects = ['light', 'dark'] as const\nconst triggers = ['click', 'contextmenu', 'hover', 'focus'] as const\n\nexport const Effect = {\n  LIGHT: 'light',\n  DARK: 'dark'\n}\n\nexport type PopperEffect = typeof effects[number]\nexport type PopperTrigger = typeof triggers[number]\nexport type Measurable = {\n  getBoundingClientRect: () => DOMRect\n}\n\ntype ClassObjectType = Record<string, any>\ntype ClassType = string | ClassObjectType | ClassType[]\n\nexport const usePopperArrowProps = {\n  arrowOffset: {\n    type: Number,\n    default: 5\n  }\n}\n\nexport const usePopperCoreConfigProps = {\n  boundariesPadding: {\n    type: Number,\n    default: 0\n  },\n  fallbackPlacements: {\n    type: Array as PropType<Placement[]>,\n    default: () => []\n  },\n  gpuAcceleration: {\n    type: Boolean,\n    default: true\n  },\n  offset: {\n    type: Number,\n    default: 12\n  },\n  placement: {\n    type: String as PropType<Placement>,\n    default: 'bottom'\n  },\n  popperOptions: {\n    type: Object as PropType<Partial<Options>>,\n    default: () => ({})\n  },\n  strategy: {\n    type: String as PropType<'fixed' | 'absolute'>,\n\n    default: 'absolute'\n  }\n}\n\nexport const usePopperProps = {\n  autoClose: {\n    type: Number,\n    default: 0\n  },\n  cutoff: {\n    type: Boolean,\n    default: false\n  },\n  disabled: {\n    type: Boolean\n  }\n}\n\nexport const usePopperContentProps = {\n  ...usePopperCoreConfigProps,\n  style: { type: [String, Array, Object] as PropType<StyleValue> },\n  className: { type: [String, Array, Object] as PropType<ClassType> },\n  effect: {\n    type: String as PropType<'dark' | 'light'>,\n    default: 'dark'\n  },\n  enterable: {\n    type: Boolean,\n    default: true\n  },\n  pure: {\n    type: Boolean\n  },\n  popperClass: {\n    type: [String, Array, Object] as PropType<ClassType>\n  },\n  popperStyle: {\n    type: [String, Array, Object] as PropType<StyleValue>\n  },\n  referenceEl: {\n    type: Object as PropType<HTMLElement>\n  },\n  stopPopperMouseEvent: {\n    type: Boolean,\n    default: true\n  },\n  zIndex: Number\n} as const\n\nexport const usePopperTriggerProps = {\n  virtualRef: {\n    type: Object as PropType<Measurable>\n  },\n  virtualTriggering: {\n    type: Boolean\n  }\n} as const\n\nexport type UsePopperProps = ExtractPropTypes<typeof usePopperProps>\nexport type UsePopperCoreConfigProps = ExtractPropTypes<\n  typeof usePopperCoreConfigProps\n>\n"],"names":[],"mappings":"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"}