@telefonica/mistica 11.8.0 → 11.9.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/dist/avatar.d.ts +14 -0
- package/dist/avatar.js +239 -0
- package/dist/avatar.js.flow +16 -0
- package/dist/badge.d.ts +2 -0
- package/dist/badge.js +24 -7
- package/dist/badge.js.flow +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +14 -13
- package/dist/index.js.flow +2 -1
- package/dist/package-version.js +1 -1
- package/dist/placeholder.d.ts +0 -4
- package/dist/placeholder.js +1 -13
- package/dist/placeholder.js.flow +0 -4
- package/dist/text.js +8 -2
- package/dist-es/avatar.js +208 -0
- package/dist-es/badge.js +24 -7
- package/dist-es/index.js +2 -1
- package/dist-es/package-version.js +1 -1
- package/dist-es/placeholder.js +0 -11
- package/dist-es/text.js +8 -2
- package/package.json +1 -1
package/dist/avatar.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { IconProps } from './utils/types';
|
|
3
|
+
declare type AvatarProps = {
|
|
4
|
+
size: number;
|
|
5
|
+
src?: string;
|
|
6
|
+
initials?: string;
|
|
7
|
+
textColor?: string;
|
|
8
|
+
backgroundColor?: string;
|
|
9
|
+
Icon?: React.FC<IconProps>;
|
|
10
|
+
badge?: boolean | number;
|
|
11
|
+
'aria-label'?: string;
|
|
12
|
+
};
|
|
13
|
+
declare const Avatar: ({ size, src, Icon, badge, initials, "aria-label": ariaLabel, ...props }: AvatarProps) => JSX.Element;
|
|
14
|
+
export default Avatar;
|
package/dist/avatar.js
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _badge = _interopRequireDefault(require("./badge"));
|
|
9
|
+
var _iconUserAccountRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-user-account-regular"));
|
|
10
|
+
var _hooks = require("./hooks");
|
|
11
|
+
var _jss = require("./jss");
|
|
12
|
+
var _themeVariantContext = require("./theme-variant-context");
|
|
13
|
+
function _interopRequireDefault(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function _interopRequireWildcard(obj) {
|
|
19
|
+
if (obj && obj.__esModule) {
|
|
20
|
+
return obj;
|
|
21
|
+
} else {
|
|
22
|
+
var newObj = {};
|
|
23
|
+
if (obj != null) {
|
|
24
|
+
for(var key in obj){
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
26
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
27
|
+
if (desc.get || desc.set) {
|
|
28
|
+
Object.defineProperty(newObj, key, desc);
|
|
29
|
+
} else {
|
|
30
|
+
newObj[key] = obj[key];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
newObj.default = obj;
|
|
36
|
+
return newObj;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function _arrayLikeToArray(arr, len) {
|
|
40
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
41
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
42
|
+
return arr2;
|
|
43
|
+
}
|
|
44
|
+
function _arrayWithHoles(arr) {
|
|
45
|
+
if (Array.isArray(arr)) return arr;
|
|
46
|
+
}
|
|
47
|
+
function _iterableToArrayLimit(arr, i) {
|
|
48
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
49
|
+
if (_i == null) return;
|
|
50
|
+
var _arr = [];
|
|
51
|
+
var _n = true;
|
|
52
|
+
var _d = false;
|
|
53
|
+
var _s, _e;
|
|
54
|
+
try {
|
|
55
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
56
|
+
_arr.push(_s.value);
|
|
57
|
+
if (i && _arr.length === i) break;
|
|
58
|
+
}
|
|
59
|
+
} catch (err) {
|
|
60
|
+
_d = true;
|
|
61
|
+
_e = err;
|
|
62
|
+
} finally{
|
|
63
|
+
try {
|
|
64
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
65
|
+
} finally{
|
|
66
|
+
if (_d) throw _e;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return _arr;
|
|
70
|
+
}
|
|
71
|
+
function _nonIterableRest() {
|
|
72
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
73
|
+
}
|
|
74
|
+
function _objectWithoutProperties(source, excluded) {
|
|
75
|
+
if (source == null) return {};
|
|
76
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
77
|
+
var key, i;
|
|
78
|
+
if (Object.getOwnPropertySymbols) {
|
|
79
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
80
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
81
|
+
key = sourceSymbolKeys[i];
|
|
82
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
83
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
84
|
+
target[key] = source[key];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return target;
|
|
88
|
+
}
|
|
89
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
90
|
+
if (source == null) return {};
|
|
91
|
+
var target = {};
|
|
92
|
+
var sourceKeys = Object.keys(source);
|
|
93
|
+
var key, i;
|
|
94
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
95
|
+
key = sourceKeys[i];
|
|
96
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
97
|
+
target[key] = source[key];
|
|
98
|
+
}
|
|
99
|
+
return target;
|
|
100
|
+
}
|
|
101
|
+
function _slicedToArray(arr, i) {
|
|
102
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
103
|
+
}
|
|
104
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
105
|
+
if (!o) return;
|
|
106
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
107
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
108
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
109
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
110
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
111
|
+
}
|
|
112
|
+
var useStyles = (0, _jss).createUseStyles(function() {
|
|
113
|
+
return {
|
|
114
|
+
avatar: {
|
|
115
|
+
borderRadius: "50%",
|
|
116
|
+
display: "flex",
|
|
117
|
+
alignItems: "center",
|
|
118
|
+
justifyContent: "center",
|
|
119
|
+
color: function color(param) {
|
|
120
|
+
var textColor = param.textColor;
|
|
121
|
+
return textColor;
|
|
122
|
+
},
|
|
123
|
+
background: function background(param) {
|
|
124
|
+
var backgroundColor = param.backgroundColor;
|
|
125
|
+
return backgroundColor;
|
|
126
|
+
},
|
|
127
|
+
width: function width(param) {
|
|
128
|
+
var size = param.size;
|
|
129
|
+
return size;
|
|
130
|
+
},
|
|
131
|
+
height: function height(param) {
|
|
132
|
+
var size = param.size;
|
|
133
|
+
return size;
|
|
134
|
+
},
|
|
135
|
+
overflow: "hidden"
|
|
136
|
+
},
|
|
137
|
+
image: {
|
|
138
|
+
width: function width(param) {
|
|
139
|
+
var size = param.size;
|
|
140
|
+
return size;
|
|
141
|
+
},
|
|
142
|
+
height: function height(param) {
|
|
143
|
+
var size = param.size;
|
|
144
|
+
return size;
|
|
145
|
+
},
|
|
146
|
+
objectFit: "cover"
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
/**
|
|
151
|
+
* Returns a right/top distance for the badge.
|
|
152
|
+
* The badge will be placed over the avatar's edge
|
|
153
|
+
* This is calculated using the `radius * (1 - sin(45deg))` distance minus a
|
|
154
|
+
* constant offset that depends on the badge size
|
|
155
|
+
*/ var getBadgeDistance = function getBadgeDistance(size, badge) {
|
|
156
|
+
if (!badge) {
|
|
157
|
+
return 0;
|
|
158
|
+
}
|
|
159
|
+
var radius = size / 2;
|
|
160
|
+
var badgeOffset = badge === true ? 5 : 10; // badge=true renders a small circle
|
|
161
|
+
return radius * (1 - Math.sin(Math.PI / 4)) - badgeOffset;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Not using TextPresets here because we don't want to scale the avatar text with the device settings
|
|
165
|
+
*/ var renderText = function renderText(size, text) {
|
|
166
|
+
if (!text) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
var fontSize;
|
|
170
|
+
if (size <= 40) {
|
|
171
|
+
fontSize = 14;
|
|
172
|
+
} else if (size <= 64) {
|
|
173
|
+
fontSize = 16;
|
|
174
|
+
} else {
|
|
175
|
+
fontSize = 18;
|
|
176
|
+
}
|
|
177
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx("span", {
|
|
178
|
+
style: {
|
|
179
|
+
fontSize: fontSize,
|
|
180
|
+
textTransform: "uppercase"
|
|
181
|
+
},
|
|
182
|
+
children: text
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
var Avatar = function Avatar(_param) {
|
|
186
|
+
var size = _param.size, src = _param.src, _Icon = _param.Icon, Icon = _Icon === void 0 ? _iconUserAccountRegular.default : _Icon, badge = _param.badge, _initials = _param.initials, initials = _initials === void 0 ? "" : _initials, ariaLabel = _param["aria-label"], props = _objectWithoutProperties(_param, [
|
|
187
|
+
"size",
|
|
188
|
+
"src",
|
|
189
|
+
"Icon",
|
|
190
|
+
"badge",
|
|
191
|
+
"initials",
|
|
192
|
+
"aria-label"
|
|
193
|
+
]);
|
|
194
|
+
var colors = (0, _hooks).useTheme().colors;
|
|
195
|
+
var isInverse = (0, _themeVariantContext).useIsInverseVariant();
|
|
196
|
+
var _backgroundColor;
|
|
197
|
+
var backgroundColor = (_backgroundColor = props.backgroundColor) !== null && _backgroundColor !== void 0 ? _backgroundColor : isInverse ? colors.brandDark : colors.tagBackgroundActive;
|
|
198
|
+
var _textColor;
|
|
199
|
+
var textColor = (_textColor = props.textColor) !== null && _textColor !== void 0 ? _textColor : isInverse ? colors.textPrimaryInverse : colors.textTagActive;
|
|
200
|
+
var ref = _slicedToArray(React.useState(false), 2), imgLoadError = ref[0], setImgLoadError = ref[1];
|
|
201
|
+
var classes = useStyles({
|
|
202
|
+
textColor: textColor,
|
|
203
|
+
backgroundColor: backgroundColor,
|
|
204
|
+
size: size
|
|
205
|
+
});
|
|
206
|
+
React.useEffect(function() {
|
|
207
|
+
setImgLoadError(false); // reset error state when url changes
|
|
208
|
+
}, [
|
|
209
|
+
src
|
|
210
|
+
]);
|
|
211
|
+
var letters = initials.trim().slice(0, 2);
|
|
212
|
+
var badgePosition = getBadgeDistance(size, badge);
|
|
213
|
+
var badgeValue = badge === true ? undefined : badge || 0;
|
|
214
|
+
var shouldRenderImage = !!src && !imgLoadError;
|
|
215
|
+
var iconSize = size <= 40 ? 16 : 24;
|
|
216
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_badge.default, {
|
|
217
|
+
value: badgeValue,
|
|
218
|
+
top: badgePosition,
|
|
219
|
+
right: badgePosition,
|
|
220
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
221
|
+
className: classes.avatar,
|
|
222
|
+
role: "img",
|
|
223
|
+
"aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : initials,
|
|
224
|
+
children: shouldRenderImage ? /*#__PURE__*/ (0, _jsxRuntime).jsx("img", {
|
|
225
|
+
src: src,
|
|
226
|
+
className: classes.image,
|
|
227
|
+
onError: function onError() {
|
|
228
|
+
return setImgLoadError(true);
|
|
229
|
+
},
|
|
230
|
+
role: "none"
|
|
231
|
+
}) : renderText(size, letters) || /*#__PURE__*/ (0, _jsxRuntime).jsx(Icon, {
|
|
232
|
+
size: iconSize,
|
|
233
|
+
color: "currentColor"
|
|
234
|
+
})
|
|
235
|
+
})
|
|
236
|
+
});
|
|
237
|
+
};
|
|
238
|
+
var _default = Avatar;
|
|
239
|
+
exports.default = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import type { IconProps } from "./utils/types";
|
|
5
|
+
declare type AvatarProps = {
|
|
6
|
+
size: number,
|
|
7
|
+
src?: string,
|
|
8
|
+
initials?: string,
|
|
9
|
+
textColor?: string,
|
|
10
|
+
backgroundColor?: string,
|
|
11
|
+
Icon?: React.ComponentType<IconProps>,
|
|
12
|
+
badge?: boolean | number,
|
|
13
|
+
"aria-label"?: string,
|
|
14
|
+
};
|
|
15
|
+
declare var Avatar: (x: AvatarProps) => React.Node;
|
|
16
|
+
declare export default typeof Avatar;
|
package/dist/badge.d.ts
CHANGED
package/dist/badge.js
CHANGED
|
@@ -57,8 +57,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
57
57
|
var hasChildren = param.hasChildren;
|
|
58
58
|
return hasChildren ? "absolute" : "static";
|
|
59
59
|
},
|
|
60
|
-
top:
|
|
61
|
-
|
|
60
|
+
top: function top(param) {
|
|
61
|
+
var top1 = param.top;
|
|
62
|
+
return top1 !== null && top1 !== void 0 ? top1 : -2;
|
|
63
|
+
},
|
|
64
|
+
right: function right(param) {
|
|
65
|
+
var right1 = param.right;
|
|
66
|
+
return right1 !== null && right1 !== void 0 ? right1 : -6;
|
|
67
|
+
},
|
|
62
68
|
width: 8,
|
|
63
69
|
height: 8,
|
|
64
70
|
background: theme.colors.badge,
|
|
@@ -69,8 +75,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
69
75
|
display: "flex",
|
|
70
76
|
alignItems: "center",
|
|
71
77
|
justifyContent: "center",
|
|
72
|
-
top:
|
|
73
|
-
|
|
78
|
+
top: function top(param) {
|
|
79
|
+
var top2 = param.top;
|
|
80
|
+
return top2 !== null && top2 !== void 0 ? top2 : -8;
|
|
81
|
+
},
|
|
82
|
+
right: function right(param) {
|
|
83
|
+
var right2 = param.right;
|
|
84
|
+
return right2 !== null && right2 !== void 0 ? right2 : -9;
|
|
85
|
+
},
|
|
74
86
|
width: 18,
|
|
75
87
|
height: 18,
|
|
76
88
|
fontSize: 12,
|
|
@@ -78,7 +90,10 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
78
90
|
color: theme.colors.textPrimaryInverse
|
|
79
91
|
},
|
|
80
92
|
badgeBigNumber: {
|
|
81
|
-
right:
|
|
93
|
+
right: function right(param) {
|
|
94
|
+
var right3 = param.right;
|
|
95
|
+
return right3 !== null && right3 !== void 0 ? right3 : -14;
|
|
96
|
+
},
|
|
82
97
|
width: 24,
|
|
83
98
|
borderRadius: 24
|
|
84
99
|
}
|
|
@@ -94,10 +109,12 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
94
109
|
* </IconButton>
|
|
95
110
|
* </Badge>
|
|
96
111
|
*/ var Badge = function Badge(param) {
|
|
97
|
-
var children = param.children, value = param.value;
|
|
112
|
+
var children = param.children, value = param.value, right = param.right, top = param.top;
|
|
98
113
|
var hasChildren = !!children;
|
|
99
114
|
var classes = useStyles({
|
|
100
|
-
hasChildren: hasChildren
|
|
115
|
+
hasChildren: hasChildren,
|
|
116
|
+
right: right,
|
|
117
|
+
top: top
|
|
101
118
|
});
|
|
102
119
|
if (children && value === 0) {
|
|
103
120
|
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_jsxRuntime.Fragment, {
|
package/dist/badge.js.flow
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -37,8 +37,8 @@ export { default as Text, Text1, Text2, Text3, Text4, Text5, Text6, Text7, Text8
|
|
|
37
37
|
export { default as Tag } from './tag';
|
|
38
38
|
export type { TagType } from './tag';
|
|
39
39
|
export { default as SectionTitle } from './section-title';
|
|
40
|
+
export { Placeholder } from './placeholder';
|
|
40
41
|
export { Title1, Title2 } from './title';
|
|
41
|
-
export { Placeholder, AvatarPlaceholder } from './placeholder';
|
|
42
42
|
export { RowList, Row, BoxedRowList, BoxedRow } from './list';
|
|
43
43
|
export { default as Switch } from './switch-component';
|
|
44
44
|
export { default as Checkbox } from './checkbox';
|
|
@@ -55,6 +55,7 @@ export { default as Menu } from './menu';
|
|
|
55
55
|
export { default as EmptyState } from './empty-state';
|
|
56
56
|
export { default as EmptyStateCard } from './empty-state-card';
|
|
57
57
|
export { default as Callout } from './callout';
|
|
58
|
+
export { default as Avatar } from './avatar';
|
|
58
59
|
export { useModalState } from './modal-context-provider';
|
|
59
60
|
export { NavigationBar, MainNavigationBar, FunnelNavigationBar, NavigationBarActionGroup, NavigationBarAction, NavigationBarLogo, } from './navigation-bar';
|
|
60
61
|
export { default as Image } from './image';
|
package/dist/index.js
CHANGED
|
@@ -374,28 +374,22 @@ Object.defineProperty(exports, "SectionTitle", {
|
|
|
374
374
|
return _sectionTitle.default;
|
|
375
375
|
}
|
|
376
376
|
});
|
|
377
|
-
Object.defineProperty(exports, "
|
|
378
|
-
enumerable: true,
|
|
379
|
-
get: function() {
|
|
380
|
-
return _title.Title1;
|
|
381
|
-
}
|
|
382
|
-
});
|
|
383
|
-
Object.defineProperty(exports, "Title2", {
|
|
377
|
+
Object.defineProperty(exports, "Placeholder", {
|
|
384
378
|
enumerable: true,
|
|
385
379
|
get: function() {
|
|
386
|
-
return
|
|
380
|
+
return _placeholder.Placeholder;
|
|
387
381
|
}
|
|
388
382
|
});
|
|
389
|
-
Object.defineProperty(exports, "
|
|
383
|
+
Object.defineProperty(exports, "Title1", {
|
|
390
384
|
enumerable: true,
|
|
391
385
|
get: function() {
|
|
392
|
-
return
|
|
386
|
+
return _title.Title1;
|
|
393
387
|
}
|
|
394
388
|
});
|
|
395
|
-
Object.defineProperty(exports, "
|
|
389
|
+
Object.defineProperty(exports, "Title2", {
|
|
396
390
|
enumerable: true,
|
|
397
391
|
get: function() {
|
|
398
|
-
return
|
|
392
|
+
return _title.Title2;
|
|
399
393
|
}
|
|
400
394
|
});
|
|
401
395
|
Object.defineProperty(exports, "RowList", {
|
|
@@ -524,6 +518,12 @@ Object.defineProperty(exports, "Callout", {
|
|
|
524
518
|
return _callout.default;
|
|
525
519
|
}
|
|
526
520
|
});
|
|
521
|
+
Object.defineProperty(exports, "Avatar", {
|
|
522
|
+
enumerable: true,
|
|
523
|
+
get: function() {
|
|
524
|
+
return _avatar.default;
|
|
525
|
+
}
|
|
526
|
+
});
|
|
527
527
|
Object.defineProperty(exports, "useModalState", {
|
|
528
528
|
enumerable: true,
|
|
529
529
|
get: function() {
|
|
@@ -10780,8 +10780,8 @@ var _navigationBreadcrumbs = _interopRequireDefault(require("./navigation-breadc
|
|
|
10780
10780
|
var _text = _interopRequireWildcard(require("./text"));
|
|
10781
10781
|
var _tag = _interopRequireDefault(require("./tag"));
|
|
10782
10782
|
var _sectionTitle = _interopRequireDefault(require("./section-title"));
|
|
10783
|
-
var _title = require("./title");
|
|
10784
10783
|
var _placeholder = require("./placeholder");
|
|
10784
|
+
var _title = require("./title");
|
|
10785
10785
|
var _list = require("./list");
|
|
10786
10786
|
var _switchComponent = _interopRequireDefault(require("./switch-component"));
|
|
10787
10787
|
var _checkbox = _interopRequireDefault(require("./checkbox"));
|
|
@@ -10798,6 +10798,7 @@ var _menu = _interopRequireDefault(require("./menu"));
|
|
|
10798
10798
|
var _emptyState = _interopRequireDefault(require("./empty-state"));
|
|
10799
10799
|
var _emptyStateCard = _interopRequireDefault(require("./empty-state-card"));
|
|
10800
10800
|
var _callout = _interopRequireDefault(require("./callout"));
|
|
10801
|
+
var _avatar = _interopRequireDefault(require("./avatar"));
|
|
10801
10802
|
var _modalContextProvider = require("./modal-context-provider");
|
|
10802
10803
|
var _navigationBar = require("./navigation-bar");
|
|
10803
10804
|
var _image = _interopRequireDefault(require("./image"));
|
package/dist/index.js.flow
CHANGED
|
@@ -73,8 +73,8 @@ declare export {
|
|
|
73
73
|
declare export { default as Tag } from "./tag";
|
|
74
74
|
export type { TagType } from "./tag";
|
|
75
75
|
declare export { default as SectionTitle } from "./section-title";
|
|
76
|
+
declare export { Placeholder } from "./placeholder";
|
|
76
77
|
declare export { Title1, Title2 } from "./title";
|
|
77
|
-
declare export { Placeholder, AvatarPlaceholder } from "./placeholder";
|
|
78
78
|
declare export { RowList, Row, BoxedRowList, BoxedRow } from "./list";
|
|
79
79
|
declare export { default as Switch } from "./switch-component";
|
|
80
80
|
declare export { default as Checkbox } from "./checkbox";
|
|
@@ -91,6 +91,7 @@ declare export { default as Menu } from "./menu";
|
|
|
91
91
|
declare export { default as EmptyState } from "./empty-state";
|
|
92
92
|
declare export { default as EmptyStateCard } from "./empty-state-card";
|
|
93
93
|
declare export { default as Callout } from "./callout";
|
|
94
|
+
declare export { default as Avatar } from "./avatar";
|
|
94
95
|
declare export { useModalState } from "./modal-context-provider";
|
|
95
96
|
declare export {
|
|
96
97
|
NavigationBar,
|
package/dist/package-version.js
CHANGED
package/dist/placeholder.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare type AvatarPlaceholderProps = {
|
|
3
|
-
size?: string | number;
|
|
4
|
-
};
|
|
5
|
-
export declare const AvatarPlaceholder: React.FC<AvatarPlaceholderProps>;
|
|
6
2
|
declare type PlaceholderProps = {
|
|
7
3
|
width?: string | number;
|
|
8
4
|
height?: string | number;
|
package/dist/placeholder.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.Placeholder =
|
|
5
|
+
exports.Placeholder = void 0;
|
|
6
6
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _color = require("./utils/color");
|
|
@@ -28,18 +28,6 @@ function _interopRequireWildcard(obj) {
|
|
|
28
28
|
return newObj;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
var AvatarPlaceholder = function AvatarPlaceholder(param) {
|
|
32
|
-
var _size = param.size, size = _size === void 0 ? "100%" : _size;
|
|
33
|
-
return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
34
|
-
style: {
|
|
35
|
-
width: size,
|
|
36
|
-
height: size,
|
|
37
|
-
borderRadius: "50%",
|
|
38
|
-
background: "gray"
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
exports.AvatarPlaceholder = AvatarPlaceholder;
|
|
43
31
|
var Placeholder = function Placeholder(param) {
|
|
44
32
|
var _width = param.width, width = _width === void 0 ? "auto" : _width, _height = param.height, height = _height === void 0 ? 120 : _height;
|
|
45
33
|
var colors = (0, _hooks).useTheme().colors;
|
package/dist/placeholder.js.flow
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
declare type AvatarPlaceholderProps = {
|
|
5
|
-
size?: string | number,
|
|
6
|
-
};
|
|
7
|
-
declare export var AvatarPlaceholder: React.ComponentType<AvatarPlaceholderProps>;
|
|
8
4
|
declare type PlaceholderProps = {
|
|
9
5
|
width?: string | number,
|
|
10
6
|
height?: string | number,
|
package/dist/text.js
CHANGED
|
@@ -133,8 +133,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
133
133
|
"-webkit-line-clamp": lineClamp,
|
|
134
134
|
lineClamp: lineClamp,
|
|
135
135
|
wordBreak: function wordBreak(param) {
|
|
136
|
-
var
|
|
137
|
-
return
|
|
136
|
+
var wordBreak1 = param.wordBreak;
|
|
137
|
+
return wordBreak1 ? "break-all" : "normal";
|
|
138
|
+
},
|
|
139
|
+
"@supports (overflow-wrap: anywhere)": {
|
|
140
|
+
wordBreak: function wordBreak(param) {
|
|
141
|
+
var truncate = param.truncate;
|
|
142
|
+
return truncate === 1 || truncate === true ? "break-all" : "normal";
|
|
143
|
+
}
|
|
138
144
|
},
|
|
139
145
|
display: "box",
|
|
140
146
|
boxOrient: "vertical",
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
function _arrayLikeToArray(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _arrayWithHoles(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
9
|
+
function _iterableToArrayLimit(arr, i) {
|
|
10
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11
|
+
if (_i == null) return;
|
|
12
|
+
var _arr = [];
|
|
13
|
+
var _n = true;
|
|
14
|
+
var _d = false;
|
|
15
|
+
var _s, _e;
|
|
16
|
+
try {
|
|
17
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
18
|
+
_arr.push(_s.value);
|
|
19
|
+
if (i && _arr.length === i) break;
|
|
20
|
+
}
|
|
21
|
+
} catch (err) {
|
|
22
|
+
_d = true;
|
|
23
|
+
_e = err;
|
|
24
|
+
} finally{
|
|
25
|
+
try {
|
|
26
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
27
|
+
} finally{
|
|
28
|
+
if (_d) throw _e;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return _arr;
|
|
32
|
+
}
|
|
33
|
+
function _nonIterableRest() {
|
|
34
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
35
|
+
}
|
|
36
|
+
function _objectWithoutProperties(source, excluded) {
|
|
37
|
+
if (source == null) return {};
|
|
38
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
39
|
+
var key, i;
|
|
40
|
+
if (Object.getOwnPropertySymbols) {
|
|
41
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
42
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
43
|
+
key = sourceSymbolKeys[i];
|
|
44
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
45
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
46
|
+
target[key] = source[key];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return target;
|
|
50
|
+
}
|
|
51
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
52
|
+
if (source == null) return {};
|
|
53
|
+
var target = {};
|
|
54
|
+
var sourceKeys = Object.keys(source);
|
|
55
|
+
var key, i;
|
|
56
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
57
|
+
key = sourceKeys[i];
|
|
58
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
59
|
+
target[key] = source[key];
|
|
60
|
+
}
|
|
61
|
+
return target;
|
|
62
|
+
}
|
|
63
|
+
function _slicedToArray(arr, i) {
|
|
64
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
65
|
+
}
|
|
66
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
67
|
+
if (!o) return;
|
|
68
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
69
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
70
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
71
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
72
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
73
|
+
}
|
|
74
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
75
|
+
// https://www.figma.com/file/U4ipIXOk64bdM5tSvaqPKS/%5BREADY%5D--Avatar?node-id=2%3A61
|
|
76
|
+
import * as React from "react";
|
|
77
|
+
import Badge from "./badge";
|
|
78
|
+
import IconUserAccountRegular from "./generated/mistica-icons/icon-user-account-regular";
|
|
79
|
+
import { useTheme } from "./hooks";
|
|
80
|
+
import { createUseStyles } from "./jss";
|
|
81
|
+
import { useIsInverseVariant } from "./theme-variant-context";
|
|
82
|
+
var useStyles = createUseStyles(function() {
|
|
83
|
+
return {
|
|
84
|
+
avatar: {
|
|
85
|
+
borderRadius: "50%",
|
|
86
|
+
display: "flex",
|
|
87
|
+
alignItems: "center",
|
|
88
|
+
justifyContent: "center",
|
|
89
|
+
color: function(param) {
|
|
90
|
+
var textColor = param.textColor;
|
|
91
|
+
return textColor;
|
|
92
|
+
},
|
|
93
|
+
background: function(param) {
|
|
94
|
+
var backgroundColor = param.backgroundColor;
|
|
95
|
+
return backgroundColor;
|
|
96
|
+
},
|
|
97
|
+
width: function(param) {
|
|
98
|
+
var size = param.size;
|
|
99
|
+
return size;
|
|
100
|
+
},
|
|
101
|
+
height: function(param) {
|
|
102
|
+
var size = param.size;
|
|
103
|
+
return size;
|
|
104
|
+
},
|
|
105
|
+
overflow: "hidden"
|
|
106
|
+
},
|
|
107
|
+
image: {
|
|
108
|
+
width: function(param) {
|
|
109
|
+
var size = param.size;
|
|
110
|
+
return size;
|
|
111
|
+
},
|
|
112
|
+
height: function(param) {
|
|
113
|
+
var size = param.size;
|
|
114
|
+
return size;
|
|
115
|
+
},
|
|
116
|
+
objectFit: "cover"
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
/**
|
|
121
|
+
* Returns a right/top distance for the badge.
|
|
122
|
+
* The badge will be placed over the avatar's edge
|
|
123
|
+
* This is calculated using the `radius * (1 - sin(45deg))` distance minus a
|
|
124
|
+
* constant offset that depends on the badge size
|
|
125
|
+
*/ var getBadgeDistance = function(size, badge) {
|
|
126
|
+
if (!badge) {
|
|
127
|
+
return 0;
|
|
128
|
+
}
|
|
129
|
+
var radius = size / 2;
|
|
130
|
+
var badgeOffset = badge === true ? 5 : 10; // badge=true renders a small circle
|
|
131
|
+
return radius * (1 - Math.sin(Math.PI / 4)) - badgeOffset;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Not using TextPresets here because we don't want to scale the avatar text with the device settings
|
|
135
|
+
*/ var renderText = function(size, text) {
|
|
136
|
+
if (!text) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
var fontSize;
|
|
140
|
+
if (size <= 40) {
|
|
141
|
+
fontSize = 14;
|
|
142
|
+
} else if (size <= 64) {
|
|
143
|
+
fontSize = 16;
|
|
144
|
+
} else {
|
|
145
|
+
fontSize = 18;
|
|
146
|
+
}
|
|
147
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
148
|
+
style: {
|
|
149
|
+
fontSize: fontSize,
|
|
150
|
+
textTransform: "uppercase"
|
|
151
|
+
},
|
|
152
|
+
children: text
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
var Avatar = function(_param) {
|
|
156
|
+
var size = _param.size, src = _param.src, _Icon = _param.Icon, Icon = _Icon === void 0 ? IconUserAccountRegular : _Icon, badge = _param.badge, _initials = _param.initials, initials = _initials === void 0 ? "" : _initials, ariaLabel = _param["aria-label"], props = _objectWithoutProperties(_param, [
|
|
157
|
+
"size",
|
|
158
|
+
"src",
|
|
159
|
+
"Icon",
|
|
160
|
+
"badge",
|
|
161
|
+
"initials",
|
|
162
|
+
"aria-label"
|
|
163
|
+
]);
|
|
164
|
+
var colors = useTheme().colors;
|
|
165
|
+
var isInverse = useIsInverseVariant();
|
|
166
|
+
var _backgroundColor;
|
|
167
|
+
var backgroundColor = (_backgroundColor = props.backgroundColor) !== null && _backgroundColor !== void 0 ? _backgroundColor : isInverse ? colors.brandDark : colors.tagBackgroundActive;
|
|
168
|
+
var _textColor;
|
|
169
|
+
var textColor = (_textColor = props.textColor) !== null && _textColor !== void 0 ? _textColor : isInverse ? colors.textPrimaryInverse : colors.textTagActive;
|
|
170
|
+
var ref = _slicedToArray(React.useState(false), 2), imgLoadError = ref[0], setImgLoadError = ref[1];
|
|
171
|
+
var classes = useStyles({
|
|
172
|
+
textColor: textColor,
|
|
173
|
+
backgroundColor: backgroundColor,
|
|
174
|
+
size: size
|
|
175
|
+
});
|
|
176
|
+
React.useEffect(function() {
|
|
177
|
+
setImgLoadError(false); // reset error state when url changes
|
|
178
|
+
}, [
|
|
179
|
+
src
|
|
180
|
+
]);
|
|
181
|
+
var letters = initials.trim().slice(0, 2);
|
|
182
|
+
var badgePosition = getBadgeDistance(size, badge);
|
|
183
|
+
var badgeValue = badge === true ? undefined : badge || 0;
|
|
184
|
+
var shouldRenderImage = !!src && !imgLoadError;
|
|
185
|
+
var iconSize = size <= 40 ? 16 : 24;
|
|
186
|
+
return /*#__PURE__*/ _jsx(Badge, {
|
|
187
|
+
value: badgeValue,
|
|
188
|
+
top: badgePosition,
|
|
189
|
+
right: badgePosition,
|
|
190
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
191
|
+
className: classes.avatar,
|
|
192
|
+
role: "img",
|
|
193
|
+
"aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : initials,
|
|
194
|
+
children: shouldRenderImage ? /*#__PURE__*/ _jsx("img", {
|
|
195
|
+
src: src,
|
|
196
|
+
className: classes.image,
|
|
197
|
+
onError: function() {
|
|
198
|
+
return setImgLoadError(true);
|
|
199
|
+
},
|
|
200
|
+
role: "none"
|
|
201
|
+
}) : renderText(size, letters) || /*#__PURE__*/ _jsx(Icon, {
|
|
202
|
+
size: iconSize,
|
|
203
|
+
color: "currentColor"
|
|
204
|
+
})
|
|
205
|
+
})
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
export default Avatar;
|
package/dist-es/badge.js
CHANGED
|
@@ -26,8 +26,14 @@ var useStyles = createUseStyles(function(theme) {
|
|
|
26
26
|
var hasChildren = param.hasChildren;
|
|
27
27
|
return hasChildren ? "absolute" : "static";
|
|
28
28
|
},
|
|
29
|
-
top:
|
|
30
|
-
|
|
29
|
+
top: function(param) {
|
|
30
|
+
var top = param.top;
|
|
31
|
+
return top !== null && top !== void 0 ? top : -2;
|
|
32
|
+
},
|
|
33
|
+
right: function(param) {
|
|
34
|
+
var right = param.right;
|
|
35
|
+
return right !== null && right !== void 0 ? right : -6;
|
|
36
|
+
},
|
|
31
37
|
width: 8,
|
|
32
38
|
height: 8,
|
|
33
39
|
background: theme.colors.badge,
|
|
@@ -38,8 +44,14 @@ var useStyles = createUseStyles(function(theme) {
|
|
|
38
44
|
display: "flex",
|
|
39
45
|
alignItems: "center",
|
|
40
46
|
justifyContent: "center",
|
|
41
|
-
top:
|
|
42
|
-
|
|
47
|
+
top: function(param) {
|
|
48
|
+
var top = param.top;
|
|
49
|
+
return top !== null && top !== void 0 ? top : -8;
|
|
50
|
+
},
|
|
51
|
+
right: function(param) {
|
|
52
|
+
var right = param.right;
|
|
53
|
+
return right !== null && right !== void 0 ? right : -9;
|
|
54
|
+
},
|
|
43
55
|
width: 18,
|
|
44
56
|
height: 18,
|
|
45
57
|
fontSize: 12,
|
|
@@ -47,7 +59,10 @@ var useStyles = createUseStyles(function(theme) {
|
|
|
47
59
|
color: theme.colors.textPrimaryInverse
|
|
48
60
|
},
|
|
49
61
|
badgeBigNumber: {
|
|
50
|
-
right:
|
|
62
|
+
right: function(param) {
|
|
63
|
+
var right = param.right;
|
|
64
|
+
return right !== null && right !== void 0 ? right : -14;
|
|
65
|
+
},
|
|
51
66
|
width: 24,
|
|
52
67
|
borderRadius: 24
|
|
53
68
|
}
|
|
@@ -63,10 +78,12 @@ var useStyles = createUseStyles(function(theme) {
|
|
|
63
78
|
* </IconButton>
|
|
64
79
|
* </Badge>
|
|
65
80
|
*/ var Badge = function(param) {
|
|
66
|
-
var children = param.children, value = param.value;
|
|
81
|
+
var children = param.children, value = param.value, right = param.right, top = param.top;
|
|
67
82
|
var hasChildren = !!children;
|
|
68
83
|
var classes = useStyles({
|
|
69
|
-
hasChildren: hasChildren
|
|
84
|
+
hasChildren: hasChildren,
|
|
85
|
+
right: right,
|
|
86
|
+
top: top
|
|
70
87
|
});
|
|
71
88
|
if (children && value === 0) {
|
|
72
89
|
return /*#__PURE__*/ _jsx(_Fragment, {
|
package/dist-es/index.js
CHANGED
|
@@ -36,8 +36,8 @@ export { default as NavigationBreadcrumbs } from "./navigation-breadcrumbs";
|
|
|
36
36
|
export { default as Text, Text1, Text2, Text3, Text4, Text5, Text6, Text7, Text8, Text9, Text10 } from "./text";
|
|
37
37
|
export { default as Tag } from "./tag";
|
|
38
38
|
export { default as SectionTitle } from "./section-title";
|
|
39
|
+
export { Placeholder } from "./placeholder";
|
|
39
40
|
export { Title1, Title2 } from "./title";
|
|
40
|
-
export { Placeholder, AvatarPlaceholder } from "./placeholder";
|
|
41
41
|
export { RowList, Row, BoxedRowList, BoxedRow } from "./list";
|
|
42
42
|
export { default as Switch } from "./switch-component";
|
|
43
43
|
export { default as Checkbox } from "./checkbox";
|
|
@@ -54,6 +54,7 @@ export { default as Menu } from "./menu";
|
|
|
54
54
|
export { default as EmptyState } from "./empty-state";
|
|
55
55
|
export { default as EmptyStateCard } from "./empty-state-card";
|
|
56
56
|
export { default as Callout } from "./callout";
|
|
57
|
+
export { default as Avatar } from "./avatar";
|
|
57
58
|
export { useModalState } from "./modal-context-provider";
|
|
58
59
|
export { NavigationBar, MainNavigationBar, FunnelNavigationBar, NavigationBarActionGroup, NavigationBarAction, NavigationBarLogo } from "./navigation-bar";
|
|
59
60
|
export { default as Image } from "./image";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
|
|
2
|
-
export var PACKAGE_VERSION = "11.
|
|
2
|
+
export var PACKAGE_VERSION = "11.9.0";
|
package/dist-es/placeholder.js
CHANGED
|
@@ -2,17 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { applyAlpha } from "./utils/color";
|
|
4
4
|
import { useTheme } from "./hooks";
|
|
5
|
-
export var AvatarPlaceholder = function(param) {
|
|
6
|
-
var _size = param.size, size = _size === void 0 ? "100%" : _size;
|
|
7
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
8
|
-
style: {
|
|
9
|
-
width: size,
|
|
10
|
-
height: size,
|
|
11
|
-
borderRadius: "50%",
|
|
12
|
-
background: "gray"
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
5
|
export var Placeholder = function(param) {
|
|
17
6
|
var _width = param.width, width = _width === void 0 ? "auto" : _width, _height = param.height, height = _height === void 0 ? 120 : _height;
|
|
18
7
|
var colors = useTheme().colors;
|
package/dist-es/text.js
CHANGED
|
@@ -101,8 +101,14 @@ var useStyles = createUseStyles(function(theme) {
|
|
|
101
101
|
"-webkit-line-clamp": lineClamp,
|
|
102
102
|
lineClamp: lineClamp,
|
|
103
103
|
wordBreak: function(param) {
|
|
104
|
-
var
|
|
105
|
-
return
|
|
104
|
+
var wordBreak = param.wordBreak;
|
|
105
|
+
return wordBreak ? "break-all" : "normal";
|
|
106
|
+
},
|
|
107
|
+
"@supports (overflow-wrap: anywhere)": {
|
|
108
|
+
wordBreak: function(param) {
|
|
109
|
+
var truncate = param.truncate;
|
|
110
|
+
return truncate === 1 || truncate === true ? "break-all" : "normal";
|
|
111
|
+
}
|
|
106
112
|
},
|
|
107
113
|
display: "box",
|
|
108
114
|
boxOrient: "vertical",
|