@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,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useRetrieveStepData = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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
+
21
+ /**
22
+ * This useEffect makes sure that every CreateTearsheetStep/CreateFullPageStep reports back it's
23
+ * title, secondaryLabel, introStep, and shouldIncludeStep data so that it can be sent to the CreateInfluencer.
24
+ * @param {object} useResetCreateComponent
25
+ * @param {object} useResetCreateComponent.stepsContext
26
+ * @param {number} useResetCreateComponent.stepNumber
27
+ * @param {boolean} useResetCreateComponent.introStep
28
+ * @param {boolean} useResetCreateComponent.shouldIncludeStep
29
+ * @param {string} useResetCreateComponent.secondaryLabel
30
+ * @param {string} useResetCreateComponent.title
31
+ */
32
+ var useRetrieveStepData = function useRetrieveStepData(_ref) {
33
+ var stepsContext = _ref.stepsContext,
34
+ stepNumber = _ref.stepNumber,
35
+ introStep = _ref.introStep,
36
+ shouldIncludeStep = _ref.shouldIncludeStep,
37
+ secondaryLabel = _ref.secondaryLabel,
38
+ title = _ref.title;
39
+ (0, _react.useEffect)(function () {
40
+ if (stepsContext) {
41
+ stepsContext.setStepData(function (prev) {
42
+ var stepItem = {
43
+ title: title,
44
+ secondaryLabel: secondaryLabel,
45
+ introStep: introStep,
46
+ shouldIncludeStep: shouldIncludeStep
47
+ };
48
+ var previousItem = prev[stepNumber - 1];
49
+
50
+ if ((previousItem === null || previousItem === void 0 ? void 0 : previousItem.title) !== stepItem.title || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.secondaryLabel) !== stepItem.secondaryLabel || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.introStep) !== stepItem.introStep || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.shouldIncludeStep) !== stepItem.shouldIncludeStep) {
51
+ var clone = (0, _toConsumableArray2.default)(prev);
52
+ clone[stepNumber - 1] = stepItem;
53
+ return clone;
54
+ }
55
+
56
+ return prev;
57
+ });
58
+ }
59
+ }, [shouldIncludeStep, title, secondaryLabel, introStep, stepsContext, stepNumber]);
60
+ };
61
+
62
+ exports.useRetrieveStepData = useRetrieveStepData;
@@ -16,18 +16,15 @@ var _react = require("react");
16
16
 
17
17
  /**
18
18
  * Logs a warning to console if an invalid number of steps are used with the given CreateComponent
19
- * @param {Function} getCreateComponentSteps
19
+ * @param {number} stepCount
20
20
  * @param {string} componentName
21
21
  */
22
- var useValidCreateStepCount = function useValidCreateStepCount(getCreateComponentSteps, componentName) {
22
+ var useValidCreateStepCount = function useValidCreateStepCount(stepCount, componentName) {
23
23
  (0, _react.useEffect)(function () {
24
- var createSteps = getCreateComponentSteps();
25
- var total = createSteps.length;
26
-
27
- if (total === 1) {
24
+ if (stepCount === 1) {
28
25
  console.warn("".concat(componentName, ": ").concat(componentName, "s with one step are not permitted. If you require only one step, please use either the CreateTearsheetNarrow, CreateSidePanel, or CreateModal components."));
29
26
  }
30
- }, [getCreateComponentSteps, componentName]);
27
+ }, [stepCount, componentName]);
31
28
  };
32
29
 
33
30
  exports.useValidCreateStepCount = useValidCreateStepCount;
