@carbon/ibm-products 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. package/css/index-full-carbon.css +1766 -1701
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +2 -2
  4. package/css/index-without-carbon-released-only.css +32 -41
  5. package/css/index-without-carbon-released-only.css.map +1 -1
  6. package/css/index-without-carbon-released-only.min.css +2 -2
  7. package/css/index-without-carbon.css +228 -163
  8. package/css/index-without-carbon.css.map +1 -1
  9. package/css/index-without-carbon.min.css +2 -2
  10. package/css/index.css +1767 -1702
  11. package/css/index.css.map +1 -1
  12. package/css/index.min.css +2 -2
  13. package/es/components/APIKeyModal/APIKeyModal.js +25 -29
  14. package/es/components/ActionBar/ActionBar.js +4 -1
  15. package/es/components/AddSelect/AddSelect.js +65 -19
  16. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +19 -15
  17. package/es/components/CancelableTextEdit/CancelableTextEdit.js +60 -22
  18. package/es/components/CreateFullPage/CreateFullPage.js +78 -259
  19. package/es/components/CreateFullPage/CreateFullPageStep.js +58 -14
  20. package/es/components/CreateFullPage/index.js +1 -2
  21. package/es/components/CreateInfluencer/CreateInfluencer.js +23 -225
  22. package/es/components/CreateTearsheet/CreateTearsheet.js +69 -146
  23. package/es/components/CreateTearsheet/CreateTearsheetStep.js +59 -16
  24. package/es/components/CreateTearsheet/index.js +0 -1
  25. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +66 -27
  26. package/es/components/ExportModal/ExportModal.js +4 -2
  27. package/es/components/ImportModal/ImportModal.js +2 -1
  28. package/es/components/InlineEdit/InlineEdit.js +224 -0
  29. package/es/components/InlineEdit/index.js +7 -0
  30. package/es/components/MultiAddSelect/MultiAddSelect.js +16 -0
  31. package/es/components/MultiAddSelect/index.js +1 -0
  32. package/es/components/OptionsTile/OptionsTile.js +36 -15
  33. package/es/components/PageHeader/PageHeader.js +54 -33
  34. package/es/components/PageHeader/PageHeaderTitle.js +78 -7
  35. package/es/components/PageHeader/PageHeaderUtils.js +21 -2
  36. package/es/components/RemoveModal/RemoveModal.js +4 -2
  37. package/es/components/SingleAddSelect/SingleAddSelect.js +15 -0
  38. package/es/components/SingleAddSelect/index.js +1 -0
  39. package/es/components/TagSet/TagSet.js +4 -1
  40. package/es/components/Toolbar/Toolbar.js +69 -8
  41. package/es/components/index.js +4 -2
  42. package/es/global/js/hooks/useCreateComponentFocus.js +15 -19
  43. package/es/global/js/hooks/useCreateComponentStepChange.js +44 -74
  44. package/es/global/js/hooks/useValidCreateStepCount.js +4 -7
  45. package/es/global/js/package-settings.js +4 -2
  46. package/lib/components/APIKeyModal/APIKeyModal.js +25 -29
  47. package/lib/components/ActionBar/ActionBar.js +4 -1
  48. package/lib/components/AddSelect/AddSelect.js +64 -19
  49. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +18 -14
  50. package/lib/components/CancelableTextEdit/CancelableTextEdit.js +61 -22
  51. package/lib/components/CreateFullPage/CreateFullPage.js +78 -259
  52. package/lib/components/CreateFullPage/CreateFullPageStep.js +61 -14
  53. package/lib/components/CreateFullPage/index.js +1 -9
  54. package/lib/components/CreateInfluencer/CreateInfluencer.js +21 -236
  55. package/lib/components/CreateTearsheet/CreateTearsheet.js +71 -148
  56. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +61 -15
  57. package/lib/components/CreateTearsheet/index.js +0 -8
  58. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +67 -35
  59. package/lib/components/ExportModal/ExportModal.js +4 -2
  60. package/lib/components/ImportModal/ImportModal.js +2 -1
  61. package/lib/components/InlineEdit/InlineEdit.js +242 -0
  62. package/lib/components/InlineEdit/index.js +13 -0
  63. package/lib/components/MultiAddSelect/MultiAddSelect.js +37 -0
  64. package/lib/components/MultiAddSelect/index.js +13 -0
  65. package/lib/components/OptionsTile/OptionsTile.js +36 -15
  66. package/lib/components/PageHeader/PageHeader.js +54 -33
  67. package/lib/components/PageHeader/PageHeaderTitle.js +87 -9
  68. package/lib/components/PageHeader/PageHeaderUtils.js +21 -2
  69. package/lib/components/RemoveModal/RemoveModal.js +4 -2
  70. package/lib/components/SingleAddSelect/SingleAddSelect.js +36 -0
  71. package/lib/components/SingleAddSelect/index.js +13 -0
  72. package/lib/components/TagSet/TagSet.js +4 -1
  73. package/lib/components/Toolbar/Toolbar.js +69 -6
  74. package/lib/components/index.js +25 -9
  75. package/lib/global/js/hooks/useCreateComponentFocus.js +15 -19
  76. package/lib/global/js/hooks/useCreateComponentStepChange.js +44 -74
  77. package/lib/global/js/hooks/useValidCreateStepCount.js +4 -7
  78. package/lib/global/js/package-settings.js +4 -2
  79. package/package.json +8 -8
  80. package/scss/components/AddSelect/_add-select.scss +14 -3
  81. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +19 -15
  82. package/scss/components/CancelableTextEdit/_cancelable-text-edit.scss +141 -70
  83. package/scss/components/CreateFullPage/_create-full-page.scss +4 -11
  84. package/scss/components/CreateTearsheet/_create-tearsheet.scss +4 -8
  85. package/scss/components/InlineEdit/_index.scss +8 -0
  86. package/scss/components/InlineEdit/_inline-edit.scss +44 -0
  87. package/scss/components/InlineEdit/_storybook-styles.scss +15 -0
  88. package/scss/components/MultiAddSelect/_index.scss +1 -0
  89. package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -0
  90. package/scss/components/MultiAddSelect/_storybook-styles.scss +6 -0
  91. package/scss/components/PageHeader/_page-header.scss +14 -4
  92. package/scss/components/SingleAddSelect/_index.scss +1 -0
  93. package/scss/components/SingleAddSelect/_single-add-select.scss +1 -0
  94. package/scss/components/SingleAddSelect/_storybook-styles.scss +6 -0
  95. package/scss/components/_index.scss +3 -1
  96. package/es/components/CreateFullPage/CreateFullPageSection.js +0 -53
  97. package/es/components/CreateFullPage/constants.js +0 -8
  98. package/es/components/CreateTearsheet/CreateTearsheetSection.js +0 -83
  99. package/es/components/CreateTearsheet/constants.js +0 -8
  100. package/es/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -327
  101. package/es/global/js/utils/hasValidType.js +0 -94
  102. package/lib/components/CreateFullPage/CreateFullPageSection.js +0 -74
  103. package/lib/components/CreateFullPage/constants.js +0 -16
  104. package/lib/components/CreateTearsheet/CreateTearsheetSection.js +0 -105
  105. package/lib/components/CreateTearsheet/constants.js +0 -17
  106. package/lib/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -354
  107. package/lib/global/js/utils/hasValidType.js +0 -110
