likec4 1.59.4 → 1.61.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/README.md +2 -0
- package/__app__/codegen/react.mjs +4 -10
- package/__app__/codegen/webcomponent.mjs +6 -131
- package/__app__/index.html +15 -15
- package/__app__/src/aichat/index.mjs +11 -7
- package/__app__/src/chunks/AIChat.mjs +1355 -739
- package/__app__/src/chunks/ErrorComponent.mjs +444 -0
- package/__app__/src/chunks/Header.mjs +269 -0
- package/__app__/src/chunks/ViewReact.mjs +438 -0
- package/__app__/src/chunks/find.mjs +38 -0
- package/__app__/src/chunks/hooks.mjs +158 -472
- package/__app__/src/chunks/libs/@tabler/icons-react.mjs +340 -0
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +11841 -1417
- package/__app__/src/chunks/libs/@tanstack.mjs +5110 -2404
- package/__app__/src/chunks/libs/fast-equals.mjs +507 -214
- package/__app__/src/chunks/libs/html-to-image.mjs +613 -0
- package/__app__/src/chunks/libs/nanostores.mjs +170 -0
- package/__app__/src/chunks/libs/react-resizable-panels.mjs +2792 -0
- package/__app__/src/chunks/react.mjs +22 -0
- package/__app__/src/chunks/rolldown-runtime.mjs +16 -29
- package/__app__/src/chunks/router.mjs +106 -0
- package/__app__/src/chunks/scope.mjs +106 -0
- package/__app__/src/chunks/searchParams.mjs +29 -0
- package/__app__/src/chunks/single-index.mjs +465 -0
- package/__app__/src/chunks/styled-system.mjs +1826 -2528
- package/__app__/src/chunks/useAsync.mjs +69 -0
- package/__app__/src/chunks/useSyncedRef.mjs +16 -0
- package/__app__/src/components/ColorSchemeToggle.mjs +124 -0
- package/__app__/src/components/CopyToClipboard.mjs +53 -0
- package/__app__/src/components/ErrorComponent.mjs +1 -0
- package/__app__/src/components/NavigationPanel.mjs +63 -0
- package/__app__/src/components/NotFound.mjs +155 -0
- package/__app__/src/components/ViewOutlet.mjs +9 -0
- package/__app__/src/components/model-diff/CompareModelProvider.mjs +44 -0
- package/__app__/src/components/model-diff/ModelDiffPanel.mjs +179 -0
- package/__app__/src/components/model-diff/compare-model.mjs +76 -0
- package/__app__/src/components/model-diff/state.mjs +45 -0
- package/__app__/src/components/search/OverviewSearch.mjs +92 -0
- package/__app__/src/components/search/OverviewSearchAdapter.mjs +94 -0
- package/__app__/src/components/sidebar/DiagramTree.css.mjs +48 -0
- package/__app__/src/components/sidebar/DiagramsTree.mjs +304 -0
- package/__app__/src/components/sidebar/Drawer.mjs +178 -0
- package/__app__/src/components/sidebar/SidebarBurger.mjs +28 -0
- package/__app__/src/components/sidebar/data.mjs +94 -0
- package/__app__/src/components/sidebar/state.mjs +16 -0
- package/__app__/src/components/view-page/Header.mjs +1 -0
- package/__app__/src/components/view-page/SelectProject.mjs +258 -0
- package/__app__/src/components/view-page/ShareModal.mjs +111 -0
- package/__app__/src/components/view-page/share-modal/AlertLocalhost.mjs +31 -0
- package/__app__/src/components/view-page/share-modal/CopyButtonChild.mjs +36 -0
- package/__app__/src/components/view-page/share-modal/EmbedPanel.mjs +100 -0
- package/__app__/src/components/view-page/share-modal/WebcomponentsPanel.mjs +264 -0
- package/__app__/src/components/view-page/state.mjs +17 -0
- package/__app__/src/context/LikeC4CustomizationContext.mjs +26 -0
- package/__app__/src/context/LikeC4IconRendererContext.mjs +29 -0
- package/__app__/src/context/LikeC4ModelContext.mjs +34 -0
- package/__app__/src/context/LikeC4ProjectsContext.mjs +40 -0
- package/__app__/src/context/ModelDiffsContext.mjs +33 -0
- package/__app__/src/context/safeCtx.mjs +14 -0
- package/__app__/src/fonts.css +112 -1
- package/__app__/src/hooks.mjs +1 -0
- package/__app__/src/main.mjs +6 -29151
- package/__app__/src/pages/EmbedPage.mjs +93 -0
- package/__app__/src/pages/ExportPage.mjs +691 -0
- package/__app__/src/pages/ProjectsOverview.mjs +23 -0
- package/__app__/src/pages/ViewAsD2.mjs +105 -0
- package/__app__/src/pages/ViewAsDot.mjs +65 -0
- package/__app__/src/pages/ViewAsMmd.mjs +109 -0
- package/__app__/src/pages/ViewAsPuml.mjs +105 -0
- package/__app__/src/pages/ViewEditor.mjs +220 -0
- package/__app__/src/pages/ViewReact.mjs +1 -0
- package/__app__/src/pages/export-layout.mjs +95 -0
- package/__app__/src/pages/export-page-params.mjs +9 -0
- package/__app__/src/pages/styles.css.mjs +23 -0
- package/__app__/src/routeTree.gen.mjs +105 -0
- package/__app__/src/router.mjs +1 -0
- package/__app__/src/routes/__root.mjs +65 -0
- package/__app__/src/routes/index.css.mjs +29 -0
- package/__app__/src/routes/index.mjs +32 -0
- package/__app__/src/routes/project._projectId/-components.mjs +100 -0
- package/__app__/src/routes/project._projectId/embed._viewId.mjs +5 -0
- package/__app__/src/routes/project._projectId/export._viewId.mjs +24 -0
- package/__app__/src/routes/project._projectId/index.mjs +14 -0
- package/__app__/src/routes/project._projectId/route.mjs +93 -0
- package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +34 -0
- package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +41 -0
- package/__app__/src/routes/project._projectId/view._viewId.index.mjs +7 -0
- package/__app__/src/routes/project._projectId/view._viewId.mjs +23 -0
- package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +39 -0
- package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +34 -0
- package/__app__/src/routes/projects.mjs +36 -0
- package/__app__/src/routes/single-index.mjs +1 -0
- package/__app__/src/routes/webcomponent._.mjs +94 -0
- package/__app__/src/style.css +18497 -1
- package/config/schema.json +146 -97
- package/dist/app/render-view-client.css +1 -1
- package/dist/app/render-view-client.js +394 -238
- package/dist/chunks/enableServer.mjs +1 -1
- package/dist/chunks/filenames.mjs +25 -17
- package/dist/chunks/generate-likec4.mjs +5 -0
- package/dist/chunks/index.d.mts +255 -194
- package/dist/chunks/index2.d.mts +8246 -3610
- package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
- package/dist/chunks/libs/@chevrotain/gast.mjs +27 -1
- package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +81 -9
- package/dist/chunks/libs/@logtape/logtape.mjs +5 -4
- package/dist/chunks/libs/@lume/kiwi.mjs +1 -1
- package/dist/chunks/libs/@ts-graphviz/common.d.mts +2 -4
- package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -1
- package/dist/chunks/libs/birpc.mjs +1 -1
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +88 -36
- package/dist/chunks/libs/clone.mjs +1 -0
- package/dist/chunks/libs/eventemitter3.mjs +1 -1
- package/dist/chunks/libs/fast-equals.mjs +1 -0
- package/dist/chunks/libs/fontkit.mjs +1 -0
- package/dist/chunks/libs/json5.mjs +4 -4
- package/dist/chunks/libs/langium.d.mts +6707 -6715
- package/dist/chunks/libs/langium.mjs +16 -24
- package/dist/chunks/libs/merge-error-cause.mjs +1 -1
- package/dist/chunks/libs/p-limit.mjs +1 -0
- package/dist/chunks/libs/p-queue.mjs +1 -1
- package/dist/chunks/libs/package-manager-detector.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +1 -1
- package/dist/chunks/libs/pathe.mjs +1 -1
- package/dist/chunks/libs/pretty-ms.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ufo.mjs +1 -1
- package/dist/chunks/libs/unstorage.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/node.mjs +111 -77
- package/dist/chunks/rolldown-runtime.mjs +1 -1
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/chunks/vite-plugin.mjs +185 -166
- package/dist/cli/index.mjs +254 -1306
- package/dist/config/index.d.mts +66 -5
- package/dist/config/index.mjs +1 -1
- package/dist/generators/likec4.d.mts +6530 -0
- package/dist/generators/likec4.mjs +1 -0
- package/dist/index.d.mts +2 -4
- package/dist/model/index.d.mts +0 -7
- package/dist/vite-plugin/index.d.mts +83 -58
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +8 -0
- package/dist/vite-plugin/internal/index.d.mts +92 -17
- package/dist/vite-plugin/internal/index.mjs +225 -126
- package/generators/likec4/package.json +4 -0
- package/package.json +134 -122
- package/react/index.d.mts +7496 -26659
- package/react/index.mjs +533 -63936
- package/react/rolldown-runtime-CfRud99p.js +1 -0
- package/skills/likec4-dsl/SKILL.md +474 -0
- package/skills/likec4-dsl/evals/evals-public.json +207 -0
- package/skills/likec4-dsl/evals/grading-spec.json +603 -0
- package/skills/likec4-dsl/references/bridge-leanix-drawio.md +42 -0
- package/skills/likec4-dsl/references/cli.md +168 -0
- package/skills/likec4-dsl/references/configuration.md +266 -0
- package/skills/likec4-dsl/references/deployment.md +160 -0
- package/skills/likec4-dsl/references/diffs.md +52 -0
- package/skills/likec4-dsl/references/dynamic-views.md +455 -0
- package/skills/likec4-dsl/references/examples.md +370 -0
- package/skills/likec4-dsl/references/identifier-validity.md +90 -0
- package/skills/likec4-dsl/references/include-predicates-wildcards.md +180 -0
- package/skills/likec4-dsl/references/model.md +182 -0
- package/skills/likec4-dsl/references/predicates.md +123 -0
- package/skills/likec4-dsl/references/relationships-bidirectional.md +176 -0
- package/skills/likec4-dsl/references/specification.md +79 -0
- package/skills/likec4-dsl/references/style-tokens-colors.md +150 -0
- package/skills/likec4-dsl/references/troubleshooting.md +101 -0
- package/skills/likec4-dsl/references/views.md +329 -0
- package/vite-plugin-modules.d.ts +126 -51
- package/__app__/src/chunks/LikeC4Styles.mjs +0 -2306
- package/__app__/src/chunks/ProjectsOverview.mjs +0 -537
- package/__app__/src/chunks/es.mjs +0 -439
- package/__app__/src/chunks/libs/@floating-ui.mjs +0 -2532
- package/__app__/src/chunks/libs/@mantine.mjs +0 -13868
- package/__app__/src/chunks/libs/@xstate/react.mjs +0 -2015
- package/__app__/src/chunks/libs/@xyflow/react.mjs +0 -5367
- package/__app__/src/chunks/libs/bezier-js.mjs +0 -1007
- package/__app__/src/chunks/libs/d3.mjs +0 -2817
- package/__app__/src/chunks/libs/framer.mjs +0 -5926
- package/__app__/src/chunks/libs/zod.mjs +0 -3176
- package/dist/chunks/libs/@chevrotain/types.d.mts +0 -108
- package/dist/chunks/libs/picomatch.mjs +0 -1
- package/dist/chunks/libs/zod.d.mts +0 -3840
- package/dist/chunks/libs/zod.mjs +0 -65
package/vite-plugin-modules.d.ts
CHANGED
|
@@ -33,25 +33,17 @@ declare module 'likec4:projects-overview' {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
declare module 'likec4:icons' {
|
|
36
|
-
import type {
|
|
37
|
-
|
|
38
|
-
export type ElementIconRendererProps = {
|
|
39
|
-
node: {
|
|
40
|
-
id: string
|
|
41
|
-
title: string
|
|
42
|
-
icon?: string | null | undefined
|
|
43
|
-
}
|
|
44
|
-
}
|
|
36
|
+
import type { ElementIconRenderer, ElementIconRendererProps } from 'likec4/react'
|
|
45
37
|
|
|
46
|
-
export type ElementIconRenderer
|
|
38
|
+
export type { ElementIconRenderer, ElementIconRendererProps }
|
|
47
39
|
export function getProjectIcons(projectId: string): ElementIconRenderer
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
declare module 'likec4:model' {
|
|
51
|
-
import type { DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted } from 'likec4/model'
|
|
43
|
+
import type { DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted, ViewId } from 'likec4/model'
|
|
52
44
|
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
53
45
|
|
|
54
|
-
export type { Atom, DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted }
|
|
46
|
+
export type { Atom, DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted, ViewId }
|
|
55
47
|
|
|
56
48
|
export function loadModel(projectId: string): Promise<{
|
|
57
49
|
$likec4data: Atom<LayoutedLikeC4ModelData>
|
|
@@ -59,6 +51,7 @@ declare module 'likec4:model' {
|
|
|
59
51
|
useLikeC4Model: () => LikeC4Model<UnknownLayouted>
|
|
60
52
|
useLikeC4Views: () => ReadonlyArray<DiagramView<UnknownLayouted>>
|
|
61
53
|
useLikeC4View: (viewId: string) => DiagramView<UnknownLayouted> | null
|
|
54
|
+
isLikeC4ViewId: (value: unknown) => value is ViewId
|
|
62
55
|
}>
|
|
63
56
|
}
|
|
64
57
|
|
|
@@ -69,15 +62,19 @@ declare module 'likec4:single-project' {
|
|
|
69
62
|
LikeC4Model,
|
|
70
63
|
types,
|
|
71
64
|
UnknownLayouted,
|
|
65
|
+
ViewId,
|
|
72
66
|
} from 'likec4/model'
|
|
73
67
|
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
74
68
|
import type { ElementIconRenderer } from 'likec4:icons'
|
|
75
69
|
|
|
70
|
+
export type { Atom, DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted, ViewId }
|
|
71
|
+
|
|
76
72
|
export const $likec4data: Atom<LayoutedLikeC4ModelData>
|
|
77
73
|
export const $likec4model: Atom<LikeC4Model<UnknownLayouted>>
|
|
78
74
|
export function useLikeC4Model(): LikeC4Model<UnknownLayouted>
|
|
79
75
|
export function useLikeC4Views(): ReadonlyArray<DiagramView<UnknownLayouted>>
|
|
80
76
|
export function useLikeC4View(viewId: string): DiagramView<UnknownLayouted> | null
|
|
77
|
+
export function isLikeC4ViewId(value: unknown): value is ViewId
|
|
81
78
|
|
|
82
79
|
export const IconRenderer: ElementIconRenderer
|
|
83
80
|
|
|
@@ -85,23 +82,39 @@ declare module 'likec4:single-project' {
|
|
|
85
82
|
}
|
|
86
83
|
|
|
87
84
|
declare module 'likec4:react' {
|
|
88
|
-
import type {
|
|
89
|
-
|
|
85
|
+
import type {
|
|
86
|
+
aux,
|
|
87
|
+
DiagramView,
|
|
88
|
+
LayoutedLikeC4ModelData,
|
|
89
|
+
LayoutedView,
|
|
90
|
+
LikeC4Model,
|
|
91
|
+
UnknownLayouted,
|
|
92
|
+
} from 'likec4/model'
|
|
93
|
+
import type { ElementIconRendererProps, LikeC4ViewProps, ReactLikeC4Props } from 'likec4/react'
|
|
90
94
|
import type { JSX, PropsWithChildren } from 'react'
|
|
95
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
91
96
|
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
export type { Atom, DiagramView, LayoutedView, LikeC4Model, UnknownLayouted }
|
|
98
|
+
|
|
99
|
+
// This will be used for augmenting the types
|
|
100
|
+
export interface Register {
|
|
94
101
|
}
|
|
102
|
+
export type $Types<T = Register> = T extends { aux: infer A extends aux.Any } ? A : UnknownLayouted
|
|
95
103
|
|
|
96
|
-
export type LikeC4ViewId = aux.ViewId
|
|
104
|
+
export type LikeC4ViewId = aux.ViewId<$Types>
|
|
97
105
|
|
|
98
|
-
export
|
|
99
|
-
export
|
|
100
|
-
export
|
|
106
|
+
// Re-export from likec4:model
|
|
107
|
+
export const $likec4data: Atom<LayoutedLikeC4ModelData<$Types>>
|
|
108
|
+
export const $likec4model: Atom<LikeC4Model<$Types>>
|
|
109
|
+
export function useLikeC4Model(): LikeC4Model<$Types>
|
|
110
|
+
export function useLikeC4Views(): ReadonlyArray<LayoutedView<$Types>>
|
|
111
|
+
export function useLikeC4View(viewId: LikeC4ViewId): LayoutedView<$Types> | null
|
|
112
|
+
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId
|
|
101
113
|
|
|
102
114
|
export function LikeC4ModelProvider(props: PropsWithChildren): JSX.Element
|
|
103
|
-
export function LikeC4View({ viewId, ...props }: LikeC4ViewProps
|
|
104
|
-
export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props
|
|
115
|
+
export function LikeC4View({ viewId, ...props }: LikeC4ViewProps<$Types>): JSX.Element
|
|
116
|
+
export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props<$Types>): JSX.Element
|
|
117
|
+
export function IconRenderer(props: ElementIconRendererProps): JSX.Element
|
|
105
118
|
}
|
|
106
119
|
|
|
107
120
|
declare module 'likec4:dot' {
|
|
@@ -130,56 +143,102 @@ declare module 'likec4:drawio' {
|
|
|
130
143
|
drawioEditUrl(this: void, viewId: string): string
|
|
131
144
|
}>
|
|
132
145
|
}
|
|
146
|
+
declare module 'likec4:diffs' {
|
|
147
|
+
import type { DiffSummary, LayoutedView } from 'likec4/model'
|
|
148
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Diffs of the project, with the compare views of the views they change (by diff id, then by view id)
|
|
152
|
+
*/
|
|
153
|
+
export interface ProjectDiffs {
|
|
154
|
+
diffs: DiffSummary[]
|
|
155
|
+
views: Record<string, Record<string, LayoutedView>>
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export function loadDiffs(projectId: string): Promise<{
|
|
159
|
+
$diffs: Atom<ProjectDiffs>
|
|
160
|
+
}>
|
|
161
|
+
}
|
|
133
162
|
|
|
134
163
|
// Per project
|
|
135
164
|
|
|
165
|
+
declare module 'likec4:diffs/*' {
|
|
166
|
+
import type { ProjectDiffs } from 'likec4:diffs'
|
|
167
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
168
|
+
|
|
169
|
+
export const $diffs: Atom<ProjectDiffs>
|
|
170
|
+
}
|
|
171
|
+
|
|
136
172
|
declare module 'likec4:model/*' {
|
|
137
|
-
import type {
|
|
138
|
-
|
|
173
|
+
import type {
|
|
174
|
+
aux,
|
|
175
|
+
DiagramView,
|
|
176
|
+
LayoutedLikeC4ModelData,
|
|
177
|
+
LayoutedView,
|
|
178
|
+
LikeC4Model,
|
|
179
|
+
UnknownLayouted,
|
|
180
|
+
} from 'likec4/model'
|
|
181
|
+
import type { ElementIconRendererProps, LikeC4ViewProps, ReactLikeC4Props } from 'likec4/react'
|
|
182
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
183
|
+
|
|
184
|
+
export type { Atom, DiagramView, LayoutedView, LikeC4Model, UnknownLayouted }
|
|
139
185
|
|
|
140
|
-
// This will be used
|
|
141
|
-
interface
|
|
186
|
+
// This will be used for augmenting the types
|
|
187
|
+
export interface Register {
|
|
142
188
|
}
|
|
189
|
+
export type $Types<T = Register> = T extends { aux: infer A extends aux.Any } ? A : UnknownLayouted
|
|
143
190
|
|
|
144
|
-
export type LikeC4ViewId = aux.ViewId
|
|
191
|
+
export type LikeC4ViewId = aux.ViewId<$Types>
|
|
145
192
|
|
|
146
|
-
export const $likec4data: Atom<LayoutedLikeC4ModelData
|
|
147
|
-
export const $likec4model: Atom<LikeC4Model
|
|
148
|
-
export function useLikeC4Model(): LikeC4Model
|
|
149
|
-
export function useLikeC4Views(): ReadonlyArray<
|
|
150
|
-
export function useLikeC4View(viewId: LikeC4ViewId):
|
|
193
|
+
export const $likec4data: Atom<LayoutedLikeC4ModelData<$Types>>
|
|
194
|
+
export const $likec4model: Atom<LikeC4Model<$Types>>
|
|
195
|
+
export function useLikeC4Model(): LikeC4Model<$Types>
|
|
196
|
+
export function useLikeC4Views(): ReadonlyArray<LayoutedView<$Types>>
|
|
197
|
+
export function useLikeC4View(viewId: LikeC4ViewId): LayoutedView<$Types> | null
|
|
198
|
+
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId
|
|
151
199
|
}
|
|
152
200
|
|
|
153
201
|
declare module 'likec4:icons/*' {
|
|
154
|
-
import type {
|
|
155
|
-
type ElementIconRendererProps
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
title: string
|
|
159
|
-
icon?: string | null | undefined
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
export function IconRenderer(props: ElementIconRendererProps): ReactNode
|
|
202
|
+
import type { JSX } from 'react'
|
|
203
|
+
import type { ElementIconRendererProps } from 'likec4/react'
|
|
204
|
+
|
|
205
|
+
export function IconRenderer(props: ElementIconRendererProps): JSX.Element
|
|
163
206
|
}
|
|
164
207
|
|
|
165
208
|
declare module 'likec4:react/*' {
|
|
166
|
-
import type {
|
|
167
|
-
|
|
209
|
+
import type {
|
|
210
|
+
aux,
|
|
211
|
+
DiagramView,
|
|
212
|
+
LayoutedLikeC4ModelData,
|
|
213
|
+
LayoutedView,
|
|
214
|
+
LikeC4Model,
|
|
215
|
+
UnknownLayouted,
|
|
216
|
+
} from 'likec4/model'
|
|
217
|
+
import type { ElementIconRendererProps, LikeC4ViewProps, ReactLikeC4Props } from 'likec4/react'
|
|
168
218
|
import type { JSX, PropsWithChildren } from 'react'
|
|
219
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
169
220
|
|
|
170
|
-
|
|
171
|
-
|
|
221
|
+
export type { Atom, DiagramView, LayoutedView, LikeC4Model, UnknownLayouted }
|
|
222
|
+
|
|
223
|
+
// This will be used for augmenting the types
|
|
224
|
+
export interface Register {
|
|
172
225
|
}
|
|
226
|
+
export type $Types<T = Register> = T extends { aux: infer A extends aux.Any } ? A : UnknownLayouted
|
|
173
227
|
|
|
174
|
-
export type LikeC4ViewId = aux.ViewId
|
|
228
|
+
export type LikeC4ViewId = aux.ViewId<$Types>
|
|
175
229
|
|
|
176
|
-
export
|
|
177
|
-
export
|
|
178
|
-
export
|
|
230
|
+
// Re-export from likec4:model
|
|
231
|
+
export const $likec4data: Atom<LayoutedLikeC4ModelData<$Types>>
|
|
232
|
+
export const $likec4model: Atom<LikeC4Model<$Types>>
|
|
233
|
+
export function useLikeC4Model(): LikeC4Model<$Types>
|
|
234
|
+
export function useLikeC4Views(): ReadonlyArray<LayoutedView<$Types>>
|
|
235
|
+
export function useLikeC4View(viewId: LikeC4ViewId): LayoutedView<$Types> | null
|
|
236
|
+
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId
|
|
179
237
|
|
|
180
238
|
export function LikeC4ModelProvider(props: PropsWithChildren): JSX.Element
|
|
181
|
-
export function LikeC4View({ viewId, ...props }: LikeC4ViewProps
|
|
182
|
-
export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props
|
|
239
|
+
export function LikeC4View({ viewId, ...props }: LikeC4ViewProps<$Types>): JSX.Element
|
|
240
|
+
export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props<$Types>): JSX.Element
|
|
241
|
+
export function IconRenderer(props: ElementIconRendererProps): JSX.Element
|
|
183
242
|
}
|
|
184
243
|
|
|
185
244
|
declare module 'likec4:webcomponents/*' {
|
|
@@ -207,6 +266,9 @@ declare module 'likec4:rpc' {
|
|
|
207
266
|
declare module 'likec4:app-config' {
|
|
208
267
|
export let ComponentName: {
|
|
209
268
|
View: string
|
|
269
|
+
/**
|
|
270
|
+
* @deprecated
|
|
271
|
+
*/
|
|
210
272
|
Browser: string
|
|
211
273
|
}
|
|
212
274
|
export let pageTitle: string
|
|
@@ -217,3 +279,16 @@ declare module 'likec4:app-config' {
|
|
|
217
279
|
export let krokiD2SvgUrl: string
|
|
218
280
|
export let krokiPumlSvgUrl: string
|
|
219
281
|
}
|
|
282
|
+
|
|
283
|
+
declare module 'likec4:customization' {
|
|
284
|
+
import type { CustomComponents } from 'likec4/react'
|
|
285
|
+
import type { Atom } from 'likec4/vite-plugin/internal'
|
|
286
|
+
|
|
287
|
+
export type { CustomComponents }
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* UI overrides from the file set in the `customization` option of the LikeC4 Vite plugin
|
|
291
|
+
*/
|
|
292
|
+
export const $customComponents: Atom<CustomComponents | undefined>
|
|
293
|
+
export function useCustomComponents(): CustomComponents | undefined
|
|
294
|
+
}
|