@eccenca/gui-elements 24.4.1-featurepreparefinalnextcmem6943.2 → 25.0.0-bugfixcenterednodecontentmenuitemscmem7184.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 (239) hide show
  1. package/CHANGELOG.md +93 -19
  2. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js +1 -3
  3. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  4. package/dist/cjs/cmem/ContentBlobToggler/ContentBlobToggler.js +1 -0
  5. package/dist/cjs/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
  6. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +34 -11
  7. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  8. package/dist/cjs/cmem/markdown/Markdown.js +1 -2
  9. package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
  10. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -1
  11. package/dist/cjs/common/Intent/index.js +1 -1
  12. package/dist/cjs/common/Intent/index.js.map +1 -1
  13. package/dist/cjs/common/index.js +4 -0
  14. package/dist/cjs/common/index.js.map +1 -1
  15. package/dist/cjs/common/utils/reduceToText.js +94 -0
  16. package/dist/cjs/common/utils/reduceToText.js.map +1 -0
  17. package/dist/cjs/components/Application/ApplicationViewability.js +33 -0
  18. package/dist/cjs/components/Application/ApplicationViewability.js.map +1 -0
  19. package/dist/cjs/components/Application/index.js +1 -0
  20. package/dist/cjs/components/Application/index.js.map +1 -1
  21. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +1 -1
  22. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  23. package/dist/cjs/components/Button/Button.js +1 -1
  24. package/dist/cjs/components/Button/Button.js.map +1 -1
  25. package/dist/cjs/components/ContextOverlay/ContextMenu.js +2 -2
  26. package/dist/cjs/components/ContextOverlay/ContextMenu.js.map +1 -1
  27. package/dist/cjs/components/ContextOverlay/ContextOverlay.js +65 -18
  28. package/dist/cjs/components/ContextOverlay/ContextOverlay.js.map +1 -1
  29. package/dist/cjs/components/Dialog/Modal.js +15 -3
  30. package/dist/cjs/components/Dialog/Modal.js.map +1 -1
  31. package/dist/cjs/components/Dialog/ModalContext.js +51 -0
  32. package/dist/cjs/components/Dialog/ModalContext.js.map +1 -0
  33. package/dist/cjs/components/Dialog/index.js +1 -0
  34. package/dist/cjs/components/Dialog/index.js.map +1 -1
  35. package/dist/cjs/components/Icon/IconButton.js.map +1 -1
  36. package/dist/cjs/components/Icon/canonicalIconNames.js +25 -2
  37. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  38. package/dist/cjs/components/Spinner/Spinner.js +2 -1
  39. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  40. package/dist/cjs/components/TextReducer/TextReducer.js +17 -63
  41. package/dist/cjs/components/TextReducer/TextReducer.js.map +1 -1
  42. package/dist/cjs/components/Typography/InlineText.js +29 -0
  43. package/dist/cjs/components/Typography/InlineText.js.map +1 -0
  44. package/dist/cjs/components/Typography/index.js +1 -0
  45. package/dist/cjs/components/Typography/index.js.map +1 -1
  46. package/dist/cjs/extensions/codemirror/CodeMirror.js +2 -2
  47. package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
  48. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
  49. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
  50. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +2 -2
  51. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
  52. package/dist/cjs/extensions/react-flow/edges/EdgeNew.js +1 -1
  53. package/dist/cjs/extensions/react-flow/edges/EdgeNew.js.map +1 -1
  54. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js +1 -1
  55. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  56. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js +1 -1
  57. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  58. package/dist/cjs/extensions/react-flow/minimap/MiniMapV12.js.map +1 -1
  59. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +2 -2
  60. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  61. package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  62. package/dist/esm/cmem/ActivityControl/SilkActivityControl.js +1 -3
  63. package/dist/esm/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  64. package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js +1 -0
  65. package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
  66. package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +32 -9
  67. package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  68. package/dist/esm/cmem/markdown/Markdown.js +1 -2
  69. package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
  70. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -1
  71. package/dist/esm/common/Intent/index.js +1 -1
  72. package/dist/esm/common/Intent/index.js.map +1 -1
  73. package/dist/esm/common/index.js +4 -0
  74. package/dist/esm/common/index.js.map +1 -1
  75. package/dist/esm/common/utils/reduceToText.js +75 -0
  76. package/dist/esm/common/utils/reduceToText.js.map +1 -0
  77. package/dist/esm/components/Application/ApplicationViewability.js +28 -0
  78. package/dist/esm/components/Application/ApplicationViewability.js.map +1 -0
  79. package/dist/esm/components/Application/index.js +1 -0
  80. package/dist/esm/components/Application/index.js.map +1 -1
  81. package/dist/esm/components/AutocompleteField/AutoCompleteField.js +1 -1
  82. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  83. package/dist/esm/components/Button/Button.js +1 -1
  84. package/dist/esm/components/Button/Button.js.map +1 -1
  85. package/dist/esm/components/ContextOverlay/ContextMenu.js +2 -2
  86. package/dist/esm/components/ContextOverlay/ContextMenu.js.map +1 -1
  87. package/dist/esm/components/ContextOverlay/ContextOverlay.js +69 -22
  88. package/dist/esm/components/ContextOverlay/ContextOverlay.js.map +1 -1
  89. package/dist/esm/components/Dialog/Modal.js +15 -3
  90. package/dist/esm/components/Dialog/Modal.js.map +1 -1
  91. package/dist/esm/components/Dialog/ModalContext.js +69 -0
  92. package/dist/esm/components/Dialog/ModalContext.js.map +1 -0
  93. package/dist/esm/components/Dialog/index.js +1 -0
  94. package/dist/esm/components/Dialog/index.js.map +1 -1
  95. package/dist/esm/components/Icon/IconButton.js.map +1 -1
  96. package/dist/esm/components/Icon/canonicalIconNames.js +25 -2
  97. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  98. package/dist/esm/components/Spinner/Spinner.js +2 -1
  99. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  100. package/dist/esm/components/TextReducer/TextReducer.js +17 -41
  101. package/dist/esm/components/TextReducer/TextReducer.js.map +1 -1
  102. package/dist/esm/components/Typography/InlineText.js +33 -0
  103. package/dist/esm/components/Typography/InlineText.js.map +1 -0
  104. package/dist/esm/components/Typography/index.js +1 -0
  105. package/dist/esm/components/Typography/index.js.map +1 -1
  106. package/dist/esm/extensions/codemirror/CodeMirror.js +3 -3
  107. package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
  108. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
  109. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
  110. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +3 -3
  111. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
  112. package/dist/esm/extensions/react-flow/edges/EdgeNew.js +1 -1
  113. package/dist/esm/extensions/react-flow/edges/EdgeNew.js.map +1 -1
  114. package/dist/esm/extensions/react-flow/handles/HandleDefault.js +1 -1
  115. package/dist/esm/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  116. package/dist/esm/extensions/react-flow/minimap/MiniMap.js +1 -1
  117. package/dist/esm/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  118. package/dist/esm/extensions/react-flow/minimap/MiniMapV12.js.map +1 -1
  119. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +2 -2
  120. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  121. package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  122. package/dist/types/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.d.ts +26 -10
  123. package/dist/types/cmem/react-flow/StickyNoteModal/StickyNoteModal.d.ts +1 -1
  124. package/dist/types/common/index.d.ts +3 -0
  125. package/dist/types/common/utils/reduceToText.d.ts +10 -0
  126. package/dist/types/components/Application/ApplicationViewability.d.ts +36 -0
  127. package/dist/types/components/Application/index.d.ts +1 -0
  128. package/dist/types/components/Button/Button.d.ts +14 -7
  129. package/dist/types/components/ContextOverlay/ContextMenu.d.ts +1 -1
  130. package/dist/types/components/Dialog/Modal.d.ts +9 -1
  131. package/dist/types/components/Dialog/ModalContext.d.ts +13 -0
  132. package/dist/types/components/Dialog/index.d.ts +1 -0
  133. package/dist/types/components/Icon/IconButton.d.ts +1 -1
  134. package/dist/types/components/Icon/canonicalIconNames.d.ts +23 -0
  135. package/dist/types/components/Spinner/Spinner.d.ts +11 -4
  136. package/dist/types/components/Structure/TitleSubsection.d.ts +1 -1
  137. package/dist/types/components/Tabs/Tab.d.ts +4 -4
  138. package/dist/types/components/TextReducer/TextReducer.d.ts +13 -1
  139. package/dist/types/components/Typography/InlineText.d.ts +13 -0
  140. package/dist/types/components/Typography/index.d.ts +1 -0
  141. package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +1 -1
  142. package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +1 -1
  143. package/dist/types/extensions/react-flow/edges/EdgeLabel.d.ts +1 -1
  144. package/package.json +54 -53
  145. package/src/cmem/ActivityControl/SilkActivityControl.tsx +1 -1
  146. package/src/cmem/ContentBlobToggler/ContentBlobToggler.tsx +1 -1
  147. package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +65 -17
  148. package/src/cmem/ContentBlobToggler/stories/StringPreviewContentBlobToggler.stories.tsx +27 -0
  149. package/src/cmem/ContentBlobToggler/tests/StringPreviewContentBlobToggler.test.tsx +98 -0
  150. package/src/cmem/markdown/Markdown.tsx +1 -2
  151. package/src/cmem/react-flow/ReactFlow/ReactFlowV12.tsx +1 -0
  152. package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +1 -1
  153. package/src/cmem/react-flow/_minimap.scss +10 -0
  154. package/src/cmem/react-flow/configuration/_colors-graph.scss +12 -12
  155. package/src/cmem/react-flow/configuration/_colors-linking.scss +8 -8
  156. package/src/cmem/react-flow/configuration/_colors-workflow.scss +11 -11
  157. package/src/common/Intent/index.ts +2 -1
  158. package/src/common/index.ts +6 -0
  159. package/src/common/scss/_color-functions.scss +5 -0
  160. package/src/common/utils/reduceToText.tsx +82 -0
  161. package/src/components/Application/ApplicationViewability.tsx +61 -0
  162. package/src/components/Application/_content.scss +7 -0
  163. package/src/components/Application/_header.scss +12 -3
  164. package/src/components/Application/_viewability.scss +13 -0
  165. package/src/components/Application/application.scss +1 -0
  166. package/src/components/Application/index.ts +1 -0
  167. package/src/components/Application/stories/ApplicationViewability.stories.tsx +37 -0
  168. package/src/components/Application/tests/ApplicationViewability.test.tsx +43 -0
  169. package/src/components/AutoSuggestion/tests/ExtendedCodeEditor.test.tsx +1 -1
  170. package/src/components/AutocompleteField/AutoCompleteField.tsx +1 -0
  171. package/src/components/Button/Button.stories.tsx +7 -1
  172. package/src/components/Button/Button.tsx +16 -9
  173. package/src/components/Button/button.scss +86 -24
  174. package/src/components/Card/card.scss +6 -0
  175. package/src/components/Chat/stories/ChatField.stories.tsx +6 -1
  176. package/src/components/Checkbox/checkbox.scss +14 -2
  177. package/src/components/ContentGroup/_contentgroup.scss +9 -0
  178. package/src/components/ContextOverlay/ContextMenu.tsx +4 -1
  179. package/src/components/ContextOverlay/ContextOverlay.tsx +77 -18
  180. package/src/components/ContextOverlay/tests/ContextMenu.test.tsx +43 -0
  181. package/src/components/ContextOverlay/tests/ContextOverlay.test.tsx +71 -0
  182. package/src/components/Depiction/depiction.scss +6 -0
  183. package/src/components/Dialog/Modal.tsx +28 -3
  184. package/src/components/Dialog/ModalContext.tsx +56 -0
  185. package/src/components/Dialog/index.ts +1 -0
  186. package/src/components/Dialog/stories/Modal.stories.tsx +10 -7
  187. package/src/components/Dialog/stories/ModalContext.stories.tsx +153 -0
  188. package/src/components/FlexibleLayout/flexiblelayout.scss +16 -0
  189. package/src/components/Grid/grid.scss +17 -0
  190. package/src/components/Grid/stories/Grid.stories.tsx +10 -7
  191. package/src/components/Grid/stories/GridRow.stories.tsx +13 -7
  192. package/src/components/Icon/IconButton.tsx +1 -1
  193. package/src/components/Icon/canonicalIconNames.tsx +25 -2
  194. package/src/components/Icon/icon.scss +6 -0
  195. package/src/components/Icon/stories/Icon.stories.tsx +65 -5
  196. package/src/components/Icon/stories/IconButton.stories.tsx +2 -1
  197. package/src/components/Notification/Notification.stories.tsx +20 -6
  198. package/src/components/Notification/notification.scss +14 -3
  199. package/src/components/OverviewItem/overviewitem.scss +9 -0
  200. package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +28 -0
  201. package/src/components/OverviewItem/stories/OverviewItemActions.stories.tsx +2 -2
  202. package/src/components/OverviewItem/stories/OverviewItemDescription.stories.tsx +1 -1
  203. package/src/components/OverviewItem/stories/OverviewItemLine.stories.tsx +1 -1
  204. package/src/components/ProgressBar/Stories/ProgressBar.stories.tsx +7 -1
  205. package/src/components/PropertyValuePair/propertyvalue.scss +23 -1
  206. package/src/components/Select/Select.stories.tsx +1 -1
  207. package/src/components/Separation/separation.scss +6 -0
  208. package/src/components/Spinner/Spinner.tsx +13 -3
  209. package/src/components/Spinner/Stories/spinner.stories.tsx +1 -1
  210. package/src/components/Spinner/spinner.scss +5 -1
  211. package/src/components/Table/table.scss +22 -0
  212. package/src/components/Tag/stories/TagList.stories.tsx +2 -2
  213. package/src/components/Tag/tag.scss +105 -74
  214. package/src/components/TextField/textfield.scss +23 -15
  215. package/src/components/TextReducer/TextReducer.stories.tsx +2 -1
  216. package/src/components/TextReducer/TextReducer.test.tsx +44 -0
  217. package/src/components/TextReducer/TextReducer.tsx +17 -44
  218. package/src/components/Typography/InlineText.tsx +24 -0
  219. package/src/components/Typography/index.ts +1 -0
  220. package/src/components/Typography/stories/InlineText.stories.tsx +27 -0
  221. package/src/components/Typography/typography.scss +23 -2
  222. package/src/components/VisualTour/stories/VisualTour.stories.tsx +1 -1
  223. package/src/configuration/_palettes.scss +2 -1
  224. package/src/extensions/codemirror/CodeMirror.tsx +4 -4
  225. package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +1 -2
  226. package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +3 -3
  227. package/src/extensions/react-flow/_config.scss +8 -3
  228. package/src/extensions/react-flow/_react-flow_v12.scss +10 -14
  229. package/src/extensions/react-flow/edges/EdgeLabel.tsx +1 -1
  230. package/src/extensions/react-flow/edges/EdgeNew.tsx +2 -1
  231. package/src/extensions/react-flow/edges/_edges.scss +15 -7
  232. package/src/extensions/react-flow/edges/stories/EdgeDefault.stories.tsx +5 -5
  233. package/src/extensions/react-flow/handles/HandleDefault.tsx +2 -2
  234. package/src/extensions/react-flow/minimap/MiniMap.tsx +2 -1
  235. package/src/extensions/react-flow/minimap/MiniMapV12.tsx +1 -1
  236. package/src/extensions/react-flow/nodes/NodeContent.tsx +2 -2
  237. package/src/extensions/react-flow/nodes/_nodes.scss +4 -3
  238. package/src/extensions/react-flow/nodes/nodeUtils.tsx +1 -0
  239. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +2 -2
