diff options
Diffstat (limited to 'popperjs/package/lib/modifiers/popperOffsets.js.flow')
-rw-r--r-- | popperjs/package/lib/modifiers/popperOffsets.js.flow | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/popperjs/package/lib/modifiers/popperOffsets.js.flow b/popperjs/package/lib/modifiers/popperOffsets.js.flow new file mode 100644 index 0000000..30b5894 --- /dev/null +++ b/popperjs/package/lib/modifiers/popperOffsets.js.flow @@ -0,0 +1,26 @@ +// @flow +import type { ModifierArguments, Modifier } from '../types'; +import computeOffsets from '../utils/computeOffsets'; + +function popperOffsets({ state, name }: ModifierArguments<{||}>) { + // Offsets are the actual position the popper needs to have to be + // properly positioned near its reference element + // This is the most basic placement, and will be adjusted by + // the modifiers in the next step + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement, + }); +} + +// eslint-disable-next-line import/no-unused-modules +export type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>; +export default ({ + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {}, +}: PopperOffsetsModifier); |