{"version":3,"file":"popper-options.mjs","sources":["../../../../../../../packages/components/popper/src/use-popper/popper-options.ts"],"sourcesContent":["import { computed } from 'vue'\nimport buildModifiers from './build-modifiers'\n\nimport type { Ref } from 'vue'\nimport type { Options, Placement } from '@popperjs/core'\n\ninterface IUsePopperProps {\n  popperOptions: Partial<Options>\n  arrowOffset: number\n  offset: number\n  placement: Placement\n  gpuAcceleration: boolean\n  fallbackPlacements: Array<Placement>\n}\n\ninterface IUsePopperState {\n  arrow: Ref<HTMLElement>\n}\n\nexport default function usePopperOptions(\n  props: IUsePopperProps,\n  state: IUsePopperState\n) {\n  return computed(() => {\n    return {\n      placement: props.placement,\n      ...props.popperOptions,\n      // Avoiding overriding modifiers.\n      modifiers: buildModifiers(\n        {\n          arrow: state.arrow.value,\n          arrowOffset: props.arrowOffset,\n          offset: props.offset,\n          gpuAcceleration: props.gpuAcceleration,\n          fallbackPlacements: props.fallbackPlacements,\n        },\n        props.popperOptions?.modifiers\n      ),\n    }\n  })\n}\n"],"names":["buildModifiers"],"mappings":";;;0BAoBE,OACA,OACA;AACA,SAAO,SAAS,MAAM;AAvBxB;AAwBI,WAAO;AAAA,MACL,WAAW,MAAM;AAAA,SACd,MAAM;AAAA,MAET,WAAWA,cACT;AAAA,QACE,OAAO,MAAM,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,QAAQ,MAAM;AAAA,QACd,iBAAiB,MAAM;AAAA,QACvB,oBAAoB,MAAM;AAAA,SAE5B,YAAM,kBAAN,mBAAqB;AAAA;AAAA;AAAA;;;;"}