@@ -10,21 +10,27 @@ export default {
10
10
  component: GridRow,
11
11
  argTypes: {
12
12
  children: {
13
- control: "none",
13
+ control: false,
14
14
  },
15
15
  },
16
16
  } as Meta<typeof GridRow>;
17
17
 
18
- const Template: StoryFn<typeof GridRow> = (args) => (
19
- <Grid style={{ minHeight: "30vh" }} verticalStretchable>
20
- <GridRow {...args} />
21
- </Grid>
22
- );
18
+ const Template: StoryFn<typeof GridRow> = (args) => <GridRow {...args} />;
23
19
 
24
20
  export const Default = Template.bind({});
25
21
  Default.args = {
26
- children: <GridColumn {...ColumnExample.args} verticalAlign="center" />,
22
+ children: [
23
+ <GridColumn {...ColumnExample.args} verticalAlign="center" key="col1" />,
24
+ <GridColumn {...ColumnExample.args} verticalAlign="center" key="col1" />,
25
+ ],
27
26
  };
27
+ Default.decorators = [
28
+ (Story) => (
29
+ <Grid style={{ minHeight: "30vh" }} verticalStretchable>
30
+ <Story />
31
+ </Grid>
32
+ ),
33
+ ];
28
34
 
29
35
  const TemplateStretched: StoryFn<typeof GridRow> = (args) => (
30
36
  <Grid style={{ minHeight: "50vh" }} verticalStretchable>
@@ -2,11 +2,11 @@ import React from "react";
2
2
 
3
3
  import { CLASSPREFIX as eccgui } from "../../configuration/constants";
4
4
  import Button, { ButtonProps } from "../Button/Button";
5
+ import {TestableComponent} from "../interfaces";
5
6
 
6
7
  import { ValidIconName } from "./canonicalIconNames";
7
8
  import Icon, { IconProps } from "./Icon";
8
9
  import { TestIconProps } from "./TestIcon";
9
- import {TestableComponent} from "../interfaces";
10
10
 
11
11
  interface ExtendedButtonProps
12
12
  extends Omit<ButtonProps, "name" | "icon" | "rightIcon" | "text" | "minimal" | "tooltip">, TestableComponent {
@@ -25,6 +25,17 @@ const canonicalIcons = {
25
25
  "artefact-task-concatenatetofile": icons.DocumentExport,
26
26
  "artefact-task-sqlupdatequeryoperator": icons.Sql,
27
27
  "artefact-task-customsqlexecution": icons.Sql,
28
+ "artefact-task-multitablemerge": icons.JoinFull,
29
+ "artefact-task-jsonparseroperator": icons.JsonReference,
30
+ "artefact-task-searchaddresses": icons.SearchLocate,
31
+ "artefact-task-sparkfunction": icons.Flash,
32
+ "artefact-task-eccencadataplatformgraphstorefileuploadoperator": icons.Upload,
33
+ "artefact-task-xsltoperator": icons.TransformCode,
34
+ "artefact-task-distinctby": icons.Filter,
35
+ "artefact-task-template": icons.Template,
36
+ "artefact-task-merge": icons.Connect,
37
+ "artefact-task-scheduler": icons.EventSchedule,
38
+ "artefact-task-sendemail": icons.Email,
28
39
  "artefact-dataset-csv": icons.Csv,
29
40
  "artefact-dataset-eccencadataplatform": icons.DataVis_1,
30
41
  "artefact-dataset-excel": icons.Xls,
@@ -77,6 +88,7 @@ const canonicalIcons = {
77
88
  "item-execution": icons.Run,
78
89
  "item-info": icons.Information,
79
90
  "item-launch": icons.Launch,
91
+ "item-legend": icons.Legend,
80
92
  "item-moremenu": icons.OverflowMenuVertical,
81
93
  "item-question": icons.Help,
82
94
  "item-reload": icons.Renew,
@@ -94,8 +106,8 @@ const canonicalIcons = {
94
106
  "item-hidedetails": icons.ViewOff,
95
107
  "item-image": icons.Image,
96
108
 
97
- "list-sortasc": icons.ArrowDown,
98
- "list-sortdesc": icons.ArrowUp,
109
+ "list-sortasc": icons.ArrowUp,
110
+ "list-sortdesc": icons.ArrowDown,
99
111
  "list-sort": icons.ArrowsVertical,
100
112
 
101
113
  "module-accesscontrol": icons.UserAdmin,
@@ -147,6 +159,7 @@ const canonicalIcons = {
147
159
  "operation-logout": icons.Logout,
148
160
  "operation-magic": icons.MagicWand,
149
161
  "operation-merge": icons.DirectionMerge,
162
+ "operation-tour": icons.Tour,
150
163
  "operation-redo": icons.Redo,
151
164
  "operation-search": icons.Search,
152
165
  "operation-send": icons.Send,
@@ -161,9 +174,13 @@ const canonicalIcons = {
161
174
  "state-confirmed": icons.ThumbsUp,
162
175
  "state-danger": icons.ErrorFilled,
163
176
  "state-declined": icons.ThumbsDown,
177
+ "state-flagged": icons.Flag,
164
178
  "state-info": icons.InformationFilled,
165
179
  "state-locked": icons.Locked,
166
180
  "state-partlychecked": icons.CheckboxIndeterminate,
181
+ "state-progress": icons.InProgress,
182
+ "state-progress-error": icons.InProgressError,
183
+ "state-progress-warning": icons.InProgressWarning,
167
184
  "state-protected": icons.DocumentProtected,
168
185
  "state-success": icons.CheckmarkFilled,
169
186
  "state-unchecked": icons.Checkbox,
@@ -171,13 +188,19 @@ const canonicalIcons = {
171
188
  "state-warning": icons.WarningAltFilled,
172
189
 
173
190
  "toggler-caret": icons.CaretSort,
191
+ "toggler-carettop": icons.CaretUp,
174
192
  "toggler-caretright": icons.CaretRight,
175
193
  "toggler-caretdown": icons.CaretDown,
194
+ "toggler-caretleft": icons.CaretLeft,
176
195
  "toggler-maximize": icons.Maximize,
177
196
  "toggler-minimize": icons.Minimize,
197
+ "toggler-micon": icons.Microphone,
198
+ "toggler-micoff": icons.MicrophoneOff,
178
199
  "toggler-moveleft": icons.ChevronLeft,
179
200
  "toggler-moveright": icons.ChevronRight,
180
201
  "toggler-list": icons.List,
202
+ "toggler-radio": icons.RadioButton,
203
+ "toggler-radio-checked": icons.RadioButtonChecked,
181
204
  "toggler-rowexpand": icons.RowExpand,
182
205
  "toggler-rowcollapse": icons.RowCollapse,
183
206
  "toggler-showless": icons.ChevronUp,
@@ -1,6 +1,12 @@
1
1
  .#{$eccgui}-icon {
2
2
  vertical-align: text-bottom;
3
3
 
4
+ &.#{$eccgui}-intent--primary {
5
+ color: $eccgui-color-primary;
6
+ }
7
+ &.#{$eccgui}-intent--accent {
8
+ color: $eccgui-color-accent;
9
+ }
4
10
  &.#{$eccgui}-intent--info {
5
11
  color: $eccgui-color-info-text;
6
12
  }
@@ -2,7 +2,18 @@ import React from "react";
2
2
  import { OverlaysProvider } from "@blueprintjs/core";
3
3
  import { Meta, StoryFn } from "@storybook/react";
4
4
 
5
- import { Button, Icon } from "../../../../index";
5
+ import {
6
+ Card,
7
+ FlexibleLayoutContainer,
8
+ FlexibleLayoutItem,
9
+ Icon,
10
+ OverflowText,
11
+ OverviewItem,
12
+ OverviewItemDepiction,
13
+ OverviewItemDescription,
14
+ OverviewItemLine,
15
+ TitleSubsection,
16
+ } from "../../../../index";
6
17
  import { Definitions } from "../../../common/Intent";
7
18
  import BaseIcon from "../BaseIcon";
8
19
 
@@ -19,7 +30,8 @@ export default {
19
30
  },
20
31
  intent: {
21
32
  control: "select",
22
- options: { ...Definitions },
33
+ options: [...Object.keys(Definitions)],
34
+ mapping: { ...Definitions },
23
35
  },
24
36
  },
25
37
  } as Meta<typeof Icon>;
@@ -49,12 +61,60 @@ IconSizes.args = {
49
61
  name: "undefined",
50
62
  };
51
63
 
64
+ /**
65
+ * Available icons by their canonical names.
66
+ * If you need another icon then use `<TestIcon /`> component.
67
+ */
52
68
  export const IconsOverview = () => {
69
+ let section = "";
70
+ let separation = <></>;
53
71
  return (
54
72
  <OverlaysProvider>
55
- {Object.keys(canonicalIcons).map((iconName) => {
56
- return <Button icon={iconName as ValidIconName} outlined large tooltip={iconName} key={iconName} />;
57
- })}
73
+ <FlexibleLayoutContainer
74
+ noEqualItemSpace
75
+ gapSize="small"
76
+ style={{ flexWrap: "wrap", justifyContent: "flex-start" }}
77
+ >
78
+ {Object.keys(canonicalIcons)
79
+ .sort()
80
+ .map((iconName) => {
81
+ if (
82
+ section !==
83
+ iconName.substring(0, iconName.indexOf("-") > 0 ? iconName.indexOf("-") : iconName.length)
84
+ ) {
85
+ section = iconName.substring(
86
+ 0,
87
+ iconName.indexOf("-") > 0 ? iconName.indexOf("-") : iconName.length
88
+ );
89
+ separation = (
90
+ <FlexibleLayoutItem style={{ width: "100%", padding: "1rem 0 0.5rem 0" }}>
91
+ <TitleSubsection>{section}</TitleSubsection>
92
+ </FlexibleLayoutItem>
93
+ );
94
+ } else {
95
+ separation = <></>;
96
+ }
97
+ return (
98
+ <React.Fragment key={iconName}>
99
+ {separation}
100
+ <FlexibleLayoutItem growFactor={0} style={{ width: "20rem" }}>
101
+ <Card>
102
+ <OverviewItem>
103
+ <OverviewItemDepiction keepColors>
104
+ <Icon name={iconName as ValidIconName} />
105
+ </OverviewItemDepiction>
106
+ <OverviewItemDescription>
107
+ <OverviewItemLine small>
108
+ <OverflowText>{iconName}</OverflowText>
109
+ </OverviewItemLine>
110
+ </OverviewItemDescription>
111
+ </OverviewItem>
112
+ </Card>
113
+ </FlexibleLayoutItem>
114
+ </React.Fragment>
115
+ );
116
+ })}
117
+ </FlexibleLayoutContainer>
58
118
  </OverlaysProvider>
59
119
  );
60
120
  };
@@ -5,13 +5,13 @@ import { Meta, StoryFn } from "@storybook/react";
5
5
 
6
6
  import { IconButton, TestIcon } from "../../../../index";
7
7
 
8
+ import buttonStory from "./../../Button/Button.stories";
8
9
  import canonicalIcons from "./../canonicalIconNames";
9
10
 
10
11
  export default {
11
12
  title: "Components/IconButton",
12
13
  component: IconButton,
13
14
  argTypes: {
14
- text: { control: "text" },
15
15
  name: {
16
16
  control: "select",
17
17
  options: ["Test icon", ...Object.keys(canonicalIcons)],
@@ -20,6 +20,7 @@ export default {
20
20
  ...Object.keys(canonicalIcons),
21
21
  },
22
22
  },
23
+ intent: buttonStory.argTypes?.intent,
23
24
  },
24
25
  } as Meta<typeof IconButton>;
25
26
 
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { LoremIpsum } from "react-lorem-ipsum";
2
+ import { LoremIpsum, loremIpsum } from "react-lorem-ipsum";
3
3
  import { Meta, StoryFn } from "@storybook/react";
4
4
 
5
5
  import { helpersArgTypes } from "../../../.storybook/helpers";
6
- import { Button, HtmlContentBlock, Notification, Spacing } from "../../../index";
6
+ import { Button, HtmlContentBlock, Markdown, Notification, Spacing } from "../../../index";
7
7
 
8
8
  export default {
9
9
  title: "Components/Notification",
@@ -33,12 +33,26 @@ ExampleWithMessage.args = {
33
33
  export const ExampleWithChildren = TemplateFull.bind({});
34
34
  ExampleWithChildren.args = {
35
35
  children: (
36
- <HtmlContentBlock>
37
- <LoremIpsum p={1} avgSentencesPerParagraph={1} random={false} />
38
- <LoremIpsum p={1} avgSentencesPerParagraph={4} random={false} />
39
- </HtmlContentBlock>
36
+ <>
37
+ <HtmlContentBlock>
38
+ <LoremIpsum p={1} avgSentencesPerParagraph={1} random={false} />
39
+ <LoremIpsum p={1} avgSentencesPerParagraph={4} random={false} />
40
+ </HtmlContentBlock>
41
+ <br />
42
+ <Markdown
43
+ htmlContentBlockProps={{
44
+ style: {
45
+ maxHeight: "25vh",
46
+ overflow: "auto",
47
+ },
48
+ }}
49
+ >
50
+ {"```\n" + loremIpsum({ random: false }) + "\n```"}
51
+ </Markdown>
52
+ </>
40
53
  ),
41
54
  onDismiss: false, // workaround for undefined function in Storybook
55
+ actions: [<></>],
42
56
  };
43
57
 
44
58
  export const ExampleNeutralMessage = TemplateFull.bind({});
@@ -3,6 +3,10 @@
3
3
  @use "sass:math";
4
4
  @import "~@blueprintjs/core/src/components/toast/toast";
5
5
 
6
+ .#{$ns}-toast-message {
7
+ min-width: 0;
8
+ }
9
+
6
10
  .#{$eccgui}-notification {
7
11
  width: 100%;
8
12
  min-width: math.div(4, 16) * 100vw;
@@ -69,20 +73,27 @@
69
73
  display: flex;
70
74
  align-items: baseline;
71
75
  justify-content: space-between;
72
- margin: -10px; // TODO: use blueprint var ofr toast padding here
76
+ margin: -0.5 * $toast-margin;
73
77
  }
74
78
 
75
79
  .#{$eccgui}-notification__messagebody {
76
80
  flex-grow: 1;
77
81
  flex-shrink: 1;
78
- padding: 10px; // TODO: use blueprint var ofr toast padding here
82
+ min-width: 0;
83
+ padding: 0.5 * $toast-margin;
79
84
  }
80
85
 
81
86
  .#{$eccgui}-notification__actions {
82
87
  flex-grow: 0;
83
88
  flex-shrink: 0;
84
89
 
85
- .#{$ns}-button:not([class*="intent"]) {
90
+ .#{$ns}-button:not([class*="intent"]):not(:disabled) {
86
91
  color: inherit;
87
92
  }
88
93
  }
