Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
16926 efrain 1
// @flow
2
 
3
export type Position = 'top' | 'right' | 'bottom' | 'left';
4
 
5
export type Placement =
6
  | 'auto-start'
7
  | 'auto'
8
  | 'auto-end'
9
  | 'top-start'
10
  | 'top'
11
  | 'top-end'
12
  | 'right-start'
13
  | 'right'
14
  | 'right-end'
15
  | 'bottom-end'
16
  | 'bottom'
17
  | 'bottom-start'
18
  | 'left-end'
19
  | 'left'
20
  | 'left-start';
21
 
22
export type Offset = {
23
  top: number,
24
  left: number,
25
  width: number,
26
  height: number,
27
  position: Position,
28
};
29
 
30
export type Boundary = 'scrollParent' | 'viewport' | 'window';
31
 
32
export type Behavior = 'flip' | 'clockwise' | 'counterclockwise';
33
 
34
export type Data = {
35
  instance: Popper,
36
  placement: Placement,
37
  originalPlacement: Placement,
38
  flipped: boolean,
39
  hide: boolean,
40
  arrowElement: Element,
41
  styles: CSSStyleDeclaration,
42
  arrowStyles: CSSStyleDeclaration,
43
  boundaries: Object,
44
  offsets: {
45
    popper: Offset,
46
    reference: Offset,
47
    arrow: {
48
      top: number,
49
      left: number,
50
    },
51
  },
52
};
53
 
54
export type ModifierFn = (data: Data, options: Object) => Data;
55
 
56
export type Padding = {
57
  top?: number,
58
  bottom?: number,
59
  left?: number,
60
  right?: number,
61
};
62
 
63
export type BaseModifier = {
64
  order?: number,
65
  enabled?: boolean,
66
  fn?: ModifierFn,
67
};
68
 
69
export type Modifiers = {
70
  shift?: BaseModifier,
71
  offset?: BaseModifier & {
72
    offset?: number | string,
73
  },
74
  preventOverflow?: BaseModifier & {
75
    priority?: Position[],
76
    padding?: number | Padding,
77
    boundariesElement?: Boundary | Element,
78
    escapeWithReference?: boolean,
79
  },
80
  keepTogether?: BaseModifier,
81
  arrow?: BaseModifier & {
82
    element?: string | Element | null,
83
  },
84
  flip?: BaseModifier & {
85
    behavior?: Behavior | Position[],
86
    padding?: number | Padding,
87
    boundariesElement?: Boundary | Element,
88
    flipVariations?: boolean,
89
    flipVariationsByContent?: boolean,
90
  },
91
  inner?: BaseModifier,
92
  hide?: BaseModifier,
93
  applyStyle?: BaseModifier & {
94
    onLoad?: Function,
95
    gpuAcceleration?: boolean,
96
  },
97
  computeStyle?: BaseModifier & {
98
    gpuAcceleration?: boolean,
99
    x?: 'bottom' | 'top',
100
    y?: 'left' | 'right',
101
  },
102
 
103
  [name: string]: (BaseModifier & { [string]: * }) | null,
104
};
105
 
106
export type Options = {
107
  placement?: Placement,
108
  positionFixed?: boolean,
109
  eventsEnabled?: boolean,
110
  modifiers?: Modifiers,
111
  removeOnDestroy?: boolean,
112
 
113
  onCreate?: (data: Data) => void,
114
 
115
  onUpdate?: (data: Data) => void,
116
};
117
 
118
export type ReferenceObject = {
119
  +clientHeight: number,
120
  +clientWidth: number,
121
  +referenceNode?: Node,
122
 
123
  getBoundingClientRect():
124
    | ClientRect
125
    | {
126
        width: number,
127
        height: number,
128
        top: number,
129
        right: number,
130
        bottom: number,
131
        left: number,
132
      },
133
};
134
 
135
export type Instance = {
136
  destroy: () => void,
137
  scheduleUpdate: () => void,
138
  update: () => void,
139
  enableEventListeners: () => void,
140
  disableEventListeners: () => void,
141
};
142
 
143
declare class Popper {
144
  static placements: Placement;
145
 
146
  popper: Element;
147
  reference: Element | ReferenceObject;
148
 
149
  constructor(
150
    reference: Element | ReferenceObject,
151
    popper: Element,
152
    options?: Options
153
  ): Instance;
154
}
155
 
156
declare export default typeof Popper;