@carbon/ibm-products 1.11.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/css/index-full-carbon.css +173 -188
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +5 -5
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +11 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +2 -2
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +26 -182
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +143 -182
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +4 -4
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AddSelect/AddSelectColumn.js +58 -21
  18. package/es/components/AddSelect/AddSelectList.js +5 -5
  19. package/es/components/AddSelect/AddSelectSidebar.js +2 -1
  20. package/es/components/ButtonMenu/ButtonMenu.js +11 -3
  21. package/es/components/index.js +0 -1
  22. package/es/global/js/package-settings.js +1 -2
  23. package/lib/components/AddSelect/AddSelectColumn.js +57 -20
  24. package/lib/components/AddSelect/AddSelectList.js +5 -5
  25. package/lib/components/AddSelect/AddSelectSidebar.js +2 -1
  26. package/lib/components/ButtonMenu/ButtonMenu.js +11 -3
  27. package/lib/components/index.js +0 -8
  28. package/lib/global/js/package-settings.js +1 -2
  29. package/package.json +13 -13
  30. package/scss/components/AddSelect/_add-select.scss +4 -0
  31. package/scss/components/InlineEdit/_inline-edit.scss +4 -0
  32. package/scss/components/ModifiedTabs/_modified-tabs.scss +5 -0
  33. package/scss/components/NotificationsPanel/_notifications-panel.scss +7 -3
  34. package/scss/components/Tearsheet/_tearsheet.scss +4 -0
  35. package/scss/components/_index.scss +0 -1
  36. package/es/components/LoadingBar/LoadingBar.js +0 -156
  37. package/es/components/LoadingBar/index.js +0 -7
  38. package/lib/components/LoadingBar/LoadingBar.js +0 -170
  39. package/lib/components/LoadingBar/index.js +0 -13
  40. package/scss/components/LoadingBar/_index.scss +0 -8
  41. package/scss/components/LoadingBar/_loading-bar.scss +0 -224
  42. package/scss/components/LoadingBar/_storybook-styles.scss +0 -14
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "className", "iconDescription", "label", "menuOptionsClass", "renderIcon", "size"];
3
+ var _excluded = ["children", "className", "iconDescription", "kind", "label", "menuOptionsClass", "renderIcon", "size"];
4
4
 