@@ -18,120 +18,191 @@
18
18
  // CancelableTextEdit uses the following Carbon for IBM Products components:
19
19
  // TODO: @import(s) of IBM Products component styles used by CancelableTextEdit
20
20
 
21
- // Define all component styles in a mixin which is then exported using
22
- // the Carbon import-once mechanism.
23
- @mixin cancelable-text-edit {
24
- // The block part of our conventional BEM class names (blockClass__E--M).
25
- $block-class: #{$pkg-prefix}--cancelable-text-edit;
26
-
27
- .#{$block-class}.#{$block-class} {
28
- --size: #{$spacing-08};
29
-
30
- position: relative;
31
- width: 100%;
32
- min-height: var(--size);
33
- }
34
-
35
- .#{$block-class}.#{$block-class}--xl {
36
- --size: $spacing-09;
37
- }
38
-
39
- .#{$block-class}.#{$block-class} .#{$block-class}__input {
40
- height: var(--size);
41
- // stylelint-disable-next-line carbon/layout-token-use
42
- padding-right: calc(2 * var(--size));
43
- }
44
-
45
- .#{$block-class}__buttons {
46
- position: absolute;
47
- top: 0;
48
- right: 0;
49
- }
50
- .#{$block-class}.#{$block-class} .#{$block-class}__revert,
51
- .#{$block-class}.#{$block-class} .#{$block-class}__save {
52
- width: var(--size);
53
- height: var(--size);
54
- min-height: var(--size);
21
+ @mixin button-states($block-class) {
22
+ .#{$block-class}__revert,
23
+ .#{$block-class}__save {
24
+ border: 1px solid transparent;
55
25
 
26
+ // input does not have focus
56
27
  &:hover {
57
- // border hover input does NOT have focus
58
28
  border-color: $hover-field;
59
- border-bottom: 1px solid transparent;
29
+ border-bottom-color: transparent;
60
30
  background-clip: content-box;
61
31
  box-shadow: initial;
32
+ outline: initial;
62
33
  }
63
34
 
64
35
  &:focus:active,
65
36
  &:focus {
66
37
  // border focus input does NOT have focus
67
- border-width: 2px;
68
38
  border-color: $focus;
69
- box-shadow: initial;
39
+ box-shadow: inset 0 0 0 1px $focus;
40
+ outline: initial;
70
41
  }
71
42
 
72
43
  &:focus:active:hover {
73
- // stylelint-disable-next-line carbon/layout-token-use
74
- padding: 1px;
44
+ box-shadow: inset 0 0 0 1px $focus, inset 0 0 0 2px $field-01;
75
45
  }
76
46
 
77
47
  &::before {
78
48
  background-color: transparent;
79
49
  }
50
+
51
+ &[disabled] {
52
+ border-color: transparent;
53
+ }
80
54
  }
