@occmundial/occ-atomic 3.0.0-beta.7 → 3.0.0-beta.70
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +549 -0
- package/build/Avatar/Avatar.js +69 -21
- package/build/Avatar/Avatar.test.js +15 -8
- package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
- package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
- package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
- package/build/Avatar/AvatarContent/styles.js +88 -21
- package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
- package/build/Avatar/styles.js +18 -7
- package/build/Banner/Banner.js +30 -40
- package/build/Banner/Banner.test.js +64 -17
- package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
- package/build/Banner/index.js +1 -6
- package/build/Button/Button.js +1 -1
- package/build/Button/Button.test.js +0 -11
- package/build/Button/__snapshots__/Button.test.js.snap +63 -67
- package/build/Button/styles.js +42 -75
- package/build/Checkbox/Checkbox.js +48 -3
- package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
- package/build/Checkbox/styles.js +91 -48
- package/build/Drawer/Drawer.js +40 -0
- package/build/{Header/Nav/Nav.js → Drawer/index.js} +54 -39
- package/build/Drawer/index.test.js +52 -0
- package/build/Drawer/styles.js +61 -0
- package/build/Droplist/__snapshots__/Droplist.test.js.snap +5 -5
- package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
- package/build/Footer/Footer.js +81 -87
- package/build/Footer/List/List.js +89 -124
- package/build/Footer/List/styles.js +85 -31
- package/build/Footer/__snapshots__/Footer.test.js.snap +109 -59
- package/build/Footer/styles.js +116 -51
- package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
- package/build/Grid/Col/styles.js +12 -6
- package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
- package/build/Grid/Row/styles.js +15 -5
- package/build/Grid/styles.js +26 -9
- package/build/Menu/Menu.js +96 -0
- package/build/Menu/index.js +34 -0
- package/build/Menu/styles.js +25 -0
- package/build/MenuDivider/MenuDivider.js +47 -0
- package/build/MenuDivider/index.js +18 -0
- package/build/MenuDivider/styles.js +21 -0
- package/build/MenuItem/MenuItem.js +160 -0
- package/build/{Header/Menu → MenuItem}/index.js +2 -2
- package/build/MenuItem/styles.js +25 -0
- package/build/MenuItemBase/MenuItemBase.js +94 -0
- package/build/MenuItemBase/index.js +18 -0
- package/build/MenuItemBase/styles.js +57 -0
- package/build/MenuList/MenuList.js +71 -0
- package/build/{Header → MenuList}/index.js +2 -2
- package/build/MenuList/styles.js +54 -0
- package/build/MenuUser/MenuUser.js +152 -0
- package/build/MenuUser/index.js +18 -0
- package/build/MenuUser/styles.js +22 -0
- package/build/Modal/Modal.js +94 -66
- package/build/Modal/Modal.test.js +14 -7
- package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
- package/build/Modal/styles.js +165 -143
- package/build/NavAside/NavAside.js +54 -113
- package/build/NavAside/NavAside.test.js +0 -57
- package/build/NavAside/__snapshots__/NavAside.test.js.snap +35 -43
- package/build/NavAside/index.js +6 -0
- package/build/NavAside/styles.js +45 -63
- package/build/NavAvatarButton/NavAvatarButton.js +134 -0
- package/build/{NavIcon → NavAvatarButton}/index.js +2 -2
- package/build/NavAvatarButton/styles.js +33 -0
- package/build/NavButton/NavButton.js +73 -0
- package/build/{Header/Nav → NavButton}/index.js +2 -2
- package/build/NavButton/styles.js +79 -0
- package/build/NavItem/styles.js +4 -4
- package/build/NavTab/NavTab.js +45 -32
- package/build/NavTab/styles.js +59 -27
- package/build/NavTop/styles.js +6 -6
- package/build/OrderBy/OrderBy.js +2 -1
- package/build/Pager/Page/Page.js +11 -6
- package/build/Pager/Page/Page.test.js +13 -9
- package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
- package/build/Pager/Page/styles.js +48 -14
- package/build/Pager/Pager.js +144 -235
- package/build/Pager/Pager.test.js +81 -36
- package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
- package/build/Pager/styles.js +5 -40
- package/build/Pill/Choice/Choice.js +6 -4
- package/build/Pill/Choice/styles.js +13 -10
- package/build/Pill/Group/styles.js +5 -5
- package/build/Pill/Stack/Stack.js +2 -2
- package/build/Pill/Stack/styles.js +5 -8
- package/build/Placeholder/Placeholder.js +29 -12
- package/build/Placeholder/Placeholder.test.js +4 -4
- package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
- package/build/Placeholder/styles.js +86 -42
- package/build/Provider/MenuListProvider.js +38 -0
- package/build/Provider/usePrevious.js +1 -1
- package/build/Radio/Radio.js +22 -7
- package/build/Radio/__snapshots__/Radio.test.js.snap +71 -79
- package/build/Radio/styles.js +84 -85
- package/build/SlideDown/SlideDown.js +167 -169
- package/build/SlideDown/SlideDown.test.js +49 -44
- package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
- package/build/SlideDown/styles.js +51 -20
- package/build/SlideToggle/SlideToggle.js +38 -6
- package/build/SlideToggle/SlideToggle.test.js +2 -2
- package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -38
- package/build/SlideToggle/styles.js +64 -45
- package/build/Tabs/Tab/Tab.js +73 -0
- package/build/Tabs/Tab/index.js +34 -0
- package/build/Tabs/Tab/index.test.js +132 -0
- package/build/Tabs/Tab/styles.js +74 -0
- package/build/Tabs/TabContent/TabContent.js +76 -0
- package/build/Tabs/TabContent/index.js +34 -0
- package/build/Tabs/TabContent/index.test.js +68 -0
- package/build/Tabs/TabContent/styles.js +23 -0
- package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
- package/build/Tabs/TabIndicator/index.js +34 -0
- package/build/Tabs/TabIndicator/styles.js +24 -0
- package/build/Tabs/TabList/TabList.js +108 -0
- package/build/Tabs/TabList/index.js +34 -0
- package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
- package/build/Tabs/Tabs.js +74 -0
- package/build/Tabs/context.js +94 -0
- package/build/Tabs/index.js +34 -0
- package/build/Tabs/index.test.js +157 -0
- package/build/Tabs/styles.js +19 -0
- package/build/Tag/Tag.js +2 -2
- package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
- package/build/Tag/styles.js +76 -82
- package/build/Text/Text.js +2 -1
- package/build/TextField/TextField.js +7 -6
- package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
- package/build/TextField/styles.js +3 -0
- package/build/Tip/Tip.js +62 -95
- package/build/Tip/Tip.test.js +29 -6
- package/build/Tip/TipText/index.js +32 -0
- package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
- package/build/Tip/styles.js +125 -31
- package/build/Toaster/Toast/Toast.js +76 -64
- package/build/Toaster/Toast/styles.js +118 -46
- package/build/Toaster/Toaster.js +3 -2
- package/build/Toaster/Toaster.test.js +5 -2
- package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
- package/build/Toaster/functions.js +4 -0
- package/build/Toaster/styles.js +3 -3
- package/build/Tooltip/Tooltip.js +73 -22
- package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
- package/build/Tooltip/styles.js +32 -10
- package/build/index.js +33 -19
- package/build/plugin/babel.js +0 -2
- package/build/subatomic/grid.js +5 -5
- package/build/tokens/colors.json +94 -60
- package/build/tokens/shadows.json +3 -3
- package/package.json +5 -2
- package/build/Banner/styles.js +0 -41
- package/build/Header/Header.js +0 -163
- package/build/Header/Header.test.js +0 -118
- package/build/Header/Menu/Menu.js +0 -135
- package/build/Header/Menu/Menu.test.js +0 -107
- package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
- package/build/Header/Menu/styles.js +0 -123
- package/build/Header/Nav/Nav.test.js +0 -81
- package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
- package/build/Header/Nav/styles.js +0 -110
- package/build/Header/__snapshots__/Header.test.js.snap +0 -79
- package/build/Header/styles.js +0 -94
- package/build/NavIcon/NavIcon.js +0 -112
- package/build/NavIcon/styles.js +0 -81
- package/build/Pager/Break/Break.js +0 -27
- package/build/Pager/Break/Break.test.js +0 -53
- package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
- package/build/Pager/Break/index.js +0 -18
- /package/build/Button/{Loading.js → Loading/index.js} +0 -0
package/build/Avatar/Avatar.js
CHANGED
@@ -15,6 +15,12 @@ var _AvatarContent = _interopRequireDefault(require("./AvatarContent"));
|
|
15
15
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
17
17
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
19
|
+
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
21
|
+
|
22
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
23
|
+
|
18
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
19
25
|
|
20
26
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
@@ -44,33 +50,72 @@ var Avatar = /*#__PURE__*/function (_React$Component) {
|
|
44
50
|
|
45
51
|
var _super = _createSuper(Avatar);
|
46
52
|
|
47
|
-
function Avatar() {
|
53
|
+
function Avatar(props) {
|
54
|
+
var _this;
|
55
|
+
|
48
56
|
_classCallCheck(this, Avatar);
|
49
57
|
|
50
|
-
|
58
|
+
_this = _super.call(this, props);
|
59
|
+
_this.handleKeyUp = _this.handleKeyUp.bind(_assertThisInitialized(_this));
|
60
|
+
return _this;
|
51
61
|
}
|
52
62
|
|
53
63
|
_createClass(Avatar, [{
|
64
|
+
key: "handleKeyDown",
|
65
|
+
value: function handleKeyDown(e) {
|
66
|
+
if (e.keyCode == 13 || e.keyCode == 32) {
|
67
|
+
e.preventDefault();
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}, {
|
71
|
+
key: "handleKeyUp",
|
72
|
+
value: function handleKeyUp(e) {
|
73
|
+
if (e.keyCode == 13 || e.keyCode == 32) {
|
74
|
+
var _this$props = this.props,
|
75
|
+
onEdit = _this$props.onEdit,
|
76
|
+
onClick = _this$props.onClick;
|
77
|
+
var isEditable = onEdit || onClick;
|
78
|
+
var handleClick = isEditable ? onClick || onEdit : undefined;
|
79
|
+
if (handleClick) handleClick();
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}, {
|
54
83
|
key: "render",
|
55
84
|
value: function render() {
|
56
|
-
var _this$
|
57
|
-
classes = _this$
|
58
|
-
photo = _this$
|
59
|
-
|
60
|
-
|
61
|
-
size = _this$
|
62
|
-
id = _this$
|
63
|
-
className = _this$
|
64
|
-
style = _this$
|
85
|
+
var _this$props2 = this.props,
|
86
|
+
classes = _this$props2.classes,
|
87
|
+
photo = _this$props2.photo,
|
88
|
+
name = _this$props2.name,
|
89
|
+
_this$props2$size = _this$props2.size,
|
90
|
+
size = _this$props2$size === void 0 ? 40 : _this$props2$size,
|
91
|
+
id = _this$props2.id,
|
92
|
+
className = _this$props2.className,
|
93
|
+
style = _this$props2.style,
|
94
|
+
onEdit = _this$props2.onEdit,
|
95
|
+
onClick = _this$props2.onClick,
|
96
|
+
disabled = _this$props2.disabled;
|
97
|
+
var isEditable = onEdit || onClick;
|
98
|
+
var handleClick = isEditable ? onClick || onEdit : undefined;
|
99
|
+
var tabIndexValue = isEditable && !disabled ? 0 : undefined;
|
100
|
+
var combinedClasses = "".concat(classes.circle).concat(isEditable ? " ".concat(classes.editable) : '').concat(disabled ? " ".concat(classes.disabled) : '').concat(className ? " ".concat(className) : '');
|
65
101
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
66
102
|
id: id,
|
67
|
-
className:
|
68
|
-
|
103
|
+
className: combinedClasses,
|
104
|
+
onClick: handleClick,
|
105
|
+
onKeyDown: this.handleKeyDown,
|
106
|
+
onKeyUp: this.handleKeyUp,
|
107
|
+
tabIndex: tabIndexValue,
|
108
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
109
|
+
width: size,
|
110
|
+
height: size
|
111
|
+
})
|
69
112
|
}, /*#__PURE__*/_react["default"].createElement(_AvatarContent["default"], {
|
70
113
|
photo: photo,
|
71
|
-
gender: gender,
|
72
114
|
name: name,
|
73
|
-
size: size
|
115
|
+
size: size,
|
116
|
+
onEdit: onEdit,
|
117
|
+
onClick: onClick,
|
118
|
+
disabled: disabled
|
74
119
|
}));
|
75
120
|
}
|
76
121
|
}]);
|
@@ -78,23 +123,26 @@ var Avatar = /*#__PURE__*/function (_React$Component) {
|
|
78
123
|
return Avatar;
|
79
124
|
}(_react["default"].Component);
|
80
125
|
|
81
|
-
Avatar.defaultProps = {
|
82
|
-
size: 70
|
83
|
-
};
|
84
126
|
Avatar.propTypes = {
|
85
127
|
classes: _propTypes["default"].object.isRequired,
|
86
128
|
|
87
129
|
/** A url to show a photo as the avatar. */
|
88
130
|
photo: _propTypes["default"].string,
|
89
131
|
|
90
|
-
/** Use the values 'm' or 'f' to show a default avatar with an icon representing the gender. */
|
91
|
-
gender: _propTypes["default"].oneOf(['f', 'm']),
|
92
|
-
|
93
132
|
/** Pass a name to show two initials. */
|
94
133
|
name: _propTypes["default"].string,
|
95
134
|
|
96
135
|
/** The size of the avatar. */
|
97
136
|
size: _propTypes["default"].number,
|
137
|
+
|
138
|
+
/** A function to handle the click action for editing. */
|
139
|
+
onEdit: _propTypes["default"].func,
|
140
|
+
|
141
|
+
/** A function to handle the click. */
|
142
|
+
onClick: _propTypes["default"].func,
|
143
|
+
|
144
|
+
/** Determines if the avatar is disabled. */
|
145
|
+
disabled: _propTypes["default"].bool,
|
98
146
|
id: _propTypes["default"].string,
|
99
147
|
className: _propTypes["default"].string,
|
100
148
|
style: _propTypes["default"].object
|
@@ -35,17 +35,24 @@ describe("AvatarJSS", function () {
|
|
35
35
|
}));
|
36
36
|
expect(wrapper).toMatchSnapshot();
|
37
37
|
});
|
38
|
+
it('returns the right width and height', function () {
|
39
|
+
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
|
40
|
+
name: "John Doe",
|
41
|
+
size: 50
|
42
|
+
}));
|
43
|
+
var styles = wrapper.dive().props().style;
|
44
|
+
expect(styles.width).toBe(50);
|
45
|
+
expect(styles.height).toBe(50);
|
46
|
+
wrapper.setProps({
|
47
|
+
size: 70
|
48
|
+
});
|
49
|
+
var styles2 = wrapper.dive().props().style;
|
50
|
+
expect(styles2.width).toBe(70);
|
51
|
+
expect(styles2.height).toBe(70);
|
52
|
+
});
|
38
53
|
});
|
39
54
|
describe("Avatar styles", function () {
|
40
55
|
it('matches the snapshot', function () {
|
41
56
|
expect(_styles["default"]).toMatchSnapshot();
|
42
57
|
});
|
43
|
-
it('returns the right width and height', function () {
|
44
|
-
var props = {};
|
45
|
-
expect(_styles["default"].circle.width(props)).toBe(70);
|
46
|
-
expect(_styles["default"].circle.height(props)).toBe(70);
|
47
|
-
props.size = 50;
|
48
|
-
expect(_styles["default"].circle.width(props)).toBe(50);
|
49
|
-
expect(_styles["default"].circle.height(props)).toBe(50);
|
50
|
-
});
|
51
58
|
});
|
@@ -9,40 +9,77 @@ var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
11
11
|
|
12
|
+
var _Icon = _interopRequireDefault(require("../../Icon"));
|
13
|
+
|
14
|
+
var _colors = _interopRequireDefault(require("../../tokens/colors.json"));
|
15
|
+
|
12
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
13
17
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
19
|
+
|
20
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
21
|
+
|
22
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
23
|
+
|
24
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
25
|
+
|
26
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
27
|
+
|
28
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
29
|
+
|
30
|
+
var getInitials = function getInitials(name) {
|
31
|
+
if (name && name.trim()) {
|
32
|
+
var _name$trim$replace$to = name.trim().replace(/\s+/g, ' ').toUpperCase().split(' '),
|
33
|
+
_name$trim$replace$to2 = _slicedToArray(_name$trim$replace$to, 2),
|
34
|
+
firstName = _name$trim$replace$to2[0],
|
35
|
+
lastName = _name$trim$replace$to2[1];
|
36
|
+
|
37
|
+
return "".concat(firstName === null || firstName === void 0 ? void 0 : firstName.charAt(0)).concat(lastName === null || lastName === void 0 ? void 0 : lastName.charAt(0));
|
19
38
|
}
|
20
39
|
|
21
|
-
return
|
40
|
+
return null;
|
22
41
|
};
|
23
42
|
|
24
43
|
var AvatarContent = function AvatarContent(_ref) {
|
25
44
|
var classes = _ref.classes,
|
26
45
|
photo = _ref.photo,
|
27
|
-
gender = _ref.gender,
|
28
46
|
name = _ref.name,
|
29
|
-
size = _ref.size
|
47
|
+
size = _ref.size,
|
48
|
+
onEdit = _ref.onEdit,
|
49
|
+
onClick = _ref.onClick,
|
50
|
+
disabled = _ref.disabled;
|
51
|
+
var initials = getInitials(name);
|
30
52
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
31
53
|
className: classes.wrap
|
32
|
-
},
|
33
|
-
className: "".concat(classes.cont
|
34
|
-
|
35
|
-
|
54
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
55
|
+
className: "".concat(classes.cont).concat(onClick ? " ".concat(classes.clickable) : '').concat(onEdit ? " ".concat(classes.editable) : '').concat(disabled ? " ".concat(classes.disabled) : '').concat(photo ? " ".concat(classes.photo) : '').concat(photo && (onClick || onEdit) ? " ".concat(classes.hoverPhoto) : ''),
|
56
|
+
style: photo ? {
|
57
|
+
background: "url('".concat(photo, "') no-repeat center center / cover")
|
58
|
+
} : null
|
59
|
+
}, !photo ? initials ? /*#__PURE__*/_react["default"].createElement("span", {
|
60
|
+
className: "".concat(classes.initials, " ").concat(disabled ? classes.disabledInitials : ''),
|
36
61
|
style: size ? {
|
37
|
-
|
38
|
-
lineHeight: "".concat(size, "px")
|
62
|
+
transform: "scale(".concat(size / 40, ")")
|
39
63
|
} : {}
|
40
|
-
},
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
64
|
+
}, initials) : /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
65
|
+
iconName: "person",
|
66
|
+
className: classes.person,
|
67
|
+
colors: [disabled ? _colors["default"].icon["default"].disabled : _colors["default"].icon.brand["default"]],
|
68
|
+
size: 24,
|
69
|
+
style: size ? {
|
70
|
+
transform: "scale(".concat(size / 40, ")")
|
71
|
+
} : {}
|
72
|
+
}) : null, /*#__PURE__*/_react["default"].createElement("div", {
|
73
|
+
className: classes.overlay
|
74
|
+
}, onEdit && !disabled && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
75
|
+
iconName: "camera",
|
76
|
+
className: classes.camera,
|
77
|
+
colors: [disabled ? _colors["default"].icon["default"].disabled : _colors["default"].icon.inverse["default"]],
|
78
|
+
size: 24,
|
79
|
+
style: size ? {
|
80
|
+
transform: "scale(".concat(size / 40, ")")
|
81
|
+
} : {}
|
82
|
+
}))));
|
46
83
|
};
|
47
84
|
|
48
85
|
AvatarContent.propTypes = {
|
@@ -50,7 +87,10 @@ AvatarContent.propTypes = {
|
|
50
87
|
photo: _propTypes["default"].string,
|
51
88
|
gender: _propTypes["default"].string,
|
52
89
|
name: _propTypes["default"].string,
|
53
|
-
size: _propTypes["default"].number
|
90
|
+
size: _propTypes["default"].number,
|
91
|
+
onEdit: _propTypes["default"].func,
|
92
|
+
onClick: _propTypes["default"].func,
|
93
|
+
disabled: _propTypes["default"].bool
|
54
94
|
};
|
55
95
|
var _default = AvatarContent;
|
56
96
|
exports["default"] = _default;
|
@@ -27,25 +27,12 @@ describe("AvatarContent", function () {
|
|
27
27
|
}));
|
28
28
|
expect(wrapper).toMatchSnapshot();
|
29
29
|
});
|
30
|
-
it('returns the first two
|
30
|
+
it('returns the first two initial letters of the name', function () {
|
31
31
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_AvatarContent["default"], {
|
32
32
|
name: "John Doe",
|
33
33
|
classes: classes
|
34
34
|
}));
|
35
|
-
expect(wrapper.find('.
|
36
|
-
});
|
37
|
-
it('shows the right gender icon', function () {
|
38
|
-
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_AvatarContent["default"], {
|
39
|
-
gender: "m",
|
40
|
-
classes: classes
|
41
|
-
}));
|
42
|
-
expect(wrapper.find('.m').length).toBe(1);
|
43
|
-
expect(wrapper.find('.f').length).toBe(0);
|
44
|
-
wrapper.setProps({
|
45
|
-
gender: 'f'
|
46
|
-
});
|
47
|
-
expect(wrapper.find('.m').length).toBe(0);
|
48
|
-
expect(wrapper.find('.f').length).toBe(1);
|
35
|
+
expect(wrapper.find('.initials').text()).toEqual('JD');
|
49
36
|
});
|
50
37
|
it('renders the photo as a background', function () {
|
51
38
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_AvatarContent["default"], {
|
@@ -60,9 +47,8 @@ describe("AvatarContent", function () {
|
|
60
47
|
size: 50,
|
61
48
|
classes: classes
|
62
49
|
}));
|
63
|
-
var styles = wrapper.find('.
|
64
|
-
expect(styles).toHaveProperty('
|
65
|
-
expect(styles).toHaveProperty('lineHeight', '50px');
|
50
|
+
var styles = wrapper.find('.initials').prop('style');
|
51
|
+
expect(styles).toHaveProperty('transform', 'scale(1.25)');
|
66
52
|
});
|
67
53
|
});
|
68
54
|
describe("AvatarContentJSS", function () {
|
@@ -4,31 +4,91 @@ exports[`AvatarContent matches the snapshot 1`] = `ShallowWrapper {}`;
|
|
4
4
|
|
5
5
|
exports[`AvatarContent styles matches the snapshot 1`] = `
|
6
6
|
Object {
|
7
|
-
"
|
8
|
-
"
|
9
|
-
"
|
10
|
-
"
|
11
|
-
"
|
12
|
-
|
13
|
-
|
14
|
-
"
|
15
|
-
|
16
|
-
|
7
|
+
"camera": Object {
|
8
|
+
"gridColumnStart": 1,
|
9
|
+
"gridRowStart": 1,
|
10
|
+
"opacity": 0,
|
11
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
12
|
+
},
|
13
|
+
"clickable": Object {
|
14
|
+
"&:active": Object {
|
15
|
+
"background": "#ABBDE4",
|
16
|
+
},
|
17
|
+
"&:hover": Object {
|
18
|
+
"background": "#CAD5EE",
|
19
|
+
},
|
20
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
17
21
|
},
|
18
22
|
"cont": Object {
|
19
|
-
"
|
23
|
+
"alignItems": "center",
|
24
|
+
"background": "#E9EEF8",
|
25
|
+
"borderRadius": "9999px",
|
26
|
+
"display": "grid",
|
20
27
|
"height": "100%",
|
28
|
+
"justifyContent": "center",
|
21
29
|
"left": "0",
|
22
30
|
"overflow": "hidden",
|
23
31
|
"position": "absolute",
|
24
32
|
"top": "0",
|
25
33
|
"width": "100%",
|
26
34
|
},
|
27
|
-
"
|
28
|
-
"
|
35
|
+
"disabled": Object {
|
36
|
+
"& $camera": Object {
|
37
|
+
"opacity": 1,
|
38
|
+
},
|
39
|
+
"background": "#EDEDF1",
|
40
|
+
"pointerEvents": "none",
|
41
|
+
},
|
42
|
+
"disabledInitials": Object {
|
43
|
+
"color": "#878A9F",
|
44
|
+
},
|
45
|
+
"editable": Object {
|
46
|
+
"&:active $overlay": Object {
|
47
|
+
"background": "rgba(8, 13, 57, 0.4)",
|
48
|
+
},
|
49
|
+
"&:hover $camera": Object {
|
50
|
+
"opacity": 1,
|
51
|
+
},
|
52
|
+
"&:hover $overlay": Object {
|
53
|
+
"background": "rgba(8, 13, 57, 0.3)",
|
54
|
+
},
|
55
|
+
},
|
56
|
+
"hoverPhoto": Object {
|
57
|
+
"&:active $overlay": Object {
|
58
|
+
"background": "rgba(8, 13, 57, 0.4)",
|
59
|
+
},
|
60
|
+
"&:hover $overlay": Object {
|
61
|
+
"background": "rgba(8, 13, 57, 0.3)",
|
62
|
+
},
|
63
|
+
},
|
64
|
+
"initials": Object {
|
65
|
+
"color": "#083CAE",
|
66
|
+
"display": "inline-block",
|
67
|
+
"font": "400 16px/1.5 'OccText', sans-serif",
|
68
|
+
"gridColumnStart": "1",
|
69
|
+
"gridRowStart": "1",
|
70
|
+
"textAlign": "center",
|
71
|
+
},
|
72
|
+
"overlay": Object {
|
73
|
+
"alignItems": "center",
|
74
|
+
"border": "1px solid transparent",
|
75
|
+
"borderRadius": "50%",
|
76
|
+
"display": "grid",
|
77
|
+
"height": "100%",
|
78
|
+
"justifyContent": "center",
|
79
|
+
"left": "0",
|
80
|
+
"position": "absolute",
|
81
|
+
"top": "0",
|
82
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
83
|
+
"width": "100%",
|
84
|
+
},
|
85
|
+
"person": Object {
|
86
|
+
"gridColumnStart": 1,
|
87
|
+
"gridRowStart": 1,
|
88
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
29
89
|
},
|
30
|
-
"
|
31
|
-
"
|
90
|
+
"photo": Object {
|
91
|
+
"border": "1px solid #EDEDF1",
|
32
92
|
},
|
33
93
|
"wrap": Object {
|
34
94
|
"height": "100%",
|
@@ -5,14 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports["default"] = void 0;
|
7
7
|
|
8
|
-
var _fonts = _interopRequireDefault(require("../../
|
8
|
+
var _fonts = _interopRequireDefault(require("../../tokens/fonts.json"));
|
9
9
|
|
10
|
-
var
|
10
|
+
var _colors = _interopRequireDefault(require("../../tokens/colors.json"));
|
11
11
|
|
12
|
-
var
|
12
|
+
var _borderRadius = _interopRequireDefault(require("../../tokens/borderRadius.json"));
|
13
|
+
|
14
|
+
var _fonts2 = _interopRequireDefault(require("../../subatomic/fonts"));
|
13
15
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
15
17
|
|
18
|
+
var avatar = _colors["default"].avatar,
|
19
|
+
text = _colors["default"].text,
|
20
|
+
border = _colors["default"].border;
|
21
|
+
var transition = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
|
22
|
+
var font = _fonts["default"]['body-regular-strong'];
|
16
23
|
var _default = {
|
17
24
|
wrap: {
|
18
25
|
position: 'relative',
|
@@ -25,25 +32,85 @@ var _default = {
|
|
25
32
|
left: '0',
|
26
33
|
width: '100%',
|
27
34
|
height: '100%',
|
35
|
+
borderRadius: _borderRadius["default"]['br-full'],
|
36
|
+
overflow: 'hidden',
|
37
|
+
background: avatar.bg["default"],
|
38
|
+
display: 'grid',
|
39
|
+
alignItems: 'center',
|
40
|
+
justifyContent: 'center'
|
41
|
+
},
|
42
|
+
initials: {
|
43
|
+
display: 'inline-block',
|
44
|
+
font: "".concat(font.fontWeight, " ").concat(font.fontSize, "/").concat(font.lineHeight, " ").concat(_fonts2["default"].body),
|
45
|
+
color: text.indigo.primary,
|
46
|
+
gridRowStart: '1',
|
47
|
+
gridColumnStart: '1',
|
48
|
+
textAlign: 'center'
|
49
|
+
},
|
50
|
+
disabled: {
|
51
|
+
pointerEvents: 'none',
|
52
|
+
background: avatar.bg.disabled,
|
53
|
+
'& $camera': {
|
54
|
+
opacity: 1
|
55
|
+
}
|
56
|
+
},
|
57
|
+
disabledInitials: {
|
58
|
+
color: text.corp.disabled
|
59
|
+
},
|
60
|
+
clickable: {
|
61
|
+
transition: transition,
|
62
|
+
'&:hover': {
|
63
|
+
background: avatar.bg.hover
|
64
|
+
},
|
65
|
+
'&:active': {
|
66
|
+
background: avatar.bg.active
|
67
|
+
}
|
68
|
+
},
|
69
|
+
editable: {
|
70
|
+
'&:hover $camera': {
|
71
|
+
opacity: 1
|
72
|
+
},
|
73
|
+
'&:hover $overlay': {
|
74
|
+
background: avatar.bg.overlay.hover
|
75
|
+
},
|
76
|
+
'&:active $overlay': {
|
77
|
+
background: avatar.bg.overlay.active
|
78
|
+
}
|
79
|
+
},
|
80
|
+
person: {
|
81
|
+
gridRowStart: 1,
|
82
|
+
gridColumnStart: 1,
|
83
|
+
transition: transition
|
84
|
+
},
|
85
|
+
photo: {
|
86
|
+
border: "1px solid ".concat(border["default"].subtle)
|
87
|
+
},
|
88
|
+
hoverPhoto: {
|
89
|
+
'&:hover $overlay': {
|
90
|
+
background: avatar.bg.overlay.hover
|
91
|
+
},
|
92
|
+
'&:active $overlay': {
|
93
|
+
background: avatar.bg.overlay.active
|
94
|
+
}
|
95
|
+
},
|
96
|
+
camera: {
|
97
|
+
gridRowStart: 1,
|
98
|
+
gridColumnStart: 1,
|
99
|
+
opacity: 0,
|
100
|
+
transition: transition
|
101
|
+
},
|
102
|
+
overlay: {
|
28
103
|
borderRadius: '50%',
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
fontSize: '57px',
|
40
|
-
lineHeight: '72px',
|
41
|
-
fontWeight: '400',
|
42
|
-
background: _colors["default"].grey100,
|
43
|
-
color: _colors["default"].grey200,
|
44
|
-
textAlign: 'center',
|
45
|
-
letterSpacing: -2,
|
46
|
-
fontStyle: 'normal'
|
104
|
+
position: 'absolute',
|
105
|
+
top: '0',
|
106
|
+
left: '0',
|
107
|
+
width: '100%',
|
108
|
+
height: '100%',
|
109
|
+
display: 'grid',
|
110
|
+
alignItems: 'center',
|
111
|
+
justifyContent: 'center',
|
112
|
+
transition: transition,
|
113
|
+
border: "1px solid transparent"
|
47
114
|
}
|
48
115
|
};
|
49
116
|
exports["default"] = _default;
|
@@ -6,10 +6,19 @@ exports[`Avatar styles matches the snapshot 1`] = `
|
|
6
6
|
Object {
|
7
7
|
"circle": Object {
|
8
8
|
"borderRadius": "50%",
|
9
|
-
"
|
9
|
+
"outline": "none",
|
10
10
|
"overflow": "hidden",
|
11
11
|
"position": "relative",
|
12
|
-
|
12
|
+
},
|
13
|
+
"disabled": Object {
|
14
|
+
"pointerEvents": "none",
|
15
|
+
},
|
16
|
+
"editable": Object {
|
17
|
+
"&:focus-visible": Object {
|
18
|
+
"boxShadow": "0 0 0 8px rgba(0,110,255,0.3)",
|
19
|
+
},
|
20
|
+
"cursor": "pointer",
|
21
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
13
22
|
},
|
14
23
|
}
|
15
24
|
`;
|
package/build/Avatar/styles.js
CHANGED
@@ -4,17 +4,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports["default"] = void 0;
|
7
|
+
|
8
|
+
var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
11
|
+
|
12
|
+
var transition = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
|
7
13
|
var _default = {
|
8
14
|
circle: {
|
9
15
|
position: 'relative',
|
10
|
-
width: function width(props) {
|
11
|
-
return props.size ? props.size : 70;
|
12
|
-
},
|
13
|
-
height: function height(props) {
|
14
|
-
return props.size ? props.size : 70;
|
15
|
-
},
|
16
16
|
borderRadius: '50%',
|
17
|
-
overflow: 'hidden'
|
17
|
+
overflow: 'hidden',
|
18
|
+
outline: 'none'
|
19
|
+
},
|
20
|
+
editable: {
|
21
|
+
cursor: 'pointer',
|
22
|
+
transition: transition,
|
23
|
+
'&:focus-visible': {
|
24
|
+
boxShadow: _shadows["default"]['focus-bright-blue']
|
25
|
+
}
|
26
|
+
},
|
27
|
+
disabled: {
|
28
|
+
pointerEvents: 'none'
|
18
29
|
}
|
19
30
|
};
|
20
31
|
exports["default"] = _default;
|