@carbon/ibm-products 1.2.5 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. package/css/index-full-carbon.css +1028 -517
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-without-carbon-released-only.css +187 -108
  5. package/css/index-without-carbon-released-only.css.map +1 -1
  6. package/css/index-without-carbon-released-only.min.css +3 -3
  7. package/css/index-without-carbon.css +580 -114
  8. package/css/index-without-carbon.css.map +1 -1
  9. package/css/index-without-carbon.min.css +3 -3
  10. package/css/index.css +804 -116
  11. package/css/index.css.map +1 -1
  12. package/css/index.min.css +3 -3
  13. package/es/components/APIKeyModal/APIKeyModal.js +25 -29
  14. package/es/components/ActionBar/ActionBar.js +4 -1
  15. package/es/components/ActionSet/ActionSet.js +22 -10
  16. package/es/components/ActionSet/actions.js +25 -17
  17. package/es/components/AddSelect/AddSelect.js +198 -0
  18. package/es/components/AddSelect/AddSelectBreadcrumbs.js +56 -0
  19. package/es/components/AddSelect/AddSelectList.js +94 -0
  20. package/es/components/AddSelect/AddSelectSidebar.js +46 -0
  21. package/es/components/AddSelect/index.js +7 -0
  22. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +24 -17
  23. package/es/components/CancelableTextEdit/CancelableTextEdit.js +245 -0
  24. package/es/components/{CreateTearsheet/constants.js → CancelableTextEdit/index.js} +1 -2
  25. package/es/components/Card/Card.js +6 -4
  26. package/es/components/CreateFullPage/CreateFullPage.js +102 -258
  27. package/es/components/CreateFullPage/CreateFullPageStep.js +65 -13
  28. package/es/components/CreateFullPage/index.js +1 -2
  29. package/es/components/CreateInfluencer/CreateInfluencer.js +40 -220
  30. package/es/components/CreateTearsheet/CreateTearsheet.js +95 -146
  31. package/es/components/CreateTearsheet/CreateTearsheetStep.js +70 -20
  32. package/es/components/CreateTearsheet/index.js +0 -1
  33. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +87 -28
  34. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +8 -6
  35. package/es/components/ExportModal/ExportModal.js +41 -12
  36. package/es/components/ImportModal/ImportModal.js +2 -1
  37. package/es/components/InlineEdit/InlineEdit.js +373 -0
  38. package/es/components/InlineEdit/index.js +7 -0
  39. package/es/components/MultiAddSelect/MultiAddSelect.js +16 -0
  40. package/es/components/MultiAddSelect/index.js +1 -0
  41. package/es/components/NotificationsPanel/NotificationsPanel.js +16 -3
  42. package/es/components/OptionsTile/OptionsTile.js +36 -15
  43. package/es/components/PageHeader/PageHeader.js +59 -35
  44. package/es/components/PageHeader/PageHeaderTitle.js +82 -7
  45. package/es/components/PageHeader/PageHeaderUtils.js +21 -2
  46. package/es/components/RemoveModal/RemoveModal.js +4 -2
  47. package/es/components/SidePanel/SidePanel.js +33 -16
  48. package/es/components/SingleAddSelect/SingleAddSelect.js +15 -0
  49. package/es/components/SingleAddSelect/index.js +1 -0
  50. package/es/components/TagSet/TagSet.js +4 -1
  51. package/es/components/Tearsheet/Tearsheet.js +1 -1
  52. package/es/components/Tearsheet/TearsheetNarrow.js +1 -1
  53. package/es/components/Tearsheet/TearsheetShell.js +1 -1
  54. package/es/components/Toolbar/Toolbar.js +69 -8
  55. package/es/components/WebTerminal/WebTerminal.js +1 -1
  56. package/es/components/index.js +5 -1
  57. package/es/global/js/hooks/index.js +1 -0
  58. package/es/global/js/hooks/useCreateComponentFocus.js +15 -19
  59. package/es/global/js/hooks/useCreateComponentStepChange.js +69 -79
  60. package/es/global/js/hooks/useResetCreateComponent.js +7 -4
  61. package/es/global/js/hooks/useRetrieveStepData.js +51 -0
  62. package/es/global/js/hooks/useValidCreateStepCount.js +4 -7
  63. package/es/global/js/package-settings.js +5 -1
  64. package/es/global/js/utils/lastIndexInArray.js +26 -0
  65. package/es/settings.js +0 -5
  66. package/lib/components/APIKeyModal/APIKeyModal.js +25 -29
  67. package/lib/components/ActionBar/ActionBar.js +4 -1
  68. package/lib/components/ActionSet/ActionSet.js +22 -10
  69. package/lib/components/ActionSet/actions.js +25 -17
  70. package/lib/components/AddSelect/AddSelect.js +223 -0
  71. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +71 -0
  72. package/lib/components/AddSelect/AddSelectList.js +112 -0
  73. package/lib/components/AddSelect/AddSelectSidebar.js +63 -0
  74. package/lib/components/AddSelect/index.js +13 -0
  75. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +23 -16
  76. package/lib/components/CancelableTextEdit/CancelableTextEdit.js +265 -0
  77. package/lib/components/CancelableTextEdit/index.js +13 -0
  78. package/lib/components/Card/Card.js +6 -4
  79. package/lib/components/CreateFullPage/CreateFullPage.js +102 -258
  80. package/lib/components/CreateFullPage/CreateFullPageStep.js +68 -13
  81. package/lib/components/CreateFullPage/index.js +1 -9
  82. package/lib/components/CreateInfluencer/CreateInfluencer.js +38 -231
  83. package/lib/components/CreateTearsheet/CreateTearsheet.js +97 -148
  84. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +72 -19
  85. package/lib/components/CreateTearsheet/index.js +0 -8
  86. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +86 -34
  87. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +8 -6
  88. package/lib/components/ExportModal/ExportModal.js +38 -11
  89. package/lib/components/ImportModal/ImportModal.js +2 -1
  90. package/lib/components/InlineEdit/InlineEdit.js +389 -0
  91. package/lib/components/InlineEdit/index.js +13 -0
  92. package/lib/components/MultiAddSelect/MultiAddSelect.js +37 -0
  93. package/lib/components/MultiAddSelect/index.js +13 -0
  94. package/lib/components/NotificationsPanel/NotificationsPanel.js +13 -1
  95. package/lib/components/OptionsTile/OptionsTile.js +36 -15
  96. package/lib/components/PageHeader/PageHeader.js +59 -35
  97. package/lib/components/PageHeader/PageHeaderTitle.js +91 -9
  98. package/lib/components/PageHeader/PageHeaderUtils.js +21 -2
  99. package/lib/components/RemoveModal/RemoveModal.js +4 -2
  100. package/lib/components/SidePanel/SidePanel.js +33 -16
  101. package/lib/components/SingleAddSelect/SingleAddSelect.js +36 -0
  102. package/lib/components/SingleAddSelect/index.js +13 -0
  103. package/lib/components/TagSet/TagSet.js +4 -1
  104. package/lib/components/Tearsheet/Tearsheet.js +1 -1
  105. package/lib/components/Tearsheet/TearsheetNarrow.js +1 -1
  106. package/lib/components/Tearsheet/TearsheetShell.js +1 -1
  107. package/lib/components/Toolbar/Toolbar.js +69 -6
  108. package/lib/components/WebTerminal/WebTerminal.js +1 -1
  109. package/lib/components/index.js +33 -1
  110. package/lib/global/js/hooks/index.js +8 -0
  111. package/lib/global/js/hooks/useCreateComponentFocus.js +15 -19
  112. package/lib/global/js/hooks/useCreateComponentStepChange.js +69 -79
  113. package/lib/global/js/hooks/useResetCreateComponent.js +7 -4
  114. package/lib/global/js/hooks/useRetrieveStepData.js +62 -0
  115. package/lib/global/js/hooks/useValidCreateStepCount.js +4 -7
  116. package/lib/global/js/package-settings.js +5 -1
  117. package/lib/global/js/utils/lastIndexInArray.js +35 -0
  118. package/lib/settings.js +0 -6
  119. package/package.json +19 -19
  120. package/scss/components/AddSelect/_add-select.scss +108 -0
  121. package/scss/components/AddSelect/_index.scss +10 -0
  122. package/scss/components/AddSelect/_storybook-styles.scss +6 -0
  123. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +19 -15
  124. package/scss/components/BreadcrumbWithOverflow/_index.scss +1 -1
  125. package/scss/components/CancelableTextEdit/_cancelable-text-edit.scss +212 -0
  126. package/{es/components/CreateFullPage/constants.js → scss/components/CancelableTextEdit/_index.scss} +2 -2
  127. package/scss/components/CancelableTextEdit/_storybook-styles.scss +15 -0
  128. package/scss/components/CreateFullPage/_create-full-page.scss +4 -11
  129. package/scss/components/CreateInfluencer/_create-influencer.scss +4 -4
  130. package/scss/components/CreateTearsheet/_create-tearsheet.scss +6 -10
  131. package/scss/components/InlineEdit/_index.scss +8 -0
  132. package/scss/components/InlineEdit/_inline-edit.scss +245 -0
  133. package/scss/components/InlineEdit/_storybook-styles.scss +28 -0
  134. package/scss/components/MultiAddSelect/_index.scss +1 -0
  135. package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -0
  136. package/scss/components/MultiAddSelect/_storybook-styles.scss +6 -0
  137. package/scss/components/NotificationsPanel/_notifications-panel.scss +2 -2
  138. package/scss/components/PageHeader/_index.scss +1 -1
  139. package/scss/components/PageHeader/_page-header.scss +15 -5
  140. package/scss/components/ProductiveCard/_productive-card.scss +0 -4
  141. package/scss/components/SidePanel/_side-panel.scss +15 -6
  142. package/scss/components/SingleAddSelect/_index.scss +1 -0
  143. package/scss/components/SingleAddSelect/_single-add-select.scss +1 -0
  144. package/scss/components/SingleAddSelect/_storybook-styles.scss +6 -0
  145. package/scss/components/StatusIcon/_index.scss +1 -1
  146. package/scss/components/StatusIcon/_status-icon.scss +2 -0
  147. package/scss/components/TagSet/_index.scss +1 -1
  148. package/scss/components/UserProfileImage/_index.scss +1 -1
  149. package/scss/components/WebTerminal/_web-terminal.scss +2 -2
  150. package/scss/components/_index.scss +4 -0
  151. package/scss/global/styles/_project-settings.scss +5 -1
  152. package/es/components/CreateFullPage/CreateFullPageSection.js +0 -53
  153. package/es/components/CreateTearsheet/CreateTearsheetSection.js +0 -83
  154. package/es/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -327
  155. package/es/generated/feature-flags/feature-flags.js +0 -15
  156. package/es/global/js/utils/hasValidType.js +0 -94
  157. package/lib/components/CreateFullPage/CreateFullPageSection.js +0 -74
  158. package/lib/components/CreateFullPage/constants.js +0 -16
  159. package/lib/components/CreateTearsheet/CreateTearsheetSection.js +0 -105
  160. package/lib/components/CreateTearsheet/constants.js +0 -17
  161. package/lib/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -354
  162. package/lib/generated/feature-flags/feature-flags.js +0 -22
  163. package/lib/global/js/utils/hasValidType.js +0 -110
  164. package/scss/generated/feature-flags/_feature-flags.scss +0 -19
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AddSelectList = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _carbonComponentsReact = require("carbon-components-react");
15
+
16
+ var _iconsReact = require("@carbon/icons-react");
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _settings = require("../../settings");
21
+
22
+ //
23
+ // Copyright IBM Corp. 2022
24
+ //
25
+ // This source code is licensed under the Apache-2.0 license found in the
26
+ // LICENSE file in the root directory of this source tree.
27
+ //
28
+ var componentName = 'AddSelectList';
29
+
30
+ var AddSelectList = function AddSelectList(_ref) {
31
+ var filteredItems = _ref.filteredItems,
32
+ multi = _ref.multi,
33
+ multiSelection = _ref.multiSelection,
34
+ path = _ref.path,
35
+ setMultiSelection = _ref.setMultiSelection,
36
+ setPath = _ref.setPath,
37
+ setSingleSelection = _ref.setSingleSelection,
38
+ singleSelection = _ref.singleSelection;
39
+ var blockClass = "".concat(_settings.pkg.prefix, "--add-select__selections");
40
+
41
+ var handleSingleSelection = function handleSingleSelection(value) {
42
+ setSingleSelection(value);
43
+ };
44
+
45
+ var handleMultiSelection = function handleMultiSelection(value, checked) {
46
+ if (checked) {
47
+ var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [value]);
48
+ setMultiSelection(newValues);
49
+ } else {
50
+ var _newValues = multiSelection.filter(function (v) {
51
+ return v !== value;
52
+ });
53
+
54
+ setMultiSelection(_newValues);
55
+ }
56
+ };
57
+
58
+ var onNavigateItem = function onNavigateItem(_ref2) {
59
+ var id = _ref2.id,
60
+ label = _ref2.label;
61
+ setPath([].concat((0, _toConsumableArray2.default)(path), [{
62
+ id: id,
63
+ label: label
64
+ }]));
65
+ };
66
+
67
+ return /*#__PURE__*/_react.default.createElement("div", {
68
+ className: "".concat(blockClass, "-wrapper")
69
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListWrapper, {
70
+ selection: true,
71
+ className: "".concat(blockClass)
72
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListBody, null, filteredItems.map(function (item) {
73
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListRow, {
74
+ key: item.id
75
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListCell, null, /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "".concat(blockClass, "-cell-wrapper")
77
+ }, multi ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
78
+ className: "".concat(blockClass, "-checkbox"),
79
+ onChange: function onChange(value) {
80
+ return handleMultiSelection(item.value, value);
81
+ },
82
+ labelText: item.label,
83
+ id: item.id,
84
+ checked: multiSelection.includes(item.value)
85
+ }) : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButton, {
86
+ className: "".concat(blockClass, "-radio"),
87
+ name: "add-select-selections",
88
+ id: item.id,
89
+ value: item.value,
90
+ labelText: item.label,
91
+ onChange: handleSingleSelection,
92
+ selected: item.value === singleSelection
93
+ }), item.children && /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronRight16, {
94
+ onClick: function onClick() {
95
+ return onNavigateItem(item);
96
+ }
97
+ }))));
98
+ }))));
99
+ };
100
+
101
+ exports.AddSelectList = AddSelectList;
102
+ AddSelectList.propTypes = {
103
+ filteredItems: _propTypes.default.array,
104
+ multi: _propTypes.default.bool,
105
+ multiSelection: _propTypes.default.array,
106
+ path: _propTypes.default.array,
107
+ setMultiSelection: _propTypes.default.func,
108
+ setPath: _propTypes.default.func,
109
+ setSingleSelection: _propTypes.default.func,
110
+ singleSelection: _propTypes.default.string
111
+ };
112
+ AddSelectList.displayName = componentName;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AddSelectSidebar = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _carbonComponentsReact = require("carbon-components-react");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _NoDataEmptyState = require("../../components/EmptyStates/NoDataEmptyState");
17
+
18
+ var _settings = require("../../settings");
19
+
20
+ //
21
+ // Copyright IBM Corp. 2022
22
+ //
23
+ // This source code is licensed under the Apache-2.0 license found in the
24
+ // LICENSE file in the root directory of this source tree.
25
+ //
26
+ var componentName = 'AddSelectSidebar';
27
+
28
+ var AddSelectSidebar = function AddSelectSidebar(_ref) {
29
+ var influencerTitle = _ref.influencerTitle,
30
+ multiSelection = _ref.multiSelection,
31
+ noSelectionDescription = _ref.noSelectionDescription,
32
+ noSelectionTitle = _ref.noSelectionTitle;
33
+ var blockClass = "".concat(_settings.pkg.prefix, "--add-select__influencer");
34
+ return /*#__PURE__*/_react.default.createElement("div", {
35
+ className: "".concat(blockClass)
36
+ }, /*#__PURE__*/_react.default.createElement("div", {
37
+ className: "".concat(blockClass, "-header")
38
+ }, /*#__PURE__*/_react.default.createElement("p", {
39
+ className: "".concat(blockClass, "-title")
40
+ }, influencerTitle), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
41
+ type: "gray",
42
+ size: "sm"
43
+ }, multiSelection.length)), /*#__PURE__*/_react.default.createElement("div", {
44
+ className: "".concat(blockClass, "-body")
45
+ }, multiSelection.length > 0 ? multiSelection.map(function (item) {
46
+ return /*#__PURE__*/_react.default.createElement("p", {
47
+ key: item
48
+ }, item);
49
+ }) : /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
50
+ subtitle: noSelectionDescription,
51
+ title: noSelectionTitle,
52
+ size: "sm"
53
+ })));
54
+ };
55
+
56
+ exports.AddSelectSidebar = AddSelectSidebar;
57
+ AddSelectSidebar.propTypes = {
58
+ influencerTitle: _propTypes.default.string,
59
+ multiSelection: _propTypes.default.array,
60
+ noSelectionDescription: _propTypes.default.string,
61
+ noSelectionTitle: _propTypes.default.string
62
+ };
63
+ AddSelectSidebar.displayName = componentName;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AddSelect", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _AddSelect.AddSelect;
10
+ }
11
+ });
12
+
13
+ var _AddSelect = require("./AddSelect");
@@ -36,7 +36,7 @@ var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
36
36
  require("../../global/js/utils/props-helper");