81
55
 
82
- // border hover input has focus
83
- // and/or is invalid
84
- .#{$block-class}.#{$block-class}--invalid
85
- .#{$carbon-prefix}--text-input-wrapper
86
- ~ .#{$block-class}__buttons,
87
- .#{$block-class}.#{$block-class}
88
- .#{$carbon-prefix}--text-input-wrapper:focus-within
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
89
74
  ~ .#{$block-class}__buttons {
90
75
  .#{$block-class}__revert,
91
76
  .#{$block-class}__save {
92
- border: 2px solid transparent;
77
+ border: 1px solid transparent;
78
+ box-shadow: inset 0 1px 0 $focus, inset 0 -1px 0 $focus;
93
79
  // transition-property: initial; // turn off seems to cause a bit of a visual glitch
94
80
  }
95
81
 
96
82
  // button hover state
97
83
  .#{$block-class}__revert:hover,
98
84
  .#{$block-class}__save:hover {
99
- border-top: 2px solid transparent;
100
- border-bottom: 2px solid transparent;
101
85
  background-clip: content-box;
102
86
  }
87
+
103
88
  .#{$block-class}__save {
104
89
  // border hover input has focus or is in error
105
- border-right: 2px solid transparent;
90
+ box-shadow: inset 0 1px 0 $focus, inset 0 -1px 0 $focus,
91
+ inset -1px 0 0 $focus;
106
92
  }
107
93
  }
94
+ }
108
95
 
