musae 0.4.2 → 0.4.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/dist/components/avatar/avatar.cjs +9 -3
- package/dist/components/avatar/avatar.d.ts +1 -1
- package/dist/components/avatar/avatar.mjs +9 -3
- package/dist/components/image/image.cjs +2 -2
- package/dist/components/image/image.mjs +2 -2
- package/dist/components/upload/upload.cjs +2 -2
- package/dist/components/upload/upload.mjs +2 -2
- package/dist/components/upload/uploaded-list.cjs +21 -16
- package/dist/components/upload/uploaded-list.mjs +22 -17
- package/dist/types/avatar.d.ts +3 -2
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ var theme = require('../theme/theme.cjs');
|
|
|
12
12
|
var relax = require('@aiszlab/relax');
|
|
13
13
|
var skeleton = require('../skeleton/skeleton.cjs');
|
|
14
14
|
|
|
15
|
-
var _excluded = ["src", "alt", "shape", "size", "className", "style"];
|
|
15
|
+
var _excluded = ["src", "alt", "shape", "size", "className", "style", "crossOrigin", "referrerPolicy"];
|
|
16
16
|
var styles = {
|
|
17
17
|
avatar: function avatar(props) {
|
|
18
18
|
return [{
|
|
@@ -143,6 +143,8 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
143
143
|
_size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
144
144
|
className$1 = _ref.className,
|
|
145
145
|
style = _ref.style,
|
|
146
|
+
crossOrigin = _ref.crossOrigin,
|
|
147
|
+
referrerPolicy = _ref.referrerPolicy,
|
|
146
148
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
147
149
|
var theme$1 = hooks.useTheme();
|
|
148
150
|
var group = React.useContext(context.Context);
|
|
@@ -151,7 +153,9 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
151
153
|
var shape = (_group$shape = group === null || group === void 0 ? void 0 : group.shape) !== null && _group$shape !== void 0 ? _group$shape : _shape;
|
|
152
154
|
var classNames = useClassNames.useClassNames("avatar");
|
|
153
155
|
var loadStatus = relax.useImageLoader({
|
|
154
|
-
src: src
|
|
156
|
+
src: src,
|
|
157
|
+
crossOrigin: crossOrigin,
|
|
158
|
+
referrerPolicy: referrerPolicy
|
|
155
159
|
});
|
|
156
160
|
var styled = {
|
|
157
161
|
avatar: stylex.default.props(theme.typography.label[size], styles.avatar({
|
|
@@ -178,7 +182,9 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
178
182
|
src: src,
|
|
179
183
|
alt: alt,
|
|
180
184
|
className: styled.image.className,
|
|
181
|
-
style: styled.image.style
|
|
185
|
+
style: styled.image.style,
|
|
186
|
+
crossOrigin: crossOrigin,
|
|
187
|
+
referrerPolicy: referrerPolicy
|
|
182
188
|
})), loadStatus !== "loaded" && (alt === null || alt === void 0 ? void 0 : alt.slice(0, 2).toUpperCase()));
|
|
183
189
|
});
|
|
184
190
|
|
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
* @description
|
|
4
4
|
* `Avatar`
|
|
5
5
|
*/
|
|
6
|
-
declare const Avatar: React.ForwardRefExoticComponent<import("../../types/element").ComponentProps & {
|
|
6
|
+
declare const Avatar: React.ForwardRefExoticComponent<import("../../types/element").ComponentProps & Pick<import("../../types/image").ImageProps, "crossOrigin" | "referrerPolicy"> & {
|
|
7
7
|
src?: string;
|
|
8
8
|
alt?: string;
|
|
9
9
|
size?: "small" | "medium" | "large";
|
|
@@ -10,7 +10,7 @@ import { typography } from '../theme/theme.mjs';
|
|
|
10
10
|
import { useImageLoader, clsx } from '@aiszlab/relax';
|
|
11
11
|
import Skeleton from '../skeleton/skeleton.mjs';
|
|
12
12
|
|
|
13
|
-
var _excluded = ["src", "alt", "shape", "size", "className", "style"];
|
|
13
|
+
var _excluded = ["src", "alt", "shape", "size", "className", "style", "crossOrigin", "referrerPolicy"];
|
|
14
14
|
var styles = {
|
|
15
15
|
avatar: function avatar(props) {
|
|
16
16
|
return [{
|
|
@@ -141,6 +141,8 @@ var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
141
141
|
_size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
142
142
|
className = _ref.className,
|
|
143
143
|
style = _ref.style,
|
|
144
|
+
crossOrigin = _ref.crossOrigin,
|
|
145
|
+
referrerPolicy = _ref.referrerPolicy,
|
|
144
146
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
145
147
|
var theme = useTheme();
|
|
146
148
|
var group = useContext(Context);
|
|
@@ -149,7 +151,9 @@ var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
149
151
|
var shape = (_group$shape = group === null || group === void 0 ? void 0 : group.shape) !== null && _group$shape !== void 0 ? _group$shape : _shape;
|
|
150
152
|
var classNames = useClassNames("avatar");
|
|
151
153
|
var loadStatus = useImageLoader({
|
|
152
|
-
src: src
|
|
154
|
+
src: src,
|
|
155
|
+
crossOrigin: crossOrigin,
|
|
156
|
+
referrerPolicy: referrerPolicy
|
|
153
157
|
});
|
|
154
158
|
var styled = {
|
|
155
159
|
avatar: _stylex.props(typography.label[size], styles.avatar({
|
|
@@ -176,7 +180,9 @@ var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
176
180
|
src: src,
|
|
177
181
|
alt: alt,
|
|
178
182
|
className: styled.image.className,
|
|
179
|
-
style: styled.image.style
|
|
183
|
+
style: styled.image.style,
|
|
184
|
+
crossOrigin: crossOrigin,
|
|
185
|
+
referrerPolicy: referrerPolicy
|
|
180
186
|
})), loadStatus !== "loaded" && (alt === null || alt === void 0 ? void 0 : alt.slice(0, 2).toUpperCase()));
|
|
181
187
|
});
|
|
182
188
|
|
|
@@ -74,8 +74,8 @@ var Image = function Image(_ref) {
|
|
|
74
74
|
};
|
|
75
75
|
if (status === "loading") {
|
|
76
76
|
return /*#__PURE__*/React.createElement(skeleton.default, {
|
|
77
|
-
className: styled.loading.className,
|
|
78
|
-
style: styled.loading.style
|
|
77
|
+
className: relax.clsx(className$1, styled.loading.className),
|
|
78
|
+
style: _objectSpread(_objectSpread({}, styled.loading.style), style)
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
return /*#__PURE__*/React.createElement(React.Fragment, null, status === "loaded" && (/*#__PURE__*/React.createElement("img", {
|
|
@@ -72,8 +72,8 @@ var Image = function Image(_ref) {
|
|
|
72
72
|
};
|
|
73
73
|
if (status === "loading") {
|
|
74
74
|
return /*#__PURE__*/React.createElement(Skeleton, {
|
|
75
|
-
className: styled.loading.className,
|
|
76
|
-
style: styled.loading.style
|
|
75
|
+
className: clsx(className, styled.loading.className),
|
|
76
|
+
style: _objectSpread(_objectSpread({}, styled.loading.style), style)
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
return /*#__PURE__*/React.createElement(React.Fragment, null, status === "loaded" && (/*#__PURE__*/React.createElement("img", {
|
|
@@ -100,14 +100,14 @@ var Upload = function Upload(_ref) {
|
|
|
100
100
|
style: styled.input.style,
|
|
101
101
|
multiple: multiple,
|
|
102
102
|
onChange: _onChange
|
|
103
|
-
}), children),
|
|
103
|
+
}), children), /*#__PURE__*/React.createElement(uploadedList.default, {
|
|
104
104
|
ref: uploadedListRef,
|
|
105
105
|
value: value,
|
|
106
106
|
uploader: uploader,
|
|
107
107
|
onError: onError,
|
|
108
108
|
onChange: onChange,
|
|
109
109
|
limit: limit
|
|
110
|
-
})))
|
|
110
|
+
})));
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
exports.default = Upload;
|
|
@@ -98,14 +98,14 @@ var Upload = function Upload(_ref) {
|
|
|
98
98
|
style: styled.input.style,
|
|
99
99
|
multiple: multiple,
|
|
100
100
|
onChange: _onChange
|
|
101
|
-
}), children),
|
|
101
|
+
}), children), /*#__PURE__*/React.createElement(UploadedList, {
|
|
102
102
|
ref: uploadedListRef,
|
|
103
103
|
value: value,
|
|
104
104
|
uploader: uploader,
|
|
105
105
|
onError: onError,
|
|
106
106
|
onChange: onChange,
|
|
107
107
|
limit: limit
|
|
108
|
-
})))
|
|
108
|
+
})));
|
|
109
109
|
};
|
|
110
110
|
|
|
111
111
|
export { Upload as default };
|
|
@@ -12,6 +12,7 @@ var utils = require('./utils.cjs');
|
|
|
12
12
|
var useClassNames = require('../../hooks/use-class-names.cjs');
|
|
13
13
|
var className = require('../../utils/class-name.cjs');
|
|
14
14
|
var uploadedItem = require('./uploaded-item.cjs');
|
|
15
|
+
var context = require('./context.cjs');
|
|
15
16
|
|
|
16
17
|
var styles = {
|
|
17
18
|
item: {
|
|
@@ -38,6 +39,8 @@ var UploadedList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
38
39
|
_useIdentity2 = _slicedToArray(_useIdentity, 2),
|
|
39
40
|
identity = _useIdentity2[1];
|
|
40
41
|
var classNames = useClassNames.useClassNames("upload");
|
|
42
|
+
var _useContext = React.useContext(context.Context),
|
|
43
|
+
renderItem = _useContext.renderItem;
|
|
41
44
|
// convert to map, for performance
|
|
42
45
|
var items = React.useMemo(function () {
|
|
43
46
|
return values.reduce(function (prev, _item) {
|
|
@@ -58,11 +61,11 @@ var UploadedList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
58
61
|
}, [values]);
|
|
59
62
|
// when loading status changed
|
|
60
63
|
// use this func to set new status & callback
|
|
61
|
-
var onLoaded = relax.useEvent(function (id, status, _ref2) {
|
|
64
|
+
var onLoaded = relax.useEvent(function (uploadeds, id, status, _ref2) {
|
|
62
65
|
var url = _ref2.url,
|
|
63
66
|
error = _ref2.error;
|
|
64
|
-
if (!
|
|
65
|
-
var _items = new Map(
|
|
67
|
+
if (!uploadeds.has(id)) return;
|
|
68
|
+
var _items = new Map(uploadeds);
|
|
66
69
|
var _values = Array.from(_items.set(id, _objectSpread(_objectSpread({}, _items.get(id)), {}, {
|
|
67
70
|
status: status,
|
|
68
71
|
url: url,
|
|
@@ -75,7 +78,7 @@ var UploadedList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
75
78
|
return {
|
|
76
79
|
add: function () {
|
|
77
80
|
var _add = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
78
|
-
var _hasUploader, _isOnlyOne, _isOverLimit, _key, _values, _url;
|
|
81
|
+
var _hasUploader, _isOnlyOne, _isOverLimit, _key, _items, _values, _url;
|
|
79
82
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
80
83
|
while (1) switch (_context.prev = _context.next) {
|
|
81
84
|
case 0:
|
|
@@ -90,40 +93,41 @@ var UploadedList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
90
93
|
case 5:
|
|
91
94
|
// show loading in `add` trigger
|
|
92
95
|
_key = identity();
|
|
93
|
-
|
|
96
|
+
_items = new Map(_isOnlyOne ? [] : items).set(_key, {
|
|
94
97
|
key: _key,
|
|
95
98
|
file: file,
|
|
96
99
|
status: _hasUploader ? "loading" : "success"
|
|
97
|
-
})
|
|
100
|
+
});
|
|
101
|
+
_values = Array.from(_items.values());
|
|
98
102
|
setValues(_values);
|
|
99
103
|
onChange === null || onChange === void 0 || onChange(_values);
|
|
100
104
|
// when no uploader, use original file
|
|
101
105
|
if (_hasUploader) {
|
|
102
|
-
_context.next =
|
|
106
|
+
_context.next = 12;
|
|
103
107
|
break;
|
|
104
108
|
}
|
|
105
109
|
return _context.abrupt("return");
|
|
106
|
-
case
|
|
107
|
-
_context.next =
|
|
110
|
+
case 12:
|
|
111
|
+
_context.next = 14;
|
|
108
112
|
return uploader(file)["catch"](function (error) {
|
|
109
113
|
return new Error(error.message);
|
|
110
114
|
});
|
|
111
|
-
case
|
|
115
|
+
case 14:
|
|
112
116
|
_url = _context.sent;
|
|
113
117
|
if (!(_url instanceof Error)) {
|
|
114
|
-
_context.next =
|
|
118
|
+
_context.next = 19;
|
|
115
119
|
break;
|
|
116
120
|
}
|
|
117
|
-
onLoaded(_key, "error", {
|
|
121
|
+
onLoaded(_items, _key, "error", {
|
|
118
122
|
error: _url
|
|
119
123
|
});
|
|
120
124
|
onError === null || onError === void 0 || onError(_url);
|
|
121
125
|
return _context.abrupt("return");
|
|
122
|
-
case
|
|
123
|
-
onLoaded(_key, "success", {
|
|
126
|
+
case 19:
|
|
127
|
+
onLoaded(_items, _key, "success", {
|
|
124
128
|
url: _url
|
|
125
129
|
});
|
|
126
|
-
case
|
|
130
|
+
case 20:
|
|
127
131
|
case "end":
|
|
128
132
|
return _context.stop();
|
|
129
133
|
}
|
|
@@ -144,7 +148,8 @@ var UploadedList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
144
148
|
onChange === null || onChange === void 0 || onChange(_values);
|
|
145
149
|
});
|
|
146
150
|
// no uploaded file, no render!
|
|
147
|
-
|
|
151
|
+
// no item render, no render!
|
|
152
|
+
if (items.size === 0 || !renderItem) {
|
|
148
153
|
return null;
|
|
149
154
|
}
|
|
150
155
|
var styled = {
|
|
@@ -2,7 +2,7 @@ import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
|
|
|
2
2
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
3
3
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
|
-
import React, { forwardRef, useMemo, useImperativeHandle } from 'react';
|
|
5
|
+
import React, { forwardRef, useContext, useMemo, useImperativeHandle } from 'react';
|
|
6
6
|
import _stylex from '../../node_modules/.pnpm/@stylexjs_stylex@0.8.0/node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
|
|
7
7
|
import { useControlledState, useIdentity, useEvent, clsx } from '@aiszlab/relax';
|
|
8
8
|
import { typography } from '../theme/theme.mjs';
|
|
@@ -10,6 +10,7 @@ import { isRemoteFile } from './utils.mjs';
|
|
|
10
10
|
import { useClassNames } from '../../hooks/use-class-names.mjs';
|
|
11
11
|
import { UploadClassToken } from '../../utils/class-name.mjs';
|
|
12
12
|
import UploadedItem from './uploaded-item.mjs';
|
|
13
|
+
import { Context } from './context.mjs';
|
|
13
14
|
|
|
14
15
|
var styles = {
|
|
15
16
|
item: {
|
|
@@ -36,6 +37,8 @@ var UploadedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
36
37
|
_useIdentity2 = _slicedToArray(_useIdentity, 2),
|
|
37
38
|
identity = _useIdentity2[1];
|
|
38
39
|
var classNames = useClassNames("upload");
|
|
40
|
+
var _useContext = useContext(Context),
|
|
41
|
+
renderItem = _useContext.renderItem;
|
|
39
42
|
// convert to map, for performance
|
|
40
43
|
var items = useMemo(function () {
|
|
41
44
|
return values.reduce(function (prev, _item) {
|
|
@@ -56,11 +59,11 @@ var UploadedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
56
59
|
}, [values]);
|
|
57
60
|
// when loading status changed
|
|
58
61
|
// use this func to set new status & callback
|
|
59
|
-
var onLoaded = useEvent(function (id, status, _ref2) {
|
|
62
|
+
var onLoaded = useEvent(function (uploadeds, id, status, _ref2) {
|
|
60
63
|
var url = _ref2.url,
|
|
61
64
|
error = _ref2.error;
|
|
62
|
-
if (!
|
|
63
|
-
var _items = new Map(
|
|
65
|
+
if (!uploadeds.has(id)) return;
|
|
66
|
+
var _items = new Map(uploadeds);
|
|
64
67
|
var _values = Array.from(_items.set(id, _objectSpread(_objectSpread({}, _items.get(id)), {}, {
|
|
65
68
|
status: status,
|
|
66
69
|
url: url,
|
|
@@ -73,7 +76,7 @@ var UploadedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
73
76
|
return {
|
|
74
77
|
add: function () {
|
|
75
78
|
var _add = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
76
|
-
var _hasUploader, _isOnlyOne, _isOverLimit, _key, _values, _url;
|
|
79
|
+
var _hasUploader, _isOnlyOne, _isOverLimit, _key, _items, _values, _url;
|
|
77
80
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
78
81
|
while (1) switch (_context.prev = _context.next) {
|
|
79
82
|
case 0:
|
|
@@ -88,40 +91,41 @@ var UploadedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
88
91
|
case 5:
|
|
89
92
|
// show loading in `add` trigger
|
|
90
93
|
_key = identity();
|
|
91
|
-
|
|
94
|
+
_items = new Map(_isOnlyOne ? [] : items).set(_key, {
|
|
92
95
|
key: _key,
|
|
93
96
|
file: file,
|
|
94
97
|
status: _hasUploader ? "loading" : "success"
|
|
95
|
-
})
|
|
98
|
+
});
|
|
99
|
+
_values = Array.from(_items.values());
|
|
96
100
|
setValues(_values);
|
|
97
101
|
onChange === null || onChange === void 0 || onChange(_values);
|
|
98
102
|
// when no uploader, use original file
|
|
99
103
|
if (_hasUploader) {
|
|
100
|
-
_context.next =
|
|
104
|
+
_context.next = 12;
|
|
101
105
|
break;
|
|
102
106
|
}
|
|
103
107
|
return _context.abrupt("return");
|
|
104
|
-
case
|
|
105
|
-
_context.next =
|
|
108
|
+
case 12:
|
|
109
|
+
_context.next = 14;
|
|
106
110
|
return uploader(file)["catch"](function (error) {
|
|
107
111
|
return new Error(error.message);
|
|
108
112
|
});
|
|
109
|
-
case
|
|
113
|
+
case 14:
|
|
110
114
|
_url = _context.sent;
|
|
111
115
|
if (!(_url instanceof Error)) {
|
|
112
|
-
_context.next =
|
|
116
|
+
_context.next = 19;
|
|
113
117
|
break;
|
|
114
118
|
}
|
|
115
|
-
onLoaded(_key, "error", {
|
|
119
|
+
onLoaded(_items, _key, "error", {
|
|
116
120
|
error: _url
|
|
117
121
|
});
|
|
118
122
|
onError === null || onError === void 0 || onError(_url);
|
|
119
123
|
return _context.abrupt("return");
|
|
120
|
-
case
|
|
121
|
-
onLoaded(_key, "success", {
|
|
124
|
+
case 19:
|
|
125
|
+
onLoaded(_items, _key, "success", {
|
|
122
126
|
url: _url
|
|
123
127
|
});
|
|
124
|
-
case
|
|
128
|
+
case 20:
|
|
125
129
|
case "end":
|
|
126
130
|
return _context.stop();
|
|
127
131
|
}
|
|
@@ -142,7 +146,8 @@ var UploadedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
142
146
|
onChange === null || onChange === void 0 || onChange(_values);
|
|
143
147
|
});
|
|
144
148
|
// no uploaded file, no render!
|
|
145
|
-
|
|
149
|
+
// no item render, no render!
|
|
150
|
+
if (items.size === 0 || !renderItem) {
|
|
146
151
|
return null;
|
|
147
152
|
}
|
|
148
153
|
var styled = {
|
package/dist/types/avatar.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { ReactNode, RefAttributes } from "react";
|
|
2
|
-
import { ComponentProps } from "musae/types/element";
|
|
2
|
+
import type { ComponentProps } from "musae/types/element";
|
|
3
|
+
import type { ImageProps } from "./image";
|
|
3
4
|
type Size = "small" | "medium" | "large";
|
|
4
5
|
type Shape = "circular" | "squared";
|
|
5
6
|
/**
|
|
6
7
|
* @description
|
|
7
8
|
* avatar props
|
|
8
9
|
*/
|
|
9
|
-
export type AvatarProps = ComponentProps & {
|
|
10
|
+
export type AvatarProps = ComponentProps & Pick<ImageProps, "crossOrigin" | "referrerPolicy"> & {
|
|
10
11
|
/**
|
|
11
12
|
* @description
|
|
12
13
|
* src
|