@carbon/ibm-products 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/css/index-full-carbon.css +27 -130
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +2 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +27 -130
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +2 -2
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +27 -130
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +2 -2
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/APIKeyModal/APIKeyModal.js +10 -13
  14. package/es/components/ActionBar/ActionBar.js +0 -3
  15. package/es/components/ActionBar/ActionBarItem.js +2 -6
  16. package/es/components/ActionSet/ActionSet.js +10 -12
  17. package/es/components/AddSelect/AddSelect.js +7 -5
  18. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +0 -3
  19. package/es/components/ButtonMenu/ButtonMenu.js +6 -4
  20. package/es/components/ButtonMenu/ButtonMenuItem.js +1 -2
  21. package/es/components/Card/Card.js +31 -21
  22. package/es/components/Card/CardFooter.js +14 -10
  23. package/es/components/Card/CardHeader.js +8 -6
  24. package/es/components/Cascade/Cascade.js +5 -4
  25. package/es/components/ComboButton/ComboButton.js +0 -4
  26. package/es/components/ComboButton/ComboButtonItem/index.js +0 -5
  27. package/es/components/CreateFullPage/CreateFullPageStep.js +15 -8
  28. package/es/components/CreateModal/CreateModal.js +1 -4
  29. package/es/components/CreateTearsheet/CreateTearsheet.js +10 -11
  30. package/es/components/CreateTearsheet/CreateTearsheetStep.js +18 -14
  31. package/es/components/DataSpreadsheet/DataSpreadsheet.js +340 -80
  32. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +138 -0
  33. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +64 -0
  34. package/es/components/DataSpreadsheet/createActiveCellFn.js +45 -0
  35. package/es/components/DataSpreadsheet/getCellSize.js +30 -0
  36. package/es/components/EditSidePanel/EditSidePanel.js +9 -10
  37. package/es/components/EmptyStates/EmptyState.js +7 -6
  38. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +4 -8
  39. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +4 -8
  40. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +4 -8
  41. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +4 -8
  42. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +4 -8
  43. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +4 -8
  44. package/es/components/ExampleComponent/ExampleComponent.js +12 -13
  45. package/es/components/ExportModal/ExportModal.js +13 -9
  46. package/es/components/ExpressiveCard/ExpressiveCard.js +0 -8
  47. package/es/components/ImportModal/ImportModal.js +7 -5
  48. package/es/components/InlineEdit/InlineEdit.js +11 -13
  49. package/es/components/LoadingBar/LoadingBar.js +13 -17
  50. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -4
  51. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -5
  52. package/es/components/ModifiedTabs/ModifiedTabs.js +24 -18
  53. package/es/components/NotificationsPanel/NotificationsPanel.js +109 -86
  54. package/es/components/OptionsTile/OptionsTile.js +6 -9
  55. package/es/components/PageHeader/PageHeader.js +10 -7
  56. package/es/components/ProductiveCard/ProductiveCard.js +23 -12
  57. package/es/components/RemoveModal/RemoveModal.js +0 -3
  58. package/es/components/SidePanel/SidePanel.js +22 -17
  59. package/es/components/TagSet/TagSet.js +13 -9
  60. package/es/components/TagSet/TagSetModal.js +16 -12
  61. package/es/components/TagSet/TagSetOverflow.js +21 -13
  62. package/es/components/Tearsheet/Tearsheet.js +27 -18
  63. package/es/components/Tearsheet/TearsheetNarrow.js +18 -15
  64. package/es/components/Toolbar/ToolbarButton.js +0 -3
  65. package/es/components/WebTerminal/WebTerminal.js +17 -18
  66. package/es/components/index.js +0 -1
  67. package/es/global/js/hooks/index.js +1 -0
  68. package/es/global/js/hooks/useActiveElement.js +27 -0
  69. package/es/global/js/utils/Wrap.js +7 -5
  70. package/lib/components/APIKeyModal/APIKeyModal.js +10 -13
  71. package/lib/components/ActionBar/ActionBar.js +0 -3
  72. package/lib/components/ActionBar/ActionBarItem.js +2 -6
  73. package/lib/components/ActionSet/ActionSet.js +10 -12
  74. package/lib/components/AddSelect/AddSelect.js +7 -5
  75. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +0 -3
  76. package/lib/components/ButtonMenu/ButtonMenu.js +6 -4
  77. package/lib/components/ButtonMenu/ButtonMenuItem.js +1 -2
  78. package/lib/components/Card/Card.js +31 -21
  79. package/lib/components/Card/CardFooter.js +14 -10
  80. package/lib/components/Card/CardHeader.js +8 -6
  81. package/lib/components/Cascade/Cascade.js +5 -4
  82. package/lib/components/ComboButton/ComboButton.js +0 -4
  83. package/lib/components/ComboButton/ComboButtonItem/index.js +0 -5
  84. package/lib/components/CreateFullPage/CreateFullPageStep.js +17 -14
  85. package/lib/components/CreateModal/CreateModal.js +1 -4
  86. package/lib/components/CreateTearsheet/CreateTearsheet.js +10 -11
  87. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +20 -20
  88. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +342 -75
  89. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +161 -0
  90. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +80 -0
  91. package/lib/components/DataSpreadsheet/createActiveCellFn.js +56 -0
  92. package/lib/components/DataSpreadsheet/getCellSize.js +39 -0
  93. package/lib/components/EditSidePanel/EditSidePanel.js +9 -10
  94. package/lib/components/EmptyStates/EmptyState.js +9 -8
  95. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +3 -7
  96. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +3 -7
  97. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +3 -7
  98. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +3 -7
  99. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +3 -7
  100. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +3 -7
  101. package/lib/components/ExampleComponent/ExampleComponent.js +12 -13
  102. package/lib/components/ExportModal/ExportModal.js +13 -9
  103. package/lib/components/ExpressiveCard/ExpressiveCard.js +0 -8
  104. package/lib/components/ImportModal/ImportModal.js +7 -5
  105. package/lib/components/InlineEdit/InlineEdit.js +11 -13
  106. package/lib/components/LoadingBar/LoadingBar.js +13 -17
  107. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -4
  108. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -5
  109. package/lib/components/ModifiedTabs/ModifiedTabs.js +24 -18
  110. package/lib/components/NotificationsPanel/NotificationsPanel.js +109 -86
  111. package/lib/components/OptionsTile/OptionsTile.js +6 -9
  112. package/lib/components/PageHeader/PageHeader.js +9 -6
  113. package/lib/components/ProductiveCard/ProductiveCard.js +24 -18
  114. package/lib/components/RemoveModal/RemoveModal.js +0 -3
  115. package/lib/components/SidePanel/SidePanel.js +22 -17
  116. package/lib/components/TagSet/TagSet.js +13 -9
  117. package/lib/components/TagSet/TagSetModal.js +17 -13
  118. package/lib/components/TagSet/TagSetOverflow.js +24 -19
  119. package/lib/components/Tearsheet/Tearsheet.js +26 -17
  120. package/lib/components/Tearsheet/TearsheetNarrow.js +18 -15
  121. package/lib/components/Toolbar/ToolbarButton.js +0 -3
  122. package/lib/components/WebTerminal/WebTerminal.js +17 -18
  123. package/lib/components/index.js +0 -8
  124. package/lib/global/js/hooks/index.js +8 -0
  125. package/lib/global/js/hooks/useActiveElement.js +39 -0
  126. package/lib/global/js/utils/Wrap.js +7 -5
  127. package/package.json +8 -8
  128. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +26 -3
  129. package/scss/components/InlineEdit/_inline-edit.scss +5 -0
  130. package/scss/components/_index.scss +0 -1
  131. package/es/components/CancelableTextEdit/CancelableTextEdit.js +0 -245
  132. package/es/components/CancelableTextEdit/index.js +0 -7
  133. package/lib/components/CancelableTextEdit/CancelableTextEdit.js +0 -265
  134. package/lib/components/CancelableTextEdit/index.js +0 -13
  135. package/scss/components/CancelableTextEdit/_cancelable-text-edit.scss +0 -212
  136. package/scss/components/CancelableTextEdit/_index.scss +0 -8
  137. package/scss/components/CancelableTextEdit/_storybook-styles.scss +0 -8
