You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+140-2Lines changed: 140 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
6
6
7
7
## [Unreleased]
8
8
9
+
## [25.0.0] - 2025-12-01
10
+
11
+
This is a major release, and it might be not compatible with your current usage of our library. Please read about the necessary changes in the section about how to migrate.
12
+
13
+
### Migration from v24 to v25
14
+
15
+
- remove deprecated components, properties and imports from your project, if the info cannot be found here then it was already mentioned in **Deprecated** sections of the past changelogs
16
+
- in case you set your own colors before importing GUI elements you need to update your configuration to the new color palette structure, see `README.md`
17
+
- change `intent="primary"` to `intent="accent"` for `<Button />`, `<IconButton />` and `<Spinner />`, if supported you may check if it is better to use `affirmative={true}` or `elevated={true}` instead of `intent`
18
+
9
19
### Added
10
20
11
21
-`<ChatContent />`
@@ -20,6 +30,115 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
20
30
- reduces HTML to simple text and can display it as one ellipsed line
21
31
-`<Tooltip />`
22
32
- prove useage of `usePlaceholder` by jest test coverage
33
+
-`<EdgeStraight />`
34
+
- it's basically `<EdgeDefault />` without any special configs
35
+
-`<EdgeBezier />`
36
+
- only supported for v12, in v9 as straight edge is used
37
+
- use `curvature` property in the edge `data` object to define the bezier layout (0..1, default: 0.25)
38
+
-`<EdgeDefaultV12 />`
39
+
- the `data` object provides `markerAppearance` to set and remove the edge arrows
40
+
-`<EdgeDefault />`
41
+
- introduced the new `arrowDirection` property, including support for bidirectional edges - supported only for `<EdgeDefaultV12 />`
42
+
-`<EdgeNew />`
43
+
- component for React Flow v12, displaying new connection lines
44
+
-`<VisualTour />`
45
+
- component to display a visual tour multi-step tour of the current view
46
+
-`<Button />`
47
+
-`accent` value for `intent` was added to align property with other components
48
+
-`<Spinner />`
49
+
-`accent` value for `intent` was added to align property with other components
50
+
-`elevated` property can be used to highlight the spinner, currently the `intent="accent"` display is used
51
+
-`<Modal />`:
52
+
- Add `ModalContext` to track open/close state of all used application modals.
53
+
- Add `modalId` property to give a modal a unique ID for tracking purposes.
54
+
-`preventReactFlowEvents`: adds 'nopan', 'nowheel' and 'nodrag' classes to overlay classes in order to prevent react-flow to react to drag and pan actions in modals.
55
+
- new `utils` methods
56
+
-`colorCalculateDistance()`: calculates the difference between 2 colors using the simple CIE76 formula
57
+
-`textToColorHash()`: calculates a color from a text string
58
+
-`reduceToText`: shrinks HTML content and React elements to plain text, used for `<TextReducer />`
59
+
-`decodeHtmlEntities`: decode a string of HTML text, map HTML entities back to UTF-8 chars
60
+
- SCSS color functions
61
+
-`eccgui-color-var`: returns a var of a custom property used for palette color
62
+
-`eccgui-color-mix`: mix 2 colors in `srgb`, works with all types of color values and CSS custom properties
63
+
-`eccgui-color-rgba`: like `rgba()` but it works also for CSS custom properties
64
+
- Color palette: includes 4 sections with 20+ color tints in 5 weights each
65
+
- indentity, semantic, layout, extra
66
+
- managed via CSS custom properties
67
+
- see `README.md` for more information about usage
68
+
- New icons
69
+
-`artefact-task-sqlupdatequeryoperator`
70
+
-`artefact-task-customsqlexecution`
71
+
-`item-legend`
72
+
-`operation-tour`
73
+
-`toggler-carettop`
74
+
-`toggler-caretleft`
75
+
-`toggler-micon`
76
+
-`toggler-micoff`
77
+
-`toggler-radio`
78
+
-`toggler-radio-checked`
79
+
-`state-flagged`
80
+
-`state-progress`
81
+
-`state-progress-error`
82
+
-`state-progress-warning`
83
+
- more icons for build tasks
84
+
85
+
### Removed
86
+
87
+
- support for React Flow v10 was completely removed
88
+
- removed direct replacements for legacy components (imported via `@eccenca/gui-elements/src/legacy-replacements` or `LegacyReplacements`)
- removed support for old state properties `hasStatePrimary`, `hasStateSuccess`, `hasStateWarning` and `hasStateDanger`
92
+
-`<Notification />`
93
+
- removed support for old state properties `neutral`, `success`, `warning` and `danger`
94
+
-`<Icon />`
95
+
- removed `description` and `iconTitle` properties
96
+
-`<OverviewItemList />`
97
+
-`densityHigh` property was removed
98
+
-`<CodeEditor />`
99
+
- static fallback for test id `codemirror-wrapper` was removed, add `data-test-id` (or your test id data attribute) always directly to `CodeEditor`.
100
+
-`<EdgeDefault />`
101
+
- removed `inversePath` property, can be replaced with `arrowDirection: "inversed"` property
102
+
-`<Spinner />`
103
+
-`description` property was removed because it was defined but not implemented for a very long time, but we plan to add that type of caption later
104
+
-`nodeTypes` and `edgeTypes` exports were removed
105
+
- use `<ReactFlow />` with `configuration`, or define it yourself
106
+
- SCSS variables `$eccgui-color-application-text` and `$eccgui-color-application-background` were removed
107
+
- use `$eccgui-color-workspace-text` and `$eccgui-color-workspace-background`
108
+
- Removed `remark-typograf` plugin from `<Markdown />` rendering to maintain display expectation
109
+
110
+
### Fixed
111
+
112
+
-`<CodeAutocompleteField />`:
113
+
- In multiline mode, validation errors might be highlighted incorrectly (relative line offset added).
114
+
115
+
### Changed
116
+
117
+
-`<EdgeDefault />` and `<EdgeStep />`
118
+
- support now v9 and v12 of react flow
119
+
-`<ReactFlowExtended />`
120
+
- use `<EdgeNew />` by default for new connection lines, you can overwrite it by setting `connectionLineComponent` to `undefined`
121
+
-`<Spinner />`
122
+
-`color` property does not accept `intent` values anymore
123
+
-`<OverflowText />`
124
+
- beside explicitly specified properties it allows only basic HTML element properties and testing IDs
125
+
- overrite the native SCSS `rgba()` function, so it now works for SCSS color values and CSS custom properties
126
+
-`<SuggestField />`
127
+
- Always add class 'nodrag' to popover content element to always prevent dragging of react-flow and dnd-kit elements when interacting with the component.
128
+
-`utils.getColorConfiguration()` works with CSS custom properties
129
+
- property names returned by `getColorConfiguration` were changed to kebab case because they are originally defined via CSS custom properties
130
+
- e.g. `graphNode` is now `eccgui-graph-node` and `graphNodeBright` is `eccgui-graph-node-bright`
131
+
-`<Button />` and `<IconButton />`
132
+
-`intent` display was aligned with other components, `intent="primary"` is now `intent="accent"`, in most cases it may be better to use `affirmative={true}` or `elevated={true}` instead of primary/accent intent
133
+
-`<Spinner />`
134
+
-`intent` display was aligned with other components, `intent="primary"` is now `intent="accent"`, in most cases it may be better to use `elevated={true}` instead of using intent
135
+
- icons: arrow directions for `list-sortasc` and `list-sortdesc` were switched, up arrow is now used for ascending sort
136
+
137
+
### Deprecated
138
+
139
+
- support for React Flow v9 will be removed in v26
140
+
-`<EdgeDefs />`
141
+
- use `<ReactFlowMarkers />` or build it on single `<ReactFlowMarker />`
23
142
24
143
## [24.4.1] - 2025-08-25
25
144
@@ -129,6 +248,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
129
248
130
249
### Changed
131
250
251
+
-`eslint` libraries were upgraded to v9, so `node` v18.18 or higher is required
252
+
- react flow integration by renaming their resources from `legacy` and `next` to more precise `v9` and `v10`:
253
+
-`HandleProps`: renamed to `HandleV9Props`
254
+
-`HandleNextProps`: renamed to `HandleV10Props`
255
+
- if provided then the `flowVersion` property do not accept `legacy` and `next` as values anymore, use `v9` and `v10`
132
256
- some more interfaces are exposed:
133
257
-`IntentBlueprint`: BlueprintJS intent types, also available by `DefinitionsBlueprint`
134
258
-`TableDataContainerProps`, `TableSimpleContainerProps`, `TableHeadProps`, `TableBodyProps`, `TableExpandedRowProps`, `TableHeaderProps` and `DataTableRenderProps` as interfaces for diverse table components
@@ -151,6 +275,18 @@ Old bundlers like webpack4 do not support the `exports` field from `package.json
151
275
152
276
If you use Jest then you can use the same aliases for the `moduleNameMapper` config, if necessary.
153
277
278
+
### Deprecated
279
+
280
+
-`HandleV9Props` and `HandleV10Props` export will be removed, use only `HandleDefaultProps`
281
+
-`<NodeContent />`
282
+
-`businessDate`: will be removed because it is already not used
283
+
-`<ReactFlow />`: use `<ReactFlowExtended />`
284
+
285
+
### Migration from v24 to v25
286
+
287
+
- remove deprecated components, properties and imports from your project, if the info cannot be found here then it was already mentioned in **Deprecated** sections of the v24.\* changelogs.
288
+
- we changed the integration of the supported react flow versions, formerly names `legacy` and `next` resources were renamed to more precise `v9` and `v10`, please see all info in the section about changes
289
+
154
290
## [24.1.0] - 2025-04-16
155
291
156
292
### Added
@@ -223,6 +359,8 @@ If you use Jest then you can use the same aliases for the `moduleNameMapper` con
223
359
- use always `<Label/>` component for `label` value
224
360
-`<StickyNoteNode />`
225
361
- Refactored data structure position and dimension (breaking change)
362
+
-`<MiniMap />`
363
+
- component supports now React Flow v9 and v12
226
364
227
365
### Deprecated
228
366
@@ -422,8 +560,6 @@ This is a major release, and it might be not compatible with your current usage
422
560
-`<MultiSuggestField />`
423
561
- Updated the interface with the ability to use either `selectedItems` or `prePopulateWithItems` properties, which is more logical.
424
562
- Fixed deferred `selectedItems` setting.
425
-
-`<StickyNoteModal/>`
426
-
- static test id `data-test-id="sticky-note-modal"` will be removed with next major version
427
563
-`<BreadcrumbsList />`
428
564
-`onItemClick` handler is only executed if breadcrumb has `href` set because this is one callback parameter and the handler would not have any information otherwise
429
565
-`<Depiction />`
@@ -450,6 +586,8 @@ This is a major release, and it might be not compatible with your current usage
450
586
451
587
-`<TextArea />`
452
588
-`hasStatePrimary`, `hasStateSuccess`, `hasStateWarning` and `hasStateDanger` properties: use the `intent` property instead.
589
+
-`<StickyNoteModal/>`
590
+
- static test id `data-test-id="sticky-note-modal"` will be removed with next major version
All [configuration variables](https://github.com/eccenca/gui-elements/blob/develop/src/configuration/_variables.scss) can be set before importing the full library or the default configuration but for the main changes you should need to change only a few parameters:
32
-
33
-
- Basic colors
34
-
-`$eccgui-color-primary`: color for very important buttons and switches
35
-
-`$eccgui-color-primary-contrast`: readable text color used on primary color areas
36
-
-`$eccgui-color-accent`: color for most conformation buttons, links, etc
37
-
-`$eccgui-color-accent-contrast`: readable text color used on accent color areas
38
-
-`$eccgui-color-applicationheader-text`
39
-
-`$eccgui-color-applicationheader-background`
40
-
-`$eccgui-color-workspace-text`
41
-
-`$eccgui-color-workspace-background`
42
-
- Basic sizes
43
-
-`$eccgui-size-typo-base`: size including absolute unit, currently only `px` is supported
44
-
-`$eccgui-size-typo-base-lineheight`: only ratio to font size, no unit!
45
-
-`$eccgui-size-type-levelratio`: ratio without unit! used to calculate different text sizes based on `$eccgui-size-typo-base`
46
-
-`$eccgui-size-block-whitespace`: white space between block level elements, currently only `px` is supported
31
+
All [configuration variables](https://github.com/eccenca/gui-elements/blob/develop/src/configuration/_variables.scss) can be set before importing the full library or the default configuration but for the main properties you should need to change only a few parameters
32
+
33
+
#### Colors
34
+
35
+
Since v25 we use a color palette as basic foundation for color configurations. The palette is defined in 4 sections containing various color tints, each tint includes 5 different weights from 100 (light color) to 900 (dark color).
36
+
37
+
The default palette can be overwritten if it is defined before the configuration or full library is imported to your Sass styles. The palette need to be defined entirely, we currently don't support overwriting it partly.
All palette colors will be transformed into CSS custom properties automatically and can be referenced by name scheme `--eccgui-color-palette-{groupname}-{colortint}-{colorweight}`, e.g. `--eccgui-color-palette-identity-brand-100`.
76
+
77
+
All other colors are based on the palette but it is still possible to set them before the default values are used by importing the configuration or the full library.
78
+
79
+
-`$eccgui-color-primary`: color for very important buttons and switches
80
+
-`$eccgui-color-primary-contrast`: readable text color used on primary color areas
81
+
-`$eccgui-color-accent`: color for most conformation buttons, links, etc
82
+
-`$eccgui-color-accent-contrast`: readable text color used on accent color areas
83
+
-`$eccgui-color-applicationheader-text`
84
+
-`$eccgui-color-applicationheader-background`
85
+
-`$eccgui-color-workspace-text`
86
+
-`$eccgui-color-workspace-background`
87
+
88
+
#### Sizes
89
+
90
+
-`$eccgui-size-typo-base`: size including absolute unit, currently only `px` is supported
91
+
-`$eccgui-size-typo-base-lineheight`: only ratio to font size, no unit!
92
+
-`$eccgui-size-type-levelratio`: ratio without unit! used to calculate different text sizes based on `$eccgui-size-typo-base`
93
+
-`$eccgui-size-block-whitespace`: white space between block level elements, currently only `px` is supported
0 commit comments