109
- // > only wish to affect version added for inline
110
- .#{$block-class}--invalid > .#{$carbon-prefix}--form-requirement,
111
- .#{$block-class}--warn > .#{$carbon-prefix}--form-requirement {
112
- display: block;
113
- max-height: initial;
114
- // stylelint-disable-next-line carbon/layout-token-use
115
- margin-left: calc(20% + 1.25rem); // needs to match inline input layout
116
- }
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;
117
101
 
118
- // > only wish to affect version added for inline
119
- .#{$block-class}--invalid > .#{$carbon-prefix}--form-requirement {
120
- color: $text-error;
102
+ .#{$block-class} {
103
+ --size: #{$spacing-08};
104
+ --icon-size: #{$spacing-05};
121
105
  }
122
106
 
123
- .#{$block-class} .#{$carbon-prefix}--text-input {
124
- // stylelint-disable-next-line carbon/layout-token-use
125
- padding-right: calc(2 * var(--size)); // to take account of save and revert
107
+ .#{$block-class}--sm {
108
+ --size: #{$spacing-07};
109
+ --icon-size: #{$spacing-05};
126
110
  }
127
111
 
128
- .#{$block-class} .#{$carbon-prefix}--text-input--invalid {
129
- // stylelint-disable-next-line carbon/layout-token-use
130
- padding-right: calc(3 * var(--size)); // to take account of save and revert
112
+ .#{$block-class}--lg {
113
+ --size: #{$spacing-09};
114
+ --icon-size: #{$spacing-05};
131
115
  }
132
116
 
133
- .#{$block-class} .#{$carbon-prefix}--text-input__invalid-icon {
134
- margin-right: $spacing-11;
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
+ min-height: var(--size);
124
+ vertical-align: top;
125
+ }
126
+
127
+ .#{$block-class}__input {
128
+ height: var(--size);
129
+ // stylelint-disable-next-line carbon/layout-token-use
130
+ padding-right: calc(2 * var(--size));
131
+ }
132
+
133
+ .#{$block-class}__buttons {
134
+ position: absolute;
135
+ top: 0;
136
+ right: 0;
137
+ display: flex;
138
+ flex-direction: column;
139
+ }
140
+
141
+ .#{$block-class}__buttons-inner {
142
+ display: flex;
143
+ }
144
+
145
+ @include button-states($block-class);
146
+
147
+ .#{$block-class}__revert,
148
+ .#{$block-class}__save {
149
+ display: flex;
150
+ width: var(--size);
151
+ height: var(--size);
152
+ min-height: var(--size);
153
+ flex-direction: column;
154
+ align-items: center;
155
+ justify-content: center;
156
+ padding: 0;
157
+
158
+ svg {
159
+ width: var(--icon-size);
160
+ height: var(--icon-size);
161
+ // margin: calc(var(--size) / 4);
162
+ }
163
+ }
164
+
165
+ // > only wish to affect version added for inline
166
+ &.#{$block-class}--invalid .#{$carbon-prefix}--form-requirement,
167
+ &.#{$block-class}--warn .#{$carbon-prefix}--form-requirement {
168
+ display: block;
169
+ max-height: initial;
170
+ }
171
+
172
+ &.#{$block-class}--invalid.#{$block-class}--inline
173
+ .#{$carbon-prefix}--form-requirement,
174
+ &.#{$block-class}--warn.#{$block-class}--inline
175
+ .#{$carbon-prefix}--form-requirement {
176
+ // stylelint-disable-next-line carbon/layout-token-use
177
+ margin-left: calc(20% + 1.25rem); // needs to match inline input layout
178
+ }
179
+
180
+ // > only wish to affect version added for inline
181
+ &.#{$block-class}--invalid .#{$carbon-prefix}--form-requirement {
182
+ display: block;
183
+ overflow: visible;
184
+ // max-height: 12.5rem;
185
+ // font-weight: 400;
186
+ color: $text-error;
187
+ }
188
+
189
+ .#{$carbon-prefix}--text-input {
190
+ // stylelint-disable-next-line carbon/layout-token-use
191
+ padding-right: calc(
192
+ 2 * var(--size)
193
+ ); // to take account of save and revert
194
+ }
195
+
196
+ .#{$carbon-prefix}--text-input--invalid {
197
+ // stylelint-disable-next-line carbon/layout-token-use
198
+ padding-right: calc(
199
+ 3 * var(--size)
200
+ ); // to take account of save and revert
201
+ }
202
+
203
+ .#{$carbon-prefix}--text-input__invalid-icon {
204
+ margin-right: $spacing-11;
205
+ }
135
206
  }
