@arco-design/mobile-react 2.28.2 → 2.29.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 +16 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/grid/style/css/index.css +4 -0
- package/cjs/grid/style/index.less +6 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +5 -1
- package/cjs/skeleton/demo/style/css/mobile.css +7 -0
- package/cjs/skeleton/demo/style/mobile.less +13 -0
- package/cjs/skeleton/elements.d.ts +7 -0
- package/cjs/skeleton/elements.js +302 -0
- package/cjs/skeleton/index.d.ts +18 -0
- package/cjs/skeleton/index.js +100 -0
- package/cjs/skeleton/skeleton-context.d.ts +3 -0
- package/cjs/skeleton/skeleton-context.js +15 -0
- package/cjs/skeleton/style/css/index.css +180 -0
- package/cjs/skeleton/style/css/index.d.ts +3 -0
- package/cjs/skeleton/style/css/index.js +7 -0
- package/cjs/skeleton/style/index.d.ts +3 -0
- package/cjs/skeleton/style/index.js +7 -0
- package/cjs/skeleton/style/index.less +147 -0
- package/cjs/skeleton/type.d.ts +104 -0
- package/cjs/skeleton/type.js +3 -0
- package/cjs/style.d.ts +1 -0
- package/cjs/style.js +2 -0
- package/dist/index.js +390 -34
- package/dist/index.min.js +4 -4
- package/dist/style.css +123 -0
- package/dist/style.min.css +1 -1
- package/esm/grid/style/css/index.css +4 -0
- package/esm/grid/style/index.less +6 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/skeleton/demo/style/css/mobile.css +7 -0
- package/esm/skeleton/demo/style/mobile.less +13 -0
- package/esm/skeleton/elements.d.ts +7 -0
- package/esm/skeleton/elements.js +281 -0
- package/esm/skeleton/index.d.ts +18 -0
- package/esm/skeleton/index.js +82 -0
- package/esm/skeleton/skeleton-context.d.ts +3 -0
- package/esm/skeleton/skeleton-context.js +5 -0
- package/esm/skeleton/style/css/index.css +180 -0
- package/esm/skeleton/style/css/index.d.ts +3 -0
- package/esm/skeleton/style/css/index.js +3 -0
- package/esm/skeleton/style/index.d.ts +3 -0
- package/esm/skeleton/style/index.js +3 -0
- package/esm/skeleton/style/index.less +147 -0
- package/esm/skeleton/type.d.ts +104 -0
- package/esm/skeleton/type.js +1 -0
- package/esm/style.d.ts +1 -0
- package/esm/style.js +1 -0
- package/package.json +3 -3
- package/tokens/app/arcodesign/default/css-variables.less +16 -0
- package/tokens/app/arcodesign/default/index.d.ts +16 -0
- package/tokens/app/arcodesign/default/index.js +17 -1
- package/tokens/app/arcodesign/default/index.json +190 -0
- package/tokens/app/arcodesign/default/index.less +16 -0
- package/umd/grid/style/css/index.css +4 -0
- package/umd/grid/style/index.less +6 -0
- package/umd/index.d.ts +1 -0
- package/umd/index.js +7 -5
- package/umd/skeleton/demo/style/css/mobile.css +7 -0
- package/umd/skeleton/demo/style/mobile.less +13 -0
- package/umd/skeleton/elements.d.ts +7 -0
- package/umd/skeleton/elements.js +306 -0
- package/umd/skeleton/index.d.ts +18 -0
- package/umd/skeleton/index.js +104 -0
- package/umd/skeleton/skeleton-context.d.ts +3 -0
- package/umd/skeleton/skeleton-context.js +28 -0
- package/umd/skeleton/style/css/index.css +180 -0
- package/umd/skeleton/style/css/index.d.ts +3 -0
- package/umd/skeleton/style/css/index.js +15 -0
- package/umd/skeleton/style/index.d.ts +3 -0
- package/umd/skeleton/style/index.js +15 -0
- package/umd/skeleton/style/index.less +147 -0
- package/umd/skeleton/type.d.ts +104 -0
- package/umd/skeleton/type.js +17 -0
- package/umd/style.d.ts +1 -0
- package/umd/style.js +4 -4
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,22 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
# [2.29.0](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.28.2...@arco-design/mobile-react@2.29.0) (2023-08-17)
|
7
|
+
|
8
|
+
|
9
|
+
### Bug Fixes
|
10
|
+
|
11
|
+
* compatibility between grid and image picker ([#151](https://github.com/arco-design/arco-design-mobile/issues/151)) ([28ae5b9](https://github.com/arco-design/arco-design-mobile/commit/28ae5b9a8eb6dd91422d50d3f2cfe8b0d7ccdfa4))
|
12
|
+
|
13
|
+
|
14
|
+
### Features
|
15
|
+
|
16
|
+
* add new component `Skeleton` ([#136](https://github.com/arco-design/arco-design-mobile/issues/136)) ([49351f6](https://github.com/arco-design/arco-design-mobile/commit/49351f639b7a3272b55f189447d935946933ddd6))
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
6
22
|
## [2.28.2](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.28.1...@arco-design/mobile-react@2.28.2) (2023-08-07)
|
7
23
|
|
8
24
|
|
package/README.en-US.md
CHANGED
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="_b
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">Click here</a>**
|
60
60
|
|
61
61
|
```
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.28.
|
63
|
-
<script src="https://unpkg.com/@arco-design/mobile-react@2.28.
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.28.2/dist/style.min.css">
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.28.2/dist/index.min.js"></script>
|
64
64
|
```
|
65
65
|
|
66
66
|
## Full import
|
package/README.md
CHANGED
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">戳这里获取</a>**
|
60
60
|
|
61
61
|
```
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.28.
|
63
|
-
<script src="https://unpkg.com/@arco-design/mobile-react@2.28.
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.28.2/dist/style.min.css">
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.28.2/dist/index.min.js"></script>
|
64
64
|
```
|
65
65
|
|
66
66
|
## 引入全部
|
package/cjs/index.d.ts
CHANGED
@@ -43,6 +43,7 @@ export { default as PullRefresh } from './pull-refresh';
|
|
43
43
|
export { default as Radio } from './radio';
|
44
44
|
export { default as Rate } from './rate';
|
45
45
|
export { default as SearchBar } from './search-bar';
|
46
|
+
export { default as Skeleton } from './skeleton';
|
46
47
|
export { default as ShowMonitor } from './show-monitor';
|
47
48
|
export { default as Slider } from './slider';
|
48
49
|
export { default as Stepper } from './stepper';
|
package/cjs/index.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
4
|
|
5
5
|
exports.__esModule = true;
|
6
|
-
exports.Transition = exports.Toast = exports.Textarea = exports.Tag = exports.Tabs = exports.TabBar = exports.Switch = exports.SwipeLoad = exports.SwipeAction = exports.Sticky = exports.Steps = exports.Stepper = exports.Slider = exports.ShowMonitor = exports.SearchBar = exports.Rate = exports.Radio = exports.PullRefresh = exports.Progress = exports.Portal = exports.PopupSwiper = exports.Popup = exports.Popover = exports.PickerView = exports.Picker = exports.Pagination = exports.Notify = exports.NoticeBar = exports.NavBar = exports.Masking = exports.Loading = exports.LoadMore = exports.Keyboard = exports.Input = exports.IndexBar = exports.ImagePreview = exports.ImagePicker = exports.Image = exports.Grid = exports.Form = exports.Ellipsis = exports.DropdownMenu = exports.Dropdown = exports.Divider = exports.Dialog = exports.DatePicker = exports.CountDown = exports.ContextProvider = exports.Collapse = exports.CircleProgress = exports.Checkbox = exports.Cell = exports.Carousel = exports.Button = exports.Badge = exports.Avatar = exports.ActionSheet = void 0;
|
6
|
+
exports.Transition = exports.Toast = exports.Textarea = exports.Tag = exports.Tabs = exports.TabBar = exports.Switch = exports.SwipeLoad = exports.SwipeAction = exports.Sticky = exports.Steps = exports.Stepper = exports.Slider = exports.Skeleton = exports.ShowMonitor = exports.SearchBar = exports.Rate = exports.Radio = exports.PullRefresh = exports.Progress = exports.Portal = exports.PopupSwiper = exports.Popup = exports.Popover = exports.PickerView = exports.Picker = exports.Pagination = exports.Notify = exports.NoticeBar = exports.NavBar = exports.Masking = exports.Loading = exports.LoadMore = exports.Keyboard = exports.Input = exports.IndexBar = exports.ImagePreview = exports.ImagePicker = exports.Image = exports.Grid = exports.Form = exports.Ellipsis = exports.DropdownMenu = exports.Dropdown = exports.Divider = exports.Dialog = exports.DatePicker = exports.CountDown = exports.ContextProvider = exports.Collapse = exports.CircleProgress = exports.Checkbox = exports.Cell = exports.Carousel = exports.Button = exports.Badge = exports.Avatar = exports.ActionSheet = void 0;
|
7
7
|
|
8
8
|
var _tabs = _interopRequireDefault(require("./tabs"));
|
9
9
|
|
@@ -185,6 +185,10 @@ var _searchBar = _interopRequireDefault(require("./search-bar"));
|
|
185
185
|
|
186
186
|
exports.SearchBar = _searchBar.default;
|
187
187
|
|
188
|
+
var _skeleton = _interopRequireDefault(require("./skeleton"));
|
189
|
+
|
190
|
+
exports.Skeleton = _skeleton.default;
|
191
|
+
|
188
192
|
var _showMonitor = _interopRequireDefault(require("./show-monitor"));
|
189
193
|
|
190
194
|
exports.ShowMonitor = _showMonitor.default;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { SkeletonAvatarProps, SkeletonGridProps, SkeletonNodeProps, SkeletonParagraphProps, SkeletonRef, SkeletonTitleProps } from './type';
|
3
|
+
export declare const SkeletonNode: React.ForwardRefExoticComponent<SkeletonNodeProps & React.RefAttributes<SkeletonRef>>;
|
4
|
+
export declare const SkeletonTitle: React.ForwardRefExoticComponent<SkeletonTitleProps & React.RefAttributes<SkeletonRef>>;
|
5
|
+
export declare const SkeletonParagraph: React.ForwardRefExoticComponent<SkeletonParagraphProps & React.RefAttributes<SkeletonRef>>;
|
6
|
+
export declare const SkeletonAvatar: React.ForwardRefExoticComponent<SkeletonAvatarProps & React.RefAttributes<SkeletonRef>>;
|
7
|
+
export declare const SkeletonGrid: React.ForwardRefExoticComponent<SkeletonGridProps & React.RefAttributes<SkeletonRef>>;
|
@@ -0,0 +1,302 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.SkeletonTitle = exports.SkeletonParagraph = exports.SkeletonNode = exports.SkeletonGrid = exports.SkeletonAvatar = void 0;
|
7
|
+
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
|
+
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
11
|
+
|
12
|
+
var _mobileUtils = require("@arco-design/mobile-utils");
|
13
|
+
|
14
|
+
var _helpers = require("../_helpers");
|
15
|
+
|
16
|
+
var _contextProvider = require("../context-provider");
|
17
|
+
|
18
|
+
var _skeletonContext = require("./skeleton-context");
|
19
|
+
|
20
|
+
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); }
|
21
|
+
|
22
|
+
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; }
|
23
|
+
|
24
|
+
var calcOffset = function calcOffset(dom, useRtl) {
|
25
|
+
if (!dom) {
|
26
|
+
return 0;
|
27
|
+
}
|
28
|
+
|
29
|
+
if (useRtl) {
|
30
|
+
return dom.offsetLeft - dom.offsetTop;
|
31
|
+
}
|
32
|
+
|
33
|
+
return dom.offsetLeft + dom.offsetTop;
|
34
|
+
};
|
35
|
+
|
36
|
+
function useOffset(dom, useRtl) {
|
37
|
+
var _useState = (0, _react.useState)(),
|
38
|
+
offset = _useState[0],
|
39
|
+
setOffset = _useState[1];
|
40
|
+
|
41
|
+
var calcLayout = function calcLayout() {
|
42
|
+
var isList = Array.isArray(dom);
|
43
|
+
|
44
|
+
if (!(isList ? dom.length > 0 : dom == null ? void 0 : dom.current)) {
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
|
48
|
+
setOffset(isList ? dom.map(function (item) {
|
49
|
+
return calcOffset(item, useRtl);
|
50
|
+
}) : calcOffset(dom.current, useRtl));
|
51
|
+
};
|
52
|
+
|
53
|
+
(0, _react.useEffect)(function () {
|
54
|
+
(0, _mobileUtils.nextTick)(function () {
|
55
|
+
calcLayout();
|
56
|
+
});
|
57
|
+
}, [dom, useRtl]);
|
58
|
+
(0, _helpers.useListenResize)(calcLayout);
|
59
|
+
return offset;
|
60
|
+
}
|
61
|
+
|
62
|
+
var SkeletonNode = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
63
|
+
var _props$className = props.className,
|
64
|
+
className = _props$className === void 0 ? '' : _props$className,
|
65
|
+
style = props.style,
|
66
|
+
children = props.children;
|
67
|
+
|
68
|
+
var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
|
69
|
+
useRtl = _useContext.useRtl,
|
70
|
+
prefixCls = _useContext.prefixCls;
|
71
|
+
|
72
|
+
var _useContext2 = (0, _react.useContext)(_skeletonContext.SkeletonContext),
|
73
|
+
backgroundColor = _useContext2.backgroundColor,
|
74
|
+
showAnimation = _useContext2.showAnimation,
|
75
|
+
animation = _useContext2.animation;
|
76
|
+
|
77
|
+
var domRef = (0, _react.useRef)(null);
|
78
|
+
var isGradientAnimation = showAnimation && animation === 'gradient';
|
79
|
+
var offset = useOffset(isGradientAnimation ? domRef : undefined, useRtl);
|
80
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
81
|
+
return {
|
82
|
+
dom: domRef.current
|
83
|
+
};
|
84
|
+
});
|
85
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
86
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-node", showAnimation && prefixCls + "-skeleton-animation-" + animation, className),
|
87
|
+
style: (0, _extends2.default)({
|
88
|
+
backgroundColor: backgroundColor
|
89
|
+
}, style),
|
90
|
+
ref: domRef
|
91
|
+
}, children, isGradientAnimation && offset !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
92
|
+
className: prefixCls + "-skeleton-animation-item",
|
93
|
+
style: {
|
94
|
+
left: 0 - offset
|
95
|
+
}
|
96
|
+
}));
|
97
|
+
});
|
98
|
+
exports.SkeletonNode = SkeletonNode;
|
99
|
+
var SkeletonTitle = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
100
|
+
var _props$className2 = props.className,
|
101
|
+
className = _props$className2 === void 0 ? '' : _props$className2,
|
102
|
+
style = props.style,
|
103
|
+
_props$width = props.width,
|
104
|
+
width = _props$width === void 0 ? '40%' : _props$width;
|
105
|
+
|
106
|
+
var _useContext3 = (0, _react.useContext)(_contextProvider.GlobalContext),
|
107
|
+
useRtl = _useContext3.useRtl,
|
108
|
+
prefixCls = _useContext3.prefixCls;
|
109
|
+
|
110
|
+
var _useContext4 = (0, _react.useContext)(_skeletonContext.SkeletonContext),
|
111
|
+
backgroundColor = _useContext4.backgroundColor,
|
112
|
+
showAnimation = _useContext4.showAnimation,
|
113
|
+
animation = _useContext4.animation;
|
114
|
+
|
115
|
+
var domRef = (0, _react.useRef)(null);
|
116
|
+
var isGradientAnimation = showAnimation && animation === 'gradient';
|
117
|
+
var offset = useOffset(isGradientAnimation ? domRef : undefined, useRtl);
|
118
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
119
|
+
return {
|
120
|
+
dom: domRef.current
|
121
|
+
};
|
122
|
+
});
|
123
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
124
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-title", showAnimation && prefixCls + "-skeleton-animation-" + animation, className),
|
125
|
+
style: (0, _extends2.default)({
|
126
|
+
width: width,
|
127
|
+
backgroundColor: backgroundColor
|
128
|
+
}, style),
|
129
|
+
ref: domRef
|
130
|
+
}, isGradientAnimation && offset !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
131
|
+
className: prefixCls + "-skeleton-animation-item",
|
132
|
+
style: {
|
133
|
+
left: 0 - offset
|
134
|
+
}
|
135
|
+
}));
|
136
|
+
});
|
137
|
+
exports.SkeletonTitle = SkeletonTitle;
|
138
|
+
var SkeletonParagraph = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
139
|
+
var _props$className3 = props.className,
|
140
|
+
className = _props$className3 === void 0 ? '' : _props$className3,
|
141
|
+
style = props.style,
|
142
|
+
_props$rows = props.rows,
|
143
|
+
rows = _props$rows === void 0 ? 3 : _props$rows,
|
144
|
+
_props$width2 = props.width,
|
145
|
+
width = _props$width2 === void 0 ? '60%' : _props$width2;
|
146
|
+
|
147
|
+
var _useContext5 = (0, _react.useContext)(_contextProvider.GlobalContext),
|
148
|
+
useRtl = _useContext5.useRtl,
|
149
|
+
prefixCls = _useContext5.prefixCls;
|
150
|
+
|
151
|
+
var _useContext6 = (0, _react.useContext)(_skeletonContext.SkeletonContext),
|
152
|
+
backgroundColor = _useContext6.backgroundColor,
|
153
|
+
showAnimation = _useContext6.showAnimation,
|
154
|
+
animation = _useContext6.animation;
|
155
|
+
|
156
|
+
var domRef = (0, _react.useRef)(null);
|
157
|
+
var lineDomRefs = (0, _react.useRef)([]);
|
158
|
+
var isGradientAnimation = showAnimation && animation === 'gradient';
|
159
|
+
var offsets = useOffset(isGradientAnimation ? lineDomRefs.current : undefined, useRtl);
|
160
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
161
|
+
return {
|
162
|
+
dom: domRef.current
|
163
|
+
};
|
164
|
+
});
|
165
|
+
|
166
|
+
var getWidth = function getWidth(idx) {
|
167
|
+
if ((0, _mobileUtils.isArray)(width)) {
|
168
|
+
return width[idx];
|
169
|
+
}
|
170
|
+
|
171
|
+
if (rows - 1 === idx) {
|
172
|
+
return width;
|
173
|
+
}
|
174
|
+
|
175
|
+
return undefined;
|
176
|
+
};
|
177
|
+
|
178
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
179
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-paragraph", className),
|
180
|
+
style: style,
|
181
|
+
ref: domRef
|
182
|
+
}, Array.from(new Array(rows)).map(function (_, idx) {
|
183
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
184
|
+
key: idx,
|
185
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-paragraph-line", showAnimation && prefixCls + "-skeleton-animation-" + animation),
|
186
|
+
style: {
|
187
|
+
width: getWidth(idx),
|
188
|
+
backgroundColor: backgroundColor
|
189
|
+
},
|
190
|
+
ref: function ref(el) {
|
191
|
+
return el && (lineDomRefs.current[idx] = el);
|
192
|
+
}
|
193
|
+
}, isGradientAnimation && offsets !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
194
|
+
className: prefixCls + "-skeleton-animation-item",
|
195
|
+
style: {
|
196
|
+
left: 0 - (offsets[idx] || 0)
|
197
|
+
}
|
198
|
+
}));
|
199
|
+
}));
|
200
|
+
});
|
201
|
+
exports.SkeletonParagraph = SkeletonParagraph;
|
202
|
+
var SkeletonAvatar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
203
|
+
var _props$className4 = props.className,
|
204
|
+
className = _props$className4 === void 0 ? '' : _props$className4,
|
205
|
+
style = props.style;
|
206
|
+
|
207
|
+
var _useContext7 = (0, _react.useContext)(_contextProvider.GlobalContext),
|
208
|
+
useRtl = _useContext7.useRtl,
|
209
|
+
prefixCls = _useContext7.prefixCls;
|
210
|
+
|
211
|
+
var _useContext8 = (0, _react.useContext)(_skeletonContext.SkeletonContext),
|
212
|
+
backgroundColor = _useContext8.backgroundColor,
|
213
|
+
showAnimation = _useContext8.showAnimation,
|
214
|
+
animation = _useContext8.animation;
|
215
|
+
|
216
|
+
var domRef = (0, _react.useRef)(null);
|
217
|
+
var isGradientAnimation = showAnimation && animation === 'gradient';
|
218
|
+
var offset = useOffset(isGradientAnimation ? domRef : undefined, useRtl);
|
219
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
220
|
+
return {
|
221
|
+
dom: domRef.current
|
222
|
+
};
|
223
|
+
});
|
224
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
225
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-avatar", showAnimation && prefixCls + "-skeleton-animation-" + animation, className),
|
226
|
+
style: (0, _extends2.default)({
|
227
|
+
backgroundColor: backgroundColor
|
228
|
+
}, style),
|
229
|
+
ref: domRef
|
230
|
+
}, isGradientAnimation && offset !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
231
|
+
className: prefixCls + "-skeleton-animation-item",
|
232
|
+
style: {
|
233
|
+
left: 0 - offset
|
234
|
+
}
|
235
|
+
}));
|
236
|
+
});
|
237
|
+
exports.SkeletonAvatar = SkeletonAvatar;
|
238
|
+
var SkeletonGrid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
239
|
+
var _props$className5 = props.className,
|
240
|
+
className = _props$className5 === void 0 ? '' : _props$className5,
|
241
|
+
style = props.style,
|
242
|
+
_props$columns = props.columns,
|
243
|
+
columns = _props$columns === void 0 ? 4 : _props$columns;
|
244
|
+
|
245
|
+
var _useContext9 = (0, _react.useContext)(_contextProvider.GlobalContext),
|
246
|
+
useRtl = _useContext9.useRtl,
|
247
|
+
prefixCls = _useContext9.prefixCls;
|
248
|
+
|
249
|
+
var _useContext10 = (0, _react.useContext)(_skeletonContext.SkeletonContext),
|
250
|
+
backgroundColor = _useContext10.backgroundColor,
|
251
|
+
showAnimation = _useContext10.showAnimation,
|
252
|
+
animation = _useContext10.animation;
|
253
|
+
|
254
|
+
var domRef = (0, _react.useRef)(null);
|
255
|
+
var iconDomRefs = (0, _react.useRef)([]);
|
256
|
+
var textDomRefs = (0, _react.useRef)([]);
|
257
|
+
var isGradientAnimation = showAnimation && animation === 'gradient';
|
258
|
+
var iconOffsets = useOffset(isGradientAnimation ? iconDomRefs.current : undefined, useRtl);
|
259
|
+
var textOffsets = useOffset(isGradientAnimation ? textDomRefs.current : undefined, useRtl);
|
260
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
261
|
+
return {
|
262
|
+
dom: domRef.current
|
263
|
+
};
|
264
|
+
});
|
265
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
266
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-grid", className),
|
267
|
+
style: style,
|
268
|
+
ref: domRef
|
269
|
+
}, Array.from(new Array(columns)).map(function (_, idx) {
|
270
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
271
|
+
key: idx,
|
272
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-grid-item")
|
273
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
274
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-grid-icon", showAnimation && prefixCls + "-skeleton-animation-" + animation),
|
275
|
+
style: {
|
276
|
+
backgroundColor: backgroundColor
|
277
|
+
},
|
278
|
+
ref: function ref(el) {
|
279
|
+
return el && (iconDomRefs.current[idx] = el);
|
280
|
+
}
|
281
|
+
}, isGradientAnimation && iconOffsets !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
282
|
+
className: prefixCls + "-skeleton-animation-item",
|
283
|
+
style: {
|
284
|
+
left: 0 - ((iconOffsets == null ? void 0 : iconOffsets[idx]) || 0)
|
285
|
+
}
|
286
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
287
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton-item", prefixCls + "-skeleton-grid-text", showAnimation && prefixCls + "-skeleton-animation-" + animation),
|
288
|
+
style: {
|
289
|
+
backgroundColor: backgroundColor
|
290
|
+
},
|
291
|
+
ref: function ref(el) {
|
292
|
+
return el && (textDomRefs.current[idx] = el);
|
293
|
+
}
|
294
|
+
}, isGradientAnimation && textOffsets !== undefined && /*#__PURE__*/_react.default.createElement("div", {
|
295
|
+
className: prefixCls + "-skeleton-animation-item",
|
296
|
+
style: {
|
297
|
+
left: 0 - ((textOffsets == null ? void 0 : textOffsets[idx]) || 0)
|
298
|
+
}
|
299
|
+
})));
|
300
|
+
}));
|
301
|
+
});
|
302
|
+
exports.SkeletonGrid = SkeletonGrid;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { SkeletonProps, SkeletonRef } from './type';
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<SkeletonRef>> & {
|
4
|
+
Node: React.ForwardRefExoticComponent<import("./type").SkeletonNodeProps & React.RefAttributes<SkeletonRef>>;
|
5
|
+
Title: React.ForwardRefExoticComponent<import("./type").SkeletonTitleProps & React.RefAttributes<SkeletonRef>>;
|
6
|
+
Paragraph: React.ForwardRefExoticComponent<import("./type").SkeletonParagraphProps & React.RefAttributes<SkeletonRef>>;
|
7
|
+
Avatar: React.ForwardRefExoticComponent<import("./type").SkeletonAvatarProps & React.RefAttributes<SkeletonRef>>;
|
8
|
+
Grid: React.ForwardRefExoticComponent<import("./type").SkeletonGridProps & React.RefAttributes<SkeletonRef>>;
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* 在内容加载过程中展示一组占位图形。
|
12
|
+
* @en Display a set of placeholder graphics during content loading
|
13
|
+
* @type 信息展示
|
14
|
+
* @type_en Data Display
|
15
|
+
* @name 骨架屏
|
16
|
+
* @name_en Skeleton
|
17
|
+
*/
|
18
|
+
export default _default;
|
@@ -0,0 +1,100 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
|
+
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
11
|
+
|
12
|
+
var _mobileUtils = require("@arco-design/mobile-utils");
|
13
|
+
|
14
|
+
var _contextProvider = require("../context-provider");
|
15
|
+
|
16
|
+
var _elements = require("./elements");
|
17
|
+
|
18
|
+
var _skeletonContext = require("./skeleton-context");
|
19
|
+
|
20
|
+
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); }
|
21
|
+
|
22
|
+
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; }
|
23
|
+
|
24
|
+
function getComponentProps(prop) {
|
25
|
+
if (prop && typeof prop === 'object') {
|
26
|
+
return prop;
|
27
|
+
}
|
28
|
+
|
29
|
+
return {};
|
30
|
+
}
|
31
|
+
|
32
|
+
var Skeleton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
33
|
+
var _cls;
|
34
|
+
|
35
|
+
var _props$className = props.className,
|
36
|
+
className = _props$className === void 0 ? '' : _props$className,
|
37
|
+
style = props.style,
|
38
|
+
children = props.children,
|
39
|
+
_props$title = props.title,
|
40
|
+
title = _props$title === void 0 ? true : _props$title,
|
41
|
+
_props$paragraph = props.paragraph,
|
42
|
+
paragraph = _props$paragraph === void 0 ? true : _props$paragraph,
|
43
|
+
_props$avatar = props.avatar,
|
44
|
+
avatar = _props$avatar === void 0 ? false : _props$avatar,
|
45
|
+
grid = props.grid,
|
46
|
+
_props$showAnimation = props.showAnimation,
|
47
|
+
showAnimation = _props$showAnimation === void 0 ? true : _props$showAnimation,
|
48
|
+
_props$animation = props.animation,
|
49
|
+
animation = _props$animation === void 0 ? 'gradient' : _props$animation,
|
50
|
+
animationGradientColor = props.animationGradientColor,
|
51
|
+
backgroundColor = props.backgroundColor;
|
52
|
+
var domRef = (0, _react.useRef)(null);
|
53
|
+
|
54
|
+
var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
|
55
|
+
prefixCls = _useContext.prefixCls;
|
56
|
+
|
57
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
58
|
+
return {
|
59
|
+
dom: domRef.current
|
60
|
+
};
|
61
|
+
});
|
62
|
+
var isGrid = !!grid;
|
63
|
+
var hasTitle = !!title;
|
64
|
+
var hasParagraph = !!paragraph;
|
65
|
+
var hasAvatar = !!avatar;
|
66
|
+
var content = isGrid ? /*#__PURE__*/_react.default.createElement(_elements.SkeletonGrid, getComponentProps(grid)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hasAvatar && /*#__PURE__*/_react.default.createElement(_elements.SkeletonAvatar, getComponentProps(avatar)), (hasTitle || hasParagraph) && /*#__PURE__*/_react.default.createElement("div", {
|
67
|
+
className: prefixCls + "-skeleton-content"
|
68
|
+
}, hasTitle && /*#__PURE__*/_react.default.createElement(_elements.SkeletonTitle, getComponentProps(title)), hasParagraph && /*#__PURE__*/_react.default.createElement(_elements.SkeletonParagraph, getComponentProps(paragraph))));
|
69
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
70
|
+
className: (0, _mobileUtils.cls)(prefixCls + "-skeleton", (_cls = {}, _cls[prefixCls + "-skeleton-with-avatar"] = hasAvatar, _cls), className),
|
71
|
+
style: (0, _extends2.default)({
|
72
|
+
color: animationGradientColor
|
73
|
+
}, style),
|
74
|
+
ref: domRef
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_skeletonContext.SkeletonContext.Provider, {
|
76
|
+
value: {
|
77
|
+
showAnimation: showAnimation,
|
78
|
+
animation: animation,
|
79
|
+
backgroundColor: backgroundColor
|
80
|
+
}
|
81
|
+
}, content, children));
|
82
|
+
});
|
83
|
+
/**
|
84
|
+
* 在内容加载过程中展示一组占位图形。
|
85
|
+
* @en Display a set of placeholder graphics during content loading
|
86
|
+
* @type 信息展示
|
87
|
+
* @type_en Data Display
|
88
|
+
* @name 骨架屏
|
89
|
+
* @name_en Skeleton
|
90
|
+
*/
|
91
|
+
|
92
|
+
var _default = (0, _mobileUtils.componentWrapper)(Skeleton, {
|
93
|
+
Node: _elements.SkeletonNode,
|
94
|
+
Title: _elements.SkeletonTitle,
|
95
|
+
Paragraph: _elements.SkeletonParagraph,
|
96
|
+
Avatar: _elements.SkeletonAvatar,
|
97
|
+
Grid: _elements.SkeletonGrid
|
98
|
+
});
|
99
|
+
|
100
|
+
exports.default = _default;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.SkeletonContext = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
9
|
+
|
10
|
+
var SkeletonContext = /*#__PURE__*/_react.default.createContext({
|
11
|
+
showAnimation: true,
|
12
|
+
animation: 'gradient'
|
13
|
+
});
|
14
|
+
|
15
|
+
exports.SkeletonContext = SkeletonContext;
|