@@ -56,6 +56,8 @@ var defaults = {
56
56
  UnauthorizedEmptyState: true,
57
57
  UserProfileImage: true,
58
58
  // other public components not yet reviewed and released:
59
+ MultiAddSelect: false,
60
+ SingleAddSelect: false,
59
61
  LoadingBar: false,
60
62
  ModifiedTabs: false,
61
63
  Toolbar: false,
@@ -63,7 +65,9 @@ var defaults = {
63
65
  ToolbarGroup: false,
64
66
  WebTerminal: false,
65
67
  EditSidePanel: false,
66
- OptionsTile: false
68
+ OptionsTile: false,
69
+ CancelableTextEdit: false,
70
+ InlineEdit: false
67
71
  /* new component flags here - comment used by generate CLI */
68
72
 
69
73
  },
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.lastIndexInArray = void 0;
7
+
8
+ /**
9
+ * Copyright IBM Corp. 2022, 2022
10
+ *
11
+ * This source code is licensed under the Apache-2.0 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+
15
+ /**
16
+ * This utility will return the index of the last instance of an
17
+ * item in the given array of objects whose key is equal to the value
18
+ * parameter. If there are no matches, -1 is returned as similar to findIndex
19
+ * @param {Array<Object.*>} array
20
+ * @param {string} key
21
+ * @param {string|boolean|number} value
22
+ */
23
+ var lastIndexInArray = function lastIndexInArray(array, key, value) {
24
+ for (var i = array.length - 1; i >= 0; i--) {
25
+ var _array$i;
26
+
27
+ if (((_array$i = array[i]) === null || _array$i === void 0 ? void 0 : _array$i[key]) === value) {
28
+ return i + 1;
29
+ }
30
+ }
31
+
32
+ return -1;
33
+ };
34
+
35
+ exports.lastIndexInArray = lastIndexInArray;
package/lib/settings.js CHANGED
@@ -9,8 +9,6 @@ exports.pkg = exports.carbon = void 0;
9
9
 
10
10
  var _Canary = require("./components/_Canary");
11
11
 
12
- var _featureFlags = _interopRequireDefault(require("./generated/feature-flags/feature-flags"));
13
-
14
12
  var _packageSettings = _interopRequireDefault(require("./global/js/package-settings"));
15
13
 
16
14
  var _carbonComponents = require("carbon-components");
@@ -28,10 +26,6 @@ var carbon = {
28
26
  _carbonComponents.settings.prefix = val;
29
27
  },
30
28
 
31
- get flags() {
32
- return _featureFlags.default;
33
- },
34
-
35
29
  get themes() {
36
30
  return _themes.themes;
37
31
  }
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.2.5",
4
+ "version": "1.6.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -46,13 +46,13 @@
46
46
  "generate": "cross-env FORCE_COLOR=1 node scripts/generate",
47
47
  "postinstall": "carbon-telemetry collect --install",
48
48
  "test": "jest --colors",
49
- "//upgrade-dependencies": "# don't upgrade carbon (done globally), react/react-dom (explicit range peer dependency) or chalk (until we can load it as ESM)",
50
- "upgrade-dependencies": "npm-check-updates -u --color --reject '/(carbon|^react$|^react-dom$|^chalk$)/'"
49
+ "//upgrade-dependencies": "# don't upgrade carbon (done globally), react/react-dom (explicit range peer dependency), chalk (issue #1596)",
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.16.7",
54
- "@babel/core": "^7.16.7",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.3",
53
+ "@babel/cli": "^7.17.0",
54
+ "@babel/core": "^7.17.0",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.6",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
@@ -60,31 +60,31 @@
60
60
  "fs-extra": "^10.0.0",
61
61
  "glob": "^7.2.0",
62
62
  "jest": "^27.4.7",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.4",
64
- "npm-check-updates": "^12.1.0",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.7",
64
+ "npm-check-updates": "^12.2.1",
65
65
  "npm-run-all": "^4.1.5",
66
66
  "rimraf": "^3.0.2",
67
- "sass": "^1.46.0",
67
+ "sass": "^1.49.7",
68
68
  "yargs": "^17.3.1"
69
69
  },
70
70
  "dependencies": {
71
- "@babel/runtime": "^7.16.7",
71
+ "@babel/runtime": "^7.17.0",
72
72
  "@carbon/telemetry": "^0.0.0-alpha.6",
73
73
  "react-resize-detector": "^7.0.0"
74
74
  },
75
75
  "peerDependencies": {
76
- "@carbon/colors": "^10.34.0",
77
- "@carbon/icons-react": "^10.42.0",
76
+ "@carbon/colors": "^10.35.0",
77
+ "@carbon/icons-react": "^10.45.0",
78
78
  "@carbon/import-once": "^10.5.0",
79
- "@carbon/layout": "^10.34.0",
80
- "@carbon/motion": "^10.26.0",
81
- "@carbon/themes": "^10.46.0",
82
- "@carbon/type": "^10.38.0",
83
- "carbon-components": "^10.47.1",
84
- "carbon-components-react": "^7.47.2",
79
+ "@carbon/layout": "^10.35.0",
80
+ "@carbon/motion": "^10.27.0",
81
+ "@carbon/themes": "^10.50.0",
82
+ "@carbon/type": "^10.40.0",
83
+ "carbon-components": "^10.52.0",
84
+ "carbon-components-react": "^7.52.0",
85
85
  "carbon-icons": "^7.0.7",
86
86
  "react": "^16.8.6 || ^17.0.1",
87
87
  "react-dom": "^16.8.6 || ^17.0.1"
88
88
  },
89
- "gitHead": "f32985ca05fe906558bb5b330c306b7f0f6d0ef4"
89
+ "gitHead": "3e87aeeb51d41503263511831b8db5f08437d754"
90
90
  }
