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
+102-4Lines changed: 102 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,37 +6,133 @@ 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
+
9
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.
10
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
+
11
19
### Added
12
20
21
+
-`<ChatContent />`
22
+
- displays single chat contents in a bubble, including options to add status line and avatar
23
+
-`<ChatContentCollapsed />`
24
+
- can collapse (and expand) `<ChatContent />` automatically for convenience
25
+
-`<ChatField />`
26
+
- let the user input texts, calls `onSubmit` handler on enter key and submit button
27
+
-`<ChatArea />`
28
+
- combine a list of chat contents and user input box
29
+
-`<TextReducer />`
30
+
- reduces HTML to simple text and can display it as one ellipsed line
31
+
-`<Tooltip />`
32
+
- prove useage of `usePlaceholder` by jest test coverage
13
33
-`<EdgeStraight />`
14
34
- it's basically `<EdgeDefault />` without any special configs
15
35
-`<EdgeBezier />`
16
36
- only supported for v12, in v9 as straight edge is used
17
37
- use `curvature` property in the edge `data` object to define the bezier layout (0..1, default: 0.25)
18
38
-`<EdgeDefaultV12 />`
19
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 />`
20
42
-`<EdgeNew />`
21
43
- component for React Flow v12, displaying new connection lines
22
44
-`<VisualTour />`
23
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
24
84
25
85
### Removed
26
86
27
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
28
109
29
110
### Fixed
30
111
31
-
-`<Modal />`:
32
-
-Add 'nopan', 'nowheel' and 'nodrag' classes to Modal's overlay classes in order to always prevent react-flow to react to drag and pan actions in modals.
112
+
-`<CodeAutocompleteField />`:
113
+
-In multiline mode, validation errors might be highlighted incorrectly (relative line offset added).
33
114
34
115
### Changed
35
116
36
117
-`<EdgeDefault />` and `<EdgeStep />`
37
118
- support now v9 and v12 of react flow
38
119
-`<ReactFlowExtended />`
39
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
40
136
41
137
### Deprecated
42
138
@@ -263,6 +359,8 @@ If you use Jest then you can use the same aliases for the `moduleNameMapper` con
263
359
- use always `<Label/>` component for `label` value
264
360
-`<StickyNoteNode />`
265
361
- Refactored data structure position and dimension (breaking change)
362
+
-`<MiniMap />`
363
+
- component supports now React Flow v9 and v12
266
364
267
365
### Deprecated
268
366
@@ -462,8 +560,6 @@ This is a major release, and it might be not compatible with your current usage
462
560
-`<MultiSuggestField />`
463
561
- Updated the interface with the ability to use either `selectedItems` or `prePopulateWithItems` properties, which is more logical.
464
562
- Fixed deferred `selectedItems` setting.
465
-
-`<StickyNoteModal/>`
466
-
- static test id `data-test-id="sticky-note-modal"` will be removed with next major version
467
563
-`<BreadcrumbsList />`
468
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
469
565
-`<Depiction />`
@@ -490,6 +586,8 @@ This is a major release, and it might be not compatible with your current usage
490
586
491
587
-`<TextArea />`
492
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
47
94
48
95
## Development
49
96
@@ -125,7 +172,7 @@ After you tested the GUI elements package locally you can Clean up your applicat
125
172
3. Pull request from release branch into `main` need to be approved
126
173
- then ["Publish: final release "](https://github.com/eccenca/gui-elements/actions/workflows/publish-final-release.yml) can be used on `main` (or `next` and `legacy`) to publish final release packages
127
174
- another PR is automatically created for changes done during publishing process
0 commit comments