136
207
  }
137
208
 
@@ -30,6 +30,7 @@
30
30
  @mixin create-full-page {
31
31
  // The block part of our conventional BEM class names (blockClass__E--M).
32
32
  $block-class: #{$pkg-prefix}--create-full-page;
33
+ $step-block-class: #{$pkg-prefix}--create-full-page__step;
33
34
 
34
35
  .#{$block-class} .#{$block-class} {
35
36
  color: $text-01;
@@ -41,20 +42,14 @@
41
42
  margin-left: 0;
42
43
  }
43
44
 
44
- .#{$block-class} .#{$block-class}__step--hidden-step,
45
- .#{$block-class} .#{$block-class}__step--hidden-section {
45
+ .#{$block-class} .#{$step-block-class}__step--hidden-step {
46
46
  display: none;
47
47
  }
48
48
 
49
- .#{$block-class} .#{$block-class}__step--visible-section {
49
+ .#{$block-class} .#{$step-block-class}__step--visible-step {
50
50
  display: block;
51
51
  }
52
52
 
53
- .#{$block-class} .#{$block-class}__step--visible-step {
54
- opacity: 1;
55
- }
56
-
57
- .#{$block-class} .#{$block-class}__section-subtitle,
58
53
  .#{$block-class} .#{$block-class}__step-subtitle {
59
54
  @include carbon--type-style('productive-heading-01');
60
55
 
@@ -62,7 +57,6 @@
62
57
  margin-bottom: $spacing-03;
63
58
  }
64
59
 
65
- .#{$block-class} .#{$block-class}__section-description,
66
60
  .#{$block-class} .#{$block-class}__step-description {
67
61
  @include carbon--type-style('body-long-01');
68
62
 
@@ -150,8 +144,7 @@
150
144
  }
151
145
  }
152
146
 
153
- .#{$block-class} .#{$block-class}__step-title,
154
- .#{$block-class} .#{$block-class}__section-title {
147
+ .#{$block-class} .#{$block-class}__step-title {
155
148
  @include carbon--type-style('productive-heading-04');
156
149
 
157
150
  max-width: 50%;
@@ -36,6 +36,7 @@
36
36
  }
37
37
 
38
38
  $block-class: #{$pkg-prefix}--tearsheet-create;
39
+ $step-block-class: #{$pkg-prefix}--tearsheet-create__step;
39
40
  $section-block-class: #{$pkg-prefix}--tearsheet-create__section;
40
41
  $tearsheet-divider-class: #{$pkg-prefix}--tearsheet-create__section--divider;
41
42
  $tearsheet-fieldset-class: #{$pkg-prefix}--tearsheet-create__step--fieldset;
@@ -44,16 +45,11 @@
44
45
  --#{$block-class}--total-width: 0;
45
46
  }
46
47
 
47
- .#{$block-class} .#{$block-class}__step--hidden-step,
48
- .#{$block-class} .#{$block-class}__step--hidden-section {
48
+ .#{$block-class} .#{$step-block-class}__step--hidden-step {
49
49
  display: none;
50
50
  }
51
51
 
52
- .#{$block-class} .#{$block-class}__step--visible-section {
53
- display: block;
54
- }
55
-
56
- .#{$block-class} .#{$block-class}__step--visible-step {
52
+ .#{$block-class} .#{$step-block-class}__step--visible-step {
57
53
  animation: $duration--slow-01 stepContentEntrance;