@@ -0,0 +1,108 @@
1
+ //
2
+ // Copyright IBM Corp. 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
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+
11
+ @import 'carbon-components/scss/components/structured-list/structured-list';
12
+
13
+ @mixin add-select {
14
+ $block-class: #{$pkg-prefix}--add-select;
15
+ $tearsheet-class: #{$pkg-prefix}--tearsheet;
16
+
17
+ .#{$block-class}__header {
18
+ padding: $spacing-05;
19
+ padding-bottom: 0;
20
+ border-top: 1px solid $ui-03;
21
+ }
22
+
23
+ .#{$block-class}__body {
24
+ padding: $spacing-05;
25
+ }
26
+
27
+ .#{$block-class}__items-label {
28
+ margin-right: $spacing-03;
29
+
30
+ &-container {
31
+ display: flex;
32
+ align-items: center;
33
+ margin-top: $spacing-05;
34
+ margin-bottom: $spacing-03;
35
+ }
36
+ }
37
+
38
+ .#{$block-class}__selections {
39
+ border-top: 1px solid $ui-03;
40
+
41
+ &-wrapper {
42
+ display: block;
43
+ }
44
+
45
+ &-cell-wrapper {
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: space-between;
49
+ }
50
+ }
51
+
52
+ // multi select specific
53
+
54
+ .#{$block-class}__influencer-header {
55
+ display: flex;
56
+ padding: $spacing-06 $spacing-05 $spacing-03 $spacing-05;
57
+ border-bottom: 1px solid $ui-03;
58
+
59
+ .#{$block-class}__influencer-title {
60
+ @include carbon--type-style('productive-heading-02');
61
+ }
62
+ }
63
+
64
+ .#{$block-class}__influencer-title {
65
+ margin-right: $spacing-03;
66
+ }
67
+
68
+ .#{$block-class}__influencer-body {
69
+ padding: $spacing-05;
70
+ }
71
+
72
+ // overrides
73
+
74
+ // the influencer sidebar needs to be even with the buttons
75
+ .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__influencer {
76
+ max-width: 29rem;
77
+ flex: 0 0 50%;
78
+ }
79
+
80
+ .#{$block-class} .#{$block-class}__items-label {
81
+ @include carbon--type-style('productive-heading-01');
82
+ }
83
+
84
+ .#{$block-class}
85
+ .#{$carbon-prefix}--modal-container--sm
86
+ .bx--modal-content
87
+ p {
88
+ padding-right: 0;
89
+ }
90
+
91
+ .#{$block-class} .#{$carbon-prefix}--structured-list-td {
92
+ padding-bottom: $spacing-05;
93
+ }
94
+
95
+ .#{$block-class}
96
+ .#{$carbon-prefix}--radio-button-wrapper
97
+ .#{$carbon-prefix}--radio-button__label {
98
+ justify-content: left;
99
+ }
100
+
101
+ .#{$block-class} .#{$carbon-prefix}--breadcrumb .#{$carbon-prefix}--link {
102
+ cursor: pointer;
103
+ }
104
+ }
105
+
106
+ @include exports('add-select') {
107
+ @include add-select;
108
+ }
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright IBM Corp. 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
+
8
+ // An index file is most useful when you have multiple components
9
+
10
+ @import './add-select';
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright IBM Corp. 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
+ //
@@ -32,11 +32,8 @@
32
32
  }
33
33
 
34
34
  .#{$block-class}__breadcrumb-container.#{$block-class}__breadcrumb-container-with-items {
35
- display: none;
35
+ display: inline-flex; // needed to register a width
36
36
  width: 100%;
37
- @include carbon--breakpoint(md) {
38
- display: inline-flex; // needed to register a width
39
- }
40
37
  }
41
38
 
42
39
  .#{$block-class}__breadcrumb-container .#{$carbon-prefix}--breadcrumb {
@@ -50,12 +47,28 @@
50
47
  @include measuring-container;
51
48
  }
52
49
 
50
+ .#{$block-class}__breadcrumb-back {
51
+ display: none;
52
+ }
53
+
54
+ @include carbon--breakpoint-down(md) {
55
+ .#{$carbon-prefix}--breadcrumb-item {
56
+ display: none;
57
+ }
58
+
59
+ .#{$block-class}__breadcrumb-back,
60
+ .#{$carbon-prefix}--breadcrumb-item:last-child {
61
+ display: inline-flex;
62
+ vertical-align: middle;
63
+ }
64
+ }
65
+
53
66
  .#{$carbon-prefix}--breadcrumb-item:last-child {
