@camunda/camunda-composite-components 0.24.0 → 0.25.0
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/lib/esm/package.json +22 -22
- package/lib/esm/src/assets/c3-icons.d.ts +4 -4
- package/lib/esm/src/components/c3-app-teaser/app-teaser-cards.d.ts +1 -1
- package/lib/esm/src/components/c3-help-center/help-center-hint.d.ts +1 -1
- package/lib/esm/src/components/c3-license-tag/c3-license-tag.js +6 -2
- package/lib/esm/src/components/c3-navigation-v2/c3-breadcrumb-bar.js +2 -2
- package/lib/esm/src/components/c3-navigation-v2/c3-navigation-v2.js +5 -1
- package/lib/esm/src/components/c3-navigation-v2/use-cluster-webapp-breadcrumbs.d.ts +6 -0
- package/lib/esm/src/components/c3-navigation-v2/use-cluster-webapp-breadcrumbs.js +20 -10
- package/lib/esm/src/components/c3-user-configuration/c3-profile-provider/c3-profile-provider.d.ts +1 -1
- package/lib/esm/src/contexts/c3-cluster-update-manager.d.ts +1 -1
- package/lib/esm/src/utils/camunda.d.ts +1 -1
- package/package.json +23 -23
package/lib/esm/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/camunda-composite-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"description": "Camunda Composite Components",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/camunda/camunda-cloud-management-apps/issues"
|
|
@@ -50,42 +50,42 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"jwt-decode": "4.0.0",
|
|
53
|
-
"react-error-boundary": "6.1.
|
|
53
|
+
"react-error-boundary": "6.1.2",
|
|
54
54
|
"react-markdown": "10.1.0",
|
|
55
|
-
"semver": "7.8.
|
|
55
|
+
"semver": "7.8.4"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@auth0/auth0-spa-js": "2.
|
|
58
|
+
"@auth0/auth0-spa-js": "2.21.1",
|
|
59
59
|
"@camunda/ccma-shared-types": "workspace:*",
|
|
60
|
-
"@carbon/react": "1.
|
|
60
|
+
"@carbon/react": "1.109.0",
|
|
61
61
|
"@chromatic-com/storybook": "5.2.1",
|
|
62
62
|
"@mdx-js/react": "3.1.1",
|
|
63
63
|
"@playwright/test": "1.60.0",
|
|
64
|
-
"@storybook/addon-a11y": "10.4.
|
|
65
|
-
"@storybook/addon-docs": "10.4.
|
|
66
|
-
"@storybook/addon-links": "10.4.
|
|
67
|
-
"@storybook/addon-vitest": "10.4.
|
|
68
|
-
"@storybook/react": "10.4.
|
|
69
|
-
"@storybook/react-vite": "10.4.
|
|
70
|
-
"@vitest/browser": "4.1.
|
|
71
|
-
"@vitest/browser-playwright": "4.1.
|
|
72
|
-
"vitest": "4.1.
|
|
64
|
+
"@storybook/addon-a11y": "10.4.3",
|
|
65
|
+
"@storybook/addon-docs": "10.4.3",
|
|
66
|
+
"@storybook/addon-links": "10.4.3",
|
|
67
|
+
"@storybook/addon-vitest": "10.4.3",
|
|
68
|
+
"@storybook/react": "10.4.3",
|
|
69
|
+
"@storybook/react-vite": "10.4.3",
|
|
70
|
+
"@vitest/browser": "4.1.8",
|
|
71
|
+
"@vitest/browser-playwright": "4.1.8",
|
|
72
|
+
"vitest": "4.1.8",
|
|
73
73
|
"conventional-changelog-conventionalcommits": "9.3.1",
|
|
74
|
-
"eslint-import-resolver-typescript": "4.4.
|
|
74
|
+
"eslint-import-resolver-typescript": "4.4.5",
|
|
75
75
|
"eslint-plugin-react": "7.37.5",
|
|
76
76
|
"eslint-plugin-react-hooks": "7.1.1",
|
|
77
|
-
"eslint-plugin-storybook": "10.4.
|
|
77
|
+
"eslint-plugin-storybook": "10.4.3",
|
|
78
78
|
"event-source-polyfill": "1.0.31",
|
|
79
|
-
"mixpanel-browser": "2.
|
|
79
|
+
"mixpanel-browser": "2.80.0",
|
|
80
80
|
"playwright": "1.60.0",
|
|
81
|
-
"react": "19.2.
|
|
82
|
-
"react-dom": "19.2.
|
|
83
|
-
"react-is": "19.2.
|
|
81
|
+
"react": "19.2.7",
|
|
82
|
+
"react-dom": "19.2.7",
|
|
83
|
+
"react-is": "19.2.7",
|
|
84
84
|
"rimraf": "6.1.3",
|
|
85
85
|
"serve": "14.2.6",
|
|
86
|
-
"storybook": "10.4.
|
|
86
|
+
"storybook": "10.4.3",
|
|
87
87
|
"styled-components": "6.4.2",
|
|
88
|
-
"typescript-eslint": "8.
|
|
88
|
+
"typescript-eslint": "8.61.0",
|
|
89
89
|
"wait-on": "9.0.10"
|
|
90
90
|
},
|
|
91
91
|
"peerDependencies": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { C3IconProps } from './c3-icons.types';
|
|
2
|
-
export declare const C3AppMenuIcon: ({ size }: C3IconProps) => import("react
|
|
3
|
-
export declare const C3NotificationsUnreadIcon: ({ size }: C3IconProps) => import("react
|
|
4
|
-
export declare const C3BellIcon: ({ size }: C3IconProps) => import("react
|
|
5
|
-
export declare const CamundaLogo: () => import("react
|
|
2
|
+
export declare const C3AppMenuIcon: ({ size }: C3IconProps) => import("react").JSX.Element;
|
|
3
|
+
export declare const C3NotificationsUnreadIcon: ({ size }: C3IconProps) => import("react").JSX.Element;
|
|
4
|
+
export declare const C3BellIcon: ({ size }: C3IconProps) => import("react").JSX.Element;
|
|
5
|
+
export declare const CamundaLogo: () => import("react").JSX.Element;
|
|
@@ -13,5 +13,5 @@ type AppTeaserCardsProps = {
|
|
|
13
13
|
};
|
|
14
14
|
subtext: string;
|
|
15
15
|
};
|
|
16
|
-
export declare const AppTeaserCards: ({ title, subtitle, cards, cta, subtext, }: AppTeaserCardsProps) =>
|
|
16
|
+
export declare const AppTeaserCards: ({ title, subtitle, cards, cta, subtext, }: AppTeaserCardsProps) => JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/*
|
|
3
3
|
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
|
|
4
4
|
* under one or more contributor license agreements. Licensed under a commercial license.
|
|
@@ -82,5 +82,9 @@ export const C3LicenseTag = (props) => {
|
|
|
82
82
|
const variants = getTagVariants(props);
|
|
83
83
|
if (variants.length === 0)
|
|
84
84
|
return null;
|
|
85
|
-
return _jsx(
|
|
85
|
+
return (_jsx("span", { style: {
|
|
86
|
+
display: 'inline-flex',
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
gap: 'var(--cds-spacing-02)',
|
|
89
|
+
}, children: variants.map(renderVariant) }));
|
|
86
90
|
};
|
|
@@ -173,7 +173,7 @@ const Separator = styled.span `
|
|
|
173
173
|
const DropdownEntry = ({ item, onSelect, linkComponent, }) => {
|
|
174
174
|
const Icon = item.icon;
|
|
175
175
|
return (_jsxs(DropdownItem, { as: item.linkProps?.href !== undefined
|
|
176
|
-
?
|
|
176
|
+
? 'a'
|
|
177
177
|
: item.linkProps
|
|
178
178
|
? linkComponent
|
|
179
179
|
: undefined, ...(item.linkProps ?? {}), "$isSelected": !!item.isSelected, onClick: () => onSelect(item), role: 'option', tabIndex: -1, "aria-selected": !!item.isSelected, children: [Icon && (_jsx(Icon, { size: 16, style: { color: 'var(--cds-icon-secondary)', flexShrink: 0 } })), _jsx(DropdownItemLabel, { children: item.label }), item.trailingElement, item.isSelected && (_jsx(Checkmark, { size: 16, style: { color: 'var(--cds-icon-primary)', flexShrink: 0 } }))] }));
|
|
@@ -345,7 +345,7 @@ const BreadcrumbSegmentComponent = ({ segment, isLast, linkComponent, }) => {
|
|
|
345
345
|
}, [close]);
|
|
346
346
|
const handleDropdownKeyDown = usePanelKeyboard(dropdownPanelRef, close, chevronRef, isOpen, '[role="option"]');
|
|
347
347
|
return (_jsxs(_Fragment, { children: [_jsxs(SegmentWrapper, { ref: wrapperRef, children: [_jsxs(SegmentButton, { ref: segmentButtonRef, as: segment.linkProps?.href !== undefined
|
|
348
|
-
?
|
|
348
|
+
? 'a'
|
|
349
349
|
: segment.linkProps
|
|
350
350
|
? linkComponent
|
|
351
351
|
: undefined, ...(segment.linkProps ?? {}), "$isInteractive": !!(segment.onClick || segment.linkProps), "$isLast": isLast, onClick: segment.onClick, "aria-label": segment.label, title: segment.label, children: [Icon && _jsx(Icon, { size: 16, style: { flexShrink: 0 } }), _jsx(SegmentLabel, { children: segment.label }), segment.trailingElement] }), segment.menuElement, segment.actions && segment.actions.length > 0 && (_jsx(ActionsMenu, { actions: segment.actions, ariaLabel: `${segment.label} actions` })), hasDropdown && (_jsx(ChevronButton, { ref: chevronRef, "$isOpen": isOpen, onClick: toggle, onKeyDown: (e) => {
|
|
@@ -18,9 +18,13 @@ const StyledHeader = styled(Header) `
|
|
|
18
18
|
z-index: 8001 !important;
|
|
19
19
|
|
|
20
20
|
// Carbon defaults the tools area to flex: 1, which splits the row
|
|
21
|
-
// 50/50 with breadcrumbs. Make it intrinsic
|
|
21
|
+
// 50/50 with breadcrumbs. Make it intrinsic and pin it to the right
|
|
22
|
+
// (margin-inline-start: auto) so the tools stay flush right even
|
|
23
|
+
// when the breadcrumb bar is absent — loading state, or routes that
|
|
24
|
+
// don't publish breadcrumbs.
|
|
22
25
|
.cds--header__global {
|
|
23
26
|
flex: 0 0 auto;
|
|
27
|
+
margin-inline-start: auto;
|
|
24
28
|
}
|
|
25
29
|
`;
|
|
26
30
|
const LogoSection = styled.a `
|
|
@@ -3,6 +3,12 @@ import type { BreadcrumbDescriptor } from './use-c3-navigation-v2';
|
|
|
3
3
|
export interface UseClusterWebappBreadcrumbsOptions {
|
|
4
4
|
/** The app currently being viewed. */
|
|
5
5
|
currentApp: CamundaApp;
|
|
6
|
+
/**
|
|
7
|
+
* Per-app URL map matching the shape of `Cluster['endpoints']`. Source for
|
|
8
|
+
* the modeler back-links on the org/cluster crumb labels, and the sole
|
|
9
|
+
* source for the app-switcher dropdown when no SaaS cluster is available.
|
|
10
|
+
*/
|
|
11
|
+
webappLinks?: Partial<Record<CamundaApp, string>>;
|
|
6
12
|
}
|
|
7
13
|
/**
|
|
8
14
|
* Builds the standard breadcrumb chain for a cluster-scoped Camunda webapp:
|
|
@@ -22,6 +22,11 @@ const SWITCHABLE_APPS = [
|
|
|
22
22
|
'optimize',
|
|
23
23
|
'admin',
|
|
24
24
|
];
|
|
25
|
+
/** Healthy on the cluster, using zeebe as the admin/identity health proxy. */
|
|
26
|
+
function isAppHealthyOnCluster(cluster, app) {
|
|
27
|
+
const healthKey = isAdminApp(app) ? 'zeebe' : app;
|
|
28
|
+
return cluster.status?.[healthKey] === 'Healthy';
|
|
29
|
+
}
|
|
25
30
|
/**
|
|
26
31
|
* Replaces the path of `modelerEndpoint` with `/org/{orgId}`. Used to derive
|
|
27
32
|
* the modeler URL for sibling orgs from the current cluster's modeler
|
|
@@ -64,14 +69,14 @@ function buildModelerOrgUrl(modelerEndpoint, orgId) {
|
|
|
64
69
|
* crumb) without any environment flag.
|
|
65
70
|
*/
|
|
66
71
|
export function useClusterWebappBreadcrumbs(options) {
|
|
67
|
-
const { currentApp } = options;
|
|
72
|
+
const { currentApp, webappLinks } = options;
|
|
68
73
|
const { clusters, activeOrg, orgs } = useC3Profile();
|
|
69
74
|
const config = useC3UserConfiguration();
|
|
70
75
|
const currentClusterUuid = config.currentClusterUuid;
|
|
71
76
|
const currentCluster = useMemo(() => clusters?.find((c) => c.uuid === currentClusterUuid) ?? null, [clusters, currentClusterUuid]);
|
|
72
77
|
return useMemo(() => {
|
|
73
78
|
const crumbs = [];
|
|
74
|
-
const modelerUrl = currentCluster?.endpoints?.modeler;
|
|
79
|
+
const modelerUrl = webappLinks?.modeler ?? currentCluster?.endpoints?.modeler;
|
|
75
80
|
// ── Org crumb ──────────────────────────────────────────────────────────
|
|
76
81
|
if (activeOrg) {
|
|
77
82
|
const allOrgs = orgs ?? [];
|
|
@@ -123,7 +128,8 @@ export function useClusterWebappBreadcrumbs(options) {
|
|
|
123
128
|
? `${modelerUrl}?fromCluster=${currentCluster.uuid}`
|
|
124
129
|
: undefined;
|
|
125
130
|
const reachableClusters = (clusters ?? []).filter((c) => c.uuid === currentCluster.uuid ||
|
|
126
|
-
getEndpointForApp(currentApp, c.endpoints)
|
|
131
|
+
(getEndpointForApp(currentApp, c.endpoints) &&
|
|
132
|
+
isAppHealthyOnCluster(c, currentApp)));
|
|
127
133
|
const hasSiblings = reachableClusters.filter((c) => c.uuid !== currentCluster.uuid).length >
|
|
128
134
|
0;
|
|
129
135
|
const clusterDropdownItems = hasSiblings
|
|
@@ -170,21 +176,25 @@ export function useClusterWebappBreadcrumbs(options) {
|
|
|
170
176
|
// that pass `currentApp: 'identity'` (legacy code path) still match the
|
|
171
177
|
// switcher row via this normalisation, otherwise the current entry
|
|
172
178
|
// would be missing from the dropdown and nothing would be selected.
|
|
173
|
-
const switcherKey = isAdminApp(currentApp)
|
|
179
|
+
const switcherKey = isAdminApp(currentApp)
|
|
180
|
+
? 'admin'
|
|
181
|
+
: currentApp;
|
|
174
182
|
const resolvedCurrentApp = isAdminApp(currentApp) && currentCluster
|
|
175
183
|
? resolveAdminAppName(currentCluster)
|
|
176
184
|
: currentApp;
|
|
177
185
|
const appLabel = getReadableAppName(resolvedCurrentApp);
|
|
178
186
|
const appIcon = APP_ICONS[resolvedCurrentApp];
|
|
179
|
-
const
|
|
187
|
+
const sourceEndpoints = currentCluster?.endpoints ?? webappLinks;
|
|
188
|
+
const reachableApps = sourceEndpoints
|
|
180
189
|
? SWITCHABLE_APPS.filter((app) => app === switcherKey ||
|
|
181
|
-
getEndpointForApp(app,
|
|
190
|
+
(getEndpointForApp(app, sourceEndpoints) &&
|
|
191
|
+
(!currentCluster || isAppHealthyOnCluster(currentCluster, app))))
|
|
182
192
|
: [switcherKey];
|
|
183
193
|
const hasSiblingApps = reachableApps.filter((app) => app !== switcherKey).length > 0;
|
|
184
|
-
const dropdownItems = hasSiblingApps &&
|
|
194
|
+
const dropdownItems = hasSiblingApps && sourceEndpoints
|
|
185
195
|
? reachableApps.map((app) => {
|
|
186
196
|
const isCurrent = app === switcherKey;
|
|
187
|
-
const resolvedApp = isAdminApp(app)
|
|
197
|
+
const resolvedApp = isAdminApp(app) && currentCluster
|
|
188
198
|
? resolveAdminAppName(currentCluster)
|
|
189
199
|
: app;
|
|
190
200
|
return {
|
|
@@ -196,7 +206,7 @@ export function useClusterWebappBreadcrumbs(options) {
|
|
|
196
206
|
? {}
|
|
197
207
|
: {
|
|
198
208
|
linkProps: {
|
|
199
|
-
href: getEndpointForApp(app,
|
|
209
|
+
href: getEndpointForApp(app, sourceEndpoints) ?? '',
|
|
200
210
|
},
|
|
201
211
|
}),
|
|
202
212
|
};
|
|
@@ -215,5 +225,5 @@ export function useClusterWebappBreadcrumbs(options) {
|
|
|
215
225
|
: {}),
|
|
216
226
|
});
|
|
217
227
|
return crumbs;
|
|
218
|
-
}, [activeOrg, orgs, clusters, currentCluster, currentApp]);
|
|
228
|
+
}, [activeOrg, orgs, clusters, currentCluster, currentApp, webappLinks]);
|
|
219
229
|
}
|
package/lib/esm/src/components/c3-user-configuration/c3-profile-provider/c3-profile-provider.d.ts
CHANGED
|
@@ -22,5 +22,5 @@ export type C3ProfileContextValue = {
|
|
|
22
22
|
export declare const C3ProfileContext: React.Context<C3ProfileContextValue>;
|
|
23
23
|
export declare const C3ProfileProvider: ({ children }: {
|
|
24
24
|
children: JSX.Element;
|
|
25
|
-
}) =>
|
|
25
|
+
}) => JSX.Element;
|
|
26
26
|
export declare const useC3Profile: () => C3ProfileContextValue;
|
|
@@ -5,7 +5,7 @@ type C3ClusterUpdateManagerProps = {
|
|
|
5
5
|
stage: Stage;
|
|
6
6
|
userToken: string;
|
|
7
7
|
};
|
|
8
|
-
declare const C3ClusterUpdateManager: ({ children, stage, userToken, }: C3ClusterUpdateManagerProps) =>
|
|
8
|
+
declare const C3ClusterUpdateManager: ({ children, stage, userToken, }: C3ClusterUpdateManagerProps) => React.JSX.Element;
|
|
9
9
|
declare const useClusterUpdate: ({ onUpdate }: {
|
|
10
10
|
onUpdate: (data: any) => void;
|
|
11
11
|
}) => void;
|
|
@@ -25,7 +25,7 @@ export declare const getReadableAppName: (appName: CamundaApp) => string;
|
|
|
25
25
|
/**
|
|
26
26
|
* Gets the endpoint URL for an app, handling identity/admin aliasing.
|
|
27
27
|
*/
|
|
28
|
-
export declare const getEndpointForApp: (app: CamundaApp, endpoints: Cluster["endpoints"]) => string | undefined;
|
|
28
|
+
export declare const getEndpointForApp: (app: CamundaApp, endpoints: Partial<Cluster["endpoints"]>) => string | undefined;
|
|
29
29
|
/**
|
|
30
30
|
* Checks if user has read permission for an app, handling identity/admin aliasing.
|
|
31
31
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/camunda-composite-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"description": "Camunda Composite Components",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/camunda/camunda-cloud-management-apps/issues"
|
|
@@ -24,43 +24,43 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"jwt-decode": "4.0.0",
|
|
27
|
-
"react-error-boundary": "6.1.
|
|
27
|
+
"react-error-boundary": "6.1.2",
|
|
28
28
|
"react-markdown": "10.1.0",
|
|
29
|
-
"semver": "7.8.
|
|
29
|
+
"semver": "7.8.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@auth0/auth0-spa-js": "2.
|
|
33
|
-
"@carbon/react": "1.
|
|
32
|
+
"@auth0/auth0-spa-js": "2.21.1",
|
|
33
|
+
"@carbon/react": "1.109.0",
|
|
34
34
|
"@chromatic-com/storybook": "5.2.1",
|
|
35
35
|
"@mdx-js/react": "3.1.1",
|
|
36
36
|
"@playwright/test": "1.60.0",
|
|
37
|
-
"@storybook/addon-a11y": "10.4.
|
|
38
|
-
"@storybook/addon-docs": "10.4.
|
|
39
|
-
"@storybook/addon-links": "10.4.
|
|
40
|
-
"@storybook/addon-vitest": "10.4.
|
|
41
|
-
"@storybook/react": "10.4.
|
|
42
|
-
"@storybook/react-vite": "10.4.
|
|
43
|
-
"@vitest/browser": "4.1.
|
|
44
|
-
"@vitest/browser-playwright": "4.1.
|
|
45
|
-
"vitest": "4.1.
|
|
37
|
+
"@storybook/addon-a11y": "10.4.3",
|
|
38
|
+
"@storybook/addon-docs": "10.4.3",
|
|
39
|
+
"@storybook/addon-links": "10.4.3",
|
|
40
|
+
"@storybook/addon-vitest": "10.4.3",
|
|
41
|
+
"@storybook/react": "10.4.3",
|
|
42
|
+
"@storybook/react-vite": "10.4.3",
|
|
43
|
+
"@vitest/browser": "4.1.8",
|
|
44
|
+
"@vitest/browser-playwright": "4.1.8",
|
|
45
|
+
"vitest": "4.1.8",
|
|
46
46
|
"conventional-changelog-conventionalcommits": "9.3.1",
|
|
47
|
-
"eslint-import-resolver-typescript": "4.4.
|
|
47
|
+
"eslint-import-resolver-typescript": "4.4.5",
|
|
48
48
|
"eslint-plugin-react": "7.37.5",
|
|
49
49
|
"eslint-plugin-react-hooks": "7.1.1",
|
|
50
|
-
"eslint-plugin-storybook": "10.4.
|
|
50
|
+
"eslint-plugin-storybook": "10.4.3",
|
|
51
51
|
"event-source-polyfill": "1.0.31",
|
|
52
|
-
"mixpanel-browser": "2.
|
|
52
|
+
"mixpanel-browser": "2.80.0",
|
|
53
53
|
"playwright": "1.60.0",
|
|
54
|
-
"react": "19.2.
|
|
55
|
-
"react-dom": "19.2.
|
|
56
|
-
"react-is": "19.2.
|
|
54
|
+
"react": "19.2.7",
|
|
55
|
+
"react-dom": "19.2.7",
|
|
56
|
+
"react-is": "19.2.7",
|
|
57
57
|
"rimraf": "6.1.3",
|
|
58
58
|
"serve": "14.2.6",
|
|
59
|
-
"storybook": "10.4.
|
|
59
|
+
"storybook": "10.4.3",
|
|
60
60
|
"styled-components": "6.4.2",
|
|
61
|
-
"typescript-eslint": "8.
|
|
61
|
+
"typescript-eslint": "8.61.0",
|
|
62
62
|
"wait-on": "9.0.10",
|
|
63
|
-
"@camunda/ccma-shared-types": "0.1.
|
|
63
|
+
"@camunda/ccma-shared-types": "0.1.2"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@carbon/react": "1.x",
|