58
54
  animation-fill-mode: forwards;
59
55
  animation-timing-function: $carbon--standard-easing;
@@ -61,7 +57,7 @@
61
57
  }
62
58
 
63
59
  @media (prefers-reduced-motion) {
64
- .#{$block-class} .#{$block-class}__step--visible-step {
60
+ .#{$block-class} .#{$step-block-class}__step--visible-step {
65
61
  animation: none;
66
62
  opacity: 1;
67
63
  }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2022, 2022
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 './inline-edit';
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright IBM Corp. 2022, 2022
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
+ // InlineEdit uses the following Carbon components:
16
+ // TODO: @import(s) of Carbon component styles used by InlineEdit
17
+
18
+ // InlineEdit uses the following Carbon for IBM Products components:
19
+ // TODO: @import(s) of IBM Products component styles used by InlineEdit
20
+
21
+ // Define all component styles in a mixin which is then exported using
22
+ // the Carbon import-once mechanism.
23
+ @mixin inline-edit {
24
+ // The block part of our conventional BEM class names (blockClass__E--M).
25
+ $block-class: #{$pkg-prefix}--inline-edit;
26
+
27
+ .#{$block-class} {
28
+ display: inline-flex;
29
+ align-content: center;
30
+ }
31
+
32
+ .#{$block-class} .#{$block-class}__value {
33
+ display: flex;
34
+ align-items: center;
35
+ }
36
+
37
+ .#{$block-class} .#{$block-class}__button {
38
+ margin-left: $spacing-03;
39
+ }
40
+ }
41
+
42
+ @include exports('inline-edit') {
43
+ @include inline-edit;
44
+ }
@@ -0,0 +1,15 @@
1
+ //
2
+ // Copyright IBM Corp. 2022, 2022
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 InlineEdit.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';
@@ -0,0 +1 @@
1
+ @import './multi-add-select';
@@ -0,0 +1 @@
1
+ @import '../AddSelect/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
+ //
@@ -144,7 +144,7 @@ $right-section-alt-width: 100% - $left-section-alt-width;
144
144
 
145
145
  .#{$block-class}__breadcrumb-row:not(.#{$block-class}__breadcrumb-row--has-action-bar) {
146
146
  // lifts up page title when there is no action bar
147
- margin-bottom: calc(-1 * #{$spacing-03});
147
+ min-height: $spacing-07;
148
148
  }
149
149
 
150
150
  .#{$block-class}__breadcrumb-row--container {
@@ -189,7 +189,7 @@ $right-section-alt-width: 100% - $left-section-alt-width;
189
189
  transition: all $duration--moderate-01 ease-out;
190
190
  }
191
191
 
192
- .#{$block-class}__breadcrumb-row--next-to-tabs::after,
192
+ .#{$block-class}__breadcrumb-row--next-to-tabs:not(.#{$block-class}__has-page-actions-without-action-bar)::after,
193
193
  .#{$block-class}__breadcrumb-row--has-action-bar::after {
194
194
  /* creates a full width box shadow without causing scroll */
195
195
  box-shadow: 25vw 1px 0 0 $ui-03, -25vw 1px 0 0 $ui-03;
@@ -408,7 +408,6 @@ $right-section-alt-width: 100% - $left-section-alt-width;
408
408
  }
409
409
 
410
410
  .#{$block-class}__title-column {
411
- overflow: hidden; /* required for ellipsis in title */
412
411
  min-height: 40px;
413
412
  flex: 0 0 100%;
414
413
 
@@ -421,11 +420,22 @@ $right-section-alt-width: 100% - $left-section-alt-width;
421
420
  .#{$block-class}__title {
422
421
  @include carbon--type-style('productive-heading-04');
423
422
 