54
- display: inline;
67
+ display: inline-flex; // flex instead of block due to spacing
55
68
  }
56
69
 
57
70
  .#{$block-class}__displayed-breadcrumb:last-child {
58
- display: inline;
71
+ display: inline-flex; // flex instead of block due to spacing
59
72
  overflow: hidden;
60
73
  }
61
74
 
@@ -69,15 +82,6 @@
69
82
  .#{$carbon-prefix}--link {
70
83
  max-height: 18px; // to match breadcrumb - overflow button is 20 by default
71
84
  }
72
-
73
- .#{$block-class}__breadcrumb-back-button.#{$carbon-prefix}--btn.#{$carbon-prefix}--btn--icon-only.#{$carbon-prefix}--tooltip__trigger {
74
- display: inline-flex;
75
- margin-top: calc(-1 * #{$spacing-04});
76
-
77
- @include carbon--breakpoint(md) {
78
- display: none;
79
- }
80
- }
81
85
  }
82
86
  }
83
87
 
@@ -5,4 +5,4 @@
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
- @import './breadcrumb-with-overflow.scss';
8
+ @import './breadcrumb-with-overflow';
@@ -0,0 +1,212 @@
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
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+ @import '../../global/styles/mixins';
11
+
12
+ // Other Carbon settings.
13
+ // TODO: @import 'carbon-components/scss/globals/grid/grid'; if needed
14
+
15
+ // CancelableTextEdit uses the following Carbon components:
16
+ // TODO: @import(s) of Carbon component styles used by CancelableTextEdit
17
+
18
+ // CancelableTextEdit uses the following Carbon for IBM Products components:
19
+ // TODO: @import(s) of IBM Products component styles used by CancelableTextEdit
20
+
21
+ @mixin button-states($block-class) {
22
+ .#{$block-class}__revert,
23
+ .#{$block-class}__save {
24
+ border: 1px solid transparent;
25
+
26
+ // input does not have focus
27
+ &:hover {
28
+ border-color: $hover-field;
29
+ border-bottom-color: transparent;
30
+ background-clip: content-box;
31
+ box-shadow: initial;
32
+ outline: initial;
33
+ }
34
+
35
+ &:focus:active,
36
+ &:focus {
37
+ // border focus input does NOT have focus
38
+ border-color: $focus;
39
+ box-shadow: inset 0 0 0 1px $focus;
40
+ outline: initial;
41
+ }
42
+
43
+ &:focus:active:hover {
44
+ box-shadow: inset 0 0 0 1px $focus, inset 0 0 0 2px $field-01;
45
+ }
46
+
47
+ &::before {
48
+ background-color: transparent;
49
+ }
50
+
51
+ &[disabled] {
52
+ border-color: transparent;
53
+ }
54
+ }
55
+
56
+ // invalid affects hover state
57
+ &.#{$block-class}--invalid {
58
+ // invalid does not have focus
59
+ .#{$block-class}__save:hover,
60
+ .#{$block-class}__revert:hover {
61
+ border: 1px solid transparent;
62
+ box-shadow: inset 0 1px 0 $support-01, inset 0 -1px 0 $support-01;
63
+ }
64
+
65
+ .#{$block-class}__save:hover {
66
+ // invalid does not have focus
67
+ box-shadow: inset 0 1px 0 $support-01, inset 0 -1px 0 $support-01,
68
+ inset -1px 0 0 $support-01;
69
+ }
70
+ }
71
+
72
+ // after other button states handle focus within input
73
+ .#{$carbon-prefix}--text-input-wrapper:focus-within
74
+ ~ .#{$block-class}__buttons {
75
+ .#{$block-class}__revert,
76
+ .#{$block-class}__save {
77
+ border: 1px solid transparent;
78
+ box-shadow: inset 0 1px 0 $focus, inset 0 -1px 0 $focus;
79
+ // transition-property: initial; // turn off seems to cause a bit of a visual glitch
80
+ }
81
+
82
+ // button hover state
83
+ .#{$block-class}__revert:hover,
84
+ .#{$block-class}__save:hover {
85
+ background-clip: content-box;
86
+ }
87
+
88
+ .#{$block-class}__save {
89
+ // border hover input has focus or is in error
90
+ box-shadow: inset 0 1px 0 $focus, inset 0 -1px 0 $focus,
91
+ inset -1px 0 0 $focus;
92
+ }
93
+ }
94
+ }
95
+
96
+ // Define all component styles in a mixin which is then exported using
97
+ // the Carbon import-once mechanism.
98
+ @mixin cancelable-text-edit {
99
+ // The block part of our conventional BEM class names (blockClass__E--M).
100
+ $block-class: #{$pkg-prefix}--cancelable-text-edit;
101
+
102
+ .#{$block-class} {
103
+ --size: #{$spacing-08};
104
+ --icon-size: #{$spacing-05};
105
+ }
106
+
107
+ .#{$block-class}--sm {
108
+ --size: #{$spacing-07};
109
+ --icon-size: #{$spacing-05};
110
+ }
111
+
112
+ .#{$block-class}--lg {
113
+ --size: #{$spacing-09};
114
+ --icon-size: #{$spacing-05};
115
+ }
116
+
117
+ // high specificity to override some icon button styles to work like the Carbon search clear button
118
+ // but at sizes of text input
119
+ .#{$block-class}.#{$block-class}.#{$block-class} {
120
+ .#{$block-class}__main {
121
+ position: relative;
122
+ display: inline-flex;
123
+ width: 100%;
124
+ min-height: var(--size);
125
+ vertical-align: top;
126
+ }
127
+
128
+ .#{$block-class}__input {
129
+ height: var(--size);
130
+ // stylelint-disable-next-line carbon/layout-token-use
131
+ padding-right: calc(2 * var(--size));
132
+ }
133
+
134
+ .#{$block-class}__buttons {
135
+ position: absolute;
136
+ top: 0;
137
+ right: 0;
138
+ display: flex;
139
+ flex-direction: column;
140
+ }
141
+
142
+ .#{$block-class}__buttons-inner {
143
+ display: flex;
144
+ }
145
+
146
+ @include button-states($block-class);
147
+
148
+ .#{$block-class}__revert,
149
+ .#{$block-class}__save {
150
+ display: flex;
151
+ width: var(--size);
152
+ height: var(--size);
153
+ min-height: var(--size);
154
+ flex-direction: column;
155
+ align-items: center;
156
+ justify-content: center;
157
+ padding: 0;
158
+
159
+ svg {
160
+ width: var(--icon-size);
161
+ height: var(--icon-size);
162
+ // margin: calc(var(--size) / 4);
163
+ }
164
+ }
165
+
166
+ // > only wish to affect version added for inline
167
+ &.#{$block-class}--invalid .#{$carbon-prefix}--form-requirement,
168
+ &.#{$block-class}--warn .#{$carbon-prefix}--form-requirement {
169
+ display: block;
170
+ max-height: initial;
171
+ }
172
+
173
+ &.#{$block-class}--invalid.#{$block-class}--inline
174
+ .#{$carbon-prefix}--form-requirement,
175
+ &.#{$block-class}--warn.#{$block-class}--inline
176
+ .#{$carbon-prefix}--form-requirement {
177
+ // stylelint-disable-next-line carbon/layout-token-use
178
+ margin-left: calc(20% + 1.25rem); // needs to match inline input layout
179
+ }
180
+
181
+ // > only wish to affect version added for inline
182
+ &.#{$block-class}--invalid .#{$carbon-prefix}--form-requirement {
183
+ display: block;
184
+ overflow: visible;
185
+ // max-height: 12.5rem;
186
+ // font-weight: 400;
187
+ color: $text-error;
188
+ }
189
+
190
+ .#{$carbon-prefix}--text-input {
191
+ // stylelint-disable-next-line carbon/layout-token-use
192
+ padding-right: calc(
193
+ 2 * var(--size)
194
+ ); // to take account of save and revert
195
+ }
196
+
197
+ .#{$carbon-prefix}--text-input--invalid {
198
+ // stylelint-disable-next-line carbon/layout-token-use
199
+ padding-right: calc(
200
+ 3 * var(--size)
201
+ ); // to take account of save and revert
202
+ }
203
+
204
+ .#{$carbon-prefix}--text-input__invalid-icon {
205
+ margin-right: $spacing-11;
206
+ }
207
+ }
208
+ }
209
+
210
+ @include exports('cancelable-text-edit') {
211
+ @include cancelable-text-edit;
212
+ }
@@ -4,5 +4,5 @@
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
- export var CREATE_FULL_PAGE_STEP = 'CreateFullPageStep';
8
- export var CREATE_FULL_PAGE_SECTION = 'CreateFullPageSection';
7
+
8
+ @import './cancelable-text-edit';
@@ -0,0 +1,15 @@
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
+
8
+ @import './index';
9
+
10
+ // TODO: add any additional styles used by CancelableTextEdit.stories.js
11
+
12
+ // Uncomment next line (which must appear last) to test in storybook
13
+ // that the SCSS styles for this component are sufficiently specific
14
+ // to override Carbon whichever order the styles get loaded in.
15
+ //@import 'carbon-components/css/carbon-components.min';