Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
e6f74ca
Prepare release v25.0.0
haschek Oct 21, 2025
8d365d8
improve changelog messages
haschek Oct 21, 2025
b737d88
fix vertical alignment of icon buttons and context menu in chat field
haschek Oct 22, 2025
f69a573
use color var for textfield bg color
haschek Oct 22, 2025
4999562
swap colors for linking and transform node in workflow editor
haschek Oct 22, 2025
1177cc0
add missing styles for icon intent states
haschek Oct 22, 2025
8451e50
make icon overview at least searchable by browser text search functio…
haschek Oct 22, 2025
0e7f782
add taggle icons for caret arrows and microphone states
haschek Oct 22, 2025
6c286d5
Support tracking of Modal open/close states
andreas-schultz Oct 24, 2025
9003cf4
Change modal open property in modal context to open modal stack
andreas-schultz Oct 24, 2025
8196012
fix display of markdown generated code snippet in notification body
haschek Oct 27, 2025
b48de34
add petrol to color palette
haschek Oct 28, 2025
bf22d7f
fix tag color weights and improve calculation process for intent stat…
haschek Oct 28, 2025
0a6f453
fix color of default nodes on minimap
haschek Oct 28, 2025
a665e99
improve color configurations to keep it closer to the former colors
haschek Oct 28, 2025
3dcd54c
adjust visibility of react flow background patterns
haschek Oct 28, 2025
590a9ca
fix css custom property name of replaceable input color
haschek Oct 28, 2025
5587ff3
added the right dependencies
arausly Oct 28, 2025
836a88a
Make react-flow prevent-event classes configurable in Modal (default …
andreas-schultz Oct 29, 2025
f727ac1
Add story for modal context and open/closed state tracking with neste…
andreas-schultz Oct 29, 2025
b8b965f
Merge branch 'release/v25.0.0' into fix/reactFlowModal-MT-30
andreas-schultz Oct 29, 2025
17a0bd1
align Button intent states visually with intent states of other compo…
haschek Oct 29, 2025
d2ba0b1
extend info re Button intent change
haschek Oct 30, 2025
dc4235c
fix button usage in storybook
haschek Oct 30, 2025
abf9c05
fix property descriptions
haschek Oct 30, 2025
a0bac96
align Spinner intent display with other components
haschek Oct 30, 2025
90d145d
Merge branch 'release/v25.0.0' into fix/hotkeysDuringDialog-CMEM-6851
andreas-schultz Oct 30, 2025
054e91d
make tag borders more visible
haschek Oct 30, 2025
2dee28e
Align preventReactFlowEvents default value (true) in Modal and Simple…
andreas-schultz Oct 30, 2025
a5949e8
Merge pull request #346 from eccenca/fix/resizingValueFormularEditorBug
haschek Oct 30, 2025
0359afb
Merge pull request #348 from eccenca/fix/reactFlowModal-MT-30
haschek Oct 30, 2025
3ab0078
Merge remote-tracking branch 'origin/release/v25.0.0' into fix/hotkey…
haschek Oct 30, 2025
d435281
update changelog
haschek Oct 30, 2025
c0b6276
fix button colors on active, disabled, hovered states combined with t…
haschek Oct 30, 2025
bbdea91
make intent available easily on ProgressBar storybook example
haschek Oct 30, 2025
8976ff8
Use explicit portal element under body element for nested modals
andreas-schultz Oct 30, 2025
c3525ec
fix export of ModalContext
haschek Oct 30, 2025
1d4f034
improve display of ModalContext example
haschek Oct 30, 2025
96f58c4
add simple example as comment
haschek Nov 3, 2025
9ec51f2
Merge remote-tracking branch 'origin/release/v25.0.0' into fix/hotkey…
haschek Nov 3, 2025
3a74d9f
swap colors
haschek Nov 3, 2025
e091987
Merge pull request #345 from eccenca/fix/hotkeysDuringDialog-CMEM-6851
haschek Nov 3, 2025
1467348
display icons in custom edge labels
haschek Nov 3, 2025
1c92ece
do not use random id to prevent changes in the visual storybook tests
haschek Nov 3, 2025
f5f381f
add text reducer to replace extra characters
arausly Nov 4, 2025
4487c8e
modified textreducer
arausly Nov 4, 2025
b497b1d
moved utility and made refactors
arausly Nov 5, 2025
40d263c
Refactor modal context
andreas-schultz Nov 5, 2025
9437f60
Merge pull request #350 from eccenca/fix/modalContext
haschek Nov 6, 2025
4a0ee46
Merge remote-tracking branch 'origin/release/v25.0.0' into fix/taskPa…
haschek Nov 6, 2025
bcc7def
improve changelog info
haschek Nov 6, 2025
16de95b
define properties only 1 time and reuse them
haschek Nov 6, 2025
375c832
Merge pull request #349 from eccenca/fix/taskParameterDescNotRendered…
haschek Nov 6, 2025
7e73b03
Fix simpleDialogProps parameter in StickyNoteModal
andreas-schultz Nov 7, 2025
0daef82
Merge pull request #352 from eccenca/fix/stickyNoteModal
arausly Nov 7, 2025
1a729b8
add short delay before the context overlay placeholder is replaced by…
haschek Nov 10, 2025
2956b38
lighten success color a bit to make it more distinct from text color …
haschek Nov 11, 2025
b16dd3b
use variables for edge rules and allow anti-aliasing
haschek Nov 11, 2025
f816978
added more icons
arausly Nov 12, 2025
9494496
added change log
arausly Nov 12, 2025
adf561e
Merge pull request #353 from eccenca/feature/createMissingIconsForBui…
andreas-schultz Nov 13, 2025
22223c5
fix auto-coloring of buttons in notifications
haschek Nov 13, 2025
0117685
add new icons for togglers and states
haschek Nov 17, 2025
35a0eed
add more icons
haschek Nov 17, 2025
3504352
removed plugin to allow md expectations
arausly Nov 18, 2025
a76f626
switch arrow direction for asc/desc sort icon
haschek Nov 18, 2025
1b14a61
update jest package
haschek Nov 18, 2025
2db3b63
improve changelog, add section about migration to new major version
haschek Nov 18, 2025
703e665
fix test id usage
haschek Nov 20, 2025
0b388f9
improve placeholder replacement for click events on context overlays
haschek Nov 20, 2025
55f0a35
fix test for click on ContexMenu with active placeholder
haschek Nov 20, 2025
bc26ab9
add suggested code improvements
haschek Nov 24, 2025
77cbccc
add suggested code improvements
haschek Nov 24, 2025
9e02e77
stop click event because it is triggered again after replacement
haschek Nov 24, 2025
bced125
correct typos and clarify some information
haschek Nov 25, 2025
14f4cf6
improve ModalContext example
haschek Nov 25, 2025
14eb384
remove wrong example string
haschek Nov 25, 2025
d6a63d3
add library to en/decode HTML entities
haschek Nov 26, 2025
329461b
add decode utility method and use it as an option for the reduceToTex…
haschek Nov 26, 2025
2ee960f
fix overwriting default options for decoding and add tests
haschek Nov 26, 2025
4f9c67b
fix some typos
haschek Nov 26, 2025
4125ac2
Merge pull request #355 from eccenca/feature/contextOverlayImprovePla…
haschek Nov 26, 2025
be337c3
Clean up test
andreas-schultz Nov 27, 2025
2ccdec0
Merge pull request #358 from eccenca/feature/provideHtmlEntitiesDecod…
andreas-schultz Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 52 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p

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.

### Migration from v24 to v25

- 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
- 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`
- 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`

### Added

- `<ChatContent />`
Expand Down Expand Up @@ -35,24 +41,48 @@ This is a major release, and it might be not compatible with your current usage
- component for React Flow v12, displaying new connection lines
- `<VisualTour />`
- component to display a visual tour multi-step tour of the current view
- new color palette that includes 4 sections with 20+ color tints in 5 weights each
- indentity, semantic, layout, extra
- managed via CSS custom properties
- see `README.md` for inf about usage
- `<Button />`
- `accent` value for `intent` was added to align property with other components
- `<Spinner />`
- `accent` value for `intent` was added to align property with other components
- `elevated` property can be used to highlight the spinner, currently the `intent="accent"` display is used
- `<Modal />`:
- Add `ModalContext` to track open/close state of all used application modals.
- Add `modalId` property to give a modal a unique ID for tracking purposes.
- `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.
- new `utils` methods
- `colorCalculateDistance()`: calculates the difference between 2 colors using the simple CIE76 formula
- `textToColorHash()`: calculates a color from a text string
- `reduceToText`: shrinks HTML content and React elements to plain text, used for `<TextReducer />`
- `decodeHtmlEntities`: decode a string of HTML text, map HTML entities back to UTF-8 chars
- SCSS color functions
- `eccgui-color-var`: returns a var of a custom property used for palette color
- `eccgui-color-mix`: mix 2 colors in `srgb`, works with all types of color values and CSS custom properties
- `eccgui-color-rgba`: like `rgba()` but it works also for CSS custom properties
- `colorCalculateDistance()`
- function to calculate the difference between 2 colors using the simple CIE76 formula
- `textToColorHash()`
- function to calculate a color from a text string
- new icons
- Color palette: includes 4 sections with 20+ color tints in 5 weights each
- indentity, semantic, layout, extra
- managed via CSS custom properties
- see `README.md` for more information about usage
- New icons
- `artefact-task-sqlupdatequeryoperator`
- `artefact-task-customsqlexecution`
- `item-legend`
- `operation-tour`
- `toggler-carettop`
- `toggler-caretleft`
- `toggler-micon`
- `toggler-micoff`
- `toggler-radio`
- `toggler-radio-checked`
- `state-flagged`
- `state-progress`
- `state-progress-error`
- `state-progress-warning`
- more icons for build tasks

### Removed

- support for React Flow v10 was completely removed
- removed direct replacements for legacy components (imported via `@eccenca/gui-elements/src/legacy-replacements` or `LegacyReplacements`)
- `<AffirmativeButton />`, `<Button />`, `<DismissiveButton />`, `<DisruptiveButton />`, `<Checkbox />`, `<RadioButton />`, `<Tabs />`, `<TextField />`
- `<Button />`, `<FieldItem />`, `<FieldSet />`, `<MultiSuggestField />`
Expand All @@ -65,20 +95,18 @@ This is a major release, and it might be not compatible with your current usage
- `densityHigh` property was removed
- `<CodeEditor />`
- static fallback for test id `codemirror-wrapper` was removed, add `data-test-id` (or your test id data attribute) always directly to `CodeEditor`.
- `nodeTypes` and `edgeTypes` exports were removed
- use `<ReactFlow/` with `configuration`, or define it yourself
- SCSS variables `$eccgui-color-application-text` and `$eccgui-color-application-background` were removed
- use `$eccgui-color-workspace-text` and `$eccgui-color-workspace-background`
- support for React Flow v10 was completely removed
- `<EdgeDefault />`
- removed `inversePath` property, can be replaced with `arrowDirection: "inversed"` property
- `<Spinner />`
- `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
- `nodeTypes` and `edgeTypes` exports were removed
- use `<ReactFlow />` with `configuration`, or define it yourself
- SCSS variables `$eccgui-color-application-text` and `$eccgui-color-application-background` were removed
- use `$eccgui-color-workspace-text` and `$eccgui-color-workspace-background`
- Removed `remark-typograf` plugin from `<Markdown />` rendering to maintain display expectation

### Fixed

- `<Modal />`:
- 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.
- `<CodeAutocompleteField />`:
- In multiline mode, validation errors might be highlighted incorrectly (relative line offset added).

Expand All @@ -93,17 +121,22 @@ This is a major release, and it might be not compatible with your current usage
- `<OverflowText />`
- beside explicitly specified properties it allows only basic HTML element properties and testing IDs
- overrite the native SCSS `rgba()` function, so it now works for SCSS color values and CSS custom properties
- `getColorConfiguration()` works with CSS custom properties
- `<SuggestField />`
- Always add class 'nodrag' to popover content element to always prevent dragging of react-flow and dnd-kit elements when interacting with the component.
- `utils.getColorConfiguration()` works with CSS custom properties
- property names returned by `getColorConfiguration` were changed to kebab case because they are originally defined via CSS custom properties
- e.g. `graphNode` is now `eccgui-graph-node` and `graphNodeBright` is `eccgui-graph-node-bright`
- `<Button />` and `<IconButton />`
- `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
- `<Spinner />`
- `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
- icons: arrow directions for `list-sortasc` and `list-sortdesc` were switched, up arrow is now used for ascending sort

### Deprecated

- support for React Flow v9 will be removed in v26
- `<EdgeDefs />`
- use `<ReactFlowMarkers />` or build it on single `<ReactFlowMarker />`
- property names returned by `getCOlorConfiguration` were changed to kebab case because they are originally defined via CSS custom properties
- e.g. `graphNode` is now `eccgui-graph-node` and `graphNodeBright` is `eccgui-graph-node-bright`

## [24.4.1] - 2025-08-25

Expand Down
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@eccenca/gui-elements",
"description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
"version": "24.4.1",
"version": "25.0.0",
"license": "Apache-2.0",
"homepage": "https://github.com/eccenca/gui-elements",
"bugs": "https://github.com/eccenca/gui-elements/issues",
Expand Down Expand Up @@ -87,6 +87,7 @@
"codemirror": "^6.0.1",
"color": "^4.2.3",
"compute-scroll-into-view": "^3.1.1",
"he": "^1.2.0",
"jshint": "^2.13.6",
"lodash": "^4.17.21",
"n3": "^1.25.1",
Expand Down Expand Up @@ -134,6 +135,7 @@
"@testing-library/react": "^12.1.5",
"@types/codemirror": "^5.60.15",
"@types/color": "^3.0.6",
"@types/he": "^1.2.3",
"@types/jest": "^29.5.14",
"@types/jshint": "^2.12.4",
"@types/lodash": "^4.17.16",
Expand All @@ -150,8 +152,8 @@
"eslint-plugin-simple-import-sort": "^12.1.1",
"husky": "4",
"identity-obj-proxy": "^3.0.0",
"jest": "^30.0.5",
"jest-environment-jsdom": "^30.0.5",
"jest": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
"jest-pnp-resolver": "^1.2.3",
"lint-staged": "^15.5.1",
"node-sass-package-importer": "^5.3.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,4 @@ function firstNonEmptyLine(preview: string) {

export const stringPreviewContentBlobTogglerUtils = {
firstNonEmptyLine,
};
};
3 changes: 1 addition & 2 deletions src/cmem/markdown/Markdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import React from "react";
import ReactMarkdown from "react-markdown";
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
// @ts-ignore: No declaration file for module (TODO: should be @ts-expect-error but GUI elements is used inside project with `noImplicitAny=false`)
import remarkTypograf from "@mavrin/remark-typograf";
import rehypeExternalLinks from "rehype-external-links";
import rehypeRaw from "rehype-raw";
import { remarkDefinitionList } from "remark-definition-list";
Expand Down Expand Up @@ -55,7 +54,7 @@ const configDefault = {
@see https://github.com/remarkjs/react-markdown#api
*/
// @see https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins
remarkPlugins: [remarkGfm, remarkTypograf, remarkDefinitionList] as PluggableList,
remarkPlugins: [remarkGfm, remarkDefinitionList] as PluggableList,
// @see https://github.com/rehypejs/rehype/blob/main/doc/plugins.md#list-of-plugins
rehypePlugins: [] as PluggableList,
allowedElements: [
Expand Down
2 changes: 1 addition & 1 deletion src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export interface StickyNoteModalProps {
/**
* Forward other properties to the `SimpleModal` element that is used for this dialog.
*/
simpleDialogProps?: Omit<SimpleDialogProps, "size" | "title" | "hasBorder" | "isOpen" | "onClose" | "actions">;
simpleDialogProps?: Omit<SimpleDialogProps, "size" | "title" | "hasBorder" | "isOpen" | "onClose" | "actions" | "children">;
/**
* Code editor props
*/
Expand Down
10 changes: 10 additions & 0 deletions src/cmem/react-flow/_minimap.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
.#{$eccgui}-graphviz__minimap__node--default {
&:not([fill]) {
fill: $reactflow-node-border-color;
}

&:not([stroke]) {
stroke: $reactflow-node-border-color;
}
}

@mixin mapnodestyles($type) {
.#{$eccgui}-graphviz__minimap__node--#{$type} {
@include mapcoloring($type);
Expand Down
24 changes: 12 additions & 12 deletions src/cmem/react-flow/configuration/_colors-graph.scss
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
.#{$eccgui}-configuration--colors__react-flow-graph {
--#{$eccgui}-graph-node: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-graph-node-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-class-node: #{eccgui-color-var("layout", "magenta", 900)};
--#{$eccgui}-class-node-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-instance-node: #{eccgui-color-var("layout", "magenta", 500)};
--#{$eccgui}-instance-node-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-graph-node: #{eccgui-color-var("layout", "magenta", 900)};
--#{$eccgui}-graph-node-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-class-node: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-class-node-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-instance-node: #{eccgui-color-var("layout", "purple", 500)};
--#{$eccgui}-instance-node-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-property-node: #{eccgui-color-var("layout", "teal", 700)};
--#{$eccgui}-property-node-bright: #{eccgui-color-var("layout", "teal", 100)};
--#{$eccgui}-implicit-edge: #{eccgui-color-var("identity", "text", 700)};
--#{$eccgui}-implicit-edge-bright: #{eccgui-color-var("identity", "text", 100)};
--#{$eccgui}-import-edge: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-import-edge-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-subclass-edge: #{eccgui-color-var("layout", "magenta", 900)};
--#{$eccgui}-subclass-edge-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-import-edge: #{eccgui-color-var("layout", "magenta", 900)};
--#{$eccgui}-import-edge-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-subclass-edge: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-subclass-edge-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-subproperty-edge: #{eccgui-color-var("layout", "teal", 700)};
--#{$eccgui}-subproperty-edge-bright: #{eccgui-color-var("layout", "teal", 100)};
--#{$eccgui}-rdftype-edge: #{eccgui-color-var("layout", "magenta", 500)};
--#{$eccgui}-rdftype-edge-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-rdftype-edge: #{eccgui-color-var("layout", "purple", 500)};
--#{$eccgui}-rdftype-edge-bright: #{eccgui-color-var("layout", "purple", 100)};
}
16 changes: 8 additions & 8 deletions src/cmem/react-flow/configuration/_colors-linking.scss
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
.#{eccgui}-configuration--colors__react-flow-linking {
--#{$eccgui}-sourcepath-node: #{eccgui-color-var("layout", "violet", 700)};
--#{$eccgui}-sourcepath-node-bright: #{eccgui-color-var("layout", "violet", 100)};
--#{$eccgui}-targetpath-node: #{eccgui-color-var("layout", "cyan", 900)};
--#{$eccgui}-targetpath-node-bright: #{eccgui-color-var("layout", "cyan", 100)};
--#{$eccgui}-sourcepath-node: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-sourcepath-node-bright: #{eccgui-color-var("layout", "purple", 300)};
--#{$eccgui}-targetpath-node: #{eccgui-color-var("layout", "petrol", 700)};
--#{$eccgui}-targetpath-node-bright: #{eccgui-color-var("layout", "petrol", 300)};
--#{$eccgui}-transformation-node: #{eccgui-color-var("layout", "pink", 700)};
--#{$eccgui}-transformation-node-bright: #{eccgui-color-var("layout", "pink", 100)};
--#{$eccgui}-transformation-node-bright: #{eccgui-color-var("layout", "pink", 300)};
--#{$eccgui}-comparator-node: #{eccgui-color-var("layout", "teal", 700)};
--#{$eccgui}-comparator-node-bright: #{eccgui-color-var("layout", "teal", 100)};
--#{$eccgui}-comparator-node-bright: #{eccgui-color-var("layout", "teal", 300)};
--#{$eccgui}-aggregator-node: #{eccgui-color-var("layout", "cyan", 700)};
--#{$eccgui}-aggregator-node-bright: #{eccgui-color-var("layout", "cyan", 100)};
--#{$eccgui}-value-edge: #{eccgui-color-var("layout", "grey", 700)};
--#{$eccgui}-value-edge-bright: #{eccgui-color-var("layout", "grey", 100)};
--#{$eccgui}-value-edge-bright: #{eccgui-color-var("layout", "grey", 300)};
--#{$eccgui}-score-edge: #{eccgui-color-var("layout", "cyan", 900)};
--#{$eccgui}-score-edge-bright: #{eccgui-color-var("layout", "cyan", 100)};
--#{$eccgui}-score-edge-bright: #{eccgui-color-var("layout", "cyan", 300)};
}
22 changes: 11 additions & 11 deletions src/cmem/react-flow/configuration/_colors-workflow.scss
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
.#{$eccgui}-configuration--colors__react-flow-workflow {
--#{$eccgui}-project-node: #{eccgui-color-var("layout", "magenta", 700)};
--#{$eccgui}-project-node-bright: #{eccgui-color-var("layout", "magenta", 100)};
--#{$eccgui}-dataset-node: #{eccgui-color-var("layout", "cyan", 900)};
--#{$eccgui}-dataset-node-bright: #{eccgui-color-var("layout", "cyan", 100)};
--#{$eccgui}-linking-node: #{eccgui-color-var("layout", "teal", 900)};
--#{$eccgui}-linking-node-bright: #{eccgui-color-var("layout", "teal", 100)};
--#{$eccgui}-transform-node: #{eccgui-color-var("layout", "pink", 700)};
--#{$eccgui}-transform-node-bright: #{eccgui-color-var("layout", "pink", 100)};
--#{$eccgui}-project-node-bright: #{eccgui-color-var("layout", "magenta", 300)};
--#{$eccgui}-dataset-node: #{eccgui-color-var("layout", "petrol", 700)};
--#{$eccgui}-dataset-node-bright: #{eccgui-color-var("layout", "petrol", 300)};
--#{$eccgui}-linking-node: #{eccgui-color-var("layout", "cyan", 700)};
--#{$eccgui}-linking-node-bright: #{eccgui-color-var("layout", "cyan", 300)};
--#{$eccgui}-transform-node: #{eccgui-color-var("layout", "teal", 700)};
--#{$eccgui}-transform-node-bright: #{eccgui-color-var("layout", "teal", 300)};
--#{$eccgui}-task-node: #{eccgui-color-var("layout", "lime", 700)};
--#{$eccgui}-task-node-bright: #{eccgui-color-var("layout", "lime", 100)};
--#{$eccgui}-task-node-bright: #{eccgui-color-var("layout", "lime", 300)};
--#{$eccgui}-workflow-node: #{eccgui-color-var("layout", "purple", 700)};
--#{$eccgui}-workflow-node-bright: #{eccgui-color-var("layout", "purple", 100)};
--#{$eccgui}-replaceableInput: #{eccgui-color-var("layout", "amber", 700)};
--#{$eccgui}-replaceableInput-bright: #{eccgui-color-var("layout", "amber", 100)};
--#{$eccgui}-workflow-node-bright: #{eccgui-color-var("layout", "purple", 300)};
--#{$eccgui}-replaceable-input: #{eccgui-color-var("layout", "amber", 700)};
--#{$eccgui}-replaceable-input-bright: #{eccgui-color-var("layout", "amber", 300)};
}
6 changes: 6 additions & 0 deletions src/common/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { decode } from "he";