424
- overflow: hidden;
423
+ overflow-x: hidden;
425
424
  text-overflow: ellipsis;
426
425
  white-space: nowrap;
427
426
  }
428
427
 
428
+ .#{$block-class}__title .#{$pkg-prefix}--inline-edit__value {
429
+ // The heading text sits 2px pixels lower in the inline edit which is aligned center
430
+ // stylelint-disable-next-line carbon/layout-token-use
431
+ transform: translateY(-2px);
432
+ }
433
+
434
+ .#{$block-class}__title--editable {
435
+ display: flex;
436
+ overflow: visible;
437
+ }
438
+
429
439
  .#{$block-class}__title-skeleton {
430
440
  height: $spacing-07;
431
441
  }
@@ -0,0 +1 @@
1
+ @import './single-add-select';
@@ -0,0 +1 @@
1
+ @import '../AddSelect/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
+ //
@@ -9,7 +9,6 @@
9
9
 
10
10
  @import './_Canary/canary';
11
11
 
12
- @import './AddSelect/index';
13
12
  @import './APIKeyModal/index';
14
13
  @import './AboutModal/index';
15
14
  @import './ActionSet/index';
@@ -28,12 +27,14 @@
28
27
  @import './ImportModal/index';
29
28
  @import './LoadingBar/index';
30
29
  @import './ModifiedTabs/index';
30
+ @import './MultiAddSelect/index';
31
31
  @import './NotificationsPanel/index';
32
32
  @import './PageHeader/index';
33
33
  @import './ProductiveCard/index';
34
34
  @import './RemoveModal/index';
35
35
  @import './Saving/index';
36
36
  @import './SidePanel/index';
37
+ @import './SingleAddSelect/index';
37
38
  @import './StatusIcon/index';
38
39
  @import './TagSet/index';
39
40
  @import './Tearsheet/index';
@@ -43,3 +44,4 @@
43
44
  @import './EditSidePanel/index';
44
45
  @import './OptionsTile/index';
45
46
  @import './CancelableTextEdit/index';