@@ -13,10 +13,10 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
 
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
 
16
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
17
 
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -29,7 +29,8 @@ var _settings = require("../../settings");
29
29
 
30
30
  var _propsHelper = require("../../global/js/utils/props-helper");
31
31
 
32
- var _excluded = ["label"];
32
+ var _excluded = ["allTags", "className", "title", "onClose", "open", "searchLabel", "searchPlaceholder"],
33
+ _excluded2 = ["label"];
33
34
 
34
35
  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); }
35
36
 
@@ -40,7 +41,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
40
41
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
42
 
42
43
  var componentName = 'TagSetModal';
43
- var blockClass = "".concat(_settings.pkg.prefix, "--tag-set-modal");
44
+ var blockClass = "".concat(_settings.pkg.prefix, "--tag-set-modal"); // Default values for props
45
+
46
+ var defaults = {
47
+ // marked as required by TagSet if needed, default used to satisfy <Search /> component
48
+ searchLabel: ''
49
+ };
44
50
 
45
51
  var TagSetModal = function TagSetModal(_ref) {
46
52
  var allTags = _ref.allTags,
@@ -48,8 +54,10 @@ var TagSetModal = function TagSetModal(_ref) {
48
54
  title = _ref.title,
49
55
  onClose = _ref.onClose,
50
56
  open = _ref.open,
51
- searchLabel = _ref.searchLabel,
52
- searchPlaceholder = _ref.searchPlaceholder;
57
+ _ref$searchLabel = _ref.searchLabel,
58
+ searchLabel = _ref$searchLabel === void 0 ? defaults.searchLabel : _ref$searchLabel,
59
+ searchPlaceholder = _ref.searchPlaceholder,
60
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
61
 
54
62
  var _useState = (0, _react.useState)([]),
55
63
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -89,13 +97,13 @@ var TagSetModal = function TagSetModal(_ref) {
89
97
  setSearch(ev.target.value || '');
90
98
  };
91
99
 
92
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ComposedModal, {
100
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ComposedModal, (0, _extends2.default)({}, rest, {
93
101
  containerClassName: "".concat(blockClass, "__container"),
94
102
  className: (0, _classnames.default)(className, "".concat(blockClass)),
95
103
  size: "sm",
96
104
  open: open,
97
105
  onClose: onClose
98
- }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalHeader, {
106
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalHeader, {
99
107
  title: title,
100
108
  className: "".concat(blockClass, "__header")
101
109
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Search, {
@@ -110,7 +118,7 @@ var TagSetModal = function TagSetModal(_ref) {
110
118
  hasForm: true
111
119
  }, filteredModalTags.map(function (_ref2, index) {
112
120
  var label = _ref2.label,
113
- other = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
121
+ other = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
114
122
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, (0, _extends2.default)({}, other, {
115
123
  filter: false,
116
124
  key: "all-tags-".concat(index)
@@ -132,8 +140,4 @@ TagSetModal.propTypes = {
132
140
  searchPlaceholder: _propTypes.default.string,
133
141
  title: _propTypes.default.string
134
142
  };
135
- TagSetModal.defaultProps = {
136
- // marked as required by TagSet if needed, default used to satisfy <Search /> component
137
- searchLabel: ''
138
- };
139
143
  TagSetModal.displayName = componentName;
@@ -9,10 +9,14 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.TagSetOverflow = void 0;
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
15
 
14
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
17
 
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
16
20
  var _react = _interopRequireWildcard(require("react"));
17
21
 
18
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -25,27 +29,33 @@ var _settings = require("../../settings");
25
29
 
26
30
  var _pconsole = require("../../global/js/utils/pconsole");
27
31
 
32
+ var _excluded = ["allTagsModalSearchThreshold", "className", "onShowAllClick", "overflowAlign", "overflowDirection", "overflowTags", "showAllTagsLabel"];
33
+
28
34
  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); }
29
35
 
30
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
37
 
32
- //
33
- // Copyright IBM Corp. 2021, 2021
34
- //
35
- // This source code is licensed under the Apache-2.0 license found in the
36
- // LICENSE file in the root directory of this source tree.
37
- //
38
38
  var componentName = 'TagSetOverflow';
39
- var blockClass = "".concat(_settings.pkg.prefix, "--tag-set-overflow");
39
+ var blockClass = "".concat(_settings.pkg.prefix, "--tag-set-overflow"); // Default values for props
40
+
41
+ var defaults = {
42
+ allTagsModalSearchThreshold: 10,
43
+ overflowAlign: 'center',
44
+ overflowDirection: 'bottom'
45
+ };
40
46
 
41
47
  var TagSetOverflow = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
42
- var className = _ref.className,
43
- overflowTags = _ref.overflowTags,
48
+ var _ref$allTagsModalSear = _ref.allTagsModalSearchThreshold,
49
+ allTagsModalSearchThreshold = _ref$allTagsModalSear === void 0 ? defaults.allTagsModalSearchThreshold : _ref$allTagsModalSear,
50
+ className = _ref.className,
44
51
  onShowAllClick = _ref.onShowAllClick,
45
- overflowAlign = _ref.overflowAlign,
46
- overflowDirection = _ref.overflowDirection,
52
+ _ref$overflowAlign = _ref.overflowAlign,
53
+ overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
54
+ _ref$overflowDirectio = _ref.overflowDirection,
55
+ overflowDirection = _ref$overflowDirectio === void 0 ? defaults.overflowDirection : _ref$overflowDirectio,
56
+ overflowTags = _ref.overflowTags,
47
57
  showAllTagsLabel = _ref.showAllTagsLabel,
48
- allTagsModalSearchThreshold = _ref.allTagsModalSearchThreshold;
58
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
49
59
 
50
60
  var _useState = (0, _react.useState)(false),
51
61
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -66,11 +76,11 @@ var TagSetOverflow = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
66
76
  onShowAllClick();
67
77
  };
68
78
 
69
- return /*#__PURE__*/_react.default.createElement("span", {
79
+ return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, rest, {
70
80
  "aria-hidden": overflowTags.length === 0,
71
81
  className: (0, _classnames.default)("".concat(blockClass), (0, _defineProperty2.default)({}, "".concat(blockClass, "--hidden"), overflowTags.length === 0)),
72
82
  ref: ref
73
- }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tooltip, {
83
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tooltip, {
74
84
  align: overflowAlign,
75
85
  className: (0, _classnames.default)(className, "".concat(blockClass, "__tooltip")),
76
86
  direction: overflowDirection,
@@ -139,9 +149,4 @@ TagSetOverflow.propTypes = {
139
149
  * label for the overflow show all tags link
140
150
  */
141
151
  showAllTagsLabel: _propTypes.default.string
142
- };
143
- TagSetOverflow.defaultProps = {
144
- allTagsModalSearchThreshold: 10,
145
- overflowAlign: 'center',
146
- overflowDirection: 'bottom'
147
152
  };
@@ -9,7 +9,7 @@ exports.deprecatedProps = exports.Tearsheet = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
 
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
 
@@ -27,12 +27,20 @@ var _ActionSet = require("../ActionSet");
27
27
 
28
28
  var _TearsheetShell = require("./TearsheetShell");
29
29
 
30
+ var _excluded = ["influencerPosition", "influencerWidth", "verticalPosition"];
31
+
30
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
33
 
32
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
35
 
34
36
  var componentName = 'Tearsheet'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
37
+ // Default values for props
35
38
 
39
+ var defaults = {
40
+ influencerPosition: 'left',
41
+ influencerWidth: 'narrow',
42
+ verticalPosition: 'lower'
43
+ };
36
44
  /**
37
45
  * A tearsheet is a mostly full-screen type of dialog that keeps users
38
46
  * in-context and focused by bringing actionable content front and center while
@@ -46,11 +54,21 @@ var componentName = 'Tearsheet'; // NOTE: the component SCSS is not imported her
46
54
  * action buttons.
47
55
  */
48
56
 
49
- var Tearsheet = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
50
- return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, (0, _extends2.default)({}, (0, _devtools.getDevtoolsProps)(componentName), (0, _propsHelper.prepareProps)(props, [], {
57
+ var Tearsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
58
+ var _ref$influencerPositi = _ref.influencerPosition,
59
+ influencerPosition = _ref$influencerPositi === void 0 ? defaults.influencerPosition : _ref$influencerPositi,
60
+ _ref$influencerWidth = _ref.influencerWidth,
61
+ influencerWidth = _ref$influencerWidth === void 0 ? defaults.influencerWidth : _ref$influencerWidth,
62
+ _ref$verticalPosition = _ref.verticalPosition,
63
+ verticalPosition = _ref$verticalPosition === void 0 ? defaults.verticalPosition : _ref$verticalPosition,
64
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
65
+ return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, _objectSpread(_objectSpread(_objectSpread({}, (0, _devtools.getDevtoolsProps)(componentName)), rest), {}, {
66
+ influencerPosition: influencerPosition,
67
+ influencerWidth: influencerWidth,
68
+ verticalPosition: verticalPosition,
51
69
  ref: ref,
52
70
  size: 'wide'
53
- })));
71
+ }));
54
72
  }); // Return a placeholder if not released and not enabled by feature flag
55
73
 
56
74
 
@@ -112,9 +130,9 @@ Tearsheet.propTypes = _objectSpread({
112
130
  * **Note:** This prop is only required if a close icon is shown, i.e. if
113
131
  * there are a no navigation actions and/or hasCloseIcon is true.
114
132
  */
115
- closeIconDescription: _propTypes.default.string.isRequired.if(function (_ref) {
116
- var actions = _ref.actions,
117
- hasCloseIcon = _ref.hasCloseIcon;
133
+ closeIconDescription: _propTypes.default.string.isRequired.if(function (_ref2) {
134
+ var actions = _ref2.actions,
135
+ hasCloseIcon = _ref2.hasCloseIcon;
118
136
  return (0, _TearsheetShell.tearsheetHasCloseIcon)(actions, hasCloseIcon);
119
137
  }),
120
138
 
@@ -180,13 +198,4 @@ Tearsheet.propTypes = _objectSpread({
180
198
  * The main title of the tearsheet, displayed in the header area.
181
199
  */
182
200
  title: _propTypes.default.node
183
- }, deprecatedProps); // Default values for component props. Default values are not required for
184
- // props that are required, nor for props where the component can apply
185
- // 'undefined' values reasonably. Default values should be provided when the
186
- // component needs to make a choice or assumption when a prop is not supplied.
187
-
188
- Tearsheet.defaultProps = {
189
- influencerPosition: 'left',
190
- influencerWidth: 'narrow',
191
- verticalPosition: 'lower'
192
- };
201
+ }, deprecatedProps);
@@ -9,7 +9,7 @@ exports.deprecatedProps = exports.TearsheetNarrow = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
 
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
 
@@ -27,12 +27,18 @@ var _ActionSet = require("../ActionSet");
27
27
 
28
28
  var _TearsheetShell = require("./TearsheetShell");
29
29
 
30
+ var _excluded = ["verticalPosition"];
31
+
30
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
33
 
32
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
35
 
34
36
  var componentName = 'TearsheetNarrow'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
37
+ // Default values for props
35
38
 
39
+ var defaults = {
40
+ verticalPosition: 'lower'
41
+ };
36
42
  /**
37
43
  * A narrow tearsheet is a slimmer variant of the tearsheet, providing a dialog
38
44
  * that keeps users in-context and focused by bringing actionable content front
@@ -42,11 +48,15 @@ var componentName = 'TearsheetNarrow'; // NOTE: the component SCSS is not import
42
48
  * main content area, and a set of action buttons.
43
49
  */
44
50
 
45
- var TearsheetNarrow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
46
- return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, (0, _extends2.default)({}, (0, _devtools.getDevtoolsProps)(componentName), (0, _propsHelper.prepareProps)(props, _TearsheetShell.tearsheetShellWideProps, {
51
+ var TearsheetNarrow = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
52
+ var _ref$verticalPosition = _ref.verticalPosition,
53
+ verticalPosition = _ref$verticalPosition === void 0 ? defaults.verticalPosition : _ref$verticalPosition,
54
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
+ return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, _objectSpread(_objectSpread(_objectSpread({}, (0, _devtools.getDevtoolsProps)(componentName)), (0, _propsHelper.prepareProps)(rest, _TearsheetShell.tearsheetShellWideProps)), {}, {
56
+ verticalPosition: verticalPosition,
47
57
  ref: ref,
48
58
  size: 'narrow'
49
- })));
59
+ }));
50
60
  }); // Return a placeholder if not released and not enabled by feature flag
51
61
 
52
62
 
@@ -108,9 +118,9 @@ TearsheetNarrow.propTypes = _objectSpread({
108
118
  * **Note:** This prop is only required if a close icon is shown, i.e. if
109
119
  * there are a no navigation actions and/or hasCloseIcon is true.
110
120
  */
111
- closeIconDescription: _propTypes.default.string.isRequired.if(function (_ref) {
112
- var actions = _ref.actions,
113
- hasCloseIcon = _ref.hasCloseIcon;
121
+ closeIconDescription: _propTypes.default.string.isRequired.if(function (_ref2) {
122
+ var actions = _ref2.actions,
123
+ hasCloseIcon = _ref2.hasCloseIcon;
114
124
  return (0, _TearsheetShell.tearsheetHasCloseIcon)(actions, hasCloseIcon);
115
125
  }),
116
126
 
@@ -150,11 +160,4 @@ TearsheetNarrow.propTypes = _objectSpread({
150
160
  * The main title of the tearsheet, displayed in the header area.
151
161
  */
152
162
  title: _propTypes.default.node
153
- }, deprecatedProps); // Default values for component props. Default values are not required for
154
- // props that are required, nor for props where the component can apply
155
- // 'undefined' values reasonably. Default values should be provided when the
156
- // component needs to make a choice or assumption when a prop is not supplied.
157
-
158
- TearsheetNarrow.defaultProps = {
159
- verticalPosition: 'lower'
160
- };
163
+ }, deprecatedProps);
@@ -69,7 +69,4 @@ ToolbarButton.propTypes = {
69
69
  /** Provide an optional class to be applied to the containing node */
70
70
  className: _propTypes.string
71
71
  };
72
- ToolbarButton.defaultProps = {
73
- caret: false
74
- };
75
72
  exports.ToolbarButton = ToolbarButton = _settings.pkg.checkComponentEnabled(ToolbarButton, componentName);
@@ -29,7 +29,7 @@ var _iconsReact = require("@carbon/icons-react");
29
29
 
30
30
  var _carbonComponentsReact = require("carbon-components-react");
31
31
 
32
- var _excluded = ["children", "className", "closeTerminal", "documentationLinks", "documentationLinksIconDescription", "open", "actions", "closeIconDescription"];
32
+ var _excluded = ["actions", "children", "className", "closeIconDescription", "closeTerminal", "documentationLinks", "documentationLinksIconDescription", "open"];
33
33
 
34
34
  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); }
35
35
 
@@ -41,19 +41,28 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
41
41
 
42
42
  // The block part of our conventional BEM class names (blockClass__E--M).
43
43
  var componentName = 'WebTerminal';
44
- var blockClass = "".concat(_settings.pkg.prefix, "--web-terminal");
44
+ var blockClass = "".concat(_settings.pkg.prefix, "--web-terminal"); // Default values for props
45
+
46
+ var defaults = {
47
+ actions: Object.freeze([]),
48
+ documentationLinks: Object.freeze([]),
49
+ documentationLinksIconDescription: 'Show documentation links'
50
+ };
45
51
 
46
52
  var WebTerminal = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
47
53
  var _ref2;
48
54
 
49
- var children = _ref.children,
55
+ var _ref$actions = _ref.actions,
56
+ actions = _ref$actions === void 0 ? defaults.actions : _ref$actions,
57
+ children = _ref.children,
50
58
  className = _ref.className,
59
+ closeIconDescription = _ref.closeIconDescription,
51
60
  closeTerminal = _ref.closeTerminal,
52
- documentationLinks = _ref.documentationLinks,
53
- documentationLinksIconDescription = _ref.documentationLinksIconDescription,
61
+ _ref$documentationLin = _ref.documentationLinks,
62
+ documentationLinks = _ref$documentationLin === void 0 ? defaults.documentationLinks : _ref$documentationLin,
63
+ _ref$documentationLin2 = _ref.documentationLinksIconDescription,
64
+ documentationLinksIconDescription = _ref$documentationLin2 === void 0 ? defaults.documentationLinksIconDescription : _ref$documentationLin2,
54
65
  open = _ref.open,
55
- actions = _ref.actions,
56
- closeIconDescription = _ref.closeIconDescription,
57
66
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
58
67
 
59
68
  var _useState = (0, _react.useState)(open),
@@ -78,7 +87,7 @@ var WebTerminal = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
78
87
 
79
88
  return shouldRender ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
80
89
  ref: ref,
81
- className: (0, _classnames.default)([blockClass, (_ref2 = {}, (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "--open"), open), (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "--closed"), !open), (0, _defineProperty2.default)(_ref2, className, className), _ref2)]),
90
+ className: (0, _classnames.default)([className, blockClass, (_ref2 = {}, (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "--open"), open), (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "--closed"), !open), _ref2)]),
82
91
  style: {
83
92
  animation: "".concat(open ? 'web-terminal-entrance 250ms' : 'web-terminal-exit 250ms')
84
93
  },
@@ -173,14 +182,4 @@ WebTerminal.propTypes = {
173
182
  * Boolean that determines if the web terminal is opened or closed
174
183
  */
175
184
  open: _propTypes.default.bool.isRequired
176
- }; // Default values for component props. Default values are not required for
177
- // props that are required, nor for props where the component can apply
178
- // 'undefined' values reasonably. Default values should be provided when the
179
- // component needs to make a choice or assumption when a prop is not supplied.
180
-
181
- WebTerminal.defaultProps = {
182
- actions: [],
183
- documentationLinks: [],
184
- documentationLinksIconDescription: 'Show documentation links',
185
- className: ''
186
185
  };
@@ -15,12 +15,6 @@ Object.defineProperty(exports, "AboutModal", {
15
15
  return _AboutModal.AboutModal;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "CancelableTextEdit", {
19
- enumerable: true,
20
- get: function get() {
21
- return _CancelableTextEdit.CancelableTextEdit;
22
- }
23
- });
24
18
  Object.defineProperty(exports, "Cascade", {
25
19
  enumerable: true,
26
20
  get: function get() {
@@ -368,8 +362,6 @@ var _EditSidePanel = require("./EditSidePanel");
368
362
 
369
363
  var _OptionsTile = require("./OptionsTile");
370
364
 
371
- var _CancelableTextEdit = require("./CancelableTextEdit");
372
-
373
365
  var _InlineEdit = require("./InlineEdit");
374
366
 
375
367
  var _DataSpreadsheet = require("./DataSpreadsheet");
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "useActiveElement", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useActiveElement.useActiveElement;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "useClickOutside", {
7
13
  enumerable: true,
8
14
  get: function get() {
@@ -64,6 +70,8 @@ Object.defineProperty(exports, "useWindowScroll", {
64
70
  }
65
71
  });
66
72
 
73
+ var _useActiveElement = require("./useActiveElement");
74
+
67
75
  var _useWindowScroll = require("./useWindowScroll");
68
76
 
69
77
  var _useWindowResize = require("./useWindowResize");
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useActiveElement = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _react = require("react");
13
+
14
+ /**
15
+ * Copyright IBM Corp. 2022, 2022
16
+ *
17
+ * This source code is licensed under the Apache-2.0 license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+ var useActiveElement = function useActiveElement() {
21
+ var _useState = (0, _react.useState)(document.activeElement),
22
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
23
+ active = _useState2[0],
24
+ setActive = _useState2[1];
25
+
26
+ var handleFocusIn = function handleFocusIn() {
27
+ setActive(document.activeElement);
28
+ };
29
+
30
+ (0, _react.useEffect)(function () {
31
+ document.addEventListener('focusin', handleFocusIn);
32
+ return function () {
33
+ document.removeEventListener('focusin', handleFocusIn);
34
+ };
35
+ }, []);
36
+ return active;
37
+ };
38
+
39
+ exports.useActiveElement = useActiveElement;
@@ -32,6 +32,11 @@ var isEmpty = function isEmpty(children) {
32
32
  });
33
33
 
34
34
  return result;
35
+ }; // Default values for props
36
+
37
+
38
+ var defaults = {
39
+ element: 'div'
35
40
  };
36
41
  /**
37
42
  * A simple conditional wrapper that encloses its children in a <div> (or other
@@ -44,11 +49,11 @@ var isEmpty = function isEmpty(children) {
44
49
  * remain undefined if it does not render.
45
50
  */
46
51
 
47
-
48
52
  var Wrap = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
49
53
  var alwaysRender = _ref.alwaysRender,
50
54
  children = _ref.children,
51
- Wrapper = _ref.element,
55
+ _ref$element = _ref.element,
56
+ Wrapper = _ref$element === void 0 ? defaults.element : _ref$element,
52
57
  neverRender = _ref.neverRender,
53
58
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
54
59
  return (neverRender || isEmpty(children)) && !alwaysRender ? null : /*#__PURE__*/_react.default.createElement(Wrapper, (0, _extends2.default)({}, rest, {
@@ -87,7 +92,4 @@ Wrap.propTypes = {
87
92
  * content will be rendered.
88
93
  */
89
94
  neverRender: _propTypes.default.bool
90
- };
91
- Wrap.defaultProps = {
92
- element: 'div'
93
95
  };
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.7.0",
4
+ "version": "1.8.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -50,9 +50,9 @@
50
50
  "upgrade-dependencies": "npm-check-updates -u --dep dev,peer,prod --color --reject '/(carbon|^react$|^react-dom$|^chalk$)/'"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/cli": "^7.17.0",
54
- "@babel/core": "^7.17.2",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.7",
53
+ "@babel/cli": "^7.17.3",
54
+ "@babel/core": "^7.17.5",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.8",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
@@ -60,11 +60,11 @@
60
60
  "fs-extra": "^10.0.0",
61
61
  "glob": "^7.2.0",
62
62
  "jest": "^27.5.1",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.8",
64
- "npm-check-updates": "^12.3.0",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.9",
64
+ "npm-check-updates": "^12.3.1",
65
65
  "npm-run-all": "^4.1.5",
66
66
  "rimraf": "^3.0.2",
67
- "sass": "^1.49.7",
67
+ "sass": "^1.49.8",
68
68
  "yargs": "^17.3.1"
69
69
  },
70
70
  "dependencies": {
@@ -88,5 +88,5 @@
88
88
  "react": "^16.8.6 || ^17.0.1",
89
89
  "react-dom": "^16.8.6 || ^17.0.1"
90
90
  },
91
- "gitHead": "f4a8ee412f5ddb54722b47478e35d469f49ac411"
91
+ "gitHead": "b2c8e5a32233fac65bb3eeb18df919efc0dcd3af"
92
92
  }
@@ -26,7 +26,14 @@
26
26
  .#{$block-class} {
27
27
  display: inline-block;
28
28
  border-spacing: 0;
29
- // border: 1px solid black;
29
+
30
+ &.#{$block-class}__container-has-focus {
31
+ outline: 2px solid $inverse-link;
32
+ }
33
+
34
+ .#{$block-class}__header--container {
35
+ position: relative;
36
+ }
30
37
 
31
38
  button.#{$block-class}__td {
32
39
  margin: 0;
@@ -34,7 +41,7 @@
34
41
  }
35
42
  .#{$block-class}__tr {
36
43
  :last-child {
37
- .td {
44
+ .#{$block-class}__td {
38
45
  border-bottom: 0;
39
46
  }
40
47
  }
@@ -42,7 +49,7 @@
42
49
 
43
50
  .#{$block-class}__th,
44
51
  .#{$block-class}__td {
45
- height: 2.25rem; // update to be controlled by cellSize prop later
52
+ // height: 2.25rem; // update to be controlled by cellSize prop later
46
53
  padding: 0 $spacing-03;
47
54
  border: 0;
48
55
  margin: 0;
@@ -59,6 +66,13 @@
59
66
  background-color: $ui-01;
60
67
  cursor: pointer;
61
68
  }
69
+ .#{$block-class}__td-th {
70
+ @include carbon--font-weight('semibold');
71
+
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: flex-end;
75
+ }
62
76
  .#{$block-class}__td {
63
77
  @include set-body-borders();
64
78
 
@@ -71,6 +85,15 @@
71
85
  color: $text-01;
72
86
  text-align: left;
73
87
  }
88
+ .#{$block-class}__active-cell--highlight {
89
+ position: absolute;
90
+ border: $spacing-01 solid $interactive-01;
91
+ background-color: transparent;
92
+ &:focus {
93
+ border: $spacing-01 solid $interactive-01;
94
+ outline: 0;
95
+ }
96
+ }
74
97
  }
75
98
  }
76
99
 
@@ -139,10 +139,13 @@
139
139
  top: 0;
140
140
  left: 0;
141
141
  display: block;
142
+ overflow: hidden;
143
+ width: 0;
142
144
  margin-left: $spacing-05;
143
145
  color: $text-05;
144
146
  content: attr(data-placeholder);
145
147
  opacity: 0;
148
+ visibility: hidden;
146
149
  }
147
150
 
148
151
  .#{$block-class}__ellipsis {
@@ -181,9 +184,11 @@
181
184
  }
182
185
 
183
186
  .#{$block-class}__input--empty::after {
187
+ width: initial;
184
188
  opacity: 1;
185
189
  // only transition fade in
186
190
  transition: opacity $duration--moderate-02 motion(standard, productive);
191
+ visibility: visible;
187
192
  }
188
193
 
189
194
  .#{$block-class}__after-input-elements {
@@ -43,6 +43,5 @@
43
43
  @import './UserProfileImage/index';
44
44
  @import './EditSidePanel/index';
45
45
  @import './OptionsTile/index';
46
- @import './CancelableTextEdit/index';
47
46
  @import './InlineEdit/index';
48
47
  @import './DataSpreadsheet/index';