@carbon/ibm-products 2.42.1-canary.7 → 2.42.1-canary.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. package/css/index-full-carbon.css +302 -9
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +302 -9
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +302 -9
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +1 -1
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  14. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -33
  15. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  16. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +95 -12
  17. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  18. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +27 -9
  19. package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +38 -33
  20. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  21. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +44 -0
  22. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  23. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +95 -14
  24. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  26. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  27. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  29. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +197 -67
  30. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  31. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +69 -0
  32. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  33. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  34. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +73 -32
  35. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  36. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +92 -9
  37. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  38. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +26 -8
  39. package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +36 -31
  40. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  41. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +52 -0
  42. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  43. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +92 -11
  44. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  45. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  46. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  47. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  48. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  49. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +195 -64
  50. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  51. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +77 -0
  52. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  53. package/package.json +3 -3
  54. package/scss/components/ConditionBuilder/_condition-builder.scss +21 -1
  55. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +22 -3
  56. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +58 -21
  57. /package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
  58. /package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
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
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var React = require('react');
13
+ var index = require('../../../node_modules/prop-types/index.js');
14
+ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
15
+ var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
16
+ var ConditionConnector = require('../ConditionBuilderConnector/ConditionConnector.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ var ConditionPreview = function ConditionPreview(_ref) {
23
+ var previewType = _ref.previewType;
24
+ var getConditionSection = function getConditionSection() {
25
+ return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
26
+ label: DataConfigs.translateWithId('property')
27
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
28
+ label: DataConfigs.translateWithId('operator')
29
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
30
+ label: DataConfigs.translateWithId('value')
31
+ }));
32
+ };
33
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, previewType == 'newGroup' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
34
+ className: "".concat(DataConfigs.blockClass, "__group__row ").concat(DataConfigs.blockClass, "__group-preview ")
35
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
36
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
37
+ label: DataConfigs.translateWithId('and')
38
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
39
+ "aria-hidden": true,
40
+ className: "".concat(DataConfigs.blockClass, "__group ").concat(DataConfigs.blockClass, "__condition-wrapper ").concat(DataConfigs.blockClass, "__group-preview ").concat(DataConfigs.blockClass, "__group-wrapper")
41
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
42
+ className: "".concat(DataConfigs.blockClass, "__gap")
43
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
44
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
45
+ label: DataConfigs.translateWithId('if')
46
+ })), getConditionSection())), previewType == 'subGroup' && /*#__PURE__*/React__default["default"].createElement("div", {
47
+ className: "".concat(DataConfigs.blockClass, "__group-preview")
48
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
49
+ className: "".concat(DataConfigs.blockClass, "__condition-block ").concat(DataConfigs.blockClass, "__gap")
50
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
51
+ label: DataConfigs.translateWithId('and'),
52
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
53
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap")
54
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
55
+ className: "".concat(DataConfigs.blockClass, "__group ").concat(DataConfigs.blockClass, "__condition-wrapper")
56
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
57
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__groupConnector"),
58
+ operator: DataConfigs.translateWithId('if')
59
+ }), getConditionSection()))), previewType == 'condition' && /*#__PURE__*/React__default["default"].createElement("div", {
60
+ className: "".concat(DataConfigs.blockClass, "__group-preview")
61
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
62
+ className: "".concat(DataConfigs.blockClass, "__condition-block ").concat(DataConfigs.blockClass, "__gap")
63
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
64
+ label: DataConfigs.translateWithId('and'),
65
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
66
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap")
67
+ }), getConditionSection())));
68
+ };
69
+ var ConditionPreview$1 = ConditionPreview;
70
+ ConditionPreview.propTypes = {
71
+ /**
72
+ * type of review to be displayed
73
+ */
74
+ previewType: index["default"].oneOf(['condition', 'subGroup', 'newGroup'])
75
+ };
76
+
77
+ exports["default"] = ConditionPreview$1;
@@ -2,3 +2,4 @@ export function focusThisField(evt: any): void;
2
2
  export function focusThisItem(currentElement: any): void;
3
3
  export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
4
4
  export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