94
+
95
+ @media print {
96
+ .#{$eccgui}-notification__actions {
97
+ display: none;
98
+ }
99
+ }
@@ -197,3 +197,12 @@ $eccgui-size-overviewitem-line-typo-large-lineheight: $eccgui-size-typo-subtitle
197
197
  display: flex;
198
198
  }
199
199
  }
200
+
201
+ @media print {
202
+ .#{$eccgui}-overviewitem__actions {
203
+ display: none;
204
+ }
205
+ .#{$eccgui}-overviewitem__depiction {
206
+ print-color-adjust: exact;
207
+ }
208
+ }
@@ -6,15 +6,20 @@ import {
6
6
  Badge,
7
7
  Card,
8
8
  Depiction,
9
+ OverflowText,
9
10
  OverviewItem,
10
11
  OverviewItemActions,
11
12
  OverviewItemDepiction,
12
13
  OverviewItemDescription,
14
+ OverviewItemLine,
15
+ Tag,
16
+ TagList,
13
17
  } from "./../../../../index";
14
18
  import { FullExample as OtherDepictionExample } from "./../../Depiction/stories/Depiction.stories";
15
19
  import { Default as ActionsExample } from "./OverviewItemActions.stories";
16
20
  import { AutoTransform as DepictionExample } from "./OverviewItemDepiction.stories";
