@carbon/ibm-products 2.26.0 → 2.27.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +517 -56
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +32 -14
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +517 -56
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +488 -48
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/BigNumbers/BigNumbers.d.ts +11 -0
- package/es/components/BigNumbers/BigNumbers.js +238 -0
- package/es/components/BigNumbers/constants.d.ts +13 -0
- package/es/components/BigNumbers/constants.js +67 -0
- package/es/components/BigNumbers/index.d.ts +1 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +4 -3
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +3 -2
- package/es/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
- package/es/components/DataSpreadsheet/utils/checkForHoldingKey.js +17 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +9 -2
- package/es/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +6 -2
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -4
- package/es/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +21 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +32 -9
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +35 -3
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
- package/es/components/Datagrid/useSelectAllToggle.js +5 -3
- package/es/components/SidePanel/SidePanel.js +13 -6
- package/es/components/SidePanel/motion/variants.d.ts +39 -12
- package/es/components/SidePanel/motion/variants.js +42 -11
- package/es/components/StringFormatter/StringFormatter.d.ts +6 -0
- package/es/components/StringFormatter/StringFormatter.js +79 -0
- package/es/components/StringFormatter/index.d.ts +1 -0
- package/es/components/StringFormatter/utils/enums.d.ts +14 -0
- package/es/components/StringFormatter/utils/enums.js +23 -0
- package/es/components/Tearsheet/TearsheetShell.js +10 -4
- package/es/components/UserAvatar/UserAvatar.js +58 -42
- package/es/components/index.d.ts +2 -0
- package/es/global/js/hooks/index.d.ts +1 -0
- package/es/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
- package/es/global/js/hooks/useIsomorphicEffect.js +14 -0
- package/es/global/js/package-settings.d.ts +2 -0
- package/es/global/js/package-settings.js +2 -0
- package/es/index.js +2 -0
- package/es/settings.d.ts +2 -0
- package/lib/components/BigNumbers/BigNumbers.d.ts +11 -0
- package/lib/components/BigNumbers/BigNumbers.js +244 -0
- package/lib/components/BigNumbers/constants.d.ts +13 -0
- package/lib/components/BigNumbers/constants.js +76 -0
- package/lib/components/BigNumbers/index.d.ts +1 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +4 -3
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +3 -2
- package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
- package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.js +21 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +9 -2
- package/lib/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -2
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -4
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +20 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +30 -7
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +33 -1
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
- package/lib/components/Datagrid/useSelectAllToggle.js +4 -2
- package/lib/components/SidePanel/SidePanel.js +11 -4
- package/lib/components/SidePanel/motion/variants.d.ts +39 -12
- package/lib/components/SidePanel/motion/variants.js +42 -10
- package/lib/components/StringFormatter/StringFormatter.d.ts +6 -0
- package/lib/components/StringFormatter/StringFormatter.js +85 -0
- package/lib/components/StringFormatter/index.d.ts +1 -0
- package/lib/components/StringFormatter/utils/enums.d.ts +14 -0
- package/lib/components/StringFormatter/utils/enums.js +27 -0
- package/lib/components/Tearsheet/TearsheetShell.js +10 -4
- package/lib/components/UserAvatar/UserAvatar.js +58 -42
- package/lib/components/index.d.ts +2 -0
- package/lib/global/js/hooks/index.d.ts +1 -0
- package/lib/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
- package/lib/global/js/hooks/useIsomorphicEffect.js +18 -0
- package/lib/global/js/package-settings.d.ts +2 -0
- package/lib/global/js/package-settings.js +2 -0
- package/lib/index.js +10 -0
- package/lib/settings.d.ts +2 -0
- package/package.json +7 -7
- package/scss/components/BigNumbers/_big-numbers.scss +151 -0
- package/scss/components/BigNumbers/_carbon-imports.scss +11 -0
- package/scss/components/BigNumbers/_index-with-carbon.scss +9 -0
- package/scss/components/BigNumbers/_index.scss +8 -0
- package/scss/components/FullPageError/_full-page-error.scss +2 -2
- package/scss/components/SidePanel/_side-panel.scss +1 -1
- package/scss/components/StringFormatter/_carbon-imports.scss +10 -0
- package/scss/components/StringFormatter/_index-with-carbon.scss +9 -0
- package/scss/components/StringFormatter/_index.scss +8 -0
- package/scss/components/StringFormatter/_string-formatter.scss +97 -0
- package/scss/components/Tearsheet/_tearsheet.scss +34 -2
- package/scss/components/UserAvatar/_user-avatar.scss +40 -0
- package/scss/components/_index-with-carbon.scss +2 -0
- package/scss/components/_index.scss +2 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
13
|
+
var React = require('react');
|
14
|
+
var index$1 = require('../../node_modules/prop-types/index.js');
|
15
|
+
var index = require('../../node_modules/classnames/index.js');
|
16
|
+
var devtools = require('../../global/js/utils/devtools.js');
|
17
|
+
var settings = require('../../settings.js');
|
18
|
+
var react = require('@carbon/react');
|
19
|
+
var enums = require('./utils/enums.js');
|
20
|
+
|
21
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
22
|
+
|
23
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
24
|
+
|
25
|
+
var _excluded = ["className", "lines", "tooltipDirection", "truncate", "width", "value"];
|
26
|
+
var blockClass = "".concat(settings.pkg.prefix, "--string-formatter");
|
27
|
+
var componentName = 'StringFormatter';
|
28
|
+
var defaults = {
|
29
|
+
lines: 1,
|
30
|
+
tooltipDirection: enums.StringFormatterAlignment.BOTTOM_LEFT,
|
31
|
+
truncate: false,
|
32
|
+
width: null
|
33
|
+
};
|
34
|
+
|
35
|
+
/**
|
36
|
+
* StringFormatter allows for truncating text while displaying a tooltip
|
37
|
+
* overlay on hover or focus with the entirety of the provided copy.
|
38
|
+
*/
|
39
|
+
exports.StringFormatter = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
40
|
+
var className = _ref.className,
|
41
|
+
_ref$lines = _ref.lines,
|
42
|
+
lines = _ref$lines === void 0 ? defaults.lines : _ref$lines,
|
43
|
+
_ref$tooltipDirection = _ref.tooltipDirection,
|
44
|
+
tooltipDirection = _ref$tooltipDirection === void 0 ? defaults.tooltipDirection : _ref$tooltipDirection,
|
45
|
+
_ref$truncate = _ref.truncate,
|
46
|
+
truncate = _ref$truncate === void 0 ? defaults.truncate : _ref$truncate,
|
47
|
+
_ref$width = _ref.width,
|
48
|
+
width = _ref$width === void 0 ? defaults.width : _ref$width,
|
49
|
+
value = _ref.value,
|
50
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
51
|
+
var stringFormatterContent = /*#__PURE__*/React__default["default"].createElement("span", {
|
52
|
+
className: index["default"]("".concat(blockClass, "--content"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--truncate"), truncate)),
|
53
|
+
style: {
|
54
|
+
maxWidth: width,
|
55
|
+
WebkitLineClamp: lines
|
56
|
+
}
|
57
|
+
}, value);
|
58
|
+
return /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
59
|
+
className: index["default"](blockClass, className),
|
60
|
+
ref: ref
|
61
|
+
}, devtools.getDevtoolsProps(componentName)), truncate ? /*#__PURE__*/React__default["default"].createElement(react.DefinitionTooltip, {
|
62
|
+
className: "".concat(blockClass, "__tooltip"),
|
63
|
+
align: tooltipDirection,
|
64
|
+
definition: value,
|
65
|
+
openOnHover: true
|
66
|
+
}, stringFormatterContent) : stringFormatterContent);
|
67
|
+
});
|
68
|
+
exports.StringFormatter = settings.pkg.checkComponentEnabled(exports.StringFormatter, componentName);
|
69
|
+
exports.StringFormatter.displayName = componentName;
|
70
|
+
exports.StringFormatter.propTypes = {
|
71
|
+
/**
|
72
|
+
* Provide an optional class to be applied to the containing node.
|
73
|
+
*/
|
74
|
+
className: index$1["default"].string,
|
75
|
+
/** Number of lines to clamp value. */
|
76
|
+
lines: index$1["default"].number,
|
77
|
+
/** Specify the direction of the tooltip. Can be either top or bottom. */
|
78
|
+
tooltipDirection: index$1["default"].oneOf(Object.values(enums.StringFormatterAlignment)),
|
79
|
+
/** Whether or not the value should be truncated. */
|
80
|
+
truncate: index$1["default"].bool,
|
81
|
+
/** Value to format. */
|
82
|
+
value: index$1["default"].string.isRequired,
|
83
|
+
/** Maximum width of value which should include */
|
84
|
+
width: index$1["default"].string
|
85
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export { StringFormatter } from "./StringFormatter";
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export namespace StringFormatterAlignment {
|
2
|
+
let TOP: string;
|
3
|
+
let TOP_LEFT: string;
|
4
|
+
let TOP_RIGHT: string;
|
5
|
+
let BOTTOM: string;
|
6
|
+
let BOTTOM_LEFT: string;
|
7
|
+
let BOTTOM_RIGHT: string;
|
8
|
+
let LEFT: string;
|
9
|
+
let LEFT_BOTTOM: string;
|
10
|
+
let LEFT_TOP: string;
|
11
|
+
let RIGHT: string;
|
12
|
+
let RIGHT_BOTTOM: string;
|
13
|
+
let RIGHT_TOP: string;
|
14
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var StringFormatterAlignment = {
|
13
|
+
TOP: 'top',
|
14
|
+
TOP_LEFT: 'top-left',
|
15
|
+
TOP_RIGHT: 'top-right',
|
16
|
+
BOTTOM: 'bottom',
|
17
|
+
BOTTOM_LEFT: 'bottom-left',
|
18
|
+
BOTTOM_RIGHT: 'bottom-right',
|
19
|
+
LEFT: 'left',
|
20
|
+
LEFT_BOTTOM: 'left-bottom',
|
21
|
+
LEFT_TOP: 'left-top',
|
22
|
+
RIGHT: 'right',
|
23
|
+
RIGHT_BOTTOM: 'right-bottom',
|
24
|
+
RIGHT_TOP: 'right-top'
|
25
|
+
};
|
26
|
+
|
27
|
+
exports.StringFormatterAlignment = StringFormatterAlignment;
|
@@ -27,7 +27,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
27
27
|
|
28
28
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
29
29
|
|
30
|
-
var _excluded = ["actions", "ariaLabel", "children", "className", "closeIconDescription", "description", "hasCloseIcon", "headerActions", "influencer", "influencerPosition", "influencerWidth", "label", "navigation", "onClose", "open", "selectorPrimaryFocus", "size", "
|
30
|
+
var _excluded = ["actions", "ariaLabel", "children", "className", "closeIconDescription", "description", "hasCloseIcon", "headerActions", "influencer", "influencerPosition", "influencerWidth", "label", "navigation", "onClose", "open", "portalTarget", "selectorPrimaryFocus", "size", "slug", "title", "verticalPosition"];
|
31
31
|
|
32
32
|
// The block part of our conventional BEM class names (bc__E--M).
|
33
33
|
var bc = "".concat(settings.pkg.prefix, "--tearsheet");
|
@@ -79,9 +79,10 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
79
79
|
navigation = _ref.navigation,
|
80
80
|
onClose = _ref.onClose,
|
81
81
|
open = _ref.open,
|
82
|
+
portalTargetIn = _ref.portalTarget,
|
82
83
|
selectorPrimaryFocus = _ref.selectorPrimaryFocus,
|
83
84
|
size = _ref.size,
|
84
|
-
|
85
|
+
slug = _ref.slug,
|
85
86
|
title = _ref.title,
|
86
87
|
verticalPosition = _ref.verticalPosition,
|
87
88
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
@@ -198,9 +199,10 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
198
199
|
var includeActions = actions && (actions === null || actions === void 0 ? void 0 : actions.length) > 0;
|
199
200
|
return renderPortalUse( /*#__PURE__*/React__default["default"].createElement(react.ComposedModal, _rollupPluginBabelHelpers["extends"]({}, rest, {
|
200
201
|
"aria-label": ariaLabel || getNodeTextContent.getNodeTextContent(title),
|
201
|
-
className: index["default"](bc, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth),
|
202
|
+
className: index["default"](bc, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth),
|
202
203
|
// Don't apply this on the initial open of a single tearsheet.
|
203
|
-
depth > 1 || depth === 1 && prevDepth.current > 1), "".concat(bc, "--wide"), wide), "".concat(bc, "--narrow"), !wide)),
|
204
|
+
depth > 1 || depth === 1 && prevDepth.current > 1), "".concat(bc, "--wide"), wide), "".concat(bc, "--narrow"), !wide), "".concat(bc, "--has-slug"), slug), "".concat(bc, "--has-close"), effectiveHasCloseIcon)),
|
205
|
+
slug: slug,
|
204
206
|
style: _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "--".concat(bc, "--stacking-scale-factor-single"), (width - 32) / width), "--".concat(bc, "--stacking-scale-factor-double"), (width - 64) / width),
|
205
207
|
containerClassName: index["default"]("".concat(bc, "__container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "__container--lower"), verticalPosition === 'lower')),
|
206
208
|
onClose: onClose,
|
@@ -402,6 +404,10 @@ TearsheetShell.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
402
404
|
* Specifies the width of the tearsheet, 'narrow' or 'wide'.
|
403
405
|
*/
|
404
406
|
size: index$1["default"].oneOf(['narrow', 'wide']).isRequired,
|
407
|
+
/**
|
408
|
+
* **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
|
409
|
+
*/
|
410
|
+
slug: index$1["default"].node,
|
405
411
|
/**
|
406
412
|
* The main title of the tearsheet, displayed in the header area.
|
407
413
|
*/
|
@@ -15,16 +15,15 @@ var index = require('../../node_modules/prop-types/index.js');
|
|
15
15
|
var index$1 = require('../../node_modules/classnames/index.js');
|
16
16
|
var devtools = require('../../global/js/utils/devtools.js');
|
17
17
|
var settings = require('../../settings.js');
|
18
|
-
var icons = require('@carbon/react/icons');
|
19
18
|
var react = require('@carbon/react');
|
19
|
+
var icons = require('@carbon/react/icons');
|
20
20
|
var TooltipTrigger = require('../TooltipTrigger/TooltipTrigger.js');
|
21
21
|
|
22
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
23
23
|
|
24
24
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
25
25
|
|
26
|
-
var _excluded = ["backgroundColor", "className", "renderIcon", "tooltipText", "tooltipAlignment"];
|
27
|
-
var _User, _User2, _Group;
|
26
|
+
var _excluded = ["backgroundColor", "className", "name", "renderIcon", "size", "tooltipText", "tooltipAlignment"];
|
28
27
|
// Carbon and package components we use.
|
29
28
|
/* TODO: @import(s) of carbon components and other package components. */
|
30
29
|
|
@@ -53,54 +52,60 @@ var componentName = 'UserAvatar';
|
|
53
52
|
*/
|
54
53
|
|
55
54
|
var defaults = {
|
56
|
-
|
57
|
-
|
58
|
-
size: 32
|
59
|
-
}));
|
60
|
-
},
|
61
|
-
tooltipAlignment: 'bottom',
|
62
|
-
tooltipText: 'Thomas J. Watson'
|
55
|
+
size: 'md',
|
56
|
+
tooltipAlignment: 'bottom'
|
63
57
|
};
|
64
58
|
exports.UserAvatar = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
65
|
-
var _SetItem;
|
66
59
|
var backgroundColor = _ref.backgroundColor,
|
67
60
|
className = _ref.className,
|
68
|
-
|
69
|
-
|
70
|
-
_ref$
|
71
|
-
|
61
|
+
name = _ref.name,
|
62
|
+
RenderIcon = _ref.renderIcon,
|
63
|
+
_ref$size = _ref.size,
|
64
|
+
size = _ref$size === void 0 ? defaults.size : _ref$size,
|
65
|
+
tooltipText = _ref.tooltipText,
|
72
66
|
_ref$tooltipAlignment = _ref.tooltipAlignment,
|
73
67
|
tooltipAlignment = _ref$tooltipAlignment === void 0 ? defaults.tooltipAlignment : _ref$tooltipAlignment,
|
74
68
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
75
69
|
var carbonPrefix = react.usePrefix();
|
76
|
-
var
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
70
|
+
var iconSize = {
|
71
|
+
sm: 16,
|
72
|
+
md: 20,
|
73
|
+
lg: 24,
|
74
|
+
xl: 32
|
75
|
+
};
|
76
|
+
var formatInitials = function formatInitials() {
|
77
|
+
var _ref2;
|
78
|
+
var parts = name.split(' ');
|
79
|
+
var firstChar = parts[0].charAt(0).toUpperCase();
|
80
|
+
var secondChar = parts[0].charAt(1).toUpperCase();
|
81
|
+
if (parts.length === 1) {
|
82
|
+
return firstChar + secondChar;
|
86
83
|
}
|
84
|
+
var lastChar = parts[parts.length - 1].charAt(0).toUpperCase();
|
85
|
+
var initials = [firstChar];
|
86
|
+
if (lastChar) {
|
87
|
+
initials.push(lastChar);
|
88
|
+
}
|
89
|
+
return (_ref2 = '').concat.apply(_ref2, initials);
|
87
90
|
};
|
88
|
-
var getItem = function getItem(
|
89
|
-
|
90
|
-
|
91
|
-
}
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
var getItem = function getItem() {
|
92
|
+
var iconProps = {
|
93
|
+
size: iconSize[size]
|
94
|
+
};
|
95
|
+
if (RenderIcon) {
|
96
|
+
return /*#__PURE__*/React__default["default"].createElement(RenderIcon, iconProps);
|
97
|
+
}
|
98
|
+
if (name) {
|
99
|
+
return formatInitials();
|
95
100
|
}
|
101
|
+
return /*#__PURE__*/React__default["default"].createElement(icons.User, iconProps);
|
96
102
|
};
|
97
|
-
var
|
98
|
-
var renderUserAvatar = function renderUserAvatar() {
|
103
|
+
var Avatar = function Avatar() {
|
99
104
|
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
100
105
|
className: index$1["default"](blockClass,
|
101
106
|
// Apply the block class to the main HTML element
|
102
107
|
className, // Apply any supplied class names to the main HTML element.
|
103
|
-
"".concat(blockClass, "--").concat(backgroundColor),
|
108
|
+
"".concat(blockClass, "--").concat(backgroundColor), "".concat(blockClass, "--").concat(size),
|
104
109
|
// example: `${blockClass}__template-string-class-${kind}-n-${size}`,
|
105
110
|
{
|
106
111
|
// switched classes dependant on props or state
|
@@ -108,13 +113,16 @@ exports.UserAvatar = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
108
113
|
}),
|
109
114
|
ref: ref,
|
110
115
|
role: "img"
|
111
|
-
}, devtools.getDevtoolsProps(componentName)),
|
116
|
+
}, devtools.getDevtoolsProps(componentName)), getItem());
|
112
117
|
};
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
+
if (tooltipText) {
|
119
|
+
return /*#__PURE__*/React__default["default"].createElement(react.Tooltip, {
|
120
|
+
align: tooltipAlignment,
|
121
|
+
label: tooltipText,
|
122
|
+
className: "".concat(blockClass, "__tooltip ").concat(carbonPrefix, "--icon-tooltip")
|
123
|
+
}, /*#__PURE__*/React__default["default"].createElement(TooltipTrigger.TooltipTrigger, null, /*#__PURE__*/React__default["default"].createElement(Avatar, null)));
|
124
|
+
}
|
125
|
+
return /*#__PURE__*/React__default["default"].createElement(Avatar, null);
|
118
126
|
});
|
119
127
|
|
120
128
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -136,10 +144,18 @@ exports.UserAvatar.propTypes = {
|
|
136
144
|
* Provide an optional class to be applied to the containing node.
|
137
145
|
*/
|
138
146
|
className: index["default"].string,
|
147
|
+
/**
|
148
|
+
* When passing the name prop, either send the initials to be used or the user's full name. The first two capital letters of the user's name will be used as the name.
|
149
|
+
*/
|
150
|
+
name: index["default"].string,
|
139
151
|
/**
|
140
152
|
* Provide a custom icon to use if you need to use an icon other than the default one
|
141
153
|
*/
|
142
|
-
renderIcon: index["default"].func,
|
154
|
+
renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
|
155
|
+
/**
|
156
|
+
* Set the size of the avatar circle
|
157
|
+
*/
|
158
|
+
size: index["default"].oneOf(['xl', 'lg', 'md', 'sm']),
|
143
159
|
/**
|
144
160
|
* Specify how the trigger should align with the tooltip
|
145
161
|
*/
|
@@ -34,6 +34,7 @@ export { CoachmarkOverlayElement } from "./CoachmarkOverlayElement";
|
|
34
34
|
export { CoachmarkOverlayElements } from "./CoachmarkOverlayElements";
|
35
35
|
export { CoachmarkStack } from "./CoachmarkStack";
|
36
36
|
export { NonLinearReading } from "./NonLinearReading";
|
37
|
+
export { BigNumbers } from "./BigNumbers";
|
37
38
|
export { TruncatedList } from "./TruncatedList";
|
38
39
|
export { InterstitialScreen } from "./InterstitialScreen";
|
39
40
|
export { InterstitialScreenView } from "./InterstitialScreenView";
|
@@ -41,6 +42,7 @@ export { InterstitialScreenViewModule } from "./InterstitialScreenViewModule";
|
|
41
42
|
export { DelimitedList } from "./DelimitedList";
|
42
43
|
export { FullPageError } from "./FullPageError";
|
43
44
|
export { SearchBar } from "./SearchBar";
|
45
|
+
export { StringFormatter } from "./StringFormatter";
|
44
46
|
export { UserAvatar } from "./UserAvatar";
|
45
47
|
export { ComboButton, ComboButtonItem } from "./ComboButton";
|
46
48
|
export { CreateFullPage, CreateFullPageStep } from "./CreateFullPage";
|
@@ -10,4 +10,5 @@ export { useValidCreateStepCount } from "./useValidCreateStepCount";
|
|
10
10
|
export { useControllableState } from "./useControllableState";
|
11
11
|
export { usePrefix } from "./usePrefix";
|
12
12
|
export { useFocus } from "./useFocus";
|
13
|
+
export { useIsomorphicEffect } from "./useIsomorphicEffect";
|
13
14
|
export { useNearestScroll, useWindowScroll } from "./useWindowScroll";
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var React = require('react');
|
13
|
+
|
14
|
+
// Originally from `@carbon/react`, https://github.com/carbon-design-system/carbon/blob/main/packages/react/src/internal/useIsomorphicEffect.js
|
15
|
+
// useLayoutEffect on the client, useEffect on the server
|
16
|
+
var useIsomorphicEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
17
|
+
|
18
|
+
exports.useIsomorphicEffect = useIsomorphicEffect;
|
@@ -75,9 +75,11 @@ declare namespace defaults {
|
|
75
75
|
let EditTearsheetNarrow: boolean;
|
76
76
|
let EditFullPage: boolean;
|
77
77
|
let EditUpdateCards: boolean;
|
78
|
+
let BigNumbers: boolean;
|
78
79
|
let TruncatedList: boolean;
|
79
80
|
let DelimitedList: boolean;
|
80
81
|
let FullPageError: boolean;
|
82
|
+
let StringFormatter: boolean;
|
81
83
|
let Coachmark: boolean;
|
82
84
|
let CoachmarkBeacon: boolean;
|
83
85
|
let CoachmarkButton: boolean;
|
@@ -78,9 +78,11 @@ var defaults = {
|
|
78
78
|
EditTearsheetNarrow: false,
|
79
79
|
EditFullPage: false,
|
80
80
|
EditUpdateCards: false,
|
81
|
+
BigNumbers: false,
|
81
82
|
TruncatedList: false,
|
82
83
|
DelimitedList: false,
|
83
84
|
FullPageError: false,
|
85
|
+
StringFormatter: false,
|
84
86
|
/* new component flags here - comment used by generate CLI */
|
85
87
|
|
86
88
|
// Novice to pro components not yet reviewed and released:
|
package/lib/index.js
CHANGED
@@ -103,6 +103,7 @@ var InlineTip = require('./components/InlineTip/InlineTip.js');
|
|
103
103
|
var InlineTipButton = require('./components/InlineTip/InlineTipButton.js');
|
104
104
|
var InlineTipLink = require('./components/InlineTip/InlineTipLink.js');
|
105
105
|
var NonLinearReading = require('./components/NonLinearReading/NonLinearReading.js');
|
106
|
+
var BigNumbers = require('./components/BigNumbers/BigNumbers.js');
|
106
107
|
var TruncatedList = require('./components/TruncatedList/TruncatedList.js');
|
107
108
|
var InterstitialScreen = require('./components/InterstitialScreen/InterstitialScreen.js');
|
108
109
|
var InterstitialScreenView = require('./components/InterstitialScreenView/InterstitialScreenView.js');
|
@@ -110,6 +111,7 @@ var InterstitialScreenViewModule = require('./components/InterstitialScreenViewM
|
|
110
111
|
var DelimitedList = require('./components/DelimitedList/DelimitedList.js');
|
111
112
|
var FullPageError = require('./components/FullPageError/FullPageError.js');
|
112
113
|
var SearchBar = require('./components/SearchBar/SearchBar.js');
|
114
|
+
var StringFormatter = require('./components/StringFormatter/StringFormatter.js');
|
113
115
|
var UserAvatar = require('./components/UserAvatar/UserAvatar.js');
|
114
116
|
|
115
117
|
|
@@ -422,6 +424,10 @@ Object.defineProperty(exports, 'NonLinearReading', {
|
|
422
424
|
enumerable: true,
|
423
425
|
get: function () { return NonLinearReading.NonLinearReading; }
|
424
426
|
});
|
427
|
+
Object.defineProperty(exports, 'BigNumbers', {
|
428
|
+
enumerable: true,
|
429
|
+
get: function () { return BigNumbers.BigNumbers; }
|
430
|
+
});
|
425
431
|
Object.defineProperty(exports, 'TruncatedList', {
|
426
432
|
enumerable: true,
|
427
433
|
get: function () { return TruncatedList.TruncatedList; }
|
@@ -450,6 +456,10 @@ Object.defineProperty(exports, 'SearchBar', {
|
|
450
456
|
enumerable: true,
|
451
457
|
get: function () { return SearchBar.SearchBar; }
|
452
458
|
});
|
459
|
+
Object.defineProperty(exports, 'StringFormatter', {
|
460
|
+
enumerable: true,
|
461
|
+
get: function () { return StringFormatter.StringFormatter; }
|
462
|
+
});
|
453
463
|
Object.defineProperty(exports, 'UserAvatar', {
|
454
464
|
enumerable: true,
|
455
465
|
get: function () { return UserAvatar.UserAvatar; }
|
package/lib/settings.d.ts
CHANGED
@@ -61,9 +61,11 @@ export const pkg: {
|
|
61
61
|
EditTearsheetNarrow: boolean;
|
62
62
|
EditFullPage: boolean;
|
63
63
|
EditUpdateCards: boolean;
|
64
|
+
BigNumbers: boolean;
|
64
65
|
TruncatedList: boolean;
|
65
66
|
DelimitedList: boolean;
|
66
67
|
FullPageError: boolean;
|
68
|
+
StringFormatter: boolean;
|
67
69
|
Coachmark: boolean;
|
68
70
|
CoachmarkBeacon: boolean;
|
69
71
|
CoachmarkButton: boolean;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carbon/ibm-products",
|
3
3
|
"description": "Carbon for IBM Products",
|
4
|
-
"version": "2.
|
4
|
+
"version": "2.27.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -75,7 +75,7 @@
|
|
75
75
|
"fs-extra": "^11.2.0",
|
76
76
|
"glob": "^10.3.10",
|
77
77
|
"jest": "^29.7.0",
|
78
|
-
"jest-config-ibm-cloud-cognitive": "^1.1.
|
78
|
+
"jest-config-ibm-cloud-cognitive": "^1.1.4",
|
79
79
|
"jest-environment-jsdom": "^29.7.0",
|
80
80
|
"namor": "^1.1.2",
|
81
81
|
"npm-check-updates": "^16.14.12",
|
@@ -84,12 +84,12 @@
|
|
84
84
|
"rollup": "^2.79.1",
|
85
85
|
"rollup-plugin-strip-banner": "^3.0.0",
|
86
86
|
"sass": "^1.70.0",
|
87
|
-
"typescript-config-carbon": "^0.2.
|
87
|
+
"typescript-config-carbon": "^0.2.1",
|
88
88
|
"yargs": "^17.7.2"
|
89
89
|
},
|
90
90
|
"dependencies": {
|
91
91
|
"@babel/runtime": "^7.23.9",
|
92
|
-
"@carbon/ibm-products-styles": "^2.
|
92
|
+
"@carbon/ibm-products-styles": "^2.26.0",
|
93
93
|
"@carbon/telemetry": "^0.1.0",
|
94
94
|
"@dnd-kit/core": "^6.0.8",
|
95
95
|
"@dnd-kit/sortable": "^8.0.0",
|
@@ -106,11 +106,11 @@
|
|
106
106
|
"@carbon/grid": "^11.21.1",
|
107
107
|
"@carbon/layout": "^11.20.1",
|
108
108
|
"@carbon/motion": "^11.16.1",
|
109
|
-
"@carbon/react": "^1.
|
110
|
-
"@carbon/themes": "^11.
|
109
|
+
"@carbon/react": "^1.50.0",
|
110
|
+
"@carbon/themes": "^11.31.0",
|
111
111
|
"@carbon/type": "^11.25.1",
|
112
112
|
"react": "^16.8.6 || ^17.0.1 || ^18.2.0",
|
113
113
|
"react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
|
114
114
|
},
|
115
|
-
"gitHead": "
|
115
|
+
"gitHead": "c42c0c622d6ad2a1dfc2e2122d0dd53337780243"
|
116
116
|
}
|
@@ -0,0 +1,151 @@
|
|
1
|
+
//
|
2
|
+
// Copyright IBM Corp. 2024, 2024
|
3
|
+
//
|
4
|
+
// This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
// LICENSE file in the root directory of this source tree.
|
6
|
+
//
|
7
|
+
|
8
|
+
// Standard imports.
|
9
|
+
@use '../../global/styles/project-settings' as c4p-settings;
|
10
|
+
@use '@carbon/styles/scss/theme' as *;
|
11
|
+
@use '@carbon/styles/scss/type' as *;
|
12
|
+
@use '../../global/styles/mixins';
|
13
|
+
@use '@carbon/react/scss/spacing' as *;
|
14
|
+
@use '@carbon/styles/scss/utilities';
|
15
|
+
|
16
|
+
// Other Carbon settings if needed
|
17
|
+
// TODO: @use '@carbon/styles/scss/grid';
|
18
|
+
// or
|
19
|
+
// TODO: @use '@carbon/react/scss/grid';
|
20
|
+
// BigNumbers uses the following Carbon for IBM Products components:
|
21
|
+
// TODO: @use(s) of IBM Products component styles used by BigNumbers
|
22
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
23
|
+
$block-class: #{c4p-settings.$pkg-prefix}--big-numbers;
|
24
|
+
$skeleton-block-class: #{c4p-settings.$pkg-prefix}--big-numbers-skeleton;
|
25
|
+
|
26
|
+
.#{$block-class}__label {
|
27
|
+
@include type-style('label-01');
|
28
|
+
|
29
|
+
display: block;
|
30
|
+
margin: 0;
|
31
|
+
color: $text-secondary;
|
32
|
+
}
|
33
|
+
|
34
|
+
.#{$block-class}__value {
|
35
|
+
@include type-style('heading-04');
|
36
|
+
|
37
|
+
margin-bottom: 0;
|
38
|
+
}
|
39
|
+
|
40
|
+
.#{$block-class}__total {
|
41
|
+
@include type-style('body-compact-01');
|
42
|
+
}
|
43
|
+
|
44
|
+
.#{$block-class}__total,
|
45
|
+
.#{$block-class}__percentage-mark {
|
46
|
+
margin-top: auto;
|
47
|
+
margin-bottom: $spacing-02;
|
48
|
+
}
|
49
|
+
|
50
|
+
.#{$block-class}__info {
|
51
|
+
vertical-align: top;
|
52
|
+
}
|
53
|
+
|
54
|
+
.#{$block-class}__trend {
|
55
|
+
margin-top: $spacing-03;
|
56
|
+
vertical-align: top;
|
57
|
+
}
|
58
|
+
|
59
|
+
.#{$block-class}__row {
|
60
|
+
display: flex;
|
61
|
+
}
|
62
|
+
|
63
|
+
.#{$block-class}__info {
|
64
|
+
padding-left: $spacing-03;
|
65
|
+
}
|
66
|
+
|
67
|
+
.#{$block-class}__percentage {
|
68
|
+
@include type-style('heading-04');
|
69
|
+
}
|
70
|
+
|
71
|
+
.#{$block-class}__percentage-mark {
|
72
|
+
@include type-style('body-compact-01');
|
73
|
+
}
|
74
|
+
|
75
|
+
.#{$block-class}--lg .#{$block-class}__value,
|
76
|
+
.#{$block-class}--lg .#{$block-class}__percentage {
|
77
|
+
@include type-style('heading-06');
|
78
|
+
}
|
79
|
+
|
80
|
+
.#{$block-class}--lg .#{$block-class}__total,
|
81
|
+
.#{$block-class}--lg .#{$block-class}__percentage-mark {
|
82
|
+
@include type-style('heading-03');
|
83
|
+
}
|
84
|
+
|
85
|
+
.#{$block-class}--xl .#{$block-class}__label {
|
86
|
+
@include type-style('body-compact-01');
|
87
|
+
}
|
88
|
+
|
89
|
+
.#{$block-class}--xl .#{$block-class}__value,
|
90
|
+
.#{$block-class}--xl .#{$block-class}__percentage {
|
91
|
+
@include type-style('heading-07');
|
92
|
+
}
|
93
|
+
|
94
|
+
.#{$block-class}--xl .#{$block-class}__total,
|
95
|
+
.#{$block-class}--xl .#{$block-class}__percentage-mark {
|
96
|
+
@include type-style('heading-04');
|
97
|
+
}
|
98
|
+
|
99
|
+
.#{$block-class}--xl .#{$block-class}__trend {
|
100
|
+
margin-top: $spacing-04;
|
101
|
+
}
|
102
|
+
|
103
|
+
.#{$skeleton-block-class} {
|
104
|
+
width: 4rem;
|
105
|
+
}
|
106
|
+
|
107
|
+
.#{$skeleton-block-class}__label {
|
108
|
+
height: $spacing-04;
|
109
|
+
margin-top: 0;
|
110
|
+
margin-bottom: $spacing-03;
|
111
|
+
}
|
112
|
+
|
113
|
+
.#{$skeleton-block-class}__value {
|
114
|
+
/* stylelint-disable-next-line declaration-no-important */
|
115
|
+
height: $spacing-08 !important;
|
116
|
+
margin: 0;
|
117
|
+
}
|
118
|
+
|
119
|
+
.#{$skeleton-block-class}--lg {
|
120
|
+
width: 5rem;
|
121
|
+
}
|
122
|
+
|
123
|
+
.#{$skeleton-block-class}--xl {
|
124
|
+
width: 6rem;
|
125
|
+
}
|
126
|
+
|
127
|
+
.#{$skeleton-block-class}.#{$skeleton-block-class}--lg
|
128
|
+
.#{$skeleton-block-class}__label {
|
129
|
+
height: $spacing-04;
|
130
|
+
}
|
131
|
+
|
132
|
+
.#{$skeleton-block-class}.#{$skeleton-block-class}--lg
|
133
|
+
.#{$skeleton-block-class}__value {
|
134
|
+
/* stylelint-disable-next-line declaration-no-important */
|
135
|
+
height: $spacing-09 !important;
|
136
|
+
}
|
137
|
+
|
138
|
+
.#{$skeleton-block-class}.#{$skeleton-block-class}--xl
|
139
|
+
.#{$skeleton-block-class}__label {
|
140
|
+
height: $spacing-04;
|
141
|
+
}
|
142
|
+
|
143
|
+
.#{$skeleton-block-class}.#{$skeleton-block-class}--xl
|
144
|
+
.#{$skeleton-block-class}__value {
|
145
|
+
/* stylelint-disable-next-line declaration-no-important */
|
146
|
+
height: $spacing-10 !important;
|
147
|
+
}
|
148
|
+
|
149
|
+
.#{$block-class} .#{$block-class}__tooltip-trigger:focus {
|
150
|
+
outline: 1px solid $focus;
|
151
|
+
}
|