@elyra/canvas 12.30.0 → 12.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/{extends-7d4f15b6.js → _baseForOwn-ad2a8649.js} +3 -3
  2. package/dist/_baseForOwn-ad2a8649.js.map +1 -0
  3. package/dist/_baseForOwn-bfa77b3e.js +8 -0
  4. package/dist/_baseForOwn-bfa77b3e.js.map +1 -0
  5. package/dist/canvas-constants-187a30d5.js +2 -0
  6. package/dist/canvas-constants-187a30d5.js.map +1 -0
  7. package/dist/canvas-constants-5fb4e9b8.js +2 -0
  8. package/dist/canvas-constants-5fb4e9b8.js.map +1 -0
  9. package/dist/canvas-controller-53bd69c8.js +2 -0
  10. package/dist/canvas-controller-53bd69c8.js.map +1 -0
  11. package/dist/canvas-controller-9551a089.js +2 -0
  12. package/dist/canvas-controller-9551a089.js.map +1 -0
  13. package/dist/common-canvas-1c40c3df.js +2 -0
  14. package/dist/common-canvas-1c40c3df.js.map +1 -0
  15. package/dist/common-canvas-93c3f6a4.js +2 -0
  16. package/dist/common-canvas-93c3f6a4.js.map +1 -0
  17. package/dist/common-canvas.es.js +1 -1
  18. package/dist/common-canvas.es.js.map +1 -1
  19. package/dist/common-canvas.js +1 -1
  20. package/dist/common-canvas.js.map +1 -1
  21. package/dist/common-properties-18cce049.js +2 -0
  22. package/dist/common-properties-18cce049.js.map +1 -0
  23. package/dist/common-properties-b45b54ac.js +2 -0
  24. package/dist/common-properties-b45b54ac.js.map +1 -0
  25. package/dist/context-menu-wrapper-6c8f7928.js +2 -0
  26. package/dist/context-menu-wrapper-6c8f7928.js.map +1 -0
  27. package/dist/context-menu-wrapper-fc78153c.js +2 -0
  28. package/dist/context-menu-wrapper-fc78153c.js.map +1 -0
  29. package/dist/datarecord-metadata-v3-schema-15146f5e.js +2 -0
  30. package/dist/{datarecord-metadata-v3-schema-6a3754ce.js.map → datarecord-metadata-v3-schema-15146f5e.js.map} +1 -1
  31. package/dist/datarecord-metadata-v3-schema-9994b9ee.js +2 -0
  32. package/dist/{datarecord-metadata-v3-schema-ba1f2849.js.map → datarecord-metadata-v3-schema-9994b9ee.js.map} +1 -1
  33. package/dist/extends-093996c9.js +2 -0
  34. package/dist/extends-093996c9.js.map +1 -0
  35. package/dist/extends-1b35a664.js +2 -0
  36. package/dist/extends-1b35a664.js.map +1 -0
  37. package/dist/flexible-table-1f259bf6.js +2 -0
  38. package/dist/flexible-table-1f259bf6.js.map +1 -0
  39. package/dist/flexible-table-aa7a3125.js +2 -0
  40. package/dist/flexible-table-aa7a3125.js.map +1 -0
  41. package/dist/icon-c65ffd4c.js +2 -0
  42. package/dist/{icon-221bb2e5.js.map → icon-c65ffd4c.js.map} +1 -1
  43. package/dist/icon-e1c49d95.js +2 -0
  44. package/dist/{icon-ea917a08.js.map → icon-e1c49d95.js.map} +1 -1
  45. package/dist/index-27d84a2b.js +2 -0
  46. package/dist/{index-aee893ad.js.map → index-27d84a2b.js.map} +1 -1
  47. package/dist/index-6776fe83.js +2 -0
  48. package/dist/{index-92422c18.js.map → index-6776fe83.js.map} +1 -1
  49. package/dist/{isArrayLikeObject-f3b27f64.js → isArrayLikeObject-0cd02b77.js} +2 -2
  50. package/dist/{isArrayLikeObject-f3b27f64.js.map → isArrayLikeObject-0cd02b77.js.map} +1 -1
  51. package/dist/{isArrayLikeObject-a9c7973b.js → isArrayLikeObject-6a001191.js} +2 -2
  52. package/dist/{isArrayLikeObject-a9c7973b.js.map → isArrayLikeObject-6a001191.js.map} +1 -1
  53. package/dist/lib/canvas-controller.es.js +1 -1
  54. package/dist/lib/canvas-controller.js +1 -1
  55. package/dist/lib/canvas.es.js +1 -1
  56. package/dist/lib/canvas.js +1 -1
  57. package/dist/lib/context-menu.es.js +1 -1
  58. package/dist/lib/context-menu.es.js.map +1 -1
  59. package/dist/lib/context-menu.js +1 -1
  60. package/dist/lib/context-menu.js.map +1 -1
  61. package/dist/lib/properties/field-picker.es.js +1 -1
  62. package/dist/lib/properties/field-picker.js +1 -1
  63. package/dist/lib/properties/flexible-table.es.js +1 -1
  64. package/dist/lib/properties/flexible-table.js +1 -1
  65. package/dist/lib/properties.es.js +1 -1
  66. package/dist/lib/properties.js +1 -1
  67. package/dist/styles/common-canvas.min.css +1 -1
  68. package/dist/styles/common-canvas.min.css.map +1 -1
  69. package/dist/toolbar-83b4d3d3.js +2 -0
  70. package/dist/toolbar-83b4d3d3.js.map +1 -0
  71. package/dist/toolbar-d7febd83.js +2 -0
  72. package/dist/toolbar-d7febd83.js.map +1 -0
  73. package/locales/common-canvas/locales/en.json +1 -0
  74. package/locales/common-canvas/locales/eo.json +1 -0
  75. package/package.json +3 -3
  76. package/src/color-picker/color-picker.scss +2 -2
  77. package/src/common-canvas/canvas-controller-menu-utils.js +328 -0
  78. package/src/common-canvas/canvas-controller.js +114 -283
  79. package/src/common-canvas/cc-contents.jsx +9 -1
  80. package/src/common-canvas/cc-context-menu.jsx +9 -6
  81. package/src/common-canvas/cc-context-toolbar.jsx +205 -0
  82. package/src/common-canvas/cc-text-toolbar.jsx +4 -3
  83. package/src/common-canvas/cc-toolbar.jsx +4 -4
  84. package/src/common-canvas/common-canvas-utils.js +0 -5
  85. package/src/common-canvas/common-canvas.scss +34 -4
  86. package/src/common-canvas/constants/canvas-constants.js +9 -1
  87. package/src/common-canvas/svg-canvas-d3.js +4 -0
  88. package/src/common-canvas/svg-canvas-renderer.js +174 -86
  89. package/src/common-canvas/svg-canvas-utils-textarea.js +1 -1
  90. package/src/common-properties/common-properties.jsx +3 -1
  91. package/src/common-properties/components/editor-form/editor-form.jsx +11 -7
  92. package/src/common-properties/components/editor-form/editor-form.scss +27 -4
  93. package/src/common-properties/components/flexible-table/flexible-table.jsx +6 -4
  94. package/src/common-properties/components/title-editor/title-editor.jsx +3 -1
  95. package/src/common-properties/components/title-editor/title-editor.scss +4 -0
  96. package/src/common-properties/components/virtualized-table/virtualized-table.jsx +8 -2
  97. package/src/common-properties/constants/constants.js +5 -0
  98. package/src/common-properties/panels/subtabs/subtabs.jsx +1 -0
  99. package/src/common-properties/panels/tearsheet/tearsheet.scss +1 -0
  100. package/src/common-properties/properties-controller.js +2 -1
  101. package/src/common-properties/properties-main/properties-main.jsx +4 -1
  102. package/src/context-menu/common-context-menu.jsx +20 -23
  103. package/src/context-menu/context-menu-wrapper.jsx +13 -11
  104. package/src/object-model/config-utils.js +5 -1
  105. package/src/object-model/layout-dimensions.js +10 -2
  106. package/src/object-model/object-model.js +23 -3
  107. package/src/object-model/redux/canvas-store.js +8 -4
  108. package/src/object-model/redux/reducers/categories.js +12 -0
  109. package/src/object-model/redux/reducers/contextmenu.js +10 -3
  110. package/src/object-model/redux/reducers/palette.js +3 -0
  111. package/src/palette/palette-flyout-content-category.jsx +18 -15
  112. package/src/palette/palette-flyout-content.jsx +0 -15
  113. package/src/toolbar/toolbar-action-item.jsx +80 -10
  114. package/src/toolbar/toolbar-overflow-item.jsx +9 -9
  115. package/src/toolbar/toolbar.jsx +12 -1
  116. package/src/toolbar/toolbar.scss +41 -13
  117. package/stats.html +1 -1
  118. package/dist/_baseForOwn-7d4e8506.js +0 -2
  119. package/dist/_baseForOwn-7d4e8506.js.map +0 -1
  120. package/dist/_baseForOwn-d38b560e.js +0 -2
  121. package/dist/_baseForOwn-d38b560e.js.map +0 -1
  122. package/dist/canvas-constants-046e4126.js +0 -2
  123. package/dist/canvas-constants-046e4126.js.map +0 -1
  124. package/dist/canvas-constants-f4e65d4d.js +0 -2
  125. package/dist/canvas-constants-f4e65d4d.js.map +0 -1
  126. package/dist/canvas-controller-6fe261d9.js +0 -2
  127. package/dist/canvas-controller-6fe261d9.js.map +0 -1
  128. package/dist/canvas-controller-ea7d4a8f.js +0 -2
  129. package/dist/canvas-controller-ea7d4a8f.js.map +0 -1
  130. package/dist/common-canvas-2953ff65.js +0 -2
  131. package/dist/common-canvas-2953ff65.js.map +0 -1
  132. package/dist/common-canvas-fbd62592.js +0 -2
  133. package/dist/common-canvas-fbd62592.js.map +0 -1
  134. package/dist/common-properties-0df4ed36.js +0 -2
  135. package/dist/common-properties-0df4ed36.js.map +0 -1
  136. package/dist/common-properties-8409565f.js +0 -2
  137. package/dist/common-properties-8409565f.js.map +0 -1
  138. package/dist/datarecord-metadata-v3-schema-6a3754ce.js +0 -2
  139. package/dist/datarecord-metadata-v3-schema-ba1f2849.js +0 -2
  140. package/dist/en-7201b548.js +0 -2
  141. package/dist/en-7201b548.js.map +0 -1
  142. package/dist/en-a08356c8.js +0 -2
  143. package/dist/en-a08356c8.js.map +0 -1
  144. package/dist/extends-7d4f15b6.js.map +0 -1
  145. package/dist/extends-d144eab9.js +0 -7
  146. package/dist/extends-d144eab9.js.map +0 -1
  147. package/dist/flexible-table-3a78cdf3.js +0 -2
  148. package/dist/flexible-table-3a78cdf3.js.map +0 -1
  149. package/dist/flexible-table-6e801de4.js +0 -2
  150. package/dist/flexible-table-6e801de4.js.map +0 -1
  151. package/dist/icon-221bb2e5.js +0 -2
  152. package/dist/icon-ea917a08.js +0 -2
  153. package/dist/index-92422c18.js +0 -2
  154. package/dist/index-aee893ad.js +0 -2
  155. package/dist/toolbar-3fdd090b.js +0 -2
  156. package/dist/toolbar-3fdd090b.js.map +0 -1
  157. package/dist/toolbar-5437484a.js +0 -2
  158. package/dist/toolbar-5437484a.js.map +0 -1
