@rc-component/trigger 1.10.2 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Popup/Arrow.d.ts +2 -2
- package/es/Popup/Mask.d.ts +2 -2
- package/es/Popup/Mask.js +1 -0
- package/es/hooks/useAlign.js +30 -18
- package/es/interface.d.ts +3 -2
- package/lib/Popup/Arrow.d.ts +2 -2
- package/lib/Popup/Mask.d.ts +2 -2
- package/lib/Popup/Mask.js +2 -0
- package/lib/hooks/useAlign.js +30 -18
- package/lib/interface.d.ts +3 -2
- package/package.json +1 -1
package/es/Popup/Arrow.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import type { AlignType, ArrowType } from '../interface';
|
|
3
3
|
export interface ArrowProps {
|
|
4
4
|
prefixCls: string;
|
|
5
5
|
align: AlignType;
|
|
6
6
|
arrow: ArrowType;
|
|
7
7
|
}
|
|
8
|
-
export default function Arrow(props: ArrowProps): JSX.Element;
|
|
8
|
+
export default function Arrow(props: ArrowProps): React.JSX.Element;
|
package/es/Popup/Mask.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { CSSMotionProps } from 'rc-motion';
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
export interface MaskProps {
|
|
4
4
|
prefixCls: string;
|
|
5
5
|
open?: boolean;
|
|
@@ -7,4 +7,4 @@ export interface MaskProps {
|
|
|
7
7
|
mask?: boolean;
|
|
8
8
|
motion?: CSSMotionProps;
|
|
9
9
|
}
|
|
10
|
-
export default function Mask(props: MaskProps): JSX.Element;
|
|
10
|
+
export default function Mask(props: MaskProps): React.JSX.Element;
|
package/es/Popup/Mask.js
CHANGED
package/es/hooks/useAlign.js
CHANGED
|
@@ -6,6 +6,22 @@ import useEvent from "rc-util/es/hooks/useEvent";
|
|
|
6
6
|
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import { collectScroller, getVisibleArea, getWin, toNum } from "../util";
|
|
9
|
+
function getUnitOffset(size) {
|
|
10
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
11
|
+
var offsetStr = "".concat(offset);
|
|
12
|
+
var cells = offsetStr.match(/^(.*)\%$/);
|
|
13
|
+
if (cells) {
|
|
14
|
+
return size * (parseFloat(cells[1]) / 100);
|
|
15
|
+
}
|
|
16
|
+
return parseFloat(offsetStr);
|
|
17
|
+
}
|
|
18
|
+
function getNumberOffset(rect, offset) {
|
|
19
|
+
var _ref = offset || [],
|
|
20
|
+
_ref2 = _slicedToArray(_ref, 2),
|
|
21
|
+
offsetX = _ref2[0],
|
|
22
|
+
offsetY = _ref2[1];
|
|
23
|
+
return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];
|
|
24
|
+
}
|
|
9
25
|
function splitPoints() {
|
|
10
26
|
var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
11
27
|
return [points[0], points[1]];
|
|
@@ -167,26 +183,22 @@ export default function useAlign(open, popupEle, target, placement, builtinPlace
|
|
|
167
183
|
// Offset
|
|
168
184
|
var offset = placementInfo.offset,
|
|
169
185
|
targetOffset = placementInfo.targetOffset;
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
_ref4$2 = _ref4[1],
|
|
181
|
-
targetOffsetY = _ref4$2 === void 0 ? 0 : _ref4$2;
|
|
182
|
-
targetRect.x += targetOffsetX;
|
|
183
|
-
targetRect.y += targetOffsetY;
|
|
186
|
+
var _getNumberOffset = getNumberOffset(popupRect, offset),
|
|
187
|
+
_getNumberOffset2 = _slicedToArray(_getNumberOffset, 2),
|
|
188
|
+
popupOffsetX = _getNumberOffset2[0],
|
|
189
|
+
popupOffsetY = _getNumberOffset2[1];
|
|
190
|
+
var _getNumberOffset3 = getNumberOffset(targetRect, targetOffset),
|
|
191
|
+
_getNumberOffset4 = _slicedToArray(_getNumberOffset3, 2),
|
|
192
|
+
targetOffsetX = _getNumberOffset4[0],
|
|
193
|
+
targetOffsetY = _getNumberOffset4[1];
|
|
194
|
+
targetRect.x -= targetOffsetX;
|
|
195
|
+
targetRect.y -= targetOffsetY;
|
|
184
196
|
|
|
185
197
|
// Points
|
|
186
|
-
var
|
|
187
|
-
|
|
188
|
-
popupPoint =
|
|
189
|
-
targetPoint =
|
|
198
|
+
var _ref3 = placementInfo.points || [],
|
|
199
|
+
_ref4 = _slicedToArray(_ref3, 2),
|
|
200
|
+
popupPoint = _ref4[0],
|
|
201
|
+
targetPoint = _ref4[1];
|
|
190
202
|
var targetPoints = splitPoints(targetPoint);
|
|
191
203
|
var popupPoints = splitPoints(popupPoint);
|
|
192
204
|
var targetAlignPoint = getAlignPoint(targetRect, targetPoints);
|
package/es/interface.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare type AlignPointTopBottom = 't' | 'b' | 'c';
|
|
|
5
5
|
export declare type AlignPointLeftRight = 'l' | 'r' | 'c';
|
|
6
6
|
/** Two char of 't' 'b' 'c' 'l' 'r'. Example: 'lt' */
|
|
7
7
|
export declare type AlignPoint = `${AlignPointTopBottom}${AlignPointLeftRight}`;
|
|
8
|
+
export declare type OffsetType = number | `${number}%`;
|
|
8
9
|
export interface AlignType {
|
|
9
10
|
/**
|
|
10
11
|
* move point of source node to align with point of target node.
|
|
@@ -15,12 +16,12 @@ export interface AlignType {
|
|
|
15
16
|
* offset source node by offset[0] in x and offset[1] in y.
|
|
16
17
|
* If offset contains percentage string value, it is relative to sourceNode region.
|
|
17
18
|
*/
|
|
18
|
-
offset?:
|
|
19
|
+
offset?: OffsetType[];
|
|
19
20
|
/**
|
|
20
21
|
* offset target node by offset[0] in x and offset[1] in y.
|
|
21
22
|
* If targetOffset contains percentage string value, it is relative to targetNode region.
|
|
22
23
|
*/
|
|
23
|
-
targetOffset?:
|
|
24
|
+
targetOffset?: OffsetType[];
|
|
24
25
|
/**
|
|
25
26
|
* If adjustX field is true, will adjust source node in x direction if source node is invisible.
|
|
26
27
|
* If adjustY field is true, will adjust source node in y direction if source node is invisible.
|
package/lib/Popup/Arrow.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import type { AlignType, ArrowType } from '../interface';
|
|
3
3
|
export interface ArrowProps {
|
|
4
4
|
prefixCls: string;
|
|
5
5
|
align: AlignType;
|
|
6
6
|
arrow: ArrowType;
|
|
7
7
|
}
|
|
8
|
-
export default function Arrow(props: ArrowProps): JSX.Element;
|
|
8
|
+
export default function Arrow(props: ArrowProps): React.JSX.Element;
|
package/lib/Popup/Mask.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { CSSMotionProps } from 'rc-motion';
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
export interface MaskProps {
|
|
4
4
|
prefixCls: string;
|
|
5
5
|
open?: boolean;
|
|
@@ -7,4 +7,4 @@ export interface MaskProps {
|
|
|
7
7
|
mask?: boolean;
|
|
8
8
|
motion?: CSSMotionProps;
|
|
9
9
|
}
|
|
10
|
-
export default function Mask(props: MaskProps): JSX.Element;
|
|
10
|
+
export default function Mask(props: MaskProps): React.JSX.Element;
|
package/lib/Popup/Mask.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -8,6 +9,7 @@ exports.default = Mask;
|
|
|
8
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
11
|
var _rcMotion = _interopRequireDefault(require("rc-motion"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
13
|
function Mask(props) {
|
|
12
14
|
var prefixCls = props.prefixCls,
|
|
13
15
|
open = props.open,
|
package/lib/hooks/useAlign.js
CHANGED
|
@@ -14,6 +14,22 @@ var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
|
|
|
14
14
|
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
15
15
|
var React = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _util = require("../util");
|
|
17
|
+
function getUnitOffset(size) {
|
|
18
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
19
|
+
var offsetStr = "".concat(offset);
|
|
20
|
+
var cells = offsetStr.match(/^(.*)\%$/);
|
|
21
|
+
if (cells) {
|
|
22
|
+
return size * (parseFloat(cells[1]) / 100);
|
|
23
|
+
}
|
|
24
|
+
return parseFloat(offsetStr);
|
|
25
|
+
}
|
|
26
|
+
function getNumberOffset(rect, offset) {
|
|
27
|
+
var _ref = offset || [],
|
|
28
|
+
_ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
29
|
+
offsetX = _ref2[0],
|
|
30
|
+
offsetY = _ref2[1];
|
|
31
|
+
return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];
|
|
32
|
+
}
|
|
17
33
|
function splitPoints() {
|
|
18
34
|
var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
19
35
|
return [points[0], points[1]];
|
|
@@ -175,26 +191,22 @@ function useAlign(open, popupEle, target, placement, builtinPlacements, popupAli
|
|
|
175
191
|
// Offset
|
|
176
192
|
var offset = placementInfo.offset,
|
|
177
193
|
targetOffset = placementInfo.targetOffset;
|
|
178
|
-
var
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
_ref4$2 = _ref4[1],
|
|
189
|
-
targetOffsetY = _ref4$2 === void 0 ? 0 : _ref4$2;
|
|
190
|
-
targetRect.x += targetOffsetX;
|
|
191
|
-
targetRect.y += targetOffsetY;
|
|
194
|
+
var _getNumberOffset = getNumberOffset(popupRect, offset),
|
|
195
|
+
_getNumberOffset2 = (0, _slicedToArray2.default)(_getNumberOffset, 2),
|
|
196
|
+
popupOffsetX = _getNumberOffset2[0],
|
|
197
|
+
popupOffsetY = _getNumberOffset2[1];
|
|
198
|
+
var _getNumberOffset3 = getNumberOffset(targetRect, targetOffset),
|
|
199
|
+
_getNumberOffset4 = (0, _slicedToArray2.default)(_getNumberOffset3, 2),
|
|
200
|
+
targetOffsetX = _getNumberOffset4[0],
|
|
201
|
+
targetOffsetY = _getNumberOffset4[1];
|
|
202
|
+
targetRect.x -= targetOffsetX;
|
|
203
|
+
targetRect.y -= targetOffsetY;
|
|
192
204
|
|
|
193
205
|
// Points
|
|
194
|
-
var
|
|
195
|
-
|
|
196
|
-
popupPoint =
|
|
197
|
-
targetPoint =
|
|
206
|
+
var _ref3 = placementInfo.points || [],
|
|
207
|
+
_ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
208
|
+
popupPoint = _ref4[0],
|
|
209
|
+
targetPoint = _ref4[1];
|
|
198
210
|
var targetPoints = splitPoints(targetPoint);
|
|
199
211
|
var popupPoints = splitPoints(popupPoint);
|
|
200
212
|
var targetAlignPoint = getAlignPoint(targetRect, targetPoints);
|
package/lib/interface.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare type AlignPointTopBottom = 't' | 'b' | 'c';
|
|
|
5
5
|
export declare type AlignPointLeftRight = 'l' | 'r' | 'c';
|
|
6
6
|
/** Two char of 't' 'b' 'c' 'l' 'r'. Example: 'lt' */
|
|
7
7
|
export declare type AlignPoint = `${AlignPointTopBottom}${AlignPointLeftRight}`;
|
|
8
|
+
export declare type OffsetType = number | `${number}%`;
|
|
8
9
|
export interface AlignType {
|
|
9
10
|
/**
|
|
10
11
|
* move point of source node to align with point of target node.
|
|
@@ -15,12 +16,12 @@ export interface AlignType {
|
|
|
15
16
|
* offset source node by offset[0] in x and offset[1] in y.
|
|
16
17
|
* If offset contains percentage string value, it is relative to sourceNode region.
|
|
17
18
|
*/
|
|
18
|
-
offset?:
|
|
19
|
+
offset?: OffsetType[];
|
|
19
20
|
/**
|
|
20
21
|
* offset target node by offset[0] in x and offset[1] in y.
|
|
21
22
|
* If targetOffset contains percentage string value, it is relative to targetNode region.
|
|
22
23
|
*/
|
|
23
|
-
targetOffset?:
|
|
24
|
+
targetOffset?: OffsetType[];
|
|
24
25
|
/**
|
|
25
26
|
* If adjustX field is true, will adjust source node in x direction if source node is invisible.
|
|
26
27
|
* If adjustY field is true, will adjust source node in y direction if source node is invisible.
|