vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.7 KiB
60 lines
1.7 KiB
/** Two char of 't' 'b' 'c' 'l' 'r'. Example: 'lt' */ |
|
export type AlignPoint = string; |
|
|
|
export interface AlignType { |
|
/** |
|
* move point of source node to align with point of target node. |
|
* Such as ['tr','cc'], align top right point of source node with center point of target node. |
|
* Point can be 't'(top), 'b'(bottom), 'c'(center), 'l'(left), 'r'(right) */ |
|
points?: AlignPoint[]; |
|
/** |
|
* offset source node by offset[0] in x and offset[1] in y. |
|
* If offset contains percentage string value, it is relative to sourceNode region. |
|
*/ |
|
offset?: number[]; |
|
/** |
|
* offset target node by offset[0] in x and offset[1] in y. |
|
* If targetOffset contains percentage string value, it is relative to targetNode region. |
|
*/ |
|
targetOffset?: number[]; |
|
/** |
|
* If adjustX field is true, will adjust source node in x direction if source node is invisible. |
|
* If adjustY field is true, will adjust source node in y direction if source node is invisible. |
|
*/ |
|
overflow?: { |
|
adjustX?: boolean | number; |
|
adjustY?: boolean | number; |
|
}; |
|
/** |
|
* Whether use css right instead of left to position |
|
*/ |
|
useCssRight?: boolean; |
|
/** |
|
* Whether use css bottom instead of top to position |
|
*/ |
|
useCssBottom?: boolean; |
|
/** |
|
* Whether use css transform instead of left/top/right/bottom to position if browser supports. |
|
* Defaults to false. |
|
*/ |
|
useCssTransform?: boolean; |
|
} |
|
|
|
export interface AlignResult { |
|
points: AlignPoint[]; |
|
offset: number[]; |
|
targetOffset: number[]; |
|
overflow: { |
|
adjustX: boolean | number; |
|
adjustY: boolean | number; |
|
}; |
|
} |
|
|
|
export interface TargetPoint { |
|
clientX?: number; |
|
clientY?: number; |
|
pageX?: number; |
|
pageY?: number; |
|
} |
|
|
|
export type TargetType = (() => HTMLElement) | TargetPoint;
|
|
|