5
5
  /**
6
6
  * Copyright IBM Corp. 2021, 2021
@@ -22,7 +22,8 @@ var componentName = 'ButtonMenu'; // NOTE: the component SCSS is not imported he
22
22
  // Default values for props
23
23
 
24
24
  var defaults = {
25
- size: 'default'
25
+ size: 'default',
26
+ kind: 'primary'
26
27
  };
27
28
  /**
28
29
  * Combining a standard button with an overflow menu, this component appears
@@ -36,6 +37,8 @@ export var ButtonMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
36
37
  var children = _ref.children,
37
38
  className = _ref.className,
38
39
  iconDescription = _ref.iconDescription,
40
+ _ref$kind = _ref.kind,
41
+ kind = _ref$kind === void 0 ? defaults.kind : _ref$kind,
39
42
  label = _ref.label,
40
43
  menuOptionsClass = _ref.menuOptionsClass,
41
44
  Icon = _ref.renderIcon,
@@ -50,7 +53,7 @@ export var ButtonMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
50
53
  menuOptionsClass: cx("".concat(blockClass, "__options"), menuOptionsClass),
51
54
  renderIcon: function renderIcon() {
52
55
  return /*#__PURE__*/React.createElement("div", {
53
- className: cx(["".concat(blockClass, "__trigger"), "".concat(carbon.prefix, "--btn"), "".concat(carbon.prefix, "--btn--primary"), "".concat(carbon.prefix, "--btn--").concat(size)])
56
+ className: cx(["".concat(blockClass, "__trigger"), "".concat(carbon.prefix, "--btn"), "".concat(carbon.prefix, "--btn--").concat(kind), "".concat(carbon.prefix, "--btn--").concat(size)])
54
57
  }, label, Icon && /*#__PURE__*/React.createElement(Icon, {
55
58
  "aria-hidden": "true",
56
59
  "aria-label": iconDescription,
@@ -86,6 +89,11 @@ ButtonMenu.propTypes = {
86
89
  */
87
90
  iconDescription: Button.propTypes.iconDescription,
88
91
 
92
+ /**
93
+ * The three types the menu button supports: primary, tertiary and ghost.
94
+ */
95
+ kind: PropTypes.oneOf(['primary', 'tertiary', 'ghost']),
96
+
89
97
  /**
90
98
  * The button label for the menu trigger.
91
99
  */
@@ -18,7 +18,6 @@ export { ExportModal } from './ExportModal';
18
18
  export { ExpressiveCard } from './ExpressiveCard';
19
19
  export { HTTPError403, HTTPError404, HTTPErrorOther } from './HTTPErrors';
20
20
  export { ImportModal } from './ImportModal';
21
- export { LoadingBar } from './LoadingBar';
22
21
  export { ModifiedTabs } from './ModifiedTabs';
23
22
  export { MultiAddSelect } from './MultiAddSelect';
24
23
  export { NotificationsPanel } from './NotificationsPanel';
@@ -40,6 +40,7 @@ var defaults = {
40
40
  NoTagsEmptyState: true,
41
41
  NotFoundEmptyState: true,
42
42
  NotificationsEmptyState: true,
43
+ OptionsTile: true,
43
44
  PageHeader: true,
44
45
  ProductiveCard: true,
45
46
  RemoveModal: true,
@@ -54,14 +55,12 @@ var defaults = {
54
55
  // other public components not yet reviewed and released:
55
56
  MultiAddSelect: false,
56
57
  SingleAddSelect: false,
57
- LoadingBar: false,
58
58
  ModifiedTabs: false,
59
59
  Toolbar: false,
60
60
  ToolbarButton: false,
61
61
  ToolbarGroup: false,
62
62
  WebTerminal: false,
63
63
  EditSidePanel: false,
64
- OptionsTile: false,
65
64
  CancelableTextEdit: false,
66
65
  InlineEdit: false,
67
66
  DataSpreadsheet: false
@@ -31,7 +31,7 @@ var _AddSelectList = require("./AddSelectList");
31
31
 
32
32
  var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
33
33
 
34
- var _excluded = ["columnInputPlaceholder", "filteredItems", "header"];
34
+ var _excluded = ["columnInputPlaceholder", "filteredItems", "header", "multiSelection", "setMultiSelection"];
35
35
 
36
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
37
 
@@ -45,30 +45,43 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
45
45
  var columnInputPlaceholder = _ref.columnInputPlaceholder,
46
46
  filteredItems = _ref.filteredItems,
47
47
  header = _ref.header,
48
+ multiSelection = _ref.multiSelection,
49
+ setMultiSelection = _ref.setMultiSelection,
48
50
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
49
51
 
50
- var _useState = (0, _react.useState)(''),
52
+ var _useState = (0, _react.useState)(false),
51
53
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
52
- searchTerm = _useState2[0],
53
- setSearchTerm = _useState2[1];
54
+ allSelected = _useState2[0],
55
+ setAllSelected = _useState2[1];
54
56
 
55
57
  var _useState3 = (0, _react.useState)(''),
56
58
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
57
- sortDirection = _useState4[0],
58
- setSortDirection = _useState4[1];
59
+ searchTerm = _useState4[0],
60
+ setSearchTerm = _useState4[1];
59
61
 
60
62
  var _useState5 = (0, _react.useState)(''),
61
63
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
62
- sortAttribute = _useState6[0],
63
- setSortAttribute = _useState6[1];
64
+ sortDirection = _useState6[0],
65
+ setSortDirection = _useState6[1];
64
66
 
65
- var _useState7 = (0, _react.useState)([]),
67
+ var _useState7 = (0, _react.useState)(''),
66
68
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
67
- filters = _useState8[0],
68
- setFilters = _useState8[1];
69
+ sortAttribute = _useState8[0],
70
+ setSortAttribute = _useState8[1];
71
+
72
+ var _useState9 = (0, _react.useState)([]),
73
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
74
+ filters = _useState10[0],
75
+ setFilters = _useState10[1];
69
76
 
70
77
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
71
- var colClass = "".concat(blockClass, "__column"); // sorting
78
+ var colClass = "".concat(blockClass, "__column");
79
+ (0, _react.useEffect)(function () {
80
+ var isAllSelected = filteredItems.every(function (item) {
81
+ return multiSelection.includes(item.id);
82
+ });
83
+ setAllSelected(isAllSelected);
84
+ }, [filteredItems, multiSelection]); // sorting
72
85
 
73
86
  var colSortBy = (_filteredItems$find = filteredItems.find(function (item) {
74
87
  return item.sortBy;
@@ -102,6 +115,21 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
102
115
  setSortDirection(direction);
103
116
  };
104
117
 
118
+ var selectAllHandler = function selectAllHandler(checked) {
119
+ var itemIds = filteredItems.map(function (item) {
120
+ return item.id;
121
+ });
122
+
123
+ if (checked) {
124
+ setMultiSelection([].concat((0, _toConsumableArray2.default)(multiSelection), (0, _toConsumableArray2.default)(itemIds)));
125
+ } else {
126
+ var newItems = multiSelection.filter(function (i) {
127
+ return !itemIds.includes(i);
128
+ });
129
+ setMultiSelection(newItems);
130
+ }
131
+ };
132
+
105
133
  var filterHandler = function filterHandler(checked, opt) {
106
134
  if (checked) {
107
135
  var newFilters = [].concat((0, _toConsumableArray2.default)(filters), [opt]);
@@ -199,14 +227,21 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
199
227
  })));
200
228
  })))), /*#__PURE__*/_react.default.createElement("div", {
201
229
  className: "".concat(blockClass, "__tag-container")
202
- }, /*#__PURE__*/_react.default.createElement("p", {
203
- className: "".concat(blockClass, "__tag-container-label")
204
- }, header), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
205
- type: "gray",
206
- size: "sm"
207
- }, colItems.length)), /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, props, {
230
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
231
+ id: "".concat((0, _uuidv.default)(), "-select-all"),
232
+ checked: allSelected,
233
+ onChange: selectAllHandler,
234
+ labelText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
235
+ className: "".concat(blockClass, "__tag-container-label")
236
+ }, header), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
237
+ type: "gray",
238
+ size: "sm"
239
+ }, colItems.length))
240
+ })), /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, props, {
208
241
  inColumn: true,
209
- filteredItems: colItems
242
+ filteredItems: colItems,
243
+ setMultiSelection: setMultiSelection,
244
+ multiSelection: multiSelection
210
245
  })));