17
21
  import { Default as DescriptionExample } from "./OverviewItemDescription.stories";
22
+ import { Default as LineExample } from "./OverviewItemLine.stories";
18
23
 
19
24
  export default {
20
25
  title: "Components/OverviewItem",
@@ -76,3 +81,26 @@ ItemWithDepictionElement.args = {
76
81
  hasSpacing: true,
77
82
  hasCardWrapper: true,
78
83
  };
84
+
85
+ export const ItemWithTags = Template.bind({});
86
+ ItemWithTags.args = {
87
+ children: [
88
+ <OverviewItemDepiction {...DepictionExample.args} key={"depiction"} />,
89
+ <OverviewItemDescription key={"description"}>
90
+ <OverviewItemLine {...LineExample.args} />
91
+ <OverviewItemLine small>
92
+ <OverflowText>
93
+ <TagList>
94
+ <Tag small>Test</Tag>
95
+ <Tag small>Tag</Tag>
96
+ <Tag small>List</Tag>
97
+ </TagList>
98
+ </OverflowText>
99
+ </OverviewItemLine>
100
+ </OverviewItemDescription>,
101
+ <OverviewItemActions children={ActionsExample.args.children[0]} key={"actions"} />,
102
+ ],
103
+ densityHigh: false,
104
+ hasSpacing: true,
105
+ hasCardWrapper: true,
106
+ };
@@ -9,7 +9,7 @@ export default {
9
9
  subcomponents: { Button, IconButton, ContextMenu },
10
10
  argTypes: {
11
11
  children: {
12
- control: "none",
12
+ control: false,
13
13
  description: "User-interactive elements.",
14
14
  },
15
15
  },
@@ -20,7 +20,7 @@ const Template: StoryFn<typeof OverviewItemActions> = (args) => <OverviewItemAct
20
20
  export const Default = Template.bind({});
21
21
  Default.args = {
22
22
  children: [
23
- <IconButton name="item-remove" tooltip="Remove this item" disruptive />,
23
+ <IconButton name="item-remove" text="Remove this item" disruptive />,
24
24
  <Button affirmative>Other action</Button>,
25
25
  ],
26
26
  };
@@ -12,7 +12,7 @@ export default {
12
12
  },
13
13
  argTypes: {
14
14
  children: {
15
- control: "none",
15
+ control: false,
16
16
  description: "Elements for text content.",
17
17
  },
18
18
  },
@@ -9,7 +9,7 @@ export default {
9
9
  component: OverviewItemLine,
10
10
  argTypes: {
11
11
  children: {
12
- control: "none",
12
+ control: false,
13
13
  description: "Elements for line content.",
14
14
  },
15
15
  },
@@ -1,11 +1,17 @@
1
1
  import React from "react";
2
2
  import { Meta, StoryFn } from "@storybook/react";
3
3
 
4
+ import { helpersArgTypes } from "../../../../.storybook/helpers";
4
5
  import { ProgressBar } from "../../../../index";
5
6
  export default {
6
7
  title: "Components/ProgressBar",
7
8
  component: ProgressBar,
8
- argTypes: {},
9
+ argTypes: {
10
+ intent: {
11
+ ...helpersArgTypes.exampleIntent,
12
+ options: ["UNDEFINED", "primary", "success", "warning", "danger"],
13
+ },
14
+ },
9
15
  } as Meta<typeof ProgressBar>;
10
16
 
11
17
  const ProgressBarExample: StoryFn<typeof ProgressBar> = (args) => <ProgressBar {...args}></ProgressBar>;
@@ -5,9 +5,9 @@
5
5
  }
6
6
 
7
7
  .#{$eccgui}-propertyvalue__pair {
8
+ clear: both;
8
9
  display: block;
9
10
  width: 100%;
10
- clear: both;
11
11
 
12
12
  &.#{$eccgui}-propertyvalue__pair--hasdivider {
13
13
  &:not(:last-child) {
@@ -94,3 +94,25 @@
94
94
  }
95
95
  }
96
96
  }