@@ -28,14 +28,19 @@ import ZoomToFit from "./../../assets/images/zoom_to_fit.svg";
28
28
  import { Button } from "carbon-components-react";
29
29
  import SVG from "react-inlinesvg";
30
30
  import classNames from "classnames";
31
- import { StopFilledAlt16, Play16, Undo16, Redo16, Chat16, ChatOff16, Cut16, Copy16, Paste16,
32
- AddComment16, TrashCan16, ZoomIn16, ZoomOut16 } from "@carbon/icons-react";
33
- import { TOOLBAR_STOP, TOOLBAR_RUN, TOOLBAR_UNDO, TOOLBAR_REDO, TOOLBAR_CUT,
34
- TOOLBAR_COPY, TOOLBAR_PASTE, TOOLBAR_CREATE_AUTO_COMMENT,
35
- TOOLBAR_DELETE_SELECTED_OBJECTS, TOOLBAR_ZOOM_IN, TOOLBAR_ZOOM_OUT, TOOLBAR_ZOOM_FIT,
36
- TOOLBAR_ARRANGE_HORIZONALLY, TOOLBAR_ARRANGE_VERTICALLY, TOOLBAR_OPEN_PALETTE,
37
- TOOLBAR_CLOSE_PALETTE, TOOLBAR_TOGGLE_NOTIFICATION_PANEL,
38
- TOOLBAR_SHOW_COMMENTS, TOOLBAR_HIDE_COMMENTS }
31
+ import { StopFilledAlt16, Play16, Undo16, Redo16, Chat16, ChatOff16,
32
+ Cut16, Copy16, Paste16, Edit16, ColorPalette16, Maximize16, Minimize16,
33
+ Launch16, AddComment16, TrashCan16, ZoomIn16, ZoomOut16, ChevronRight16 } from "@carbon/icons-react";
34
+ import { TOOLBAR_STOP, TOOLBAR_RUN, TOOLBAR_UNDO, TOOLBAR_REDO,
35
+ TOOLBAR_CUT, TOOLBAR_COPY, TOOLBAR_PASTE,
36
+ TOOLBAR_CREATE_COMMENT, TOOLBAR_CREATE_AUTO_COMMENT, TOOLBAR_COLOR_BACKGROUND,
37
+ TOOLBAR_DELETE_SELECTED_OBJECTS, TOOLBAR_DELETE_LINK,
38
+ TOOLBAR_ZOOM_IN, TOOLBAR_ZOOM_OUT, TOOLBAR_ZOOM_FIT,
39
+ TOOLBAR_ARRANGE_HORIZONALLY, TOOLBAR_ARRANGE_VERTICALLY,
40
+ TOOLBAR_OPEN_PALETTE, TOOLBAR_CLOSE_PALETTE, TOOLBAR_TOGGLE_NOTIFICATION_PANEL,
41
+ TOOLBAR_SHOW_COMMENTS, TOOLBAR_HIDE_COMMENTS,
42
+ TOOLBAR_EXPAND_SUPERNODE_IN_PLACE, TOOLBAR_COLLAPSE_SUPERNODE_IN_PLACE,
43
+ TOOLBAR_EXPAND_SUPERNODE_FULL_PAGE, TOOLBAR_SET_NODE_LABEL_EDIT, TOOLBAR_SET_COMMENT_EDIT_MODE }
39
44
  from "../common-canvas/constants/canvas-constants.js";
