diff options
author | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 10:42:28 +0500 |
---|---|---|
committer | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 10:42:28 +0500 |
commit | 0225bdb772d1334cc1aa7ab0fc3678df0864df6b (patch) | |
tree | 85a8c8e4fcf1d935fcbad54886b73410c8cb2e26 /src/main/resources/static/plugins/popper/umd/popper.js.flow |
Initializemain
Diffstat (limited to 'src/main/resources/static/plugins/popper/umd/popper.js.flow')
-rw-r--r-- | src/main/resources/static/plugins/popper/umd/popper.js.flow | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/main/resources/static/plugins/popper/umd/popper.js.flow b/src/main/resources/static/plugins/popper/umd/popper.js.flow new file mode 100644 index 0000000..d56fdda --- /dev/null +++ b/src/main/resources/static/plugins/popper/umd/popper.js.flow @@ -0,0 +1,156 @@ +// @flow + +export type Position = 'top' | 'right' | 'bottom' | 'left'; + +export type Placement = + | 'auto-start' + | 'auto' + | 'auto-end' + | 'top-start' + | 'top' + | 'top-end' + | 'right-start' + | 'right' + | 'right-end' + | 'bottom-end' + | 'bottom' + | 'bottom-start' + | 'left-end' + | 'left' + | 'left-start'; + +export type Offset = { + top: number, + left: number, + width: number, + height: number, + position: Position, +}; + +export type Boundary = 'scrollParent' | 'viewport' | 'window'; + +export type Behavior = 'flip' | 'clockwise' | 'counterclockwise'; + +export type Data = { + instance: Popper, + placement: Placement, + originalPlacement: Placement, + flipped: boolean, + hide: boolean, + arrowElement: Element, + styles: CSSStyleDeclaration, + arrowStyles: CSSStyleDeclaration, + boundaries: Object, + offsets: { + popper: Offset, + reference: Offset, + arrow: { + top: number, + left: number, + }, + }, +}; + +export type ModifierFn = (data: Data, options: Object) => Data; + +export type Padding = { + top?: number, + bottom?: number, + left?: number, + right?: number, +}; + +export type BaseModifier = { + order?: number, + enabled?: boolean, + fn?: ModifierFn, +}; + +export type Modifiers = { + shift?: BaseModifier, + offset?: BaseModifier & { + offset?: number | string, + }, + preventOverflow?: BaseModifier & { + priority?: Position[], + padding?: number | Padding, + boundariesElement?: Boundary | Element, + escapeWithReference?: boolean, + }, + keepTogether?: BaseModifier, + arrow?: BaseModifier & { + element?: string | Element | null, + }, + flip?: BaseModifier & { + behavior?: Behavior | Position[], + padding?: number | Padding, + boundariesElement?: Boundary | Element, + flipVariations?: boolean, + flipVariationsByContent?: boolean, + }, + inner?: BaseModifier, + hide?: BaseModifier, + applyStyle?: BaseModifier & { + onLoad?: Function, + gpuAcceleration?: boolean, + }, + computeStyle?: BaseModifier & { + gpuAcceleration?: boolean, + x?: 'bottom' | 'top', + y?: 'left' | 'right', + }, + + [name: string]: (BaseModifier & { [string]: * }) | null, +}; + +export type Options = { + placement?: Placement, + positionFixed?: boolean, + eventsEnabled?: boolean, + modifiers?: Modifiers, + removeOnDestroy?: boolean, + + onCreate?: (data: Data) => void, + + onUpdate?: (data: Data) => void, +}; + +export type ReferenceObject = { + +clientHeight: number, + +clientWidth: number, + +referenceNode?: Node, + + getBoundingClientRect(): + | ClientRect + | { + width: number, + height: number, + top: number, + right: number, + bottom: number, + left: number, + }, +}; + +export type Instance = { + destroy: () => void, + scheduleUpdate: () => void, + update: () => void, + enableEventListeners: () => void, + disableEventListeners: () => void, +}; + +declare class Popper { + static placements: Placement; + + popper: Element; + reference: Element | ReferenceObject; + + constructor( + reference: Element | ReferenceObject, + popper: Element, + options?: Options + ): Instance; +} + +declare export default typeof Popper; |