97
+
98
+ @media print {
99
+ .#{$eccgui}-propertyvalue__pair,
100
+ .#{$eccgui}-propertyvalue__property,
101
+ .#{$eccgui}-propertyvalue__value {
102
+ position: relative;
103
+ float: none !important;
104
+ display: block;
105
+ width: auto;
106
+ height: auto;
107
+ min-height: 0 !important;
108
+ padding: 0;
109
+ margin: 0 !important;
110
+
111
+ &:is(.#{$eccgui}-propertyvalue__property) {
112
+ margin-bottom: 0.25 * $eccgui-size-block-whitespace !important;
113
+ }
114
+ &:is(.#{$eccgui}-propertyvalue__pair) {
115
+ margin-bottom: 0.5 * $eccgui-size-block-whitespace !important;
116
+ }
117
+ }
118
+ }
@@ -53,7 +53,7 @@ export const ControlledTarget = Template.bind({});
53
53
  ControlledTarget.args = {
54
54
  ...Default.args,
55
55
  fill: false,
56
- children: <Button text="Controlled select target" intent="primary" />,
56
+ children: <Button text="Controlled select target" elevated />,
57
57
  onActiveItemChange: fn(),
58
58
  };
59
59
 
@@ -101,3 +101,9 @@ $eccgui-color-separation-divider: $pt-divider-black !default;
101
101
  margin: 0 $eccgui-size-separation-spacing-medium;
