ant-design-vue/components/vc-align/interface.ts
tangjinzhou 9e0df41a55
refactor: Anchor、Alert、Avatar、Badge、BackTop、Col、Form、Layout、Menu、Space、Spin、Switch、Row、Result、Rate (#4171)
* chore: remove  resize-observer-polyfill

* refactor: align

* refactor(v3/avatar): refactor using composition api  (#4052)

* refactor(avatar): refactor using composition api

* refactor: update props define

* fix: avatar src scale not update

* refactor: resizeObserver

* refactor: divider

* refactor: localeProvider

* refactor(v3/back-top): use composition api (#4060)

* refactor: backtop

* refactor: empty

* refactor: transButton

* feat(v3/avatar): add avatar group (#4062)

* feat(avatar): add avatar group

* refactor: update

* refactor: update

Co-authored-by: tangjinzhou <415800467@qq.com>

* refactor: avatar

* refactor: avatar

* style: rename useProvide

* refactor:  menu (#4110)

* fix: menu

* refactor: menu

* refactor: remove rc-menu

* fix: menu rtl error

* style: lint

* refactor(Anchor): use composition api (#4054)

* refactor: anchor

* refactor: anchor

* refactor: anchor

* feat: update

* fix: icon class lose

* refactor(v3/badge): use composition api (#4076)

* refactor: badge

* fix: badge inheritAttrs

* refactor: grid

* refactor: layout

* fix: menu not close

* refactor: space

* refactor: result

* refactor: affix

* refactor: comment

* refactor: form

* feat: spin add rtl

* feat: export spin type

* refactor: pageHeader

* refactor: page-header

* refactor: skeleton

* refactor: typography

* refactor(v3/rate): use composition api

* fix: add useRef hook

* refactor: form

* fix: menu not update

* refactor: form

* refactor: form

* fix: slide animate not work

* fix: menu mode error

* fix: menu icon

* refactor: rate

* perf: remove rate

* feat: add vc-overflow

* refactor: menu

* fix: remove flex check (#4165)

* fix: dist locale file lose #3684

* release 2.2.0-beta.1

* dcos: update changelog

* chore: update type

* docs: update changelog

Co-authored-by: John <John60676@qq.com>
Co-authored-by: 言肆 <18x@loacg.com>
Co-authored-by: zkwolf <chenhao5866@gmail.com>
2021-06-07 17:35:03 +08:00

61 lines
1.7 KiB
TypeScript

/** 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;