5
+ export function checkForHoldingKey(evt: any, key: any): any;
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": "2.42.1-canary.7+793b7d211",
4
+ "version": "2.42.1-canary.8+553f2c7e1",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -97,7 +97,7 @@
97
97
  "dependencies": {
98
98
  "@babel/runtime": "^7.23.9",
99
99
  "@carbon/feature-flags": "^0.20.0",
100
- "@carbon/ibm-products-styles": "^2.38.1",
100
+ "@carbon/ibm-products-styles": "^2.38.2-canary.8+553f2c7e1",
101
101
  "@carbon/telemetry": "^0.1.0",
102
102
  "@dnd-kit/core": "^6.0.8",
103
103
  "@dnd-kit/modifiers": "^7.0.0",
@@ -121,5 +121,5 @@
121
121
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
122
122
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
123
123
  },
124
- "gitHead": "793b7d211624906e2dea5e39fa5995572b3c1628"
124
+ "gitHead": "553f2c7e1c6848e853abd71d493b3bca77968252"
125
125
  }
@@ -27,7 +27,9 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
27
27
  // .#{$block-class} {
28
28
  // // TODO: Styles.
29
29
  // }
30
-
30
+ .#{$block-class} {
31
+ padding: $spacing-06;
32
+ }
31
33
  .#{$block-class}__condition-builder__group {
32
34
  display: flex;
33
35
  }
@@ -47,5 +49,23 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
47
49
  }
48
50
  .#{$block-class}__condition-block {
49
51
  display: flex;
52
+ width: max-content;
50
53
  flex-direction: row;
51
54
  }
55
+ .#{$block-class}__content-container {
56
+ display: flex;
57
+ flex-direction: column;
58
+ row-gap: $spacing-02;
59
+ }
60
+ .#{$block-class}__heading {
61
+ margin-top: $spacing-03;
62
+ margin-bottom: $spacing-03;
63
+ }
64
+ .#{$block-class}__tree
65
+ .#{$block-class}__actions-container
66
+ .#{$block-class}__condition-wrapper {
67
+ flex-direction: column;
68
+ }
69
+ .#{$block-class}__group-separator {
70
+ margin-top: $spacing-02;
71
+ }
@@ -1,3 +1,4 @@
1
+ @use '@carbon/react/scss/theme' as *;
1
2
  @use '@carbon/react/scss/spacing' as *;
2
3
  @use '@carbon/react/scss/motion';
3
4
  @use '@carbon/styles/scss/components/tag' as *;
@@ -5,6 +6,7 @@
5
6
  @use '../../../global/styles/project-settings' as c4p-settings;
6
7
  @use '@carbon/styles/scss/type';
7
8
  @use '@carbon/styles/scss/type' as *;
9
+ @use '@carbon/react/scss/utilities';
8
10
 
9
11
  $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
10
12
 
@@ -14,12 +16,17 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
14
16
  display: inline-flex;
15
17
  }
16
18
 
17
- [role='row']:focus {
19
+ .#{$block-class} [role='row'] {
20
+ position: relative;
21
+ outline: none;
22
+ }
23
+ .#{$block-class} [role='row']:focus::after {
18
24
  @include focus-outline.focus-outline('outline');
19
25
 
20
- outline-offset: 0;
26
+ position: absolute;
27
+ content: '';
28
+ inset: 0;
21
29
  }
22
-
23
30
  .#{$block-class}__condition__deletion-preview
24
31
  .#{$block-class}__button:not(
25
32
  .#{$block-class}__statement-button,
@@ -44,3 +51,15 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
44
51
  text-overflow: ellipsis;
45
52
  text-wrap: nowrap;
46
53
  }
54
+ .#{$block-class}__group-preview {
55
+ opacity: 0.5;
56
+ pointer-events: none;
57
+ }
58
+ .#{$block-class}__connector-disabled {
59
+ display: flex;
60
+ min-width: $spacing-10;
61
+ align-items: center;
62
+ background-color: $layer;
63
+ color: $text-helper;
64
+ padding-inline: $spacing-03;
65
+ }
@@ -1,3 +1,5 @@
1
+ @use 'sass:list';
2
+ @use 'sass:string';
1
3
  @use '@carbon/react/scss/theme' as *;
2
4
  @use '../../../global/styles/project-settings' as c4p-settings;
3
5
  @use '@carbon/styles/scss/type';
@@ -8,10 +10,11 @@
8
10
  @use '@carbon/styles/scss/components/tag';
9
11
 
10
12
  @use '@carbon/styles/scss/type' as *;
13
+ @use '@carbon/react/scss/colors' as *;
11
14
 
12
15
  $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
13
16
 
