@ucloud-fe/react-components 1.4.4 → 1.5.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/CHANGELOG.md +26 -0
- package/dist/icon.min.js +1 -1
- package/dist/main.min.js +4 -4
- package/lib/components/Calendar/style/index.js +5 -5
- package/lib/components/DatePicker/Range.js +16 -6
- package/lib/components/DatePicker/usePicker.js +31 -15
- package/lib/components/DatePicker/useRangePicker.d.ts +1 -0
- package/lib/components/DatePicker/useRangePicker.js +3 -2
- package/lib/components/DatePicker/utils.d.ts +2 -1
- package/lib/components/DatePicker/utils.js +13 -1
- package/lib/components/Form/ControllerContext.d.ts +1 -1
- package/lib/components/Input/.recodo/interaction.js +2 -2
- package/lib/components/Input/Input.js +12 -60
- package/lib/components/Input/Search.js +1 -0
- package/lib/components/Input/style/index.d.ts +23 -8
- package/lib/components/Input/style/index.js +97 -17
- package/lib/components/Menu/Item.js +9 -2
- package/lib/components/Menu/Menu.d.ts +11 -3
- package/lib/components/Menu/Menu.js +23 -9
- package/lib/components/Menu/MenuContext.d.ts +1 -0
- package/lib/components/Menu/index.d.ts +2 -2
- package/lib/components/Menu/style/index.d.ts +3 -0
- package/lib/components/Menu/style/index.js +14 -8
- package/lib/components/Notice/index.d.ts +1 -1
- package/lib/components/Select/Group.d.ts +3 -0
- package/lib/components/Select/Group.js +4 -0
- package/lib/components/Select/Overflow.d.ts +19 -0
- package/lib/components/Select/Overflow.js +155 -0
- package/lib/components/Select/Select.d.ts +15 -9
- package/lib/components/Select/Select.js +1149 -322
- package/lib/components/Select/SelectContext.d.ts +1 -1
- package/lib/components/Select/index.d.ts +3 -1
- package/lib/components/Select/locale/en_US.js +2 -1
- package/lib/components/Select/locale/zh_CN.d.ts +1 -0
- package/lib/components/Select/locale/zh_CN.js +2 -1
- package/lib/components/Select/style/index.d.ts +43 -6
- package/lib/components/Select/style/index.js +128 -42
- package/lib/components/SvgIcon/icons/ArrowDown.js +2 -2
- package/lib/components/SvgIcon/icons/ArrowLeft.js +3 -2
- package/lib/components/SvgIcon/icons/ArrowRight.js +2 -2
- package/lib/components/SvgIcon/icons/ArrowUp.js +2 -2
- package/lib/components/SvgIcon/icons/DoubleArrowLeft.js +4 -7
- package/lib/components/SvgIcon/icons/DoubleArrowRight.js +4 -6
- package/lib/components/SvgIcon/style/index.js +2 -2
- package/lib/hooks/group.d.ts +1 -1
- package/lib/hooks/group.js +5 -9
- package/lib/hooks/useUncontrolled.d.ts +1 -1
- package/lib/hooks/useUncontrolled.js +1 -1
- package/lib/libs/rc-table/Table.js +2 -3
- package/lib/sharedComponents/InputWrap.d.ts +16 -0
- package/lib/sharedComponents/InputWrap.js +66 -0
- package/lib/utils/pick.d.ts +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.Static = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
|
+
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
|
|
17
|
+
|
|
18
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
23
|
+
|
|
24
|
+
var _Tag = _interopRequireDefault(require("../../components/Tag"));
|
|
25
|
+
|
|
26
|
+
var _style = require("./style");
|
|
27
|
+
|
|
28
|
+
var _excluded = ["items", "renderItem", "renderRest", "count"],
|
|
29
|
+
_excluded2 = ["items", "renderItem", "renderRest", "onMeasure", "changeContent"];
|
|
30
|
+
|
|
31
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
32
|
+
|
|
33
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
34
|
+
|
|
35
|
+
var _uid = 0;
|
|
36
|
+
|
|
37
|
+
var Static = function Static(_ref) {
|
|
38
|
+
var _this = this;
|
|
39
|
+
|
|
40
|
+
var items = _ref.items,
|
|
41
|
+
renderItem = _ref.renderItem,
|
|
42
|
+
renderRest = _ref.renderRest,
|
|
43
|
+
count = _ref.count,
|
|
44
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
45
|
+
var renderItems = (0, _react.useMemo)(function () {
|
|
46
|
+
(0, _newArrowCheck2.default)(this, _this);
|
|
47
|
+
return items.slice(0, count).map(renderItem);
|
|
48
|
+
}.bind(this), [count, items, renderItem]);
|
|
49
|
+
var restItems = (0, _react.useMemo)(function () {
|
|
50
|
+
(0, _newArrowCheck2.default)(this, _this);
|
|
51
|
+
return renderRest(items.slice(count));
|
|
52
|
+
}.bind(this), [count, items, renderRest]);
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_Tag.default.Group, (0, _extends2.default)({}, rest, {
|
|
54
|
+
className: _style.overflowCls + ' ' + _style.staticCls
|
|
55
|
+
}), renderItems, restItems);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.Static = Static;
|
|
59
|
+
|
|
60
|
+
var Overflow = function Overflow(_ref2) {
|
|
61
|
+
var _this2 = this;
|
|
62
|
+
|
|
63
|
+
var items = _ref2.items,
|
|
64
|
+
renderItem = _ref2.renderItem,
|
|
65
|
+
renderRest = _ref2.renderRest,
|
|
66
|
+
onMeasure = _ref2.onMeasure,
|
|
67
|
+
changeContent = _ref2.changeContent,
|
|
68
|
+
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
69
|
+
|
|
70
|
+
var _useState = (0, _react.useState)(function () {
|
|
71
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
72
|
+
return ++_uid;
|
|
73
|
+
}.bind(this)),
|
|
74
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
75
|
+
uid = _useState2[0];
|
|
76
|
+
|
|
77
|
+
var _useState3 = (0, _react.useState)(0),
|
|
78
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
79
|
+
count = _useState4[0],
|
|
80
|
+
setCount = _useState4[1];
|
|
81
|
+
|
|
82
|
+
var _useState5 = (0, _react.useState)(null),
|
|
83
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
84
|
+
latestValidCount = _useState6[0],
|
|
85
|
+
setLatestValidCount = _useState6[1];
|
|
86
|
+
|
|
87
|
+
var compute = (0, _react.useCallback)(function () {
|
|
88
|
+
var _this3 = this;
|
|
89
|
+
|
|
90
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
91
|
+
var containerDOM = document.querySelector("[data-urc-overflow-id=\"".concat(uid, "\"]"));
|
|
92
|
+
if (!containerDOM) return;
|
|
93
|
+
|
|
94
|
+
if (count === latestValidCount) {
|
|
95
|
+
onMeasure(count);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (containerDOM.offsetWidth >= containerDOM.scrollWidth) {
|
|
100
|
+
setLatestValidCount(count);
|
|
101
|
+
setCount(Math.min(items.length, count + 1));
|
|
102
|
+
} else if (containerDOM.offsetWidth < containerDOM.scrollWidth) {
|
|
103
|
+
setCount(function (count) {
|
|
104
|
+
(0, _newArrowCheck2.default)(this, _this3);
|
|
105
|
+
return Math.max(0, count - 1);
|
|
106
|
+
}.bind(this));
|
|
107
|
+
}
|
|
108
|
+
}.bind(this), [count, items.length, latestValidCount, onMeasure, uid]);
|
|
109
|
+
var computeRef = (0, _react.useRef)(compute);
|
|
110
|
+
(0, _react.useEffect)(function () {
|
|
111
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
112
|
+
computeRef.current = compute;
|
|
113
|
+
}.bind(this), [compute]);
|
|
114
|
+
(0, _react.useEffect)(function () {
|
|
115
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
116
|
+
setLatestValidCount(null);
|
|
117
|
+
}.bind(this), [changeContent]);
|
|
118
|
+
(0, _react.useEffect)(function () {
|
|
119
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
120
|
+
computeRef.current();
|
|
121
|
+
}.bind(this), [compute]);
|
|
122
|
+
(0, _react.useLayoutEffect)(function () {
|
|
123
|
+
var _this4 = this;
|
|
124
|
+
|
|
125
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
126
|
+
var containerDOM = document.querySelector("[data-urc-overflow-id=\"".concat(uid, "\"]"));
|
|
127
|
+
var resizeObserver = new _resizeObserverPolyfill.default(function () {
|
|
128
|
+
(0, _newArrowCheck2.default)(this, _this4);
|
|
129
|
+
setLatestValidCount(null);
|
|
130
|
+
}.bind(this));
|
|
131
|
+
if (containerDOM) resizeObserver.observe(containerDOM);
|
|
132
|
+
return function () {
|
|
133
|
+
(0, _newArrowCheck2.default)(this, _this4);
|
|
134
|
+
|
|
135
|
+
if (resizeObserver) {
|
|
136
|
+
resizeObserver.disconnect();
|
|
137
|
+
}
|
|
138
|
+
}.bind(this);
|
|
139
|
+
}.bind(this), [uid]);
|
|
140
|
+
var renderItems = (0, _react.useMemo)(function () {
|
|
141
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
142
|
+
return items.slice(0, count).map(renderItem);
|
|
143
|
+
}.bind(this), [count, items, renderItem]);
|
|
144
|
+
var restItems = (0, _react.useMemo)(function () {
|
|
145
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
146
|
+
return renderRest(items.slice(count));
|
|
147
|
+
}.bind(this), [count, items, renderRest]);
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(_Tag.default.Group, (0, _extends2.default)({}, rest, {
|
|
149
|
+
"data-urc-overflow-id": uid,
|
|
150
|
+
className: _style.overflowCls
|
|
151
|
+
}), renderItems, restItems);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
var _default = Overflow;
|
|
155
|
+
exports.default = _default;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { Size } from '../../type';
|
|
3
3
|
import { Key } from '../../hooks/group';
|
|
4
4
|
import LOCALE from './locale/zh_CN';
|
|
5
5
|
export declare const deprecatedLogForPopover: () => void;
|
|
6
6
|
declare type PopoverProps = any;
|
|
7
7
|
export interface SelectProps {
|
|
8
8
|
/** 当前值,controlled */
|
|
9
|
-
value?: Key;
|
|
9
|
+
value?: Key | Key[];
|
|
10
10
|
/** 默认值,uncontrolled */
|
|
11
|
-
defaultValue?: Key;
|
|
11
|
+
defaultValue?: Key | Key[];
|
|
12
12
|
/** 无选项时显示内容 */
|
|
13
13
|
placeholder?: ReactNode;
|
|
14
|
-
/**
|
|
15
|
-
onChange?: (value: Key | Key[]) => void;
|
|
16
|
-
/**
|
|
14
|
+
/** 修改、清空时的回调,清空时回调值单选为 undefined、du px aun */
|
|
15
|
+
onChange?: (value: Key | Key[] | undefined) => void;
|
|
16
|
+
/** 快速设置选项,推荐使用以获得更好的性能 */
|
|
17
17
|
options?: {
|
|
18
18
|
/** 选项展示 */
|
|
19
19
|
label?: ReactNode;
|
|
@@ -30,6 +30,8 @@ export interface SelectProps {
|
|
|
30
30
|
showSelectAll?: boolean;
|
|
31
31
|
/** 是否禁用 */
|
|
32
32
|
disabled?: boolean;
|
|
33
|
+
/** 样式风格 */
|
|
34
|
+
styleType?: 'list';
|
|
33
35
|
/**
|
|
34
36
|
* 如何渲染选中项的展示
|
|
35
37
|
* @param value - 当前 select 的值
|
|
@@ -76,6 +78,10 @@ export interface SelectProps {
|
|
|
76
78
|
};
|
|
77
79
|
/** 尺寸 */
|
|
78
80
|
size?: Size;
|
|
81
|
+
/** 展示变更为块占位 */
|
|
82
|
+
block?: boolean;
|
|
83
|
+
/** 是否可清空,仅单选可用 */
|
|
84
|
+
clearable?: boolean;
|
|
79
85
|
/**
|
|
80
86
|
* 弹出层的popover props
|
|
81
87
|
* @deprecated 请使用popoverProps替换
|
|
@@ -113,5 +119,5 @@ export interface SelectProps {
|
|
|
113
119
|
height?: number;
|
|
114
120
|
};
|
|
115
121
|
}
|
|
116
|
-
declare const
|
|
117
|
-
export default
|
|
122
|
+
declare const _default: React.MemoExoticComponent<({ size, value: _value, defaultValue, onChange: _onChange, onVisibleChange, disabled, search, multiple, renderContent, renderSelector, placeholder, locale: _locale, options, children, emptyContent, showSelectAll, extra, clearable, customStyle, popover, popoverProps, renderPopup, virtualList, block, styleType, ...htmlProps }: SelectProps & Omit<React.HTMLAttributes<HTMLDivElement>, keyof SelectProps>) => JSX.Element>;
|
|
123
|
+
export default _default;
|