@eccenca/gui-elements 26.0.0-rc.0 → 26.0.0-rc.1

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.
package/CHANGELOG.md CHANGED
@@ -6,11 +6,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- 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.
9
+ This is a major release, and it might not be compatible with your current usage of our library. Please read about the necessary changes in the migration section below.
10
10
 
11
- ### Migration from v24 to v25
11
+ ### Migration from v25 to v26
12
12
 
13
- - 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
13
+ - remove deprecated components, properties and imports from your project; if the info cannot be found here, it was already mentioned in the **Deprecated** sections of past changelogs
14
14
  - apply changes mentioned in the **Changed** subsection
15
15
 
16
16
  ### Added
@@ -22,52 +22,56 @@ This is a major release, and it might be not compatible with your current usage
22
22
  - `<ContextMenu />`
23
23
  - `togglerSize`: replaces the deprecated `togglerLarge` property
24
24
  - `<MultiSelect />`
25
- - `searchListPredicate` property: Allows to filter the complete list of search options at once.
26
- - Following optional BlueprintJs properties are forwarded now to override default behaviour: `noResults`, `createNewItemRenderer` and `itemRenderer`
27
- - `isValidNewOption` property: Checks if an input string is or can be turned into a valid new option.
25
+ - `searchListPredicate` property: allows filtering of the complete list of search options at once
26
+ - the following optional BlueprintJS properties are now forwarded to override default behaviour: `noResults`, `createNewItemRenderer` and `itemRenderer`
27
+ - `isValidNewOption` property: checks if an input string is or can be turned into a valid new option
28
28
 
29
29
  ### Fixed
30
30
 
31
31
  - `<MultiSelect />`
32
32
  - border of the BlueprintJS `Tag` elements were fixed
33
+ - `<CodeEditor />`
34
+ - `readOnly` appearance uses same borders like read-only text fields and it does not display a blinking cursor
35
+ - `<Button />`, `<IconButton />`
36
+ - outlines for focus by keyboard navigation are better recognizable on buttons with colored backgrounds (intent states)
33
37
 
34
38
  ### Changed
35
39
 
36
40
  - **React and its types were updated to v18, so you may hit incompatibilities if you run it with React 16 or 17.**
37
41
  - `color` library was upgraded from v4 to v5, so the types changed
38
- - if you forward properties then they cannot have `Color` as type, use `ColorLike`
42
+ - if you forward properties, they can no longer have `Color` as their type; use `ColorLike` instead
39
43
  - `@blueprintjs/core` library was updated to v6
40
- - if you use an explicit BlueprintJS import in your project you need to set `"@blueprintjs/core": "6.8.1"` and `"@blueprintjs/select": "6.1.1"`
44
+ - if you use an explicit BlueprintJS import in your project, you need to set `"@blueprintjs/core": "6.8.1"` and `"@blueprintjs/select": "6.1.1"`
41
45
  - you may need to update class names in your tests (the new prefix is `bp6-`)
42
46
  - `Toaster.create` is now an async function
43
47
  - `<MultiSelect />`
44
- - by default, if no searchPredicate or searchListPredicate is defined, the filtering is done via case-insensitive multi-word filtering.
48
+ - by default, if no `searchPredicate` or `searchListPredicate` is defined, the filtering is done via case-insensitive multi-word matching
45
49
 
46
50
  ### Deprecated
47
51
 
48
- - support for React Flow v9 is extended, but will be removed in v27
52
+ - support for React Flow v9 is retained for now, but will be removed in v27
49
53
  - `<ContextMenu />`
50
54
  - `togglerLarge`: replaced by the more versatile `togglerSize` property
51
55
  - `<MultiSelect />`
52
- - `searchPredicate`: replaced by the -- in some cases -- more efficient `searchListPredicate`
56
+ - `searchPredicate`: replaced by `searchListPredicate`, which is more efficient in some cases
53
57
 
54
58
  ### Removed
55
59
 
56
- - renamed react flow types and components, use the new names directly:
60
+ - renamed React Flow types and components; use the new names directly:
57
61
  - `NodeContentHandleProps`: use `HandleDefaultProps`