211
246
  };
212
247
 
@@ -214,6 +249,8 @@ exports.AddSelectColumn = AddSelectColumn;
214
249
  AddSelectColumn.propTypes = {
215
250
  columnInputPlaceholder: _propTypes.default.string,
216
251
  filteredItems: _propTypes.default.array,
217
- header: _propTypes.default.string
252
+ header: _propTypes.default.string,
253
+ multiSelection: _propTypes.default.array,
254
+ setMultiSelection: _propTypes.default.func
218
255
  };
219
256
  AddSelectColumn.displayName = componentName;
@@ -43,13 +43,13 @@ var AddSelectList = function AddSelectList(_ref) {
43
43
  setSingleSelection(value);
44
44
  };
45
45
 
46
- var handleMultiSelection = function handleMultiSelection(value, checked) {
46
+ var handleMultiSelection = function handleMultiSelection(id, checked) {
47
47
  if (checked) {
48
- var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [value]);
48
+ var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [id]);
49
49
  setMultiSelection(newValues);
50
50
  } else {
51
51
  var _newValues = multiSelection.filter(function (v) {
52
- return v !== value;
52
+ return v !== id;
53
53
  });
54
54
 
55
55
  setMultiSelection(_newValues);
@@ -128,8 +128,8 @@ var AddSelectList = function AddSelectList(_ref) {
128
128
  className: "".concat(blockClass, "-cell-wrapper")
129
129
  }, multi ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
130
130
  className: "".concat(blockClass, "-checkbox"),
131
- onChange: function onChange(value) {
132
- return handleMultiSelection(item.id, value);
131
+ onChange: function onChange(checked) {
132
+ return handleMultiSelection(item.id, checked);
133
133
  },
134
134
  labelText: !inColumn ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
135
135
  className: "".concat(blockClass, "-cell-title")
@@ -70,7 +70,8 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
70
70
  return handleItemRemove(id);
71
71
  },
72
72
  kind: "ghost",
73
- className: "".concat(blockClass, "-item-remove-button")
73
+ className: "".concat(blockClass, "-item-remove-button"),
74
+ size: "sm"
74
75
  }));
