@autobest-ui/components 3.0.0-alpha.6 → 3.0.0-alpha.8
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/esm/accordion/CollapseItem.d.ts +14 -0
- package/esm/accordion/CollapseItem.js +56 -0
- package/esm/accordion/Item.d.ts +11 -14
- package/esm/accordion/Item.js +11 -23
- package/esm/accordion/index.d.ts +9 -6
- package/esm/accordion/index.js +29 -13
- package/esm/accordion/type.d.ts +8 -0
- package/esm/accordion/type.js +1 -0
- package/esm/date-picker/calendar/Day.js +4 -3
- package/esm/date-picker/calendar/grid/index.css +1 -1
- package/esm/date-picker/calendar/grid/index.d.ts +1 -1
- package/esm/date-picker/calendar/grid/index.js +2 -2
- package/esm/date-picker/calendar/index.css +1 -1
- package/esm/date-picker/index.js +1 -0
- package/esm/date-picker/style/index.css +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.js +1 -1
- package/esm/lazy-image/index.d.ts +10 -30
- package/esm/lazy-image/index.js +30 -51
- package/esm/lazy-image/style/index.css +1 -1
- package/esm/loading-container/index.d.ts +11 -2
- package/esm/loading-container/index.js +22 -8
- package/{lib/scroll-container → esm/scrollbar}/index.d.ts +5 -7
- package/esm/{scroll-container → scrollbar}/index.js +12 -27
- package/esm/scrollbar/style/index.css +1 -0
- package/esm/select/index.d.ts +3 -2
- package/esm/select/index.js +11 -12
- package/esm/select/style/index.css +1 -1
- package/esm/style.css +1 -1
- package/lib/accordion/CollapseItem.d.ts +14 -0
- package/lib/accordion/CollapseItem.js +64 -0
- package/lib/accordion/Item.d.ts +11 -14
- package/lib/accordion/Item.js +11 -23
- package/lib/accordion/index.d.ts +9 -6
- package/lib/accordion/index.js +28 -12
- package/lib/accordion/type.d.ts +8 -0
- package/lib/accordion/type.js +5 -0
- package/lib/date-picker/calendar/Day.js +4 -3
- package/lib/date-picker/calendar/grid/index.css +1 -1
- package/lib/date-picker/calendar/grid/index.d.ts +1 -1
- package/lib/date-picker/calendar/grid/index.js +2 -2
- package/lib/date-picker/calendar/index.css +1 -1
- package/lib/date-picker/index.js +1 -0
- package/lib/date-picker/style/index.css +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +4 -4
- package/lib/lazy-image/index.d.ts +10 -30
- package/lib/lazy-image/index.js +30 -51
- package/lib/lazy-image/style/index.css +1 -1
- package/lib/loading-container/index.d.ts +11 -2
- package/lib/loading-container/index.js +22 -8
- package/{esm/scroll-container → lib/scrollbar}/index.d.ts +5 -7
- package/lib/{scroll-container → scrollbar}/index.js +13 -28
- package/lib/scrollbar/style/index.css +1 -0
- package/lib/select/index.d.ts +3 -2
- package/lib/select/index.js +12 -13
- package/lib/select/style/index.css +1 -1
- package/lib/style.css +1 -1
- package/package.json +3 -3
- package/esm/scroll-container/style/index.css +0 -1
- package/lib/scroll-container/style/index.css +0 -1
- /package/esm/{scroll-container → scrollbar}/composeRef.d.ts +0 -0
- /package/esm/{scroll-container → scrollbar}/composeRef.js +0 -0
- /package/lib/{scroll-container → scrollbar}/composeRef.d.ts +0 -0
- /package/lib/{scroll-container → scrollbar}/composeRef.js +0 -0
package/lib/accordion/index.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _utils = require("@autobest-ui/utils");
|
|
11
|
+
var _CollapseItem = _interopRequireDefault(require("./CollapseItem"));
|
|
11
12
|
var _Item = _interopRequireDefault(require("./Item"));
|
|
12
13
|
var __extends = void 0 && (void 0).__extends || function () {
|
|
13
14
|
var _extendStatics = function extendStatics(d, b) {
|
|
@@ -48,6 +49,18 @@ var Accordion = /** @class */function (_super) {
|
|
|
48
49
|
function Accordion(props) {
|
|
49
50
|
var _this = _super.call(this, props) || this;
|
|
50
51
|
_this.prefixCls = 'ab-accordion';
|
|
52
|
+
_this.refresh = function () {
|
|
53
|
+
var visibleNames = {};
|
|
54
|
+
var defaultVisibleNames = _this.props.defaultVisibleNames;
|
|
55
|
+
if (!(0, _utils.isEmptyArray)(defaultVisibleNames)) {
|
|
56
|
+
defaultVisibleNames.forEach(function (name) {
|
|
57
|
+
visibleNames[name] = true;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
_this.setState({
|
|
61
|
+
visibleNames: visibleNames
|
|
62
|
+
});
|
|
63
|
+
};
|
|
51
64
|
/** *
|
|
52
65
|
* 展开下拉链接列表
|
|
53
66
|
* @param name
|
|
@@ -57,25 +70,25 @@ var Accordion = /** @class */function (_super) {
|
|
|
57
70
|
var _c = _this.props,
|
|
58
71
|
interactive = _c.interactive,
|
|
59
72
|
beforeVisibleChange = _c.beforeVisibleChange,
|
|
60
|
-
|
|
61
|
-
if (beforeVisibleChange) {
|
|
62
|
-
beforeVisibleChange(name);
|
|
63
|
-
}
|
|
73
|
+
afterVisibleChange = _c.afterVisibleChange;
|
|
64
74
|
var visibleNames = _this.state.visibleNames;
|
|
65
|
-
var
|
|
75
|
+
var nextVisible = !visibleNames[name];
|
|
76
|
+
if (beforeVisibleChange && !beforeVisibleChange(nextVisible, name)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
66
79
|
if (interactive) {
|
|
67
80
|
// 能同时展开多项,只对当前项做展开/闭合操作
|
|
68
81
|
_this.setState({
|
|
69
|
-
visibleNames: __assign(__assign({}, visibleNames), (_a = {}, _a[name] =
|
|
82
|
+
visibleNames: __assign(__assign({}, visibleNames), (_a = {}, _a[name] = nextVisible, _a))
|
|
70
83
|
});
|
|
71
84
|
} else {
|
|
72
85
|
// 每次只能展开一项
|
|
73
86
|
_this.setState({
|
|
74
|
-
visibleNames: (_b = {}, _b[name] =
|
|
87
|
+
visibleNames: (_b = {}, _b[name] = nextVisible, _b)
|
|
75
88
|
});
|
|
76
89
|
}
|
|
77
|
-
if (
|
|
78
|
-
|
|
90
|
+
if (afterVisibleChange) {
|
|
91
|
+
afterVisibleChange(nextVisible, name);
|
|
79
92
|
}
|
|
80
93
|
};
|
|
81
94
|
var visibleNames = {};
|
|
@@ -97,20 +110,23 @@ var Accordion = /** @class */function (_super) {
|
|
|
97
110
|
className = _a.className,
|
|
98
111
|
children = _a.children;
|
|
99
112
|
var visibleNames = this.state.visibleNames;
|
|
100
|
-
return /*#__PURE__*/_react.default.createElement("
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
101
114
|
className: (0, _classnames.default)(cls, className)
|
|
102
115
|
}, _react.default.Children.map(children, function (child) {
|
|
103
116
|
var name = child.props.name;
|
|
117
|
+
if ((0, _utils.isBlank)(name)) {
|
|
118
|
+
return child;
|
|
119
|
+
}
|
|
104
120
|
return /*#__PURE__*/_react.default.cloneElement(child, {
|
|
105
121
|
key: name,
|
|
106
|
-
|
|
122
|
+
onClick: function onClick() {
|
|
107
123
|
_this.onVisibleChange(name);
|
|
108
124
|
},
|
|
109
125
|
visible: !!visibleNames[name]
|
|
110
126
|
});
|
|
111
127
|
}));
|
|
112
128
|
};
|
|
113
|
-
|
|
129
|
+
Accordion.CollapseItem = _CollapseItem.default;
|
|
114
130
|
Accordion.Item = _Item.default;
|
|
115
131
|
Accordion.defaultProps = {
|
|
116
132
|
className: '',
|
|
@@ -41,16 +41,17 @@ var DayCalendar = function DayCalendar(props) {
|
|
|
41
41
|
isOut = false;
|
|
42
42
|
}
|
|
43
43
|
var disabled = (0, _utils.isOutOfDate)(date, minDate, maxDate);
|
|
44
|
+
var selected = (0, _utils.compareDate)(date, selectedDate) === 0;
|
|
44
45
|
return {
|
|
45
46
|
value: date,
|
|
46
47
|
name: date.getDate(),
|
|
47
48
|
disabled: disabled,
|
|
48
|
-
selected:
|
|
49
|
+
selected: selected,
|
|
49
50
|
isToday: (0, _utils.compareDate)(date, today) === 0,
|
|
50
51
|
onClick: disabled ? null : function () {
|
|
51
52
|
return onSelect(date);
|
|
52
53
|
},
|
|
53
|
-
|
|
54
|
+
isOut: !selected && !disabled && isOut
|
|
54
55
|
};
|
|
55
56
|
};
|
|
56
57
|
var currentTitle = getTitle(navigatedDate);
|
|
@@ -89,7 +90,7 @@ var DayCalendar = function DayCalendar(props) {
|
|
|
89
90
|
headList: currentHeadList,
|
|
90
91
|
dateList: dayList
|
|
91
92
|
};
|
|
92
|
-
}, [today, navigatedDate, minDate, maxDate, firstDayOfWeek, selectedDate, onSelect
|
|
93
|
+
}, [today, navigatedDate, minDate, maxDate, firstDayOfWeek, selectedDate, onSelect]),
|
|
93
94
|
title = _a.title,
|
|
94
95
|
startDate = _a.startDate,
|
|
95
96
|
endDate = _a.endDate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-dp-cg-content,.ab-dp-cg-head,.ab-dp-cg-title{display:flex;align-items:center}.ab-dp-cg-title{user-select:none;font-size:.14rem;padding-bottom:.08rem}.ab-dp-cg-title>strong{flex:1 1;margin-left:.1rem;cursor:default;color:#4a4a4a}.ab-dp-cg-title>strong.ab-dp-cg-clickable{cursor:pointer}.ab-dp-cg-title>strong.ab-dp-cg-clickable:hover{color:#000}.ab-dp-cg-dis-icon,.ab-dp-cg-icon{align-self:flex-end;margin-left:.08rem}.ab-dp-cg-icon{cursor:pointer}.ab-dp-cg-head{padding-bottom:.05rem}.ab-dp-cg-head>li{display:flex;align-items:center;justify-content:center;cursor:default}.ab-dp-cg-content{flex-wrap:wrap}.ab-dp-cg-content>li{cursor:pointer;display:flex;align-items:center;justify-content:center;color:#
|
|
1
|
+
.ab-dp-cg-content,.ab-dp-cg-head,.ab-dp-cg-title{display:flex;align-items:center}.ab-dp-cg-title{user-select:none;font-size:.14rem;padding-bottom:.08rem}.ab-dp-cg-title>strong{flex:1 1;margin-left:.1rem;cursor:default;color:#4a4a4a}.ab-dp-cg-title>strong.ab-dp-cg-clickable{cursor:pointer}.ab-dp-cg-title>strong.ab-dp-cg-clickable:hover{color:#000}.ab-dp-cg-dis-icon,.ab-dp-cg-icon{align-self:flex-end;margin-left:.08rem}.ab-dp-cg-icon{cursor:pointer}.ab-dp-cg-head{padding-bottom:.05rem}.ab-dp-cg-head>li{display:flex;align-items:center;justify-content:center;cursor:default}.ab-dp-cg-content{flex-wrap:wrap}.ab-dp-cg-content>li{cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;border-radius:4px}.ab-dp-cg-content>li:hover{background:#f0f0f0}.ab-dp-cg-content>li.ab-dp-cg-out{color:#666}.ab-dp-cg-content>li.ab-dp-cg-dis{cursor:not-allowed;color:#b0b0b0}.ab-dp-cg-content>li.ab-dp-cg-dis:hover{background:0 0}.ab-dp-cg-content>li.ab-dp-cg-selected{background:#0078d4;color:#fff}.ab-dp-cg-content>li.ab-dp-cg-selected:hover{background:#0078d4}.ab-dp-cg-content>li.ab-dp-cg-today{border:1px solid #0078d4}.ab-dp-cg-arrow{cursor:pointer}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface CalendarGridItemProps {
|
|
3
|
-
className?: string;
|
|
4
3
|
name: string;
|
|
5
4
|
disabled: boolean;
|
|
6
5
|
selected: boolean;
|
|
7
6
|
isToday?: boolean;
|
|
7
|
+
isOut?: boolean;
|
|
8
8
|
onClick: (event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
9
9
|
}
|
|
10
10
|
export interface CalendarGridProps {
|
|
@@ -53,10 +53,10 @@ var CalendarGrid = function CalendarGrid(_a) {
|
|
|
53
53
|
})), /*#__PURE__*/_react.default.createElement("ul", {
|
|
54
54
|
className: "".concat(cls, "-content")
|
|
55
55
|
}, list.map(function (item, index) {
|
|
56
|
-
var _a, _b, _c;
|
|
56
|
+
var _a, _b, _c, _d;
|
|
57
57
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
58
58
|
key: "".concat(index, " ").concat(item.name),
|
|
59
|
-
className: (0, _classnames.default)((_a = {}, _a["".concat(cls, "-dis")] = item.disabled, _a), (_b = {}, _b["".concat(cls, "-selected")] = item.selected, _b), (_c = {}, _c["".concat(cls, "-today")] = item.isToday, _c), item.
|
|
59
|
+
className: (0, _classnames.default)((_a = {}, _a["".concat(cls, "-dis")] = item.disabled, _a), (_b = {}, _b["".concat(cls, "-selected")] = item.selected, _b), (_c = {}, _c["".concat(cls, "-today")] = item.isToday, _c), (_d = {}, _d["".concat(cls, "-out")] = item.isOut, _d)),
|
|
60
60
|
onClick: item.onClick
|
|
61
61
|
}, item.name);
|
|
62
62
|
})), bottomElement);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-
|
|
1
|
+
.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-myg{padding-bottom:.62rem}.ab-dp-cal-myg>ul{justify-content:space-between}.ab-dp-cal-myg>ul>li{width:.4rem;height:.4rem;margin-bottom:.1rem}.ab-dp-cal-t{cursor:pointer;position:absolute;right:.08rem;bottom:.3rem}.ab-dp-cal-t.ab-dp-cal-t-dis{color:#b0b0b0;cursor:default}
|
package/lib/date-picker/index.js
CHANGED
|
@@ -47,6 +47,7 @@ var __assign = void 0 && (void 0).__assign || function () {
|
|
|
47
47
|
return __assign.apply(this, arguments);
|
|
48
48
|
};
|
|
49
49
|
// TODO: 移动端
|
|
50
|
+
// TODO: 时区问题导致Date().getDate()获取到的日期会有±1天的时差
|
|
50
51
|
var DatePicker = /** @class */function (_super) {
|
|
51
52
|
__extends(DatePicker, _super);
|
|
52
53
|
function DatePicker(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-
|
|
1
|
+
.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-myg{padding-bottom:.62rem}.ab-dp-cal-myg>ul{justify-content:space-between}.ab-dp-cal-myg>ul>li{width:.4rem;height:.4rem;margin-bottom:.1rem}.ab-dp-cal-t{cursor:pointer;position:absolute;right:.08rem;bottom:.3rem}.ab-dp-cal-t.ab-dp-cal-t-dis{color:#b0b0b0;cursor:default}.ab-dp-cg-content,.ab-dp-cg-head,.ab-dp-cg-title{display:flex;align-items:center}.ab-dp-cg-title{user-select:none;font-size:.14rem;padding-bottom:.08rem}.ab-dp-cg-title>strong{flex:1 1;margin-left:.1rem;cursor:default;color:#4a4a4a}.ab-dp-cg-title>strong.ab-dp-cg-clickable{cursor:pointer}.ab-dp-cg-title>strong.ab-dp-cg-clickable:hover{color:#000}.ab-dp-cg-dis-icon,.ab-dp-cg-icon{align-self:flex-end;margin-left:.08rem}.ab-dp-cg-icon{cursor:pointer}.ab-dp-cg-head{padding-bottom:.05rem}.ab-dp-cg-head>li{display:flex;align-items:center;justify-content:center;cursor:default}.ab-dp-cg-content{flex-wrap:wrap}.ab-dp-cg-content>li{cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;border-radius:4px}.ab-dp-cg-content>li:hover{background:#f0f0f0}.ab-dp-cg-content>li.ab-dp-cg-out{color:#666}.ab-dp-cg-content>li.ab-dp-cg-dis{cursor:not-allowed;color:#b0b0b0}.ab-dp-cg-content>li.ab-dp-cg-dis:hover{background:0 0}.ab-dp-cg-content>li.ab-dp-cg-selected{background:#0078d4;color:#fff}.ab-dp-cg-content>li.ab-dp-cg-selected:hover{background:#0078d4}.ab-dp-cg-content>li.ab-dp-cg-today{border:1px solid #0078d4}.ab-dp-cg-arrow{cursor:pointer}.ab-trigger-wrap{position:absolute;top:0;left:0;z-index:101}.ab-trigger-wrap.ab-trigger-hidden{display:none}.ab-trigger-mask{position:fixed;top:0;left:0;bottom:0;right:0;z-index:101;background-color:transparent;display:none}.ab-trigger-mask.ab-trigger-mask-show{display:block}.ab-trigger-fade-appear,.ab-trigger-fade-enter,.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0}.ab-trigger-fade-appear,.ab-trigger-fade-enter{transform:scale(.7)}.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0;transform:scaleY(.7)}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active,.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{opacity:1;transition:opacity .2s,transform .2s}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active{transform:scale(1)}.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{transform:scaleY(1)}.ab-trigger-fade-exit,.ab-trigger-fade-hr-exit{opacity:1}.ab-trigger-fade-exit-active,.ab-trigger-fade-hr-exit-active{opacity:0;transition:opacity .2s,transform .2s}.ab-trigger-fade-exit-active{transform:scale(.7)}.ab-trigger-fade-hr-exit-active{transform:scaleY(.7)}.ab-trigger-fade-exit-done,.ab-trigger-fade-hr-exit-done{display:none}.ab-popover-wrap{background-clip:padding-box;min-width:210px;border-radius:4px}.ab-popover-inner{padding:.08rem .11rem .05rem;position:relative;width:100%;overflow:auto;font-size:.12rem}.ab-popover-inner-expand{padding-right:.1rem}.ab-popover-arrow{position:absolute;display:block;width:8px;height:8px;border-style:solid;box-shadow:3px 3px 7px rgba(0,0,0,.07)}.ab-popover-close{position:absolute;right:.02rem;top:.05rem;cursor:pointer;padding:0 .05rem;color:#bfbfbf;font-size:.2rem;line-height:1;z-index:2}.ab-popover-close:hover{color:#4a4a4a}.ab-popover-white{background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.ab-popover-white .ab-popover-arrow{background-color:#fff;border-color:transparent #fff #fff transparent;border-width:4px}.ab-popover-orange{border:1px solid #906c00;box-shadow:1px 1px 5px -1px #000;background-color:#fffaec}.ab-popover-orange .ab-popover-arrow{background-color:#fffaec;border-color:transparent #906c00 #906c00 transparent;border-width:1px}@media only screen and (max-width:767px){.ab-popover-wrap{width:calc(100% - .3rem)}}.ab-date-picker{position:relative}.ab-date-picker-input{outline:0;font-size:.14rem;padding:.04rem;width:1.44rem}.ab-date-picker-input.ab-date-picker-error{background:#fffacd}.ab-date-picker-icon{color:#606060;position:absolute;right:.05rem;top:50%;transform:translateY(-50%)}
|
package/lib/index.d.ts
CHANGED
|
@@ -53,8 +53,8 @@ export type { LoadingProps } from './loading';
|
|
|
53
53
|
export { default as Loading } from './loading';
|
|
54
54
|
export type { LoadingContainerProps } from './loading-container';
|
|
55
55
|
export { default as LoadingContainer } from './loading-container';
|
|
56
|
-
export type {
|
|
57
|
-
export { default as
|
|
56
|
+
export type { ScrollbarProps } from './scrollbar';
|
|
57
|
+
export { default as Scrollbar, ScrollbarSize } from './scrollbar';
|
|
58
58
|
export { default as LoadingBar } from './loading-bar';
|
|
59
59
|
export type { LoadingIconProps } from './loading-icon';
|
|
60
60
|
export { default as LoadingIcon } from './loading-icon';
|
package/lib/index.js
CHANGED
|
@@ -167,16 +167,16 @@ Object.defineProperty(exports, "Script", {
|
|
|
167
167
|
return _script.default;
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
|
-
Object.defineProperty(exports, "
|
|
170
|
+
Object.defineProperty(exports, "Scrollbar", {
|
|
171
171
|
enumerable: true,
|
|
172
172
|
get: function get() {
|
|
173
|
-
return
|
|
173
|
+
return _scrollbar.default;
|
|
174
174
|
}
|
|
175
175
|
});
|
|
176
176
|
Object.defineProperty(exports, "ScrollbarSize", {
|
|
177
177
|
enumerable: true,
|
|
178
178
|
get: function get() {
|
|
179
|
-
return
|
|
179
|
+
return _scrollbar.ScrollbarSize;
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
182
|
Object.defineProperty(exports, "Select", {
|
|
@@ -272,7 +272,7 @@ var _datePicker = _interopRequireDefault(require("./date-picker"));
|
|
|
272
272
|
var _tabs = _interopRequireDefault(require("./tabs"));
|
|
273
273
|
var _loading = _interopRequireDefault(require("./loading"));
|
|
274
274
|
var _loadingContainer = _interopRequireDefault(require("./loading-container"));
|
|
275
|
-
var
|
|
275
|
+
var _scrollbar = _interopRequireWildcard(require("./scrollbar"));
|
|
276
276
|
var _loadingBar = _interopRequireDefault(require("./loading-bar"));
|
|
277
277
|
var _loadingIcon = _interopRequireDefault(require("./loading-icon"));
|
|
278
278
|
var _trigger = _interopRequireDefault(require("./trigger"));
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import React
|
|
2
|
-
export interface LazyImageProps extends React.
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LazyImageProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
3
|
+
/**
|
|
4
|
+
* 标签名,默认div
|
|
5
|
+
*/
|
|
6
|
+
tagName?: string;
|
|
3
7
|
/**
|
|
4
8
|
* 需要显示的图片
|
|
5
9
|
*/
|
|
@@ -9,34 +13,13 @@ export interface LazyImageProps extends React.ImgHTMLAttributes<HTMLImageElement
|
|
|
9
13
|
*/
|
|
10
14
|
alt: string;
|
|
11
15
|
/**
|
|
12
|
-
*
|
|
16
|
+
* 图片额外的属性
|
|
13
17
|
*/
|
|
14
|
-
|
|
18
|
+
imgHTMLAttributes?: React.ImgHTMLAttributes<HTMLImageElement>;
|
|
15
19
|
/**
|
|
16
20
|
* 类名
|
|
17
21
|
*/
|
|
18
22
|
className?: string;
|
|
19
|
-
/**
|
|
20
|
-
* hover 图片,图片透明度(需要注意不要少了isMobile属性)
|
|
21
|
-
*/
|
|
22
|
-
hoverOpacity?: number;
|
|
23
|
-
/**
|
|
24
|
-
* 判断是否是移动端,如果是移动端,将不再执行hoverOpacity, onMouseOver, onMouseOut
|
|
25
|
-
*/
|
|
26
|
-
isMobile?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* 判断是否需要动态loading效果,如果提供了defaultImage,则不再有loading
|
|
29
|
-
*/
|
|
30
|
-
active?: boolean;
|
|
31
|
-
onClick?: MouseEventHandler<HTMLImageElement>;
|
|
32
|
-
/**
|
|
33
|
-
* 鼠标放上去的回调(方便自定义样式)
|
|
34
|
-
*/
|
|
35
|
-
onMouseOver?: MouseEventHandler<HTMLImageElement>;
|
|
36
|
-
/**
|
|
37
|
-
* 鼠标离开的回调(方便自定义样式)
|
|
38
|
-
*/
|
|
39
|
-
onMouseOut?: MouseEventHandler<HTMLImageElement>;
|
|
40
23
|
/**
|
|
41
24
|
* 加载图片时的回调
|
|
42
25
|
*/
|
|
@@ -55,10 +38,9 @@ interface LazyImageStates {
|
|
|
55
38
|
}
|
|
56
39
|
declare class LazyImage extends React.Component<LazyImageProps, LazyImageStates> {
|
|
57
40
|
static defaultProps: {
|
|
41
|
+
tagName: string;
|
|
58
42
|
className: string;
|
|
59
|
-
|
|
60
|
-
isMobile: boolean;
|
|
61
|
-
active: boolean;
|
|
43
|
+
imgHTMLAttributes: {};
|
|
62
44
|
};
|
|
63
45
|
prefixCls: string;
|
|
64
46
|
rootRef: React.RefObject<HTMLImageElement>;
|
|
@@ -71,8 +53,6 @@ declare class LazyImage extends React.Component<LazyImageProps, LazyImageStates>
|
|
|
71
53
|
* 监听原生lazy loading, 并回调不同的事件
|
|
72
54
|
*/
|
|
73
55
|
originalLazyLoad: () => void;
|
|
74
|
-
onMouseOut: (ev: MouseEvent<HTMLImageElement>) => void;
|
|
75
|
-
onMouseOver: (ev: MouseEvent<HTMLImageElement>) => void;
|
|
76
56
|
render(): JSX.Element;
|
|
77
57
|
}
|
|
78
58
|
export default LazyImage;
|
package/lib/lazy-image/index.js
CHANGED
|
@@ -41,6 +41,16 @@ var __assign = void 0 && (void 0).__assign || function () {
|
|
|
41
41
|
};
|
|
42
42
|
return __assign.apply(this, arguments);
|
|
43
43
|
};
|
|
44
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
45
|
+
var t = {};
|
|
46
|
+
for (var p in s) {
|
|
47
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
48
|
+
}
|
|
49
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
50
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
51
|
+
}
|
|
52
|
+
return t;
|
|
53
|
+
};
|
|
44
54
|
function noop() {}
|
|
45
55
|
var LazyImage = /** @class */function (_super) {
|
|
46
56
|
__extends(LazyImage, _super);
|
|
@@ -97,36 +107,6 @@ var LazyImage = /** @class */function (_super) {
|
|
|
97
107
|
};
|
|
98
108
|
}
|
|
99
109
|
};
|
|
100
|
-
_this.onMouseOut = function (ev) {
|
|
101
|
-
if (_this.props.isMobile) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
var _a = _this.props,
|
|
105
|
-
hoverOpacity = _a.hoverOpacity,
|
|
106
|
-
onMouseOut = _a.onMouseOut;
|
|
107
|
-
var el = ev.target;
|
|
108
|
-
if (hoverOpacity) {
|
|
109
|
-
el.style.opacity = '1';
|
|
110
|
-
}
|
|
111
|
-
if (onMouseOut) {
|
|
112
|
-
onMouseOut(ev);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
_this.onMouseOver = function (ev) {
|
|
116
|
-
if (_this.props.isMobile) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
var _a = _this.props,
|
|
120
|
-
hoverOpacity = _a.hoverOpacity,
|
|
121
|
-
onMouseOver = _a.onMouseOver;
|
|
122
|
-
var el = ev.target;
|
|
123
|
-
if (hoverOpacity) {
|
|
124
|
-
el.style.opacity = hoverOpacity.toString();
|
|
125
|
-
}
|
|
126
|
-
if (onMouseOver) {
|
|
127
|
-
onMouseOver(ev);
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
110
|
_this.state = {
|
|
131
111
|
loading: true
|
|
132
112
|
};
|
|
@@ -148,34 +128,33 @@ var LazyImage = /** @class */function (_super) {
|
|
|
148
128
|
var cls = this.prefixCls;
|
|
149
129
|
var _b = this.props,
|
|
150
130
|
className = _b.className,
|
|
151
|
-
|
|
131
|
+
alt = _b.alt,
|
|
132
|
+
src = _b.src,
|
|
133
|
+
imgHTMLAttributes = _b.imgHTMLAttributes,
|
|
134
|
+
tagName = _b.tagName,
|
|
135
|
+
onError = _b.onError,
|
|
136
|
+
onLoading = _b.onLoading,
|
|
137
|
+
onLoaded = _b.onLoaded,
|
|
138
|
+
extraProps = __rest(_b, ["className", "alt", "src", "imgHTMLAttributes", "tagName", "onError", "onLoading", "onLoaded"]);
|
|
152
139
|
var loading = this.state.loading;
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
delete props.isMobile;
|
|
159
|
-
delete props.active;
|
|
160
|
-
delete props.onLoading;
|
|
161
|
-
delete props.onLoaded;
|
|
162
|
-
return /*#__PURE__*/_react.default.createElement("img", __assign({
|
|
163
|
-
alt: ""
|
|
164
|
-
}, props, {
|
|
165
|
-
className: (0, _classnames.default)(cls, className, (_a = {}, _a["".concat(cls, "-loading")] = loading, _a["".concat(cls, "-active")] = loading && active, _a)),
|
|
166
|
-
onMouseOver: this.onMouseOver,
|
|
167
|
-
onMouseOut: this.onMouseOut,
|
|
140
|
+
var Wrapper = tagName;
|
|
141
|
+
// 需要图片根据容器自适应时,需增加mask
|
|
142
|
+
return /*#__PURE__*/_react.default.createElement(Wrapper, __assign({}, extraProps, {
|
|
143
|
+
className: (0, _classnames.default)(cls, className, (_a = {}, _a["".concat(cls, "-loading")] = loading, _a))
|
|
144
|
+
}), /*#__PURE__*/_react.default.createElement("img", __assign({
|
|
168
145
|
onFocus: noop,
|
|
169
|
-
onBlur: noop
|
|
146
|
+
onBlur: noop
|
|
147
|
+
}, imgHTMLAttributes, {
|
|
148
|
+
src: src,
|
|
149
|
+
alt: alt,
|
|
170
150
|
ref: this.rootRef,
|
|
171
151
|
loading: "lazy"
|
|
172
|
-
}));
|
|
152
|
+
})));
|
|
173
153
|
};
|
|
174
154
|
LazyImage.defaultProps = {
|
|
155
|
+
tagName: 'div',
|
|
175
156
|
className: '',
|
|
176
|
-
|
|
177
|
-
isMobile: false,
|
|
178
|
-
active: true
|
|
157
|
+
imgHTMLAttributes: {}
|
|
179
158
|
};
|
|
180
159
|
return LazyImage;
|
|
181
160
|
}(_react.default.Component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-lazy-image{transition:opacity .5s}.ab-lazy-image
|
|
1
|
+
.ab-lazy-image{position:relative;overflow:hidden;transition:opacity .5s;display:flex;align-items:center;justify-content:center}.ab-lazy-image::after{display:none;content:"";position:absolute;left:0;top:0;width:100%;height:100%}.ab-lazy-image-loading::after{display:block;background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}.ab-lazy-image img{display:block;max-width:100%;max-height:100%}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
|
|
@@ -17,17 +17,26 @@ export interface LoadingContainerProps {
|
|
|
17
17
|
* LoadingIcon是否需要保持在可视区域内
|
|
18
18
|
*/
|
|
19
19
|
loadingInView?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* loadingInView为true时才生效
|
|
22
|
+
* LoadingIcon距离边界最近距离
|
|
23
|
+
*/
|
|
24
|
+
spaceToBorder: number;
|
|
20
25
|
}
|
|
21
26
|
declare class LoadingContainer extends React.Component<LoadingContainerProps> {
|
|
22
27
|
prefixCls: string;
|
|
23
28
|
addScrollHandlerListener: AddListenerEventRemoveHandler;
|
|
29
|
+
addResizeHandlerListener: AddListenerEventRemoveHandler;
|
|
24
30
|
wrapRef: React.RefObject<HTMLDivElement>;
|
|
25
31
|
iconRef: React.RefObject<HTMLSpanElement>;
|
|
32
|
+
static defaultProps: {
|
|
33
|
+
spaceToBorder: number;
|
|
34
|
+
};
|
|
26
35
|
componentDidMount(): void;
|
|
27
36
|
componentDidUpdate(prevProps: Readonly<LoadingContainerProps>): void;
|
|
28
37
|
componentWillUnmount(): void;
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
addListener: () => void;
|
|
39
|
+
removeListener: () => void;
|
|
31
40
|
setIconTopStyle: (top: string) => void;
|
|
32
41
|
onHandlerScroll: () => void;
|
|
33
42
|
render(): JSX.Element;
|
|
@@ -41,17 +41,25 @@ var LoadingContainer = /** @class */function (_super) {
|
|
|
41
41
|
_this.prefixCls = 'ab-loading-container';
|
|
42
42
|
_this.wrapRef = /*#__PURE__*/(0, _react.createRef)();
|
|
43
43
|
_this.iconRef = /*#__PURE__*/(0, _react.createRef)();
|
|
44
|
-
_this.
|
|
44
|
+
_this.addListener = function () {
|
|
45
45
|
if (!_this.addScrollHandlerListener) {
|
|
46
46
|
// 滚动监听
|
|
47
47
|
_this.addScrollHandlerListener = (0, _utils.addEventListener)(window, 'scroll', (0, _utils.throttleWithRAF)(_this.onHandlerScroll));
|
|
48
48
|
}
|
|
49
|
+
if (!_this.addResizeHandlerListener) {
|
|
50
|
+
// resize监听
|
|
51
|
+
_this.addResizeHandlerListener = (0, _utils.addEventListener)(window, 'resize', (0, _utils.throttleWithRAF)(_this.onHandlerScroll));
|
|
52
|
+
}
|
|
49
53
|
};
|
|
50
|
-
_this.
|
|
54
|
+
_this.removeListener = function () {
|
|
51
55
|
if (_this.addScrollHandlerListener) {
|
|
52
56
|
_this.addScrollHandlerListener();
|
|
53
57
|
_this.addScrollHandlerListener = null;
|
|
54
58
|
}
|
|
59
|
+
if (_this.addResizeHandlerListener) {
|
|
60
|
+
_this.addResizeHandlerListener();
|
|
61
|
+
_this.addResizeHandlerListener = null;
|
|
62
|
+
}
|
|
55
63
|
};
|
|
56
64
|
_this.setIconTopStyle = function (top) {
|
|
57
65
|
_this.iconRef.current.style.top = top;
|
|
@@ -81,36 +89,39 @@ var LoadingContainer = /** @class */function (_super) {
|
|
|
81
89
|
_this.setIconTopStyle("".concat(window.innerHeight / 2 - top, "px"));
|
|
82
90
|
return;
|
|
83
91
|
}
|
|
92
|
+
var spaceToBorder = _this.props.spaceToBorder;
|
|
84
93
|
if (top < 0) {
|
|
85
94
|
// 组件上半部分超出可视区域
|
|
86
95
|
var iconTop_1 = bottom / 2 - top;
|
|
87
|
-
|
|
96
|
+
var maxTop = height - halfIconHeight - spaceToBorder;
|
|
97
|
+
_this.setIconTopStyle("".concat(iconTop_1 > maxTop ? maxTop : iconTop_1, "px"));
|
|
88
98
|
return;
|
|
89
99
|
}
|
|
90
100
|
// 组件下半部分超出可视区域
|
|
91
101
|
var iconTop = (window.innerHeight - top) / 2;
|
|
92
|
-
|
|
102
|
+
var minTop = halfIconHeight + spaceToBorder;
|
|
103
|
+
_this.setIconTopStyle("".concat(iconTop < minTop ? minTop : iconTop, "px"));
|
|
93
104
|
};
|
|
94
105
|
return _this;
|
|
95
106
|
}
|
|
96
107
|
LoadingContainer.prototype.componentDidMount = function () {
|
|
97
108
|
if (this.props.loadingInView && this.props.loading) {
|
|
98
109
|
this.onHandlerScroll();
|
|
99
|
-
this.
|
|
110
|
+
this.addListener();
|
|
100
111
|
}
|
|
101
112
|
};
|
|
102
113
|
LoadingContainer.prototype.componentDidUpdate = function (prevProps) {
|
|
103
114
|
if (prevProps.loading !== this.props.loading || prevProps.loadingInView !== this.props.loadingInView) {
|
|
104
115
|
if (this.props.loadingInView && this.props.loading) {
|
|
105
116
|
this.onHandlerScroll();
|
|
106
|
-
this.
|
|
117
|
+
this.addListener();
|
|
107
118
|
return;
|
|
108
119
|
}
|
|
109
|
-
this.
|
|
120
|
+
this.removeListener();
|
|
110
121
|
}
|
|
111
122
|
};
|
|
112
123
|
LoadingContainer.prototype.componentWillUnmount = function () {
|
|
113
|
-
this.
|
|
124
|
+
this.removeListener();
|
|
114
125
|
};
|
|
115
126
|
LoadingContainer.prototype.render = function () {
|
|
116
127
|
var _a;
|
|
@@ -130,6 +141,9 @@ var LoadingContainer = /** @class */function (_super) {
|
|
|
130
141
|
ref: this.iconRef
|
|
131
142
|
})));
|
|
132
143
|
};
|
|
144
|
+
LoadingContainer.defaultProps = {
|
|
145
|
+
spaceToBorder: 0
|
|
146
|
+
};
|
|
133
147
|
return LoadingContainer;
|
|
134
148
|
}(_react.default.Component);
|
|
135
149
|
var _default = LoadingContainer;
|
|
@@ -4,7 +4,7 @@ export declare enum ScrollbarSize {
|
|
|
4
4
|
Medium = "md",
|
|
5
5
|
Large = "lg"
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface ScrollbarProps extends React.HtmlHTMLAttributes<HTMLElement> {
|
|
8
8
|
/**
|
|
9
9
|
* 滚动内容
|
|
10
10
|
*/
|
|
@@ -38,13 +38,13 @@ export interface ScrollContainerProps extends React.HtmlHTMLAttributes<HTMLEleme
|
|
|
38
38
|
*/
|
|
39
39
|
isHiddenBar?: boolean;
|
|
40
40
|
}
|
|
41
|
-
interface
|
|
41
|
+
interface ScrollbarNotRefProps extends ScrollbarProps {
|
|
42
42
|
/**
|
|
43
43
|
* 此属性可以忽略, storybook问题
|
|
44
44
|
*/
|
|
45
45
|
upperRef: React.Ref<HTMLElement>;
|
|
46
46
|
}
|
|
47
|
-
export declare class
|
|
47
|
+
export declare class ScrollbarNotRef extends React.Component<ScrollbarNotRefProps> {
|
|
48
48
|
static defaultProps: {
|
|
49
49
|
tagName: string;
|
|
50
50
|
isHiddenBar: boolean;
|
|
@@ -54,9 +54,7 @@ export declare class ScrollContainerNotRef extends React.Component<ScrollContain
|
|
|
54
54
|
};
|
|
55
55
|
prefixCls: string;
|
|
56
56
|
wrapRef: React.RefObject<HTMLElement>;
|
|
57
|
-
contentRef: React.RefObject<HTMLDivElement>;
|
|
58
|
-
getMarginValueBySize: () => "0" | "0.12rem" | "0.08rem" | "0.06rem";
|
|
59
57
|
render(): JSX.Element;
|
|
60
58
|
}
|
|
61
|
-
declare const
|
|
62
|
-
export default
|
|
59
|
+
declare const Scrollbar: React.ForwardRefExoticComponent<ScrollbarProps & React.RefAttributes<HTMLElement>>;
|
|
60
|
+
export default Scrollbar;
|