@carbon/ibm-products 1.2.3 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. package/css/index-full-carbon.css +538 -273
  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 +269 -41
  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 +491 -41
  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 +157 -0
  16. package/es/components/AddSelect/index.js +7 -0
  17. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +19 -15
  18. package/es/components/CancelableTextEdit/CancelableTextEdit.js +245 -0
  19. package/es/components/{CreateTearsheet/constants.js → CancelableTextEdit/index.js} +1 -2
  20. package/es/components/CreateFullPage/CreateFullPage.js +78 -259
  21. package/es/components/CreateFullPage/CreateFullPageStep.js +58 -14
  22. package/es/components/CreateFullPage/index.js +1 -2
  23. package/es/components/CreateInfluencer/CreateInfluencer.js +23 -225
  24. package/es/components/CreateTearsheet/CreateTearsheet.js +69 -146
  25. package/es/components/CreateTearsheet/CreateTearsheetStep.js +59 -16
  26. package/es/components/CreateTearsheet/index.js +0 -1
  27. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +66 -27
  28. package/es/components/ExportModal/ExportModal.js +4 -2
  29. package/es/components/ImportModal/ImportModal.js +2 -1
  30. package/es/components/InlineEdit/InlineEdit.js +224 -0
  31. package/es/components/InlineEdit/index.js +7 -0
  32. package/es/components/MultiAddSelect/MultiAddSelect.js +16 -0
  33. package/es/components/MultiAddSelect/index.js +1 -0
  34. package/es/components/OptionsTile/OptionsTile.js +36 -15
  35. package/es/components/PageHeader/PageHeader.js +54 -33
  36. package/es/components/PageHeader/PageHeaderTitle.js +78 -7
  37. package/es/components/PageHeader/PageHeaderUtils.js +21 -2
  38. package/es/components/RemoveModal/RemoveModal.js +4 -2
  39. package/es/components/SingleAddSelect/SingleAddSelect.js +15 -0
  40. package/es/components/SingleAddSelect/index.js +1 -0
  41. package/es/components/TagSet/TagSet.js +4 -1
  42. package/es/components/Toolbar/Toolbar.js +69 -8
  43. package/es/components/index.js +5 -1
  44. package/es/global/js/hooks/useCreateComponentFocus.js +15 -19
  45. package/es/global/js/hooks/useCreateComponentStepChange.js +44 -74
  46. package/es/global/js/hooks/useValidCreateStepCount.js +4 -7
  47. package/es/global/js/package-settings.js +5 -1
  48. package/es/global/js/utils/story-helper.js +1 -1
  49. package/lib/components/APIKeyModal/APIKeyModal.js +25 -29
  50. package/lib/components/ActionBar/ActionBar.js +4 -1
  51. package/lib/components/AddSelect/AddSelect.js +178 -0
  52. package/lib/components/AddSelect/index.js +13 -0
  53. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +18 -14
  54. package/lib/components/CancelableTextEdit/CancelableTextEdit.js +265 -0
  55. package/lib/components/CancelableTextEdit/index.js +13 -0
  56. package/lib/components/CreateFullPage/CreateFullPage.js +78 -259
  57. package/lib/components/CreateFullPage/CreateFullPageStep.js +61 -14
  58. package/lib/components/CreateFullPage/index.js +1 -9
  59. package/lib/components/CreateInfluencer/CreateInfluencer.js +21 -236
  60. package/lib/components/CreateTearsheet/CreateTearsheet.js +71 -148
  61. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +61 -15
  62. package/lib/components/CreateTearsheet/index.js +0 -8
  63. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +67 -35
  64. package/lib/components/ExportModal/ExportModal.js +4 -2
  65. package/lib/components/ImportModal/ImportModal.js +2 -1
  66. package/lib/components/InlineEdit/InlineEdit.js +242 -0
  67. package/lib/components/InlineEdit/index.js +13 -0
  68. package/lib/components/MultiAddSelect/MultiAddSelect.js +37 -0
  69. package/lib/components/MultiAddSelect/index.js +13 -0
  70. package/lib/components/OptionsTile/OptionsTile.js +36 -15
  71. package/lib/components/PageHeader/PageHeader.js +54 -33
  72. package/lib/components/PageHeader/PageHeaderTitle.js +87 -9
  73. package/lib/components/PageHeader/PageHeaderUtils.js +21 -2
  74. package/lib/components/RemoveModal/RemoveModal.js +4 -2
  75. package/lib/components/SingleAddSelect/SingleAddSelect.js +36 -0
  76. package/lib/components/SingleAddSelect/index.js +13 -0
  77. package/lib/components/TagSet/TagSet.js +4 -1
  78. package/lib/components/Toolbar/Toolbar.js +69 -6
  79. package/lib/components/index.js +33 -1
  80. package/lib/global/js/hooks/useCreateComponentFocus.js +15 -19
  81. package/lib/global/js/hooks/useCreateComponentStepChange.js +44 -74
  82. package/lib/global/js/hooks/useValidCreateStepCount.js +4 -7
  83. package/lib/global/js/package-settings.js +5 -1
  84. package/lib/global/js/utils/story-helper.js +1 -1
  85. package/package.json +15 -15
  86. package/scss/components/AddSelect/_add-select.scss +84 -0
  87. package/scss/components/AddSelect/_index.scss +10 -0
  88. package/scss/components/AddSelect/_storybook-styles.scss +6 -0
  89. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +19 -15
  90. package/scss/components/CancelableTextEdit/_cancelable-text-edit.scss +211 -0
  91. package/{es/components/CreateFullPage/constants.js → scss/components/CancelableTextEdit/_index.scss} +2 -2
  92. package/scss/components/CancelableTextEdit/_storybook-styles.scss +15 -0
  93. package/scss/components/CreateFullPage/_create-full-page.scss +4 -11
  94. package/scss/components/CreateTearsheet/_create-tearsheet.scss +4 -8
  95. package/scss/components/InlineEdit/_index.scss +8 -0
  96. package/scss/components/InlineEdit/_inline-edit.scss +44 -0
  97. package/scss/components/InlineEdit/_storybook-styles.scss +15 -0
  98. package/scss/components/MultiAddSelect/_index.scss +1 -0
  99. package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -0
  100. package/scss/components/MultiAddSelect/_storybook-styles.scss +6 -0
  101. package/scss/components/PageHeader/_page-header.scss +14 -4
  102. package/scss/components/SingleAddSelect/_index.scss +1 -0
  103. package/scss/components/SingleAddSelect/_single-add-select.scss +1 -0
  104. package/scss/components/SingleAddSelect/_storybook-styles.scss +6 -0
  105. package/scss/components/_index.scss +4 -0
  106. package/es/components/CreateFullPage/CreateFullPageSection.js +0 -53
  107. package/es/components/CreateTearsheet/CreateTearsheetSection.js +0 -83
  108. package/es/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -327
  109. package/es/global/js/utils/hasValidType.js +0 -94
  110. package/lib/components/CreateFullPage/CreateFullPageSection.js +0 -74
  111. package/lib/components/CreateFullPage/constants.js +0 -16
  112. package/lib/components/CreateTearsheet/CreateTearsheetSection.js +0 -105
  113. package/lib/components/CreateTearsheet/constants.js +0 -17
  114. package/lib/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +0 -354
  115. package/lib/global/js/utils/hasValidType.js +0 -110
@@ -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
 
@@ -0,0 +1,211 @@
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
+ 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
+ }
206
+ }
207
+ }
208
+
209
+ @include exports('cancelable-text-edit') {
210
+ @include cancelable-text-edit;
211
+ }
@@ -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';
@@ -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
+ //
@@ -27,12 +27,14 @@
27
27
  @import './ImportModal/index';
28
28
  @import './LoadingBar/index';
29
29
  @import './ModifiedTabs/index';
30
+ @import './MultiAddSelect/index';
30
31
  @import './NotificationsPanel/index';
31
32
  @import './PageHeader/index';
32
33
  @import './ProductiveCard/index';
33
34
  @import './RemoveModal/index';
34
35
  @import './Saving/index';
35
36
  @import './SidePanel/index';
37
+ @import './SingleAddSelect/index';
36
38
  @import './StatusIcon/index';
37
39
  @import './TagSet/index';
38
40
  @import './Tearsheet/index';
@@ -41,3 +43,5 @@
41
43
  @import './UserProfileImage/index';
42
44
  @import './EditSidePanel/index';
43
45
  @import './OptionsTile/index';
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,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
- };