@kdcloudjs/table 1.2.1-canary.6 → 1.2.2-canary.3
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/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +5480 -6087
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +36 -101
- package/es/_utils/hooks.js +21 -45
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +81 -144
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +11 -50
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- package/es/table/base/calculations.js +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/globalStyleComponent.d.ts +4 -0
- package/es/table/base/globalStyleComponent.js +24 -0
- package/es/table/base/header.js +21 -76
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +9 -34
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +42 -60
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +17 -16
- package/es/table/base/table.js +113 -201
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/interfaces.d.ts +38 -0
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/const.d.ts +3 -0
- package/es/table/pipeline/const.js +3 -0
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +13 -39
- package/es/table/pipeline/features/contextMenu.js +22 -95
- package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
- package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/es/table/pipeline/features/featureApi/utils.js +10 -0
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +27 -51
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +73 -152
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.d.ts +10 -12
- package/es/table/pipeline/features/rowDrag.js +491 -236
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +38 -96
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.d.ts +1 -0
- package/es/table/pipeline/features/treeMode.js +38 -57
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.d.ts +3 -0
- package/es/table/pipeline/pipeline.js +35 -54
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/style/index.less +1 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +13 -35
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +42 -101
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/browserType.js +12 -19
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +7 -43
- package/es/table/utils/getTreeDepth.js +4 -12
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/es/table/utils/uiDegrade.js +0 -5
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +3 -11
- package/lib/_utils/usePopper.js +86 -173
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +3 -11
- package/lib/locale/locale.js +15 -71
- package/lib/locale/zh-CN.js +1 -2
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/globalStyleComponent.d.ts +4 -0
- package/lib/table/base/globalStyleComponent.js +35 -0
- package/lib/table/base/header.js +21 -86
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +9 -37
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +15 -65
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +45 -76
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +24 -42
- package/lib/table/base/table.js +125 -245
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/interfaces.d.ts +38 -0
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/const.d.ts +3 -0
- package/lib/table/pipeline/const.js +9 -0
- package/lib/table/pipeline/features/autoFill.js +14 -53
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +18 -63
- package/lib/table/pipeline/features/contextMenu.js +24 -121
- package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
- package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/lib/table/pipeline/features/featureApi/utils.js +17 -0
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +30 -77
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +75 -173
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.d.ts +10 -12
- package/lib/table/pipeline/features/rowDrag.js +494 -252
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -115
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.d.ts +1 -0
- package/lib/table/pipeline/features/treeMode.js +40 -80
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.d.ts +3 -0
- package/lib/table/pipeline/pipeline.js +36 -65
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +15 -58
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +20 -63
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +44 -127
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +14 -23
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -22
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +218 -218
package/es/_utils/usePopper.js
CHANGED
|
@@ -13,76 +13,68 @@ import devWarning from '../_utils/devwarning';
|
|
|
13
13
|
import { useResizeObserver } from '../_utils/hooks';
|
|
14
14
|
export var Placements = tuple('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
|
|
15
15
|
export var Triggers = tuple('hover', 'focus', 'click', 'contextMenu');
|
|
16
|
-
|
|
17
|
-
var getOffsetPos = function getOffsetPos(el) {
|
|
16
|
+
var _getOffsetPos = function getOffsetPos(el) {
|
|
18
17
|
var elPos = {
|
|
19
18
|
top: el.offsetTop,
|
|
20
19
|
left: el.offsetLeft
|
|
21
20
|
};
|
|
22
|
-
|
|
23
21
|
if (el.offsetParent) {
|
|
24
|
-
var parentPos =
|
|
22
|
+
var parentPos = _getOffsetPos(el.offsetParent);
|
|
25
23
|
elPos.top += parentPos.top;
|
|
26
24
|
elPos.left += parentPos.left;
|
|
27
25
|
}
|
|
28
|
-
|
|
29
26
|
return elPos;
|
|
30
27
|
};
|
|
31
|
-
|
|
32
|
-
var getScrollDist = function getScrollDist(el) {
|
|
28
|
+
var _getScrollDist = function getScrollDist(el) {
|
|
33
29
|
var elScroll = {
|
|
34
30
|
top: el.scrollTop,
|
|
35
31
|
left: el.scrollLeft
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
if (el.parentElement && el.parentElement !== document.body) {
|
|
39
|
-
var parentScroll =
|
|
34
|
+
var parentScroll = _getScrollDist(el.parentElement);
|
|
40
35
|
elScroll.top += parentScroll.top;
|
|
41
36
|
elScroll.left += parentScroll.left;
|
|
42
37
|
}
|
|
43
|
-
|
|
44
38
|
return elScroll;
|
|
45
39
|
};
|
|
46
|
-
|
|
47
40
|
function usePopper(locatorElement, popperElement, props) {
|
|
48
41
|
var _context, _context2;
|
|
49
|
-
|
|
50
42
|
var prefixCls = props.prefixCls,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
43
|
+
onTrigger = props.onTrigger,
|
|
44
|
+
popperStyle = props.popperStyle,
|
|
45
|
+
_props$arrow = props.arrow,
|
|
46
|
+
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
|
47
|
+
onVisibleChange = props.onVisibleChange,
|
|
48
|
+
popperClassName = props.popperClassName,
|
|
49
|
+
_props$arrowOffset = props.arrowOffset,
|
|
50
|
+
arrowOffset = _props$arrowOffset === void 0 ? 12 : _props$arrowOffset,
|
|
51
|
+
_props$arrowSize = props.arrowSize,
|
|
52
|
+
arrowSize = _props$arrowSize === void 0 ? 4.25 : _props$arrowSize,
|
|
53
|
+
locatorClassName = props.locatorClassName,
|
|
54
|
+
_props$disabled = props.disabled,
|
|
55
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
56
|
+
_props$trigger = props.trigger,
|
|
57
|
+
trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
|
|
58
|
+
_props$placement = props.placement,
|
|
59
|
+
placement = _props$placement === void 0 ? 'top' : _props$placement,
|
|
60
|
+
_props$gap = props.gap,
|
|
61
|
+
defalutGap = _props$gap === void 0 ? 4 : _props$gap,
|
|
62
|
+
_props$scrollHidden = props.scrollHidden,
|
|
63
|
+
scrollHidden = _props$scrollHidden === void 0 ? false : _props$scrollHidden,
|
|
64
|
+
_props$mouseEnterDela = props.mouseEnterDelay,
|
|
65
|
+
mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,
|
|
66
|
+
_props$mouseLeaveDela = props.mouseLeaveDelay,
|
|
67
|
+
mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
|
|
68
|
+
_props$defaultVisible = props.defaultVisible,
|
|
69
|
+
defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
|
|
70
|
+
_props$getTriggerElem = props.getTriggerElement,
|
|
71
|
+
getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
|
|
72
|
+
return locatorNode;
|
|
73
|
+
} : _props$getTriggerElem,
|
|
74
|
+
_props$getPopupContai = props.getPopupContainer,
|
|
75
|
+
getPopupContainer = _props$getPopupContai === void 0 ? function () {
|
|
76
|
+
return document.body;
|
|
77
|
+
} : _props$getPopupContai;
|
|
86
78
|
var arrowWidth = Math.sqrt(2 * Math.pow(arrowSize, 2));
|
|
87
79
|
var componentName = (prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.split('-')[1]) || '';
|
|
88
80
|
devWarning(Placements.indexOf(placement) === -1, componentName, _concatInstanceProperty(_context = "cannot found ".concat(componentName, " placement '")).call(_context, placement, "'"));
|
|
@@ -95,14 +87,12 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
95
87
|
var locatorRef = locatorElement.ref || locatorEl;
|
|
96
88
|
var popperRef = popperElement.ref || popperEl;
|
|
97
89
|
var container = getPopupContainer(locatorRef.current);
|
|
98
|
-
|
|
99
90
|
_Promise.resolve().then(function () {
|
|
100
91
|
var triggerNode = getTriggerElement(locatorRef.current);
|
|
101
92
|
var container = getPopupContainer(locatorRef.current);
|
|
102
93
|
devWarning(!triggerNode, componentName, 'getTriggerElement() must return a HTMLElement, but now it does not return anything');
|
|
103
94
|
devWarning(!container, componentName, 'getPopupContainer() must return a HTMLElement, but now it does not return anything');
|
|
104
95
|
});
|
|
105
|
-
|
|
106
96
|
var initPos = {
|
|
107
97
|
top: 0,
|
|
108
98
|
left: 0,
|
|
@@ -118,77 +108,62 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
118
108
|
left: 0
|
|
119
109
|
};
|
|
120
110
|
var gap = defalutGap + (arrow ? 10 : 0);
|
|
121
|
-
|
|
122
111
|
var _useState = useState(initPos),
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
112
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
113
|
+
mousePos = _useState2[0],
|
|
114
|
+
setMousePos = _useState2[1];
|
|
127
115
|
var _useState3 = useState(initAlign),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
116
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
117
|
+
arrowPos = _useState4[0],
|
|
118
|
+
setArrowPos = _useState4[1];
|
|
132
119
|
var _useState5 = useState(!!props.visible || defaultVisible),
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
120
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
121
|
+
exist = _useState6[0],
|
|
122
|
+
setExist = _useState6[1];
|
|
137
123
|
var _useState7 = useState(false),
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
124
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
125
|
+
visible = _useState8[0],
|
|
126
|
+
setVisible = _useState8[1];
|
|
142
127
|
useEffect(function () {
|
|
143
128
|
setVisible(!!props.visible);
|
|
144
129
|
}, [props.visible]);
|
|
145
|
-
|
|
146
130
|
var _useState9 = useState(''),
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
131
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
132
|
+
evType = _useState10[0],
|
|
133
|
+
setEvType = _useState10[1];
|
|
151
134
|
var _useState11 = useState(!!props.visible || defaultVisible),
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
135
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
136
|
+
canAlign = _useState12[0],
|
|
137
|
+
setCanAlign = _useState12[1];
|
|
156
138
|
var _useState13 = useState(initAlign),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
139
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
140
|
+
align = _useState14[0],
|
|
141
|
+
setAlign = _useState14[1];
|
|
161
142
|
var _useState15 = useState(placement),
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
143
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
144
|
+
currentPlacement = _useState16[0],
|
|
145
|
+
setCurrentPlacement = _useState16[1];
|
|
166
146
|
var alignPopper = useCallback(function () {
|
|
167
147
|
if ((locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current) && (popperRef === null || popperRef === void 0 ? void 0 : popperRef.current) && evType) {
|
|
168
148
|
var _popperRef$current$ge = popperRef.current.getBoundingClientRect(),
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
149
|
+
popperWidth = _popperRef$current$ge.width,
|
|
150
|
+
popperHeight = _popperRef$current$ge.height;
|
|
172
151
|
var _locatorRef$current$g = locatorRef.current.getBoundingClientRect(),
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
var _getScrollDist = getScrollDist(locatorRef.current),
|
|
189
|
-
scrollTop = _getScrollDist.top,
|
|
190
|
-
scrollLeft = _getScrollDist.left;
|
|
191
|
-
|
|
152
|
+
top = _locatorRef$current$g.top,
|
|
153
|
+
bottom = _locatorRef$current$g.bottom,
|
|
154
|
+
left = _locatorRef$current$g.left,
|
|
155
|
+
right = _locatorRef$current$g.right,
|
|
156
|
+
height = _locatorRef$current$g.height,
|
|
157
|
+
width = _locatorRef$current$g.width;
|
|
158
|
+
var _getOffsetPos2 = _getOffsetPos(container),
|
|
159
|
+
containerTop = _getOffsetPos2.top,
|
|
160
|
+
containerLeft = _getOffsetPos2.left;
|
|
161
|
+
var _getOffsetPos3 = _getOffsetPos(locatorRef.current),
|
|
162
|
+
locatorTop = _getOffsetPos3.top,
|
|
163
|
+
locatorLeft = _getOffsetPos3.left;
|
|
164
|
+
var _getScrollDist2 = _getScrollDist(locatorRef.current),
|
|
165
|
+
scrollTop = _getScrollDist2.top,
|
|
166
|
+
scrollLeft = _getScrollDist2.left;
|
|
192
167
|
var locatorPos = {
|
|
193
168
|
width: width,
|
|
194
169
|
height: height,
|
|
@@ -201,39 +176,30 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
201
176
|
};
|
|
202
177
|
var currentPos = evType === 'contextmenu' ? mousePos : locatorPos;
|
|
203
178
|
var _currentPlacement = placement;
|
|
204
|
-
|
|
205
179
|
if (top - gap - popperHeight < 0) {
|
|
206
180
|
_currentPlacement = _currentPlacement.replace('top', 'bottom');
|
|
207
181
|
}
|
|
208
|
-
|
|
209
182
|
if (bottom + gap + popperHeight > document.body.clientHeight) {
|
|
210
183
|
_currentPlacement = _currentPlacement.replace('bottom', 'top');
|
|
211
184
|
}
|
|
212
|
-
|
|
213
185
|
if (left + popperWidth > document.body.clientWidth) {
|
|
214
186
|
_currentPlacement = _currentPlacement.replace('Left', 'Right');
|
|
215
187
|
}
|
|
216
|
-
|
|
217
188
|
if (right - popperWidth < 0) {
|
|
218
189
|
_currentPlacement = _currentPlacement.replace('Right', 'Left');
|
|
219
190
|
}
|
|
220
|
-
|
|
221
191
|
if (top + popperHeight > document.body.clientHeight) {
|
|
222
192
|
_currentPlacement = _currentPlacement.replace('Top', 'Bottom');
|
|
223
193
|
}
|
|
224
|
-
|
|
225
194
|
if (bottom - popperHeight < 0) {
|
|
226
195
|
_currentPlacement = _currentPlacement.replace('Bottom', 'Top');
|
|
227
196
|
}
|
|
228
|
-
|
|
229
197
|
if (left - gap - popperWidth < 0) {
|
|
230
198
|
_currentPlacement = _currentPlacement.replace('left', 'right');
|
|
231
199
|
}
|
|
232
|
-
|
|
233
200
|
if (right + gap + popperWidth > document.body.clientWidth) {
|
|
234
201
|
_currentPlacement = _currentPlacement.replace('right', 'left');
|
|
235
202
|
}
|
|
236
|
-
|
|
237
203
|
var leftLeft = currentPos.left - popperWidth - gap;
|
|
238
204
|
var topTop = currentPos.top - gap - popperHeight;
|
|
239
205
|
var bottomTop = currentPos.top + currentPos.height + gap;
|
|
@@ -297,7 +263,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
297
263
|
top: 0,
|
|
298
264
|
left: 0
|
|
299
265
|
};
|
|
300
|
-
|
|
301
266
|
if (/left/.test(_currentPlacement) || /right/.test(_currentPlacement)) {
|
|
302
267
|
if (/Top/.test(_currentPlacement)) {
|
|
303
268
|
_arrowPos.top = arrowOffset;
|
|
@@ -306,7 +271,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
306
271
|
} else {
|
|
307
272
|
_arrowPos.top = (popperHeight - arrowWidth) / 2;
|
|
308
273
|
}
|
|
309
|
-
|
|
310
274
|
if (top <= 0) {
|
|
311
275
|
alignPos.top = locatorPos.top;
|
|
312
276
|
_arrowPos.top = arrowOffset;
|
|
@@ -315,21 +279,17 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
315
279
|
_arrowPos.top = popperHeight - arrowOffset - 2 * arrowSize;
|
|
316
280
|
} else {
|
|
317
281
|
var _scrollTop = alignPos.top - window.pageYOffset;
|
|
318
|
-
|
|
319
282
|
var scrollBottom = alignPos.top + popperHeight - 5 - window.pageYOffset;
|
|
320
|
-
|
|
321
283
|
if (_scrollTop < 0) {
|
|
322
284
|
alignPos.top -= _scrollTop;
|
|
323
285
|
_arrowPos.top += _scrollTop;
|
|
324
286
|
}
|
|
325
|
-
|
|
326
287
|
if (scrollBottom > document.body.clientHeight) {
|
|
327
288
|
alignPos.top += document.body.clientHeight - scrollBottom;
|
|
328
289
|
_arrowPos.top += scrollBottom - document.body.clientHeight;
|
|
329
290
|
}
|
|
330
291
|
}
|
|
331
292
|
}
|
|
332
|
-
|
|
333
293
|
if (/top/.test(_currentPlacement) || /bottom/.test(_currentPlacement)) {
|
|
334
294
|
if (/Left/.test(_currentPlacement)) {
|
|
335
295
|
_arrowPos.left = arrowOffset;
|
|
@@ -339,7 +299,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
339
299
|
_arrowPos.left = (popperWidth - arrowWidth) / 2;
|
|
340
300
|
}
|
|
341
301
|
}
|
|
342
|
-
|
|
343
302
|
setAlign(alignPos);
|
|
344
303
|
setArrowPos(_arrowPos);
|
|
345
304
|
setCurrentPlacement(_currentPlacement);
|
|
@@ -359,11 +318,9 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
359
318
|
'--arrowLeft': arrowPos.left + 'px',
|
|
360
319
|
'--arrowOffset': arrowSize / -1.2 + 'px'
|
|
361
320
|
};
|
|
362
|
-
|
|
363
321
|
var popperContainerStyle = _extends(_extends(_extends({
|
|
364
322
|
position: 'absolute'
|
|
365
323
|
}, popperStyle), align), arrow ? arrowStyle : {});
|
|
366
|
-
|
|
367
324
|
var locatorProps = {
|
|
368
325
|
disabled: disabled,
|
|
369
326
|
ref: locatorRef,
|
|
@@ -385,7 +342,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
385
342
|
useEffect(function () {
|
|
386
343
|
if (exist && visible) {
|
|
387
344
|
var mouseleaveTimer;
|
|
388
|
-
|
|
389
345
|
var handleHidePopper = function handleHidePopper(e) {
|
|
390
346
|
mouseleaveTimer && clearTimeout(mouseleaveTimer);
|
|
391
347
|
var triggerNode = getTriggerElement(locatorRef.current);
|
|
@@ -396,32 +352,27 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
396
352
|
var top = /top/.test(currentPlacement) ? popperRect.bottom : triggerRect.top;
|
|
397
353
|
var bottom = /bottom/.test(currentPlacement) ? popperRect.top : triggerRect.bottom;
|
|
398
354
|
var X = e.clientX,
|
|
399
|
-
|
|
355
|
+
Y = e.clientY;
|
|
400
356
|
var inTriggerRect = X > left - 2 && X < right + 2 && Y > top - 2 && Y < bottom + 2;
|
|
401
357
|
var inPopperRect = X > popperRect.left && X < popperRect.right && Y > popperRect.top && Y < popperRect.bottom;
|
|
402
358
|
var ableArea = evType === 'click' || evType === 'contextmenu' ? inPopperRect : inTriggerRect || inPopperRect;
|
|
403
|
-
|
|
404
359
|
var hidePopper = function hidePopper() {
|
|
405
360
|
setEvType('');
|
|
406
361
|
props.visible === undefined && setVisible(false);
|
|
407
362
|
onVisibleChange && onVisibleChange(false);
|
|
408
363
|
};
|
|
409
|
-
|
|
410
364
|
if (ableArea) {
|
|
411
365
|
evType === 'focus' && triggerNode.focus();
|
|
412
366
|
} else {
|
|
413
367
|
evType === 'mouseenter' ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
|
|
414
368
|
}
|
|
415
369
|
};
|
|
416
|
-
|
|
417
370
|
var debounceHidePopper = debounce(handleHidePopper, 10);
|
|
418
|
-
|
|
419
371
|
if (evType === 'mouseenter') {
|
|
420
372
|
document.addEventListener('mousemove', debounceHidePopper);
|
|
421
373
|
} else {
|
|
422
374
|
document.addEventListener('click', handleHidePopper);
|
|
423
375
|
}
|
|
424
|
-
|
|
425
376
|
return function () {
|
|
426
377
|
if (evType === 'mouseenter') {
|
|
427
378
|
document.removeEventListener('mousemove', debounceHidePopper);
|
|
@@ -438,7 +389,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
438
389
|
props.visible === undefined && setVisible(false);
|
|
439
390
|
onVisibleChange && onVisibleChange(false);
|
|
440
391
|
}
|
|
441
|
-
|
|
442
392
|
alignPopper();
|
|
443
393
|
}, 10);
|
|
444
394
|
window.addEventListener('resize', alignPopper);
|
|
@@ -455,14 +405,11 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
455
405
|
}, [alignPopper, exist, onVisibleChange, popperNode, props.visible, scrollHidden, locatorNode, visible]);
|
|
456
406
|
React.useEffect(function () {
|
|
457
407
|
var triggerNode = getTriggerElement(locatorRef.current);
|
|
458
|
-
|
|
459
408
|
if (triggerNode) {
|
|
460
409
|
var mouseenterTimer;
|
|
461
|
-
|
|
462
410
|
var clearMouseLeave = function clearMouseLeave() {
|
|
463
411
|
return clearTimeout(mouseenterTimer);
|
|
464
412
|
};
|
|
465
|
-
|
|
466
413
|
var addAction = function addAction(action) {
|
|
467
414
|
if (action === 'hover') {
|
|
468
415
|
triggerNode.addEventListener('mouseenter', handleShowPopper);
|
|
@@ -471,7 +418,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
471
418
|
triggerNode.addEventListener(action.toLowerCase(), handleShowPopper);
|
|
472
419
|
}
|
|
473
420
|
};
|
|
474
|
-
|
|
475
421
|
var removeAction = function removeAction(action) {
|
|
476
422
|
if (action === 'hover') {
|
|
477
423
|
triggerNode.removeEventListener('mouseenter', handleShowPopper);
|
|
@@ -480,11 +426,9 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
480
426
|
triggerNode.removeEventListener(action.toLowerCase(), handleShowPopper);
|
|
481
427
|
}
|
|
482
428
|
};
|
|
483
|
-
|
|
484
429
|
var handleShowPopper = function handleShowPopper(e) {
|
|
485
430
|
e.preventDefault();
|
|
486
431
|
var evType = e.type;
|
|
487
|
-
|
|
488
432
|
if (evType === 'contextmenu') {
|
|
489
433
|
var currentMousePos = _extends(_extends({}, mousePos), {
|
|
490
434
|
x: e.pageX,
|
|
@@ -494,15 +438,12 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
494
438
|
right: e.pageX,
|
|
495
439
|
bottom: e.pageY
|
|
496
440
|
});
|
|
497
|
-
|
|
498
441
|
setMousePos(currentMousePos);
|
|
499
442
|
}
|
|
500
|
-
|
|
501
443
|
var showPopper = function showPopper(evType) {
|
|
502
444
|
if (!disabled) {
|
|
503
445
|
!exist && setExist(true);
|
|
504
446
|
setEvType(evType);
|
|
505
|
-
|
|
506
447
|
if (onTrigger) {
|
|
507
448
|
var mapTrigger = {
|
|
508
449
|
mouseenter: 'hover',
|
|
@@ -512,13 +453,11 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
512
453
|
};
|
|
513
454
|
onTrigger(mapTrigger[evType]);
|
|
514
455
|
}
|
|
515
|
-
|
|
516
456
|
if (!visible || evType === 'contextmenu') {
|
|
517
457
|
setCanAlign(true);
|
|
518
458
|
}
|
|
519
459
|
}
|
|
520
460
|
};
|
|
521
|
-
|
|
522
461
|
if (evType === 'mouseenter') {
|
|
523
462
|
mouseenterTimer = window.setTimeout(function () {
|
|
524
463
|
return showPopper(evType);
|
|
@@ -527,7 +466,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
527
466
|
showPopper(evType);
|
|
528
467
|
}
|
|
529
468
|
};
|
|
530
|
-
|
|
531
469
|
Array.isArray(trigger) ? trigger.forEach(function (action) {
|
|
532
470
|
return addAction(action);
|
|
533
471
|
}) : addAction(trigger);
|
|
@@ -542,5 +480,4 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
542
480
|
var Popper = /*#__PURE__*/React.createElement("div", _extends({}, popperProps), popperElement);
|
|
543
481
|
return /*#__PURE__*/React.createElement(React.Fragment, null, Locate, exist && container && /*#__PURE__*/ReactDOM.createPortal(Popper, container));
|
|
544
482
|
}
|
|
545
|
-
|
|
546
483
|
export default usePopper;
|
|
@@ -6,7 +6,6 @@ import assign from 'lodash/assign';
|
|
|
6
6
|
import ConfigContext from './ConfigContext';
|
|
7
7
|
import defaultConfig from './defaultConfig';
|
|
8
8
|
import localeCacher, { getLangMsg as getLang, getCompLangMsg as getCompLang } from '../locale/index';
|
|
9
|
-
|
|
10
9
|
var ConfigProvider = function ConfigProvider(props) {
|
|
11
10
|
// 处理当前语言
|
|
12
11
|
var value = props.value;
|
|
@@ -16,19 +15,16 @@ var ConfigProvider = function ConfigProvider(props) {
|
|
|
16
15
|
if (localeConfig && localeConfig.customGetLangMsg) {
|
|
17
16
|
return localeConfig.customGetLangMsg(componentName, labelName, params);
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
return getLang(componentName, labelName, params);
|
|
21
19
|
},
|
|
22
20
|
getCompLangMsg: function getCompLangMsg(compLangMsgParams) {
|
|
23
21
|
return getCompLang(compLangMsgParams, localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.customGetLangMsg);
|
|
24
22
|
}
|
|
25
23
|
};
|
|
26
|
-
|
|
27
24
|
if (localeConfig) {
|
|
28
25
|
localeCacher.setLocalesData(localeConfig.locale, localeConfig.localeData);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
}
|
|
27
|
+
// 处理组件默认属性
|
|
32
28
|
var providerValue = assign({}, defaultConfig, value, {
|
|
33
29
|
locale: locale
|
|
34
30
|
});
|
|
@@ -36,5 +32,4 @@ var ConfigProvider = function ConfigProvider(props) {
|
|
|
36
32
|
value: providerValue
|
|
37
33
|
}, props.children);
|
|
38
34
|
};
|
|
39
|
-
|
|
40
35
|
export default ConfigProvider;
|
|
@@ -3,7 +3,6 @@ import { getLangMsg, getCompLangMsg } from '../locale';
|
|
|
3
3
|
var defaultConfig = {
|
|
4
4
|
getPrefixCls: function getPrefixCls(configPrefixCls, suffixCls, customizePrefixCls) {
|
|
5
5
|
var _context;
|
|
6
|
-
|
|
7
6
|
// 获取样式前缀方法
|
|
8
7
|
if (customizePrefixCls) return customizePrefixCls;
|
|
9
8
|
configPrefixCls = configPrefixCls || 'kd';
|
package/es/index.js
CHANGED