75
76
  };
76
77
 
@@ -21,14 +21,15 @@ var _settings = require("../../settings");
21
21
 
22
22
  var _carbonComponentsReact = require("carbon-components-react");
23
23
 
24
- var _excluded = ["children", "className", "iconDescription", "label", "menuOptionsClass", "renderIcon", "size"];
24
+ var _excluded = ["children", "className", "iconDescription", "kind", "label", "menuOptionsClass", "renderIcon", "size"];
25
25
  // The block part of our conventional BEM class names (blockClass__E--M).
26
26
  var blockClass = "".concat(_settings.pkg.prefix, "--button-menu");
27
27
  var componentName = 'ButtonMenu'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
28
28
  // Default values for props
29
29
 
30
30
  var defaults = {
31
- size: 'default'
31
+ size: 'default',
32
+ kind: 'primary'
32
33
  };
33
34
  /**
34
35
  * Combining a standard button with an overflow menu, this component appears
@@ -42,6 +43,8 @@ var ButtonMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
42
43
  var children = _ref.children,
43
44
  className = _ref.className,
44
45
  iconDescription = _ref.iconDescription,
46
+ _ref$kind = _ref.kind,
47
+ kind = _ref$kind === void 0 ? defaults.kind : _ref$kind,
45
48
  label = _ref.label,
46
49
  menuOptionsClass = _ref.menuOptionsClass,
47
50
  Icon = _ref.renderIcon,
@@ -55,7 +58,7 @@ var ButtonMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
55
58
  menuOptionsClass: (0, _classnames.default)("".concat(blockClass, "__options"), menuOptionsClass),
56
59
  renderIcon: function renderIcon() {
57
60
  return /*#__PURE__*/_react.default.createElement("div", {
58
- className: (0, _classnames.default)(["".concat(blockClass, "__trigger"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--primary"), "".concat(_settings.carbon.prefix, "--btn--").concat(size)])
61
+ className: (0, _classnames.default)(["".concat(blockClass, "__trigger"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--").concat(kind), "".concat(_settings.carbon.prefix, "--btn--").concat(size)])
59
62
  }, label, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
60
63
  "aria-hidden": "true",
61
64
  "aria-label": iconDescription,
@@ -93,6 +96,11 @@ ButtonMenu.propTypes = {
93
96
  */
94
97
  iconDescription: _carbonComponentsReact.Button.propTypes.iconDescription,
95
98
 
99
+ /**
100
+ * The three types the menu button supports: primary, tertiary and ghost.
101
+ */
102
+ kind: _propTypes.default.oneOf(['primary', 'tertiary', 'ghost']),
103
+
96
104
  /**
97
105
  * The button label for the menu trigger.
98
106
  */
@@ -147,12 +147,6 @@ Object.defineProperty(exports, "InlineEdit", {
147
147
  return _InlineEdit.InlineEdit;
148
148
  }
149
149
  });
150
- Object.defineProperty(exports, "LoadingBar", {
151
- enumerable: true,
152
- get: function get() {
153
- return _LoadingBar.LoadingBar;
154
- }
155
- });
156
150
  Object.defineProperty(exports, "ModifiedTabs", {
157
151
  enumerable: true,
158
152
  get: function get() {
@@ -326,8 +320,6 @@ var _HTTPErrors = require("./HTTPErrors");
326
320
 
327
321
  var _ImportModal = require("./ImportModal");
328
322
 
329
- var _LoadingBar = require("./LoadingBar");
330
-
331
323
  var _ModifiedTabs = require("./ModifiedTabs");
332
324
 
333
325
  var _MultiAddSelect = require("./MultiAddSelect");
@@ -44,6 +44,7 @@ var defaults = {
44
44
  NoTagsEmptyState: true,
45
45
  NotFoundEmptyState: true,
46
46
  NotificationsEmptyState: true,
47
+ OptionsTile: true,
47
48
  PageHeader: true,
48
49
  ProductiveCard: true,
49
50
  RemoveModal: true,
@@ -58,14 +59,12 @@ var defaults = {
58
59
  // other public components not yet reviewed and released:
59
60
  MultiAddSelect: false,
60
61
  SingleAddSelect: false,
61
- LoadingBar: false,
62
62
  ModifiedTabs: false,
63
63
  Toolbar: false,
64
64
  ToolbarButton: false,
65
65
  ToolbarGroup: false,
66
66
  WebTerminal: false,
67
67
  EditSidePanel: false,
68
- OptionsTile: false,
69
68
  CancelableTextEdit: false,
70
69
  InlineEdit: false,
71
70
  DataSpreadsheet: false
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": "1.11.0",
4
+ "version": "1.11.1",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -51,8 +51,8 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@babel/cli": "^7.17.6",
54
- "@babel/core": "^7.17.5",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.10",
54
+ "@babel/core": "^7.17.7",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.11",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
@@ -60,33 +60,33 @@
60
60
  "fs-extra": "^10.0.1",
61
61
  "glob": "^7.2.0",
62
62
  "jest": "^27.5.1",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.11",
64
- "npm-check-updates": "^12.5.2",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.12",
64
+ "npm-check-updates": "^12.5.4",
65
65
  "npm-run-all": "^4.1.5",
66
66
  "rimraf": "^3.0.2",
67
67
  "sass": "^1.49.9",
68
68
  "yargs": "^17.3.1"
69
69
  },
70
70
  "dependencies": {
71
- "@babel/runtime": "^7.17.2",
72
- "@carbon/telemetry": "^0.0.0-alpha.6",
71
+ "@babel/runtime": "^7.17.7",
72
+ "@carbon/telemetry": "^0.1.0",
73
73
  "react-resize-detector": "^7.0.0",
74
74
  "react-table": "^7.7.0",
75
75
  "react-window": "^1.8.6"
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@carbon/colors": "^10.37.0",
79
- "@carbon/icons-react": "^10.47.0",
79
+ "@carbon/icons-react": "^10.48.0",
80
80
  "@carbon/import-once": "^10.7.0",
81
81
  "@carbon/layout": "^10.37.0",
82
82
  "@carbon/motion": "^10.29.0",
83
- "@carbon/themes": "^10.52.0",
84
- "@carbon/type": "^10.42.0",
85
- "carbon-components": "^10.54.0",
86
- "carbon-components-react": "^7.54.2",
83
+ "@carbon/themes": "^10.53.1",
84
+ "@carbon/type": "^10.43.1",
85
+ "carbon-components": "^10.55.1",
86
+ "carbon-components-react": "^7.55.1",
87
87
  "carbon-icons": "^7.0.7",
88
88
  "react": "^16.8.6 || ^17.0.1",
89
89
  "react-dom": "^16.8.6 || ^17.0.1"
90
90
  },
91
- "gitHead": "684e0bceb27d3f1376651a624db23bcedeab5c59"
91
+ "gitHead": "dd67992eea35e2e7b27032bade757b9e7037fb23"
92
92
  }
@@ -159,6 +159,10 @@
159
159
 
160
160
  // overrides
161
161
 
162
+ .#{$block-class}__tag-container .#{$carbon-prefix}--tag {
163
+ margin: 0;
164
+ }
165
+
162
166
  // the influencer sidebar needs to be even with the buttons
163
167
  .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__influencer {
164
168
  max-width: 29rem;
@@ -264,6 +264,10 @@
264
264
 
265
265
  svg {
266
266
  transition: width $duration--moderate-02 motion(standard, productive);
267
+ @media (prefers-reduced-motion: reduce) {
268
+ // stylelint-disable-next-line carbon/motion-token-use
269
+ transition: none;
270
+ }
267
271
  }
268
272
  }
269
273
 
@@ -45,6 +45,11 @@
45
45
  border-radius: 0;
46
46
  cursor: pointer;
47
47
  transition: background-color $duration--fast-02 motion(standard, productive);
48
+ // stylelint-disable-next-line max-nesting-depth
49
+ @media (prefers-reduced-motion: reduce) {
50
+ // stylelint-disable-next-line carbon/motion-token-use
51
+ transition: none;
52
+ }
48
53
  }
49
54
 
50
55
  .modified-tabs__tab-new-icon {
@@ -183,16 +183,20 @@
183
183
  min-width: 5.5rem;
184
184
  padding: 0;
185
185
 
186
- .bx--btn__icon {
186
+ .#{$carbon-prefix}--btn__icon {
187
187
  transition: transform $duration--moderate-02 ease;
188
+ @media (prefers-reduced-motion: reduce) {
189
+ // stylelint-disable-next-line carbon/motion-token-use
190
+ transition: none;
191
+ }
188
192
  }
189
193
  &.#{$block-class}__notification-read-more-button {
190
- .bx--btn__icon {
194
+ .#{$carbon-prefix}--btn__icon {
191
195
  transform: rotate(0deg);
192
196
  }
193
197
  }
194
198
  &.#{$block-class}__notification-read-less-button {
195
- .bx--btn__icon {
199
+ .#{$carbon-prefix}--btn__icon {
196
200
  transform: rotate(180deg);
197
201
  }
198
202
  }
@@ -47,6 +47,10 @@
47
47
  transition: visibility 0s linear,
48
48
  background-color $motion-duration motion(entrance, expressive),
49
49
  opacity $motion-duration motion(entrance, expressive);
50
+ @media (prefers-reduced-motion: reduce) {
51
+ // stylelint-disable-next-line carbon/motion-token-use
52
+ transition: none;
53
+ }
50
54
  }
51
55
 
52
56
  &.#{$block-class}--stacked-1-of-2 {
@@ -25,7 +25,6 @@
25
25
  @import './ExpressiveCard/index';
26
26
  @import './HTTPErrors/index';
27
27
  @import './ImportModal/index';
28
- @import './LoadingBar/index';
29
28
  @import './ModifiedTabs/index';
30
29
  @import './MultiAddSelect/index';
31
30
  @import './NotificationsPanel/index';
@@ -1,156 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["active", "ariaLabel", "className", "id", "percentage", "percentageIndicatorText", "showPercentageIndicator", "small"];
5
-
6
- /**
7
- * Copyright IBM Corp. 2021, 2021
8
- *
9
- * This source code is licensed under the Apache-2.0 license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */
12
- // Import portions of React that are needed.
13
- import React, { useEffect, useRef } from 'react'; // Other standard imports.
14
-
15
- import PropTypes from 'prop-types';
16
- import cx from 'classnames';
17
- import { pkg
18
- /*, carbon */
19
- } from '../../settings'; // Carbon and package components we use.
20
-
21
- /* @import(s) of carbon components and other package components. */
22
- // The block part of our conventional BEM class names (blockClass__E--M).
23
-
24
- var blockClass = "".concat(pkg.prefix, "--loading-bar");
25
- var componentName = 'LoadingBar'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
26
- // Default values for props
27
-
28
- var defaults = {
29
- active: true,
30
- percentage: undefined,
31
- ariaLabel: 'Active loading indicator'
32
- };
33
- /**
34
- * The LoadingBar component provides a way to communicate the loading state to users.
35
- * It is intended to fill the space of where it's used, and should persist until the
36
- * loading action is complete. Once complete, the active prop may be set to false to
37
- * hide the LoadingBar.
38
- * The LoadingBar has two modes of operation: Indeterminate and Determinate.
39
- * If no percentage is provided to the component, the LoadingBar behaves in indeterminate
40
- * mode, with the bar moving from side to side, to indicate loading in progress.
41
- * If a percentage prop is provided, the determinate mode of operation is used and the
42
- * loading bar fills until the specified percentage to indicate current progress to
43
- * the user.
44
- */
45
-
46
- export var LoadingBar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
47
- var _cx2, _cx3;
48
-
49
- var _ref$active = _ref.active,
50
- active = _ref$active === void 0 ? defaults.active : _ref$active,
51
- _ref$ariaLabel = _ref.ariaLabel,
52
- ariaLabel = _ref$ariaLabel === void 0 ? defaults.ariaLabel : _ref$ariaLabel,
53
- className = _ref.className,
54
- id = _ref.id,
55
- _ref$percentage = _ref.percentage,
56
- percentage = _ref$percentage === void 0 ? defaults.percentage : _ref$percentage,
57
- percentageIndicatorText = _ref.percentageIndicatorText,
58
- showPercentageIndicator = _ref.showPercentageIndicator,
59
- small = _ref.small,
60
- rest = _objectWithoutProperties(_ref, _excluded);
61
-
62
- function usePrevious(value) {
63
- var ref = useRef();
64
- useEffect(function () {
65
- // Store current value in ref
66
- ref.current = value;
67
- }, [value]); // Only re-run if value changes
68
- // Return previous value (happens before update in useEffect above)
69
-
70
- return ref.current;
71
- }
72
-
73
- var prevActive = usePrevious(active);
74
- var isDeterminate = percentage !== undefined;
75
- var percentProgress = isDeterminate ? percentage > 100 ? "100%" : percentage + '%' : 0;
76
- var actuallyShowPercentageIndicator = isDeterminate && showPercentageIndicator; // switch classes dependant on props
77
-
78
- var loadingWrapper = cx(_defineProperty({}, "".concat(blockClass, "__preload"), !prevActive && !active));
79
- var loadingClassName = cx((_cx2 = {}, _defineProperty(_cx2, "".concat(blockClass, "__inner"), true), _defineProperty(_cx2, "".concat(blockClass, "__small"), small), _defineProperty(_cx2, "".concat(blockClass, "__linear-stop"), !active && isDeterminate), _defineProperty(_cx2, "".concat(blockClass, "__indefinite-stop"), !active && !isDeterminate), _cx2));
80
- var animationClassName = cx((_cx3 = {}, _defineProperty(_cx3, "".concat(blockClass, "__linear-progress"), isDeterminate), _defineProperty(_cx3, "".concat(blockClass, "__stop-progress"), !active && !isDeterminate), _defineProperty(_cx3, "".concat(blockClass, "__indefinite-progress"), active && !isDeterminate), _cx3));
81
- var loadingId = id && "loading-bar-id-".concat(id);
82
- return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
83
- className: cx(loadingWrapper, // Apply any supplied class names to the main HTML element.
84
- className, blockClass),
85
- ref: ref,
86
- role: "progressbar",
87
- "aria-label": ariaLabel,
88
- "aria-atomic": "true",
89
- "aria-labelledby": loadingId,
90
- "aria-live": active ? 'assertive' : 'off',
91
- id: loadingId
92
- }), /*#__PURE__*/React.createElement("div", {
93
- className: loadingClassName
94
- }, /*#__PURE__*/React.createElement("div", _extends({}, isDeterminate && {
95
- style: {
96
- width: percentProgress
97
- }
98
- }, {
99
- className: "".concat(blockClass, "__progress")
100
- }), /*#__PURE__*/React.createElement("div", {
101
- className: animationClassName
102
- }))), actuallyShowPercentageIndicator && /*#__PURE__*/React.createElement("div", {
103
- className: "".concat(blockClass, "__indicator-wrapper")
104
- }, /*#__PURE__*/React.createElement("div", {
105
- className: "".concat(blockClass, "__indicator")
106
- }, active && percentageIndicatorText)));
107
- }); // Return a placeholder if not released and not enabled by feature flag
108
-
109
- LoadingBar = pkg.checkComponentEnabled(LoadingBar, componentName); // The display name of the component, used by React. Note that displayName
110
- // is used in preference to relying on function.name.
111
-
112
- LoadingBar.displayName = componentName; // The types and DocGen commentary for the component props,
113
- // in alphabetical order (for consistency).
114
- // See https://www.npmjs.com/package/prop-types#usage.
115
-
116
- LoadingBar.propTypes = {
117
- /**
118
- * Specify whether you want the loading bar indicator to be active or not
119
- */
120
- active: PropTypes.bool,
121
-
122
- /**
123
- * Specify a ariaLabel that would be used to best describe the active loading state
124
- */
125
- ariaLabel: PropTypes.string,
126
-
127
- /**
128
- * Provide an optional className to be applied to the containing node
129
- */
130
- className: PropTypes.string,
131
-
132
- /**
133
- * ID for loading bar
134
- */
135
- id: PropTypes.string,
136
-
137
- /**
138
- * Leave undefined for indeterminate duration or specify percentage complete that the determinate bar should indicate (0-100).
139
- */
140
- percentage: PropTypes.number,
141
-
142
- /**
143
- * In determinate mode, provide text to be shown on percentage indicator
144
- */
145
- percentageIndicatorText: PropTypes.string,
146
-
147
- /**
148
- * In determinate mode, specify whether to show the percentage indicator.
149
- */
150
- showPercentageIndicator: PropTypes.bool,
151
-
152
- /**
153
- * Specify whether you would like the small variant of this component
154
- */
155
- small: PropTypes.bool
156
- };
@@ -1,7 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2021, 2021
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
- export { LoadingBar } from './LoadingBar';