import { invisibleZeroWidthCharacters } from "./utils/characters";
import { colorCalculateDistance } from "./utils/colorCalculateDistance";
import decideContrastColorValue from "./utils/colorDecideContrastvalue";
Expand All @@ -6,6 +8,8 @@ import getColorConfiguration from "./utils/getColorConfiguration";
import { getScrollParent } from "./utils/getScrollParent";
import { getGlobalVar, setGlobalVar } from "./utils/globalVars";
import { openInNewTab } from "./utils/openInNewTab";
import { reduceToText } from "./utils/reduceToText";
export type { DecodeOptions as DecodeHtmlEntitiesOptions } from "he";
export type { IntentTypes as IntentBaseTypes } from "./Intent";

export const utils = {
Expand All @@ -19,4 +23,6 @@ export const utils = {
getScrollParent,
getEnabledColorsFromPalette,
textToColorHash,
reduceToText,
decodeHtmlEntities: decode,
};
5 changes: 5 additions & 0 deletions src/common/scss/_color-functions.scss
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,11 @@
* Created to replace them easily for CSS custom properties.
*/
@function eccgui-color-rgba($color, $alpha) {
@if meta.type-of($alpha) != "number" {
// in case it is for example a CSS custom property
@return eccgui-color-mix($color $alpha, transparent);
}

@if $alpha > 0 {
@return eccgui-color-mix($color 100% * $alpha, transparent);
} @else {
Expand Down
Loading