102
102
  }
103
103
  }
104
+
105
+ @media print {
106
+ .#{$eccgui}-separation__divider-horizontal {
107
+ print-color-adjust: exact;
108
+ }
109
+ }
@@ -9,10 +9,11 @@ import Color from "color";
9
9
 
10
10
  import { CLASSPREFIX as eccgui } from "../../configuration/constants";
11
11
 
12
+ import { ButtonProps } from "./../Button/Button";
13
+
12
14
  type SpinnerPosition = "local" | "inline" | "global";
13
15
  type SpinnerSize = "tiny" | "small" | "medium" | "large" | "xlarge" | "inherit";
14
16
  type SpinnerStroke = "thin" | "medium" | "bold";
15
- type Intent = "primary" | "success" | "warning" | "danger";
16
17
 
17
18
  /** A spinner that is either displayed globally or locally. */
18
19
  export interface SpinnerProps extends Omit<BlueprintSpinnerProps, "size" | "intent" | "color"> {
@@ -22,9 +23,16 @@ export interface SpinnerProps extends Omit<BlueprintSpinnerProps, "size" | "inte
22
23
  */
23
24
  color?: Color | string | "inherit";
24
25
  /**
25
- * Intent state of the field item.
26
+ * Intent state of the spinner.
27
+ * When used the spinner is colored.
28
+ * Property overwrites `elevated` setting.
29
+ */
30
+ intent?: ButtonProps["intent"];
31
+ /**
32
+ * Highlight the spinner.
33
+ * It is displayed with accent color intent.
26
34
  */
27
- intent?: Intent;
35
+ elevated?: boolean;
28
36
  /**
29
37
  * Additional CSS class names.
30
38
  */
@@ -67,6 +75,7 @@ export const Spinner = ({
67
75
  className = "",
68
76
  color = "inherit",
69
77
  intent,
78
+ elevated,
70
79
  position = "local",
71
80
  size,
72
81
  stroke,
@@ -119,6 +128,7 @@ export const Spinner = ({
119
128
  className={
120
129
  `${eccgui}-spinner` +
121
130
  ` ${eccgui}-spinner--position-${position}` +
131
+ (elevated ? ` ${eccgui}-spinner--intent-accent` : "") +
122
132
  (intent ? ` ${eccgui}-spinner--intent-${intent}` : "") +
123
133
  ` ${eccgui}-spinner--size-${spinnerSize}` +
124
134
  (showLocalBackdrop ? ` ${eccgui}-spinner--localbackdrop` : "") +
@@ -10,7 +10,7 @@ export default {
10
10
  color: { control: "color" },
11
11
  intent: {
12
12
  ...helpersArgTypes.exampleIntent,
13
- options: ["UNDEFINED", "primary", "success", "warning", "danger", "none"],
13
+ options: ["UNDEFINED", "primary", "accent", "success", "warning", "danger", "none"],
14
14
  },
15
15
  position: { control: "radio", options: ["local", "inline", "global"] },
16
16
  size: { control: "radio", options: ["tiny", "small", "medium", "large", "xlarge", "inherit"] },
@@ -29,10 +29,14 @@ span.#{$eccgui}-spinner {
29
29
  color: inherit;
30
30
  }
31
31
 
32
- .#{$eccgui}-spinner--intent-primary {
32
+ .#{$eccgui}-spinner--intent-accent {
33
33
  color: $eccgui-color-accent;
34
34
  }
35
35
 
36
+ .#{$eccgui}-spinner--intent-primary {
37
+ color: $eccgui-color-primary;
38
+ }
39
+
36
40
  .#{$eccgui}-spinner--intent-success {
37
41
  color: $eccgui-color-success-text;
38
42
  }
@@ -356,3 +356,25 @@ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row + tr[data-child-row] {
356
356
  min-height: $eccgui-size-tablecell-height-regular;
357
357
  }
358
358
  }
359
+
360
+ @media print {
361
+ .#{$eccgui}-simpletable:has(.#{$eccgui}-simpletable__cell > .#{$eccgui}-typography__overflowtext) {
362
+ // allow 2 lines of text in `<OverflowText />` elements that are direct children of table cells
363
+ .#{$eccgui}-simpletable__cell {
364
+ & > .#{$eccgui}-typography__overflowtext,
365
+ & > .#{$eccgui}-typography__overflowtext--passdown {
366
+ display: inline;
367
+ overflow: visible;
368
+ text-overflow: unset;
369
+ white-space: unset;
370
+ }
371
+ & > .#{$eccgui}-typography__overflowtext {
372
+ display: -webkit-box;
373
+ overflow: hidden;
374
+ -webkit-line-clamp: 2;
375
+ line-clamp: 2;
376
+ -webkit-box-orient: vertical;
377
+ }
378
+ }
379
+ }
380
+ }
@@ -8,7 +8,7 @@ export default {
8
8
  component: TagList,
9
9
  argTypes: {
10
10
  children: {
11
- control: "none",
11
+ control: false,
12
12
  },
13
13
  },
14
14
  } as Meta<typeof TagList>;
@@ -18,5 +18,5 @@ const Template: StoryFn<typeof TagList> = (args) => <TagList {...args} />;
18
18
  export const List = Template.bind({});
19
19
  List.args = {
20
20
  label: "Tag list",
21
- children: [<Tag>Short</Tag>, <Tag>List</Tag>, <Tag>Of</Tag>, <Tag>Tags</Tag>],
21
+ children: [<Tag small>Short</Tag>, <Tag>List</Tag>, <Tag>Of</Tag>, <Tag large>Tags</Tag>],
22
22
  };