Skip to content

Commit 61f255d

Browse files
authored
Merge pull request #393 from eccenca/feature/maintainLibraries-CMEM-7611
Maintain libraries (CMEM-7611)
2 parents 0944549 + 8a7b54e commit 61f255d

140 files changed

Lines changed: 3557 additions & 3071 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,6 @@ launch.json
6161
storybook-static
6262
//jest
6363
.jest-test-results.json
64+
65+
# ignore Typescript assets
66+
*.tsbuildinfo

.typescript/tsbuild-esm.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
{
22
"extends": "./../tsconfig.json",
33
"compilerOptions": {
4-
"lib": ["dom", "dom.iterable", "es2015", "es2020", "es2021", "es2022.intl", "es2015.collection", "es2015.iterable"],
4+
"lib": [
5+
"dom",
6+
"dom.iterable",
7+
"es2015",
8+
"es2020",
9+
"es2021",
10+
"es2022.intl",
11+
"es2015.collection",
12+
"es2015.iterable"
13+
],
514
"module": "es2015",
615
"target": "es5",
716
"noEmit": false,

CHANGELOG.md

Lines changed: 980 additions & 978 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ yarn add --dev @types/carbon-components-react
2222

2323
### Inclusion
2424

25-
- To include SCSS styles for all basic components add `@import "~@eccenca/gui-elements/index";` into your main SCSS file.
26-
- To use extensions and special Corporate Memory components the include of `@eccenca/gui-elements/extensions` and `@eccenca/gui-elements/cmem` is necessary
27-
- To include only the default configuration add `@import "~@eccenca/gui-elements/src/configuration/variables;` into your SCSS file.
25+
- To include SCSS styles for all basic components add `@import "~@eccenca/gui-elements/index";` into your main SCSS file.
26+
- To use extensions and special Corporate Memory components the include of `@eccenca/gui-elements/extensions` and `@eccenca/gui-elements/cmem` is necessary
27+
- To include only the default configuration add `@import "~@eccenca/gui-elements/src/configuration/variables;` into your SCSS file.
2828

2929
### Configuration
3030

@@ -76,40 +76,40 @@ All palette colors will be transformed into CSS custom properties automatically
7676

7777
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.
7878

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

8888
#### Sizes
8989

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

9595
## Development
9696

9797
### Branch management
9898

9999
We have 4 types of major branches representing the current state:
100100

101-
- `main`: contains the latest official release, only `release/*` branches will be merged into this branch
102-
- `develop`: contains the latest state of development, `feature/*`, `bugfix/*` and `next` branches will be merged into `develop`
103-
- `next`: development tree for an upcoming new major version, it will be merged into `develop` at some point, `feature/*`, `bugfix/*` and `release/*` branches will be merged into it
104-
- `legacy`: development tree for the predecessor of the current major version, only `bugfix/*` and `hotfix/*` branches will be merged into it
101+
- `main`: contains the latest official release, only `release/*` branches will be merged into this branch
102+
- `develop`: contains the latest state of development, `feature/*`, `bugfix/*` and `next` branches will be merged into `develop`
103+
- `next`: development tree for an upcoming new major version, it will be merged into `develop` at some point, `feature/*`, `bugfix/*` and `release/*` branches will be merged into it
104+
- `legacy`: development tree for the predecessor of the current major version, only `bugfix/*` and `hotfix/*` branches will be merged into it
105105

106106
We allow a few more prefixes for valid branchnames:
107107

108-
- `feature/*`: extend functionality
109-
- `fix/*`, `bugfix/*`, `hotfix/*`: fix functionality
110-
- `release/*`: branches to finalize releases, also used to publish release candidate packages
111-
- `change/*`, `temp/*`, `test/*`: unspecific changes, maybe only created to test something that won't end necessarily in a PR
112-
- `maintain/*`: maintain dependencies, changes created in publishing process
108+
- `feature/*`: extend functionality
109+
- `fix/*`, `bugfix/*`, `hotfix/*`: fix functionality
110+
- `release/*`: branches to finalize releases, also used to publish release candidate packages
111+
- `change/*`, `temp/*`, `test/*`: unspecific changes, maybe only created to test something that won't end necessarily in a PR
112+
- `maintain/*`: maintain dependencies, changes created in publishing process
113113

114114
`next` and `legacy` only exist if necessary, otherwise we do not maintain those branches. Merges into `main`, `develop`, `next` and `legacy` are always managed by pull requests.
115115

@@ -142,9 +142,9 @@ Default.parameters = {
142142

143143
### Naming conventions
144144

145-
- Use a `*Props` suffix for component interfaces.
146-
- Use a `*Utils` suffix for objects providing helper functions to compoents.
147-
Name should start with a lowercase letter.
145+
- Use a `*Props` suffix for component interfaces.
146+
- Use a `*Utils` suffix for objects providing helper functions to compoents.
147+
Name should start with a lowercase letter.
148148

149149
Don't forget to export them.
150150
They need to be available via simple import from `@eccenca/gui-elements`.

package.json

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -71,56 +71,55 @@
7171
"@blueprintjs/colors": "^5.1.11",
7272
"@blueprintjs/core": "^5.19.1",
7373
"@blueprintjs/select": "^5.3.21",
74-
"@carbon/icons": "^11.70.0",
75-
"@carbon/react": "^1.96.0",
74+
"@carbon/icons": "^11.80.0",
75+
"@carbon/react": "^1.107.1",
7676
"@codemirror/lang-html": "^6.4.11",
77-
"@codemirror/lang-javascript": "^6.2.4",
77+
"@codemirror/lang-javascript": "^6.2.5",
7878
"@codemirror/lang-json": "^6.0.2",
7979
"@codemirror/lang-markdown": "^6.5.0",
8080
"@codemirror/lang-sql": "^6.10.0",
8181
"@codemirror/lang-xml": "^6.1.0",
82-
"@codemirror/lang-yaml": "^6.1.2",
82+
"@codemirror/lang-yaml": "^6.1.3",
8383
"@codemirror/legacy-modes": "^6.5.2",
8484
"@mavrin/remark-typograf": "^2.2.0",
8585
"@xyflow/react": "^12.9.3",
8686
"classnames": "^2.5.1",
8787
"codemirror": "^6.0.2",
88-
"color": "^4.2.3",
88+
"color": "^5.0.3",
8989
"compute-scroll-into-view": "^3.1.1",
9090
"he": "^1.2.0",
9191
"jshint": "^2.13.6",
9292
"lodash": "^4.18.1",
9393
"n3": "^1.26.0",
9494
"re-resizable": "^6.10.3",
9595
"react": "^18.2.0",
96-
"react-dom": "^18.2.0",
96+
"react-dom": "^18.3.1",
9797
"react-flow-renderer": "9.7.4",
98-
"react-inlinesvg": "^3.0.3",
99-
"react-is": "^16.13.1",
98+
"react-inlinesvg": "^4.4.1",
99+
"react-is": "^18.3.1",
100100
"react-markdown": "^10.1.0",
101-
"react-syntax-highlighter": "^15.6.6",
101+
"react-syntax-highlighter": "^16.1.1",
102102
"rehype-external-links": "^3.0.0",
103103
"rehype-raw": "^7.0.0",
104104
"remark-definition-list": "^2.0.0",
105105
"remark-gfm": "^4.0.1",
106106
"remark-parse": "^11.0.0",
107107
"reset-css": "^5.0.2",
108108
"unified": "^11.0.5",
109-
"wicg-inert": "^3.1.3",
110-
"xml-formatter": "^3.6.7"
109+
"wicg-inert": "^3.1.3"
111110
},
112111
"devDependencies": {
113-
"@babel/core": "^7.28.5",
114-
"@babel/plugin-transform-class-properties": "^7.27.1",
115-
"@babel/plugin-transform-private-methods": "^7.27.1",
116-
"@babel/plugin-transform-private-property-in-object": "^7.27.1",
117-
"@babel/preset-env": "^7.28.5",
112+
"@babel/core": "^7.29.0",
113+
"@babel/plugin-transform-class-properties": "^7.28.6",
114+
"@babel/plugin-transform-private-methods": "^7.28.6",
115+
"@babel/plugin-transform-private-property-in-object": "^7.28.6",
116+
"@babel/preset-env": "^7.29.5",
118117
"@babel/preset-flow": "^7.27.1",
119118
"@babel/preset-react": "^7.28.5",
120119
"@babel/preset-typescript": "^7.28.5",
121-
"@eslint/compat": "^1.4.1",
122-
"@eslint/eslintrc": "^3.3.1",
123-
"@eslint/js": "^9.39.1",
120+
"@eslint/compat": "^2.1.0",
121+
"@eslint/eslintrc": "^3.3.5",
122+
"@eslint/js": "^10.0.1",
124123
"@storybook/addon-actions": "^8.6.14",
125124
"@storybook/addon-essentials": "^8.6.18",
126125
"@storybook/addon-jest": "^8.6.14",
@@ -132,65 +131,62 @@
132131
"@storybook/react-webpack5": "^8.6.18",
133132
"@storybook/test": "^8.6.18",
134133
"@testing-library/jest-dom": "^6.9.1",
135-
"@testing-library/react": "^14.3.1",
136-
"@types/color": "^3.0.6",
134+
"@testing-library/react": "^16.3.2",
137135
"@types/he": "^1.2.3",
138136
"@types/jest": "^30.0.0",
139137
"@types/jshint": "^2.12.4",
140-
"@types/lodash": "^4.17.21",
138+
"@types/lodash": "^4.17.24",
141139
"@types/n3": "^1.26.1",
140+
"@types/react-dom": "^18.3.7",
142141
"@types/react-is": "^19.2.0",
143142
"@types/react-syntax-highlighter": "^15.5.13",
144-
"@typescript-eslint/eslint-plugin": "^8.47.0",
145-
"@typescript-eslint/parser": "^8.47.0",
146-
"babel-jest": "^30.2.0",
143+
"@typescript-eslint/eslint-plugin": "^8.59.3",
144+
"@typescript-eslint/parser": "^8.59.3",
145+
"babel-jest": "^30.4.1",
147146
"chromatic": "^13.3.4",
148-
"eslint": "^9.39.1",
147+
"eslint": "^10.3.0",
149148
"eslint-plugin-react": "^7.37.5",
150-
"eslint-plugin-react-hooks": "^7.0.1",
151-
"eslint-plugin-simple-import-sort": "^12.1.1",
152-
"husky": "4",
149+
"eslint-plugin-react-hooks": "^7.1.1",
150+
"eslint-plugin-simple-import-sort": "^13.0.0",
151+
"husky": "^4.3.8",
153152
"identity-obj-proxy": "^3.0.0",
154-
"jest": "^30.2.0",
155-
"jest-environment-jsdom": "^30.2.0",
153+
"jest": "^30.4.2",
154+
"jest-environment-jsdom": "^30.4.1",
156155
"jest-fixed-jsdom": "^0.0.11",
157156
"jest-pnp-resolver": "^1.2.3",
158157
"lint-staged": "^15.5.2",
159158
"node-sass-package-importer": "^5.3.3",
160159
"path": "^0.12.7",
161-
"prettier": "^2.8.8",
160+
"prettier": "^3.8.3",
162161
"react-app-polyfill": "^3.0.0",
163162
"react-lorem-ipsum": "^1.4.9",
164-
"regenerator-runtime": "^0.13.9",
163+
"regenerator-runtime": "^0.14.1",
165164
"rimraf": "^6.1.3",
166-
"sass": "1.62.1",
167-
"sass-loader": "10.3.1",
165+
"sass": "^1.99.0",
166+
"sass-loader": "^16.0.8",
168167
"storybook": "^8.6.18",
169-
"stylelint": "^17.6.0",
168+
"stylelint": "^17.11.0",
170169
"stylelint-config-recess-order": "^7.7.0",
171170
"stylelint-config-standard-scss": "^17.0.0",
172171
"stylelint-order": "^8.1.1",
173172
"ts-node": "^10.9.2",
174173
"tsc-esm-fix": "^3.1.2",
175-
"typescript": "5.5.3",
174+
"typescript": "^5.9.3",
176175
"url-loader": "^4.1.1",
177-
"yargs": "^17.7.2"
176+
"yargs": "^18.0.0"
178177
},
179178
"peerDependencies": {
180179
"@blueprintjs/core": ">=5",
181180
"react": ">=18"
182181
},
183182
"resolutions": {
184183
"node-sass-package-importer/**/postcss": "^8.5.6",
185-
"string-width": "^4.2.3",
186-
"wrap-ansi": "^7.0.0",
187184
"hast-util-from-parse5": "8.0.0",
188-
"**/picomatch": "^2.3.2",
189-
"**/minimatch": "^3.1.4",
190185
"**/lodash": "^4.18.0",
191-
"**/serialize-javascript": "^7.0.3",
186+
"**/minimatch": "^3.1.4",
192187
"**/tar": "^7.5.11",
193-
"**/immutable": "^4.3.8"
188+
"**/fast-uri": "^3.1.2",
189+
"**/serialize-javascript": "^7.0.3"
194190
},
195191
"husky": {
196192
"hooks": {

scripts/compile-sass.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const args = yargs(process.argv.slice(2)).argv as any;
99
const styles = sass.renderSync({
1010
importer: tildeImporter(),
1111
...sassRenderSyncConfig,
12+
silenceDeprecations: ["import", "legacy-js-api"],
1213
file: "src/index.scss",
1314
includePaths: ["node_modules"], // Carbon does not use tilde import syntax
1415
});

scripts/sassConfig.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ const functions = {
66
},
77
};
88
const sassRenderSyncConfig = {
9-
quietDeps: true,
109
functions,
10+
quietDeps: true,
1111
};
1212

1313
module.exports = sassRenderSyncConfig;

src/cmem/ActivityControl/ActivityControlWidget.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export const WidgetWithAdditionalActions: StoryFn<typeof ActivityControlWidget>
9797
<IconButton name="application-explore" onClick={() => setIsOpen(true)} />,
9898
],
9999
}),
100-
[]
100+
[],
101101
);
102102