40
45
 
41
46
  class ToolbarActionItem extends React.Component {
@@ -43,6 +48,20 @@ class ToolbarActionItem extends React.Component {
43
48
  super(props);
44
49
 
45
50
  this.actionClickHandler = this.actionClickHandler.bind(this);
51
+ this.onMouseEnter = this.onMouseEnter.bind(this);
52
+ this.onMouseLeave = this.onMouseLeave.bind(this);
53
+ }
54
+
55
+ onMouseEnter(evt) {
56
+ if (this.props.actionObj.subMenu || this.props.actionObj.subPanel) {
57
+ this.props.subMenuActionHandler(this.props.actionObj.action);
58
+ }
59
+ }
60
+
61
+ onMouseLeave(evt) {
62
+ if (this.props.actionObj.subMenu || this.props.actionObj.subPanel) {
63
+ this.props.subMenuActionHandler("");
64
+ }
46
65
  }
47
66
 
48
67
  // Returns a default icon, if there is one, for the action passed in.
@@ -55,6 +74,12 @@ class ToolbarActionItem extends React.Component {
55
74
  return <StopFilledAlt16 disabled={disabled} />;
56
75
  case (TOOLBAR_RUN):
57
76
  return <Play16 disabled={disabled} />;
77
+ case (TOOLBAR_EXPAND_SUPERNODE_IN_PLACE):
78
+ return <Maximize16 disabled={disabled} />;
79
+ case (TOOLBAR_COLLAPSE_SUPERNODE_IN_PLACE):
80
+ return <Minimize16 disabled={disabled} />;
81
+ case (TOOLBAR_EXPAND_SUPERNODE_FULL_PAGE):
82
+ return <Launch16 disabled={disabled} />;
58
83
  case (TOOLBAR_UNDO):
59
84
  return <Undo16 disabled={disabled} />;
60
85
  case (TOOLBAR_REDO):
@@ -65,14 +90,21 @@ class ToolbarActionItem extends React.Component {
65
90
  return <Copy16 disabled={disabled} />;
66
91
  case (TOOLBAR_PASTE):
67
92
  return <Paste16 disabled={disabled} />;
93
+ case (TOOLBAR_CREATE_COMMENT):
68
94
  case (TOOLBAR_CREATE_AUTO_COMMENT):
69
95
  return <AddComment16 disabled={disabled} />;
70
96
  case (TOOLBAR_SHOW_COMMENTS):
71
97
  return <Chat16 disabled={disabled} />;
72
98
  case (TOOLBAR_HIDE_COMMENTS):
73
99
  return <ChatOff16 disabled={disabled} />;
100
+ case (TOOLBAR_COLOR_BACKGROUND):
101
+ return <ColorPalette16 disabled={disabled} />;
102
+ case (TOOLBAR_DELETE_LINK):
74
103
  case (TOOLBAR_DELETE_SELECTED_OBJECTS):
75
104
  return <TrashCan16 disabled={disabled} />;
105
+ case (TOOLBAR_SET_COMMENT_EDIT_MODE):
106
+ case (TOOLBAR_SET_NODE_LABEL_EDIT):
107
+ return <Edit16 disabled={disabled} />;
76
108
  case (TOOLBAR_ZOOM_IN):
77
109
  return <ZoomIn16 disabled={disabled} />;
78
110
  case (TOOLBAR_ZOOM_OUT):
@@ -142,7 +174,9 @@ class ToolbarActionItem extends React.Component {
142
174
  }
143
175
 
144
176
  actionClickHandler(evt) {
145
- this.props.toolbarActionHandler(this.props.actionObj.action, evt);
177
+ if (!this.props.actionObj.subMenu && !this.props.actionObj.subPanel) {
178
+ this.props.toolbarActionHandler(this.props.actionObj.action, evt);
179
+ }
146
180
  }
147
181
 
148
182
  generateButton(actionObj) {
@@ -170,12 +204,15 @@ class ToolbarActionItem extends React.Component {
170
204
  // If no 'kind' is set, use ghost and then override colors using the "default" class in innerDivClassName.
171
205
  const kind = actionObj.kind || "ghost";
172
206
 
207
+ const chevronIcon = actionObj.subMenu || this.props.actionObj.subPanel ? (<ChevronRight16 />) : null;
208
+
173
209
  let buttonContent = (
174
210
  <div className={itemContentClassName}>
175
211
  {labelBefore}
176
212
  {icon}
177
213
  {labelAfter}
178
214
  {textContent}
215
+ {chevronIcon}
179
216
  </div>
180
217
  );
181
218
 
@@ -235,6 +272,31 @@ class ToolbarActionItem extends React.Component {
235
272
  return false;
236
273
  }
237
274
 
275
+ // Returns a sub-area for a cascading menu item. The sub-area can be either a
276
+ // sub-panel which is a div contaiing whatever the caller passes in within the
277
+ // supPanel field OR a sub-menu which is a list of options which is created
278
+ // from the array of items the caller passes in the subMenu field.
279
+ generateSubArea() {
280
+ if (this.props.displaySubArea) {
281
+ if (this.props.actionObj.subPanel) {
282
+ return (
283
+ <div className={"toolbar-popover-list subpanel"}>
284
+ {this.props.actionObj.subPanel}
285
+ </div>
286
+ );
287
+ }
288
+ const subMenuItems = this.props.generateToolbarItems(this.props.actionObj.subMenu, true, false);
289
+
290
+ return (
291
+ <div className={"toolbar-popover-list submenu"}>
292
+ {subMenuItems}
293
+ </div>
294
+ );
295
+ }
296
+
297
+ return null;
298
+ }
299
+
238
300
  render() {
239
301
  const actionObj = this.props.actionObj;
240
302
  const actionName = this.generateActionName();
@@ -258,9 +320,12 @@ class ToolbarActionItem extends React.Component {
258
320
  kindAsClass,
259
321
  actionName);
260
322
 
323
+ const subArea = this.generateSubArea();
324
+
261
325
  return (
262
- <div className={itemClassName} data-toolbar-item={isToolbarItem}>
326
+ <div className={itemClassName} data-toolbar-item={isToolbarItem} onMouseEnter={this.onMouseEnter} onMouseLeave={this.onMouseLeave}>
263
327
  {divContent}
328
+ {subArea}
264
329
  </div>
265
330
  );
266
331
  }
@@ -287,6 +352,8 @@ ToolbarActionItem.propTypes = {
287
352
  textContent: PropTypes.string,
288
353
  isSelected: PropTypes.bool,
289
354
  kind: PropTypes.string,
355
+ subMenu: PropTypes.array,
356
+ subPanel: PropTypes.object,
290
357
  jsx: PropTypes.object,
291
358
  tooltip: PropTypes.oneOfType([
292
359
  PropTypes.string,
@@ -296,7 +363,10 @@ ToolbarActionItem.propTypes = {
296
363
  }),
297
364
  tooltipDirection: PropTypes.oneOf(["top", "bottom"]),
298
365
  toolbarActionHandler: PropTypes.func.isRequired,
366
+ subMenuActionHandler: PropTypes.func.isRequired,
367
+ generateToolbarItems: PropTypes.func.isRequired,
299
368
  instanceId: PropTypes.number.isRequired,
369
+ displaySubArea: PropTypes.bool,
300
370
  overflow: PropTypes.bool,
301
371
  onFocus: PropTypes.func,
302
372
  size: PropTypes.oneOf(["md", "sm"])
@@ -31,16 +31,16 @@ class ToolbarOverflowItem extends React.Component {
31
31
  }
32
32
 
33
33
  render() {
34
- const menuItems = this.props.showExtendedMenu ? this.props.generateExtensionMenuItems(this.props.index) : [];
35
- const subMenuClassName = this.props.showExtendedMenu ? "" : "toolbar-popover-list-hide";
36
-
37
34
  let overflowMenu = null;
38
- if (menuItems.length > 0) {
39
- overflowMenu = (
40
- <div className={"toolbar-popover-list " + subMenuClassName}>
41
- {menuItems}
42
- </div>
43
- );
35
+ if (this.props.showExtendedMenu) {
36
+ const menuItems = this.props.generateExtensionMenuItems(this.props.index);
37
+ if (menuItems.length > 0) {
38
+ overflowMenu = (
39
+ <div className={"toolbar-popover-list"}>
40
+ {menuItems}
41
+ </div>
42
+ );
43
+ }
44
44
  }
45
45
 
46
46
  const className = "toolbar-spacer toolbar-index-" + this.props.index;
@@ -27,7 +27,8 @@ class Toolbar extends React.Component {
27
27
  super(props);
28
28
 
29
29
  this.state = {
30
- showExtendedMenuIndex: -1
30
+ showExtendedMenuIndex: -1,
31
+ subAreaDisplayedForAction: ""
31
32
  };
32
33
 
33
34
  this.leftBar = [];
@@ -37,6 +38,8 @@ class Toolbar extends React.Component {
37
38
  this.onToolbarResize = this.onToolbarResize.bind(this);
38
39
  this.toggleExtendedMenu = this.toggleExtendedMenu.bind(this);
39
40
  this.generateExtensionMenuItems = this.generateExtensionMenuItems.bind(this);
41
+ this.generateToolbarItems = this.generateToolbarItems.bind(this);
42
+ this.subMenuActionHandler = this.subMenuActionHandler.bind(this);
40
43
  }
41
44
 
42
45
  // When the toolbar is initially opened the tabindex for each element may not
@@ -173,6 +176,10 @@ class Toolbar extends React.Component {
173
176
  }
174
177
  }
175
178
 
179
+ subMenuActionHandler(action) {
180
+ this.setState({ subAreaDisplayedForAction: action });
181
+ }
182
+
176
183
  generateToolbarItems(actionDefinitions, overflow, withSpacer) {
177
184
  const newItems = [];
178
185
 
@@ -199,12 +206,16 @@ class Toolbar extends React.Component {
199
206
  />
200
207
  );
201
208
  } else {
209
+ const displaySubArea = overflow && this.state.subAreaDisplayedForAction === actionObj.action;
202
210
  jsx = (
203
211
  <ToolbarActionItem
204
212
  key={"toolbar-item-key-" + i}
205
213
  actionObj={actionObj}
206
214
  tooltipDirection={this.props.tooltipDirection}
207
215
  toolbarActionHandler={this.props.toolbarActionHandler}
216
+ subMenuActionHandler={this.subMenuActionHandler}
217
+ generateToolbarItems={this.generateToolbarItems}
218
+ displaySubArea={displaySubArea}
208
219
  overflow={overflow}
209
220
  instanceId={this.props.instanceId}
210
221
  onFocus={this.onFocus}
@@ -20,13 +20,14 @@ $toolbar-icon-label-margin: 8px;
20
20
  $toolbar-icon-size: 16px;
21
21
  $toolbar-button-height: 40px;
22
22
  $toolbar-button-width: 40px;
23
+ $toolbar-button-sm-height: 32px;
24
+ $toolbar-button-sm-width: 32px;
23
25
  $toolbar-divider-width: 1px;
24
26
 
25
27
  .toolbar-div {
26
28
  height: $toolbar-button-height;
27
29
  width: 100%;
28
30
  background-color: $ui-01;
29
- border-bottom: $toolbar-divider-width solid $ui-04;
30
31
  box-sizing: content-box;
31
32
  position: relative;
32
33
 
@@ -38,19 +39,20 @@ $toolbar-divider-width: 1px;
38
39
 
39
40
  /* Small size toolbar used by common-properties */
40
41
  &.toolbar-size-small {
41
- height: $spacing-07;
42
+ height: $toolbar-button-sm-height;
42
43
  .toolbar-left-bar {
43
44
  padding: 0;
44
45
  }
45
46
  .toolbar-item button,
46
47
  .toolbar-overflow-item > button {
47
48
  padding: 0;
48
- height: $spacing-07;
49
+ height: $toolbar-button-sm-height;
49
50
  }
50
51
  .toolbar-item-content {
51
52
  padding: $spacing-02 $spacing-03;
52
- height: $spacing-07;
53
+ height: $toolbar-button-sm-height;
53
54
  align-items: center;
55
+ min-width: 32px;
54
56
  }
55
57
  .toolbar-popover-list button {
56
58
  padding: 0;
@@ -149,11 +151,15 @@ $toolbar-divider-width: 1px;
149
151
  }
150
152
  }
151
153
 
152
- .toolbar-overflow-menu-item button {
153
- width: 100%;
154
- padding-top: 2px;
155
- padding-bottom: 2px;
156
- min-height: 20px;
154
+ .toolbar-overflow-menu-item {
155
+ height: $toolbar-button-sm-height;
156
+
157
+ & button {
158
+ width: 100%;
159
+ padding-top: 2px;
160
+ padding-bottom: 2px;
161
+ min-height: 20px;
162
+ }
157
163
  }
158
164
 
159
165
  .toolbar-item-content {
@@ -213,8 +219,14 @@ $toolbar-divider-width: 1px;
213
219
  }
214
220
  }
215
221
 
222
+ .toolbar-size-small {
223
+ .toolbar-jsx-item {
224
+ height: $toolbar-button-sm-height;
225
+ }
226
+ }
227
+
216
228
  .toolbar-jsx-item {
217
- height: 40px;
229
+ height: $toolbar-button-height;
218
230
  display: inline-flex;
219
231
  align-items: center;
220
232
  vertical-align: top;
@@ -258,6 +270,12 @@ $toolbar-divider-width: 1px;
258
270
  border-bottom: $toolbar-divider-width solid $ui-03;
259
271
  }
260
272
 
273
+ .toolbar-size-small {
274
+ .toolbar-popover-list {
275
+ top: calc(#{$toolbar-button-sm-height} + #{$toolbar-divider-width});
276
+ }
277
+ }
278
+
261
279
  .toolbar-popover-list {
262
280
  width: 200px;
263
281
  z-index: 1;
@@ -268,8 +286,18 @@ $toolbar-divider-width: 1px;
268
286
  padding: 0;
269
287
  border: $toolbar-divider-width solid $ui-03;
270
288
  background-color: $ui-01;
271
- }
272
289
 
273
- .toolbar-popover-list-hide {
274
- display: none;
290
+ & .submenu {
291
+ position: relative;
292
+ left: 198px; // 200px minus 2px so no gap is left between menu and submenu
293
+ top: -34px; // 32px minus 2px
294
+ }
295
+
296
+ & .subpanel {
297
+ position: relative;
298
+ left: 198px; // 200px minus 2px so no gap is left between menu and submenu
299
+ top: -34px; // 32px minus 2px
300
+ width: fit-content;
301
+ }
302
+
275
303
  }