37
37
 
38
38
  var _excluded = ["breadcrumbs", "className", "maxVisible", "noTrailingSlash", "overflowAriaLabel"],
39
- _excluded2 = ["label", "key", "title"],
39
+ _excluded2 = ["label", "key", "title", "id"],
40
40
  _excluded3 = ["className", "key", "label", "title"];
41
41
 
42
42
  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); }
@@ -122,10 +122,13 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
122
122
  var label = _ref3.label,
123
123
  key = _ref3.key,
124
124
  title = _ref3.title,
125
+ id = _ref3.id,
125
126
  rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
126
127
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.BreadcrumbItem, (0, _extends2.default)({
127
128
  key: key
128
129
  }, rest, {
130
+ // ensure id is not duplicated
131
+ "data-original-id": id,
129
132
  title: title !== null && title !== void 0 ? title : label
130
133
  }), label);
131
134
  }))));
@@ -273,7 +276,7 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
273
276
  /* istanbul ignore if */
274
277
  // not sure how to test media queries
275
278
 
276
- if ((_backItem = backItem) !== null && _backItem !== void 0 && _backItem.isCurrentPage) {
279
+ if (backItem.isCurrentPage) {
277
280
  backItem = breadcrumbs[breadcrumbs.length - 2];
278
281
  }
279
282
 
@@ -290,20 +293,21 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
290
293
  ref: breadcrumbItemWithOverflow
291
294
  }, /*#__PURE__*/_react.default.createElement("div", {
292
295
  className: (0, _classnames.default)(["".concat(blockClass, "__space")])
293
- }, hiddenSizingItems, ((_backItem2 = backItem) === null || _backItem2 === void 0 ? void 0 : _backItem2.href) && ((_backItem3 = backItem) === null || _backItem3 === void 0 ? void 0 : _backItem3.title) && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
294
- className: "".concat(blockClass, "__breadcrumb-back-button"),
295
- hasIconOnly: true,
296
- iconDescription: backItem.title,
297
- kind: "ghost",
298
- href: backItem.href,
299
- renderIcon: _iconsReact.ArrowLeft16,
300
- size: "field",
301
- tooltipPosition: "right",
302
- type: "button"
303
- }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Breadcrumb, (0, _extends2.default)({
296
+ }, hiddenSizingItems, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Breadcrumb, (0, _extends2.default)({
304
297
  className: (0, _classnames.default)("".concat(blockClass, "__breadcrumb-container"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__breadcrumb-container-with-items"), displayedBreadcrumbItems.length > 1)),
305
298
  noTrailingSlash: noTrailingSlash
306
- }, other), displayedBreadcrumbItems)));
299
+ }, other), ((_backItem = backItem) === null || _backItem === void 0 ? void 0 : _backItem.href) && (((_backItem2 = backItem) === null || _backItem2 === void 0 ? void 0 : _backItem2.label) || ((_backItem3 = backItem) === null || _backItem3 === void 0 ? void 0 : _backItem3.title)) && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.BreadcrumbItem, {
300
+ className: (0, _classnames.default)("".concat(blockClass, "__breadcrumb-back"))
301
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Link, {
302
+ href: backItem.href,
303
+ renderIcon: function renderIcon() {
304
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TooltipIcon, {
305
+ tooltipText: backItem.title || backItem.label,
306
+ direction: "right",
307
+ renderIcon: _iconsReact.ArrowLeft16
308
+ });
309
+ }
310
+ })), displayedBreadcrumbItems)));
307
311
  }; // Return a placeholder if not released and not enabled by feature flag