14
- .#{$block-class}__content-container * {
17
+ .#{$block-class}__condition-wrapper * {
15
18
  @include type-style('body-01');
16
19
  }
17
20
 
@@ -120,7 +123,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
120
123
  }
121
124
  .#{$block-class}__condition-builder__group.hoveredConnector
122
125
  .#{$block-class}__condition-wrapper
123
- > .conditionBlockWrapper
126
+ > .#{$block-class}__condition-block
124
127
  .#{$block-class}__connector-button {
125
128
  background-color: $layer-hover;
126
129
  }
@@ -149,9 +152,6 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
149
152
  padding-right: $spacing-03;
150
153
  padding-left: $spacing-03;
151
154
  }
152
- .#{$block-class}__conditionWrapper {
153
- display: flex;
154
- }
155
155
 
156
156
  .#{$block-class}__multiselectSelectionStatusContainer {
157
157
  display: flex;
@@ -165,22 +165,59 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
165
165
  .#{$block-class}__item-option__option:focus {
166
166
  @include focus-outline.focus-outline('outline');
167
167
  }
168
- // .#{$block-class}__tree {
169
- // .#{$block-class}__condition-wrapper > :nth-child(n + 3) {
170
- // flex-basis: 100%;
171
- // }
172
- // .#{$block-class}__groupConnector {
173
- // background-color: $layer;
174
- // }
175
- // .#{$block-class}__condition-wrapper
176
- // > :nth-child(1)
177
- // .#{$block-class}__button,
178
- // .#{$block-class}__condition-wrapper
179
- // > :nth-child(2)
180
- // .#{$block-class}__button {
181
- // box-shadow: inset 0 #{$spacing-01} 0 0 var(--#{$block-class}__condition-wrapper-color);
182
- // }
183
- // }
168
+ //need to revamp to a simpler logic
169
+ $colors: (
170
+ ($purple-70, $purple-60, $purple-50, $purple-40, $purple-30, $purple-20),
171
+ ($cyan-70, $cyan-60, $cyan-50, $cyan-40, $cyan-30, $cyan-20),
172
+ ($teal-70, $teal-60, $teal-50, $teal-40, $teal-30, $teal-20),
173
+ (
174
+ $magenta-70,
175
+ $magenta-60,
176
+ $magenta-50,
177
+ $magenta-40,
178
+ $magenta-30,
179
+ $magenta-20
180
+ ),
181
+ ($red-70, $red-60, $red-50, $red-40, $red-30, $red-20),
182
+ ($orange-70, $orange-60, $orange-50, $orange-40, $orange-30, $orange-20),
183
+ ($yellow-70, $yellow-60, $yellow-50, $yellow-40, $yellow-30, $yellow-20),
184
+ ($green-70, $green-60, $green-50, $green-40, $green-30, $green-20)
185
+ );
186
+
187
+ @for $i from 1 through list.length($colors) {
188
+ $selector: (
189
+ string.unquote(
190
+ '.#{$block-class}__content-container > .#{$block-class}__group-wrapper:nth-of-type(#{list.length($colors)}n+#{$i})'
191
+ )
192
+ );
193
+ $group-colors: list.nth($colors, $i);
194
+ @each $color in $group-colors {
195
+ #{$selector} {
196
+ /* stylelint-disable-next-line carbon/theme-token-use */
197
+ --#{$block-class}__condition-wrapper-color: #{$color};
198
+ }
199
+
200
+ $selector: list.append(
201
+ $selector,
202
+ string.unquote('.#{$block-class}__group')
203
+ );
204
+ }
205
+ }
206
+
207
+ .#{$block-class}__tree {
208
+ .#{$block-class}__condition-wrapper > :nth-child(n + 3) {
209
+ flex-basis: 100%;
210
+ }
211
+ .#{$block-class}__groupConnector {
212
+ background-color: $layer;
213
+ }
214
+ .#{$block-class}__condition-wrapper > :nth-child(1) .#{$block-class}__button,
215
+ .#{$block-class}__condition-wrapper > :nth-child(2) .#{$block-class}__button {
216
+ /* stylelint-disable-next-line carbon/theme-token-use */
217
+ box-shadow: inset 0 #{$spacing-01} 0 0 var(--#{$block-class}__condition-wrapper-color);
218
+ }
219
+ }
220
+
184
221
  .#{$block-class}__groupOperatorConnector {
185
222
  margin-bottom: $spacing-02;
186
223
  }