47
+ @import './InlineEdit/index';
@@ -1,53 +0,0 @@
1
- //
2
- // Copyright IBM Corp. 2021, 2021
3
- //
4
- // This source code is licensed under the Apache-2.0 license found in the
5
- // LICENSE file in the root directory of this source tree.
6
- //
7
- import React, { forwardRef } from 'react';
8
- import PropTypes from 'prop-types';
9
- import cx from 'classnames';
10
- import { pkg } from '../../settings';
11
- import { CREATE_FULL_PAGE_SECTION } from './constants';
12
- var blockClass = "".concat(pkg.prefix, "--create-full-page__section");
13
- export var CreateFullPageSection = /*#__PURE__*/forwardRef( // currently, we are not supporting the use of FullPageSections -- this may be a future feature
14
-
15
- /* istanbul ignore next */
16
- function (_ref, ref) {
17
- var children = _ref.children,
18
- className = _ref.className,
19
- id = _ref.id;
20
- return /*#__PURE__*/React.createElement("div", {
21
- className: cx(blockClass, className),
22
- ref: ref,
23
- id: id
24
- }, children);
25
- });
26
- CreateFullPageSection.propTypes = {
27
- /**
28
- * Content that shows in the CreateFullPage step
29
- */
30
- children: PropTypes.node,
31
-
32
- /**
33
- * Sets an optional className to be added to the CreateFullPage step
34
- */
35
- className: PropTypes.string,
36
-
37
- /**
38
- * Sets the id of the CreateTearsheetSection outermost element
39
- */
40
- id: PropTypes.string.isRequired,
41
-
42
- /**
43
- * Sets the title text for a CreateFullPage step
44
- */
45
- title: PropTypes.node.isRequired
46
- }; // Default values for component props. Default values are not required for
47
- // props that are required, nor for props where the component can apply
48
- // 'undefined' values reasonably. Default values should be provided when the
49
- // component needs to make a choice or assumption when a prop is not supplied.
50
-
51
- CreateFullPageSection.defaultProps = {
52
- type: CREATE_FULL_PAGE_SECTION
53
- };
@@ -1,8 +0,0 @@
1
- //
2
- // Copyright IBM Corp. 2021, 2021
3
- //
4
- // This source code is licensed under the Apache-2.0 license found in the
5
- // LICENSE file in the root directory of this source tree.
6
- //
7
- export var CREATE_FULL_PAGE_STEP = 'CreateFullPageStep';
8
- export var CREATE_FULL_PAGE_SECTION = 'CreateFullPageSection';
@@ -1,83 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2021, 2021
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import React, { forwardRef } from 'react';
8
- import PropTypes from 'prop-types';
9
- import cx from 'classnames';
10
- import { Column, Row } from 'carbon-components-react';
11
- import { pkg } from '../../settings';
12
- import { CREATE_TEARSHEET_SECTION } from './constants';
13
- var componentName = 'CreateTearsheetSection';
14
- var blockClass = "".concat(pkg.prefix, "--tearsheet-create__section");
15
- export var CreateTearsheetSection = /*#__PURE__*/forwardRef(function (_ref, ref) {
16
- var id = _ref.id,
17
- children = _ref.children,
18
- className = _ref.className,
19
- subtitle = _ref.subtitle,
20
- description = _ref.description,
21
- title = _ref.title,
22
- isViewingAllStepsTogether = _ref.isViewingAllStepsTogether;
23
- return /*#__PURE__*/React.createElement("div", {
24
- className: cx(blockClass, className),
25
- ref: ref,
26
- id: id
27
- }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
28
- xlg: 12,
29
- lg: 12,
30
- md: 8,
31
- sm: 8
32
- }, isViewingAllStepsTogether && /*#__PURE__*/React.createElement("h4", {
33
- className: "".concat(blockClass, "--title")
34
- }, title), isViewingAllStepsTogether && subtitle && /*#__PURE__*/React.createElement("h6", {
35
- className: "".concat(blockClass, "--subtitle")
36
- }, subtitle), isViewingAllStepsTogether && description && /*#__PURE__*/React.createElement("p", {
37
- className: "".concat(blockClass, "--description")
38
- }, description))), children);
39
- });
40
- CreateTearsheetSection.displayName = componentName;
41
- CreateTearsheetSection.propTypes = {
42
- /**
43
- * Content that shows in the tearsheet step
44
- */
45
- children: PropTypes.node,
46
-
47
- /**
48
- * Sets an optional className to be added to the tearsheet step
49
- */
50
- className: PropTypes.string,
51
-
52
- /**
53
- * Sets an optional description on the section component
54
- */
55
- description: PropTypes.string,
56
-
57
- /**
58
- * Sets the id of the CreateTearsheetSection outermost element
59
- */
60
- id: PropTypes.string.isRequired,
61
-
62
- /**
63
- * The is an internal prop set in CreateTearsheet so the section knows when to render it's title
64
- */
65
- isViewingAllStepsTogether: PropTypes.bool,
66
-
67
- /**
68
- * Sets an optional subtitle on the section component
69
- */
70
- subtitle: PropTypes.string,
71
-
72
- /**
73
- * Sets the title text for a tearsheet step
74
- */
75
- title: PropTypes.node.isRequired
76
- }; // Default values for component props. Default values are not required for
77
- // props that are required, nor for props where the component can apply
78
- // 'undefined' values reasonably. Default values should be provided when the
79
- // component needs to make a choice or assumption when a prop is not supplied.
80
-
81
- CreateTearsheetSection.defaultProps = {
82
- type: CREATE_TEARSHEET_SECTION
83
- };
@@ -1,8 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2021, 2021
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- export var CREATE_TEARSHEET_STEP = 'CreateTearsheetStep';
8
- export var CREATE_TEARSHEET_SECTION = 'CreateTearsheetSection';