308
312
 
309
313
 
@@ -356,9 +360,12 @@ BreadcrumbWithOverflow.propTypes = {
356
360
  noTrailingSlash: _propTypes.default.bool,
357
361
 
358
362
  /**
359
- * overflowAriaLabel label for open close button overflow used for action bar items that do nto fit.
363
+ * overflowAriaLabel label for open close button overflow used for breadcrumb items that do not fit.
360
364
  */
361
- overflowAriaLabel: _propTypes.default.string.isRequired
365
+ overflowAriaLabel: _propTypes.default.string.isRequired.if(function (_ref6) {
366
+ var breadcrumbs = _ref6.breadcrumbs;
367
+ return breadcrumbs.length > 1;
368
+ })
362
369
  };
363
370
  BreadcrumbWithOverflow.defaultProps = {
364
371
  noTrailingSlash: false
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.CancelableTextEdit = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _carbonComponentsReact = require("carbon-components-react");
27
+
28
+ var _propsHelper = require("../../global/js/utils/props-helper");
29
+
30
+ var _settings = require("../../settings");
31
+
32
+ var _devtools = require("../../global/js/utils/devtools");
33
+
34
+ var _iconsReact = require("@carbon/icons-react");
35
+
36
+ var _excluded = ["className", "hideLabel", "inline", "invalid", "invalidText", "labelText", "onChange", "onInput", "onRevert", "revertDescription", "saveDescription", "saveDisabled", "size", "value", "warn", "warnText"];
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ // Carbon and package components we use.
47
+
48
+ /* TODO: @import(s) of carbon components and other package components. */
49
+ // The block part of our conventional BEM class names (blockClass__E--M).
50
+ var blockClass = "".concat(_settings.pkg.prefix, "--cancelable-text-edit");
51
+ var componentName = 'CancelableTextEdit'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
52
+
53
+ /**
54
+ * TODO: A description of the component.
55
+ */
56
+
57
+ var CancelableTextEdit = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
58
+ var _cx;
59
+
60
+ var className = _ref.className,
61
+ hideLabel = _ref.hideLabel,
62
+ inline = _ref.inline,
63
+ invalid = _ref.invalid,
64
+ invalidText = _ref.invalidText,
65
+ labelText = _ref.labelText,
66
+ onChange = _ref.onChange,
67
+ onInput = _ref.onInput,
68
+ onRevert = _ref.onRevert,
69
+ revertDescription = _ref.revertDescription,
70
+ saveDescription = _ref.saveDescription,
71
+ saveDisabled = _ref.saveDisabled,
72
+ size = _ref.size,
73
+ value = _ref.value,
74
+ warn = _ref.warn,
75
+ warnText = _ref.warnText,
76
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
77
+ // remove these props later
78
+ var removeProps = ['children', 'onInput', 'onChange', 'value'];
79
+ var showWarn = inline && warn && !invalid;
80
+ var showInvalid = inline && invalid;
81
+
82
+ var _useState = (0, _react.useState)(value !== null && value !== void 0 ? value : ''),
83
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
84
+ liveValue = _useState2[0],
85
+ setLiveValue = _useState2[1];
86
+
87
+ (0, _react.useEffect)(function () {
88
+ if (value !== liveValue) {
89
+ setLiveValue(value);
90
+ } // Do not care if liveValue changes here
91
+ // eslint-disable-next-line react-hooks/exhaustive-deps
92
+
93
+ }, [value]);
94
+
95
+ var doInput = function doInput(newValue) {
96
+ setLiveValue(newValue);
97
+
98
+ if (onInput) {
99
+ onInput(newValue);
100
+ }
101
+ };
102
+
103
+ var handleInput = function handleInput(ev) {
104
+ doInput(ev.target.value);
105
+ };
106
+
107
+ var handleRevert = function handleRevert() {
108
+ doInput(value);
109
+
110
+ if (onRevert) {
111
+ onRevert(value);
112
+ }
113
+ };
114
+
115
+ var handleSave = function handleSave() {
116
+ if (onChange && !invalid) {
117
+ onChange(liveValue);
118
+ }
119
+ };
120
+
121
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
122
+ className: (0, _classnames.default)(className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--invalid"), invalid), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--warn"), warn), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--inline"), inline), _cx))
123
+ }, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: "".concat(blockClass, "__main")
125
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TextInput, (0, _extends2.default)({}, (0, _propsHelper.prepareProps)(rest, removeProps), {
126
+ // it is not permitted to pass children down to TextInput guard against this
127
+ className: "".concat(blockClass, "__input"),
128
+ ref: ref,
129
+ onInput: handleInput,
130
+ size: size,
131
+ value: liveValue !== null && liveValue !== void 0 ? liveValue : '' // ?? '' prevents controlled components test failure https://reactjs.org/docs/forms.html#controlled-components
132
+ ,
133
+ hideLabel: hideLabel,
134
+ inline: inline,
135
+ invalid: invalid,
136
+ invalidText: invalidText,
137
+ labelText: labelText,
138
+ warn: warn,
139
+ warnText: warnText
140
+ })), /*#__PURE__*/_react.default.createElement("div", {
141
+ className: "".concat(blockClass, "__buttons")
142
+ }, !inline && !hideLabel && labelText && /*#__PURE__*/_react.default.createElement("div", {
143
+ className: "".concat(blockClass, "__label-spacer ").concat(_settings.carbon.prefix, "--label")
144
+ }, "\xA0"), /*#__PURE__*/_react.default.createElement("div", {
145
+ className: "".concat(blockClass, "__buttons-inner")
146
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
147
+ className: "".concat(blockClass, "__revert"),
148
+ kind: "ghost",
149
+ hasIconOnly: true,
150
+ iconDescription: revertDescription,
151
+ onClick: handleRevert,
152
+ renderIcon: _iconsReact.Close16
153
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
154
+ className: "".concat(blockClass, "__save"),
155
+ kind: "ghost",
156
+ hasIconOnly: true,
157
+ iconDescription: saveDescription,
158
+ onClick: handleSave,
159
+ renderIcon: _iconsReact.Checkmark16,
160
+ disabled: invalid || saveDisabled || value === liveValue,
161
+ "data-v": value,
162
+ "data-lv": liveValue
163
+ })))), inline && (showInvalid || showWarn) && /*#__PURE__*/_react.default.createElement("div", {
164
+ className: "".concat(blockClass, "__problem ").concat(_settings.carbon.prefix, "--form-requirement")
165
+ }, showInvalid ? invalidText : warnText));
166
+ }); // Return a placeholder if not released and not enabled by feature flag
167
+
168
+
169
+ exports.CancelableTextEdit = CancelableTextEdit;
170
+ exports.CancelableTextEdit = CancelableTextEdit = _settings.pkg.checkComponentEnabled(CancelableTextEdit, componentName); // The display name of the component, used by React. Note that displayName
171
+ // is used in preference to relying on function.name.
172
+
173
+ CancelableTextEdit.displayName = componentName; // The types and DocGen commentary for the component props,
174
+ // in alphabetical order (for consistency).
175
+ // See https://www.npmjs.com/package/prop-types#usage.
176
+
177
+ CancelableTextEdit.propTypes = _objectSpread(_objectSpread({}, (0, _propsHelper.prepareProps)(_carbonComponentsReact.TextInput.propTypes, ['inline', 'invalid', 'invalidText', 'labelText', 'onChange', 'onInput', 'value', 'warn', 'warnText'])), {}, {
178
+ /**
179
+ * Provide an optional class to be applied to the containing node.
180
+ */
181
+ className: _propTypes.default.string,
182
+
183
+ /**
184
+ * hide the label
185
+ */
186
+ hideLabel: _propTypes.default.bool,
187
+
188
+ /**
189
+ * inline variant
190
+ */
191
+ inline: _propTypes.default.bool,
192
+
193
+ /**
194
+ * set invalid state for input
195
+ */
196
+ invalid: _propTypes.default.bool,
197
+
198
+ /**
199
+ * text shown when invalid is true
200
+ */
201
+ invalidText: _propTypes.default.string,
202
+
203
+ /**
204
+ * label for text input
205
+ */
206
+ labelText: _propTypes.default.string,
207
+
208
+ /**
209
+ * method called on change event
210
+ */
211
+ onChange: _propTypes.default.func,
212
+
213
+ /**
214
+ * method called on input event
215
+ */
216
+ onInput: _propTypes.default.func,
217
+
218
+ /**
219
+ * method called on revert event
220
+ */
221
+ onRevert: _propTypes.default.func,
222
+
223
+ /**
224
+ * label for revert button
225
+ */
226
+ revertDescription: _propTypes.default.string.isRequired,
227
+
228
+ /**
229
+ * label for save button
230
+ */
231
+ saveDescription: _propTypes.default.string.isRequired,
232
+
233
+ /**
234
+ * disabled state of the save button
235
+ */
236
+ saveDisabled: _propTypes.default.bool,
237
+
238
+ /**
239
+ * vertical size of control
240
+ */
241
+ size: _propTypes.default.oneOf(['sm', 'md', 'lg']),
242
+
243
+ /**
244
+ * initial/unedited value
245
+ */
246
+ value: _propTypes.default.string,
247
+
248
+ /**
249
+ * set warn state for input
250
+ */
251
+ warn: _propTypes.default.bool,
252
+
253
+ /**
254
+ * text shown when warn true
255
+ */
256
+ warnText: _propTypes.default.string
257
+ }); // Default values for component props. Default values are not required for
258
+ // props that are required, nor for props where the component can apply
259
+ // 'undefined' values reasonably. Default values should be provided when the
260
+ // component needs to make a choice or assumption when a prop is not supplied.
261
+
262
+ CancelableTextEdit.defaultProps = {
263
+ /* TODO: add defaults for relevant props. */
264
+ size: 'md'
265
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CancelableTextEdit", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _CancelableTextEdit.CancelableTextEdit;
10
+ }
11
+ });
12
+
13
+ var _CancelableTextEdit = require("./CancelableTextEdit");
@@ -30,7 +30,8 @@ var _CardFooter = require("./CardFooter");
30
30
  var _settings = require("../../settings");
31
31
 
32
32
  var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "onSecondaryButtonClick", "pictogram", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonText", "productive", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonText", "title", "titleSize"],
33
- _excluded2 = ["id"];
33
+ _excluded2 = ["id"],
34
+ _excluded3 = ["id", "icon", "onClick", "iconDescription", "onKeyDown", "href"];
34
35
 
35
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); }
36
37
 
@@ -105,10 +106,11 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
105
106
  onClick = _ref3.onClick,
106
107
  iconDescription = _ref3.iconDescription,
107
108
  onKeyDown = _ref3.onKeyDown,
108
- href = _ref3.href;
109
+ href = _ref3.href,
110
+ rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
109
111
 
110
112
  if (productive) {
111
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
113
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, (0, _extends2.default)({}, rest, {
112
114
  key: id,
113
115
  renderIcon: Icon,
114
116
  hasIconOnly: true,
@@ -117,7 +119,7 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
117
119
  iconDescription: iconDescription,
118
120
  kind: "ghost",
119
121
  href: href
120
- });
122
+ }));
121
123
  }
122
124
 
123
125
  if (href) {