58
62
  - `ReactFlow`: use `ReactFlowExtended`
59
- - `MiniMapV9Props`, `MiniMapV9`, `MiniMapV12Props` and `MiniMapV12`: use `MiniMapProps` and `MiniMap`, use `flowVersion` if the React Flow version is not recognized automatically
63
+ - `MiniMapV9Props`, `MiniMapV9`, `MiniMapV12Props` and `MiniMapV12`: use `MiniMapProps` and `MiniMap`; use `flowVersion` if the React Flow version is not recognized automatically
60
64
  - `EdgeDefaultV9` and `EdgeDefaultV12`: use `EdgeDefault`
61
65
  - `EdgeDefs`: use `ReactFlowMarkers`
62
66
  - `autoCompleteFieldUtils`: use `suggestFieldUtils`
63
67
  - `CodeMirror.outerDivAttributes`: use all properties directly on `CodeEditor`
64
68
  - `MultiSuggestField.ofType`: use `<MultiSuggestField<TYPE>>`
65
69
  - `StringPreviewContentBlobToggler.firstNonEmptyLineOnly`: use `useOnly="firstNonEmptyLine"`
66
- - color configuration is not possible anymore via previously used SCSS variables
70
+ - color configuration is no longer possible via the previously used SCSS variables
67
71
  - `$eccgui-color-primary`, `$eccgui-color-primary-contrast`, `$eccgui-color-accent`, `$eccgui-color-accent-contrast`,
68
72
  `$eccgui-color-success-text`, `$eccgui-color-success-background`, `$eccgui-color-info-text`, `$eccgui-color-info-background`,
69
73
  `$eccgui-color-warning-text`, `$eccgui-color-warning-background`, `$eccgui-color-danger-text`, `$eccgui-color-danger-background`
70
- - use `$eccgui-color-palette-light` now
74
+ - use `$eccgui-color-palette-light` instead
71
75
 
72
76
  ## [25.2.0] - 2026-04-30
73
77
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eccenca/gui-elements",
3
3
  "description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
4
- "version": "26.0.0-rc.0",
4
+ "version": "26.0.0-rc.1",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/eccenca/gui-elements",
7
7
  "bugs": "https://github.com/eccenca/gui-elements/issues",
@@ -116,6 +116,11 @@ $button-intents: (
116
116
  @include pt-button-intent(map.get($button-intents, $intentvalue)...);
117
117
  }
118
118
 
119
+ &:focus-visible {
120
+ box-shadow: inset 0 0 0 $eccgui-size-inline-whitespace * 0.6
121
+ #{eccgui-color-var("identity", "background", "100")} !important;
122
+ }
123
+
119
124
  &.#{$ns}-minimal,
120
125
  &.#{$ns}-outlined {
121
126
  color: list.nth(map.get($button-intents, $intentvalue), 1);
@@ -55,6 +55,12 @@ svg.#{$eccgui}-icon {
55
55
  & > .#{$eccgui}-tooltip__wrapper + .#{$ns}-button-text {
56
56
  margin-left: 0;
57
57
  }
58
+
59
+ &[class*="#{$ns}-intent-"] {
60
+ .#{$eccgui}-tooltip__wrapper [tabindex="0"] {
61
+ outline-color: currentcolor;
62
+ }
63
+ }
58
64
  }
59
65
 
60
66
  .#{$eccgui}-menu__item {
@@ -64,6 +64,18 @@ $eccgui-size-codeeditor-toolbar-height: $button-height !default;
64
64
  padding: 0;
65
65
  }
66
66
 
67
+ &:has(.cm-content[aria-readonly="true"]) {
68
+ box-shadow: inset 0 0 0 1px $pt-divider-black;
69
+
70
+ &:focus {
71
+ box-shadow: input-transition-shadow($input-shadow-color-focus, true), $input-box-shadow-focus;
72
+ }
73
+
74
+ .cm-cursor {
75
+ display: none;
76
+ }
77
+ }
78
+
67
79
  &[class*="#{$eccgui}-intent--"] {
68
80
  animation-duration: 1s;
69
81
  animation-delay: 0.5s;