103103
return (

src/cmem/ActivityControl/ActivityControlWidget.tsx

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,15 @@ export interface ActivityControlWidgetAction extends TestableComponent {
109109
// Warning state
110110
hasStateWarning?: boolean;
111111
// Active state
112-
active?: boolean
112+
active?: boolean;
113113
/** A notification that is shown in an overlay pointing at the activity action button. */
114114
notification?: {
115-
message: string
116-
onClose: () => void
117-
intent?: NotificationProps["intent"]
115+
message: string;
116+
onClose: () => void;
117+
intent?: NotificationProps["intent"];
118118
// Timeout in ms before notification is closed. Default: none
119-
timeout?: number
120-
}
119+
timeout?: number;
120+
};
121121
}
122122

123123
interface IActivityMenuAction extends ActivityControlWidgetAction {
@@ -222,11 +222,7 @@ export function ActivityControlWidget(props: ActivityControlWidgetProps) {
222222
data-test-id={dataTestIdLegacy ? `${dataTestIdLegacy}-actions` : undefined}
223223
>
224224
{activityActions &&
225-
activityActions.map((action, idx) => <ActivityActionButton
226-
key={idx}
227-
action={action}
228-
/>
229-
)}
225+
activityActions.map((action, idx) => <ActivityActionButton key={idx} action={action} />)}
230226
{additionalActions}
231227
{activityContextMenu && activityContextMenu.menuItems.length > 0 && (
232228
<ContextMenu
@@ -261,10 +257,10 @@ export function ActivityControlWidget(props: ActivityControlWidgetProps) {
261257
}
262258

263259
interface ActivityActionButtonProps {
264-
action: ActivityControlWidgetAction
260+
action: ActivityControlWidgetAction;
265261
}
266262

267-
const ActivityActionButton = ({action}: ActivityActionButtonProps) => {
263+
const ActivityActionButton = ({ action }: ActivityActionButtonProps) => {
268264
const actionButtonRef = React.useRef(null);
269265
const ActionButton = () => (
270266
<IconButton
@@ -277,16 +273,16 @@ const ActivityActionButton = ({action}: ActivityActionButtonProps) => {
277273
intent={action.hasStateWarning ? "warning" : undefined}
278274
tooltipProps={{
279275
hoverOpenDelay: 200,
280-
placement: "bottom"
276+
placement: "bottom",
281277
}}
282278
active={action.active}
283279
/>
284-
)
285-
return action.notification ?
280+
);
281+
return action.notification ? (
286282
<>
287-
<span ref={actionButtonRef}>
288-
<ActionButton/>
289-
</span>
283+
<span ref={actionButtonRef}>
284+
<ActionButton />
285+
</span>
290286
{actionButtonRef.current && (
291287
<DecoupledOverlay targetSelectorOrElement={actionButtonRef.current} paddingSize={"small"}>
292288
<Notification
@@ -297,6 +293,8 @@ const ActivityActionButton = ({action}: ActivityActionButtonProps) => {
297293
/>
298294
</DecoupledOverlay>
299295
)}
300-
</> :
301-
<ActionButton/>
302-
}
296+
</>
297+
) : (
298+
<ActionButton />
299+
);
300+
};

src/cmem/ActivityControl/ActivityExecutionErrorReportModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import React, {useState} from "react";
1+
import React, { useState } from "react";
2+
3+
import Button from "../../components/Button/Button";
24
import SimpleDialog from "../../components/Dialog/SimpleDialog";
35
import IconButton from "../../components/Icon/IconButton";
4-
import Button from "../../components/Button/Button";
56
import HtmlContentBlock from "../../components/Typography/HtmlContentBlock";
67

78
interface ActivityExecutionErrorReportModalProps {

0 commit comments

Comments
 (0)