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.
Files changed (186) hide show
  1. package/README.md +2 -0
  2. package/__app__/codegen/react.mjs +4 -10
  3. package/__app__/codegen/webcomponent.mjs +6 -131
  4. package/__app__/index.html +15 -15
  5. package/__app__/src/aichat/index.mjs +11 -7
  6. package/__app__/src/chunks/AIChat.mjs +1355 -739
  7. package/__app__/src/chunks/ErrorComponent.mjs +444 -0
  8. package/__app__/src/chunks/Header.mjs +269 -0
  9. package/__app__/src/chunks/ViewReact.mjs +438 -0
  10. package/__app__/src/chunks/find.mjs +38 -0
  11. package/__app__/src/chunks/hooks.mjs +158 -472
  12. package/__app__/src/chunks/libs/@tabler/icons-react.mjs +340 -0
  13. package/__app__/src/chunks/libs/@tanstack-ai.mjs +11841 -1417
  14. package/__app__/src/chunks/libs/@tanstack.mjs +5110 -2404
  15. package/__app__/src/chunks/libs/fast-equals.mjs +507 -214
  16. package/__app__/src/chunks/libs/html-to-image.mjs +613 -0
  17. package/__app__/src/chunks/libs/nanostores.mjs +170 -0
  18. package/__app__/src/chunks/libs/react-resizable-panels.mjs +2792 -0
  19. package/__app__/src/chunks/react.mjs +22 -0
  20. package/__app__/src/chunks/rolldown-runtime.mjs +16 -29
  21. package/__app__/src/chunks/router.mjs +106 -0
  22. package/__app__/src/chunks/scope.mjs +106 -0
  23. package/__app__/src/chunks/searchParams.mjs +29 -0
  24. package/__app__/src/chunks/single-index.mjs +465 -0
  25. package/__app__/src/chunks/styled-system.mjs +1826 -2528
  26. package/__app__/src/chunks/useAsync.mjs +69 -0
  27. package/__app__/src/chunks/useSyncedRef.mjs +16 -0
  28. package/__app__/src/components/ColorSchemeToggle.mjs +124 -0
  29. package/__app__/src/components/CopyToClipboard.mjs +53 -0
  30. package/__app__/src/components/ErrorComponent.mjs +1 -0
  31. package/__app__/src/components/NavigationPanel.mjs +63 -0
  32. package/__app__/src/components/NotFound.mjs +155 -0
  33. package/__app__/src/components/ViewOutlet.mjs +9 -0
  34. package/__app__/src/components/model-diff/CompareModelProvider.mjs +44 -0
  35. package/__app__/src/components/model-diff/ModelDiffPanel.mjs +179 -0
  36. package/__app__/src/components/model-diff/compare-model.mjs +76 -0
  37. package/__app__/src/components/model-diff/state.mjs +45 -0
  38. package/__app__/src/components/search/OverviewSearch.mjs +92 -0
  39. package/__app__/src/components/search/OverviewSearchAdapter.mjs +94 -0
  40. package/__app__/src/components/sidebar/DiagramTree.css.mjs +48 -0
  41. package/__app__/src/components/sidebar/DiagramsTree.mjs +304 -0
  42. package/__app__/src/components/sidebar/Drawer.mjs +178 -0
  43. package/__app__/src/components/sidebar/SidebarBurger.mjs +28 -0
  44. package/__app__/src/components/sidebar/data.mjs +94 -0
  45. package/__app__/src/components/sidebar/state.mjs +16 -0
  46. package/__app__/src/components/view-page/Header.mjs +1 -0
  47. package/__app__/src/components/view-page/SelectProject.mjs +258 -0
  48. package/__app__/src/components/view-page/ShareModal.mjs +111 -0
  49. package/__app__/src/components/view-page/share-modal/AlertLocalhost.mjs +31 -0
  50. package/__app__/src/components/view-page/share-modal/CopyButtonChild.mjs +36 -0
  51. package/__app__/src/components/view-page/share-modal/EmbedPanel.mjs +100 -0
  52. package/__app__/src/components/view-page/share-modal/WebcomponentsPanel.mjs +264 -0
  53. package/__app__/src/components/view-page/state.mjs +17 -0
  54. package/__app__/src/context/LikeC4CustomizationContext.mjs +26 -0
  55. package/__app__/src/context/LikeC4IconRendererContext.mjs +29 -0
  56. package/__app__/src/context/LikeC4ModelContext.mjs +34 -0
  57. package/__app__/src/context/LikeC4ProjectsContext.mjs +40 -0
  58. package/__app__/src/context/ModelDiffsContext.mjs +33 -0
  59. package/__app__/src/context/safeCtx.mjs +14 -0
  60. package/__app__/src/fonts.css +112 -1
  61. package/__app__/src/hooks.mjs +1 -0
  62. package/__app__/src/main.mjs +6 -29151
  63. package/__app__/src/pages/EmbedPage.mjs +93 -0
  64. package/__app__/src/pages/ExportPage.mjs +691 -0
  65. package/__app__/src/pages/ProjectsOverview.mjs +23 -0
  66. package/__app__/src/pages/ViewAsD2.mjs +105 -0
  67. package/__app__/src/pages/ViewAsDot.mjs +65 -0
  68. package/__app__/src/pages/ViewAsMmd.mjs +109 -0
  69. package/__app__/src/pages/ViewAsPuml.mjs +105 -0
  70. package/__app__/src/pages/ViewEditor.mjs +220 -0
  71. package/__app__/src/pages/ViewReact.mjs +1 -0
  72. package/__app__/src/pages/export-layout.mjs +95 -0
  73. package/__app__/src/pages/export-page-params.mjs +9 -0
  74. package/__app__/src/pages/styles.css.mjs +23 -0
  75. package/__app__/src/routeTree.gen.mjs +105 -0
  76. package/__app__/src/router.mjs +1 -0
  77. package/__app__/src/routes/__root.mjs +65 -0
  78. package/__app__/src/routes/index.css.mjs +29 -0
  79. package/__app__/src/routes/index.mjs +32 -0
  80. package/__app__/src/routes/project._projectId/-components.mjs +100 -0
  81. package/__app__/src/routes/project._projectId/embed._viewId.mjs +5 -0
  82. package/__app__/src/routes/project._projectId/export._viewId.mjs +24 -0
  83. package/__app__/src/routes/project._projectId/index.mjs +14 -0
  84. package/__app__/src/routes/project._projectId/route.mjs +93 -0
  85. package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +34 -0
  86. package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +41 -0
  87. package/__app__/src/routes/project._projectId/view._viewId.index.mjs +7 -0
  88. package/__app__/src/routes/project._projectId/view._viewId.mjs +23 -0
  89. package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +39 -0
  90. package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +34 -0
  91. package/__app__/src/routes/projects.mjs +36 -0
  92. package/__app__/src/routes/single-index.mjs +1 -0
  93. package/__app__/src/routes/webcomponent._.mjs +94 -0
  94. package/__app__/src/style.css +18497 -1
  95. package/config/schema.json +146 -97
  96. package/dist/app/render-view-client.css +1 -1
  97. package/dist/app/render-view-client.js +394 -238
  98. package/dist/chunks/enableServer.mjs +1 -1
  99. package/dist/chunks/filenames.mjs +25 -17
  100. package/dist/chunks/generate-likec4.mjs +5 -0
  101. package/dist/chunks/index.d.mts +255 -194
  102. package/dist/chunks/index2.d.mts +8246 -3610
  103. package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
  104. package/dist/chunks/libs/@chevrotain/gast.mjs +27 -1
  105. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +81 -9
  106. package/dist/chunks/libs/@logtape/logtape.mjs +5 -4
  107. package/dist/chunks/libs/@lume/kiwi.mjs +1 -1
  108. package/dist/chunks/libs/@ts-graphviz/common.d.mts +2 -4
  109. package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -1
  110. package/dist/chunks/libs/birpc.mjs +1 -1
  111. package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
  112. package/dist/chunks/libs/chevrotain.mjs +88 -36
  113. package/dist/chunks/libs/clone.mjs +1 -0
  114. package/dist/chunks/libs/eventemitter3.mjs +1 -1
  115. package/dist/chunks/libs/fast-equals.mjs +1 -0
  116. package/dist/chunks/libs/fontkit.mjs +1 -0
  117. package/dist/chunks/libs/json5.mjs +4 -4
  118. package/dist/chunks/libs/langium.d.mts +6707 -6715
  119. package/dist/chunks/libs/langium.mjs +16 -24
  120. package/dist/chunks/libs/merge-error-cause.mjs +1 -1
  121. package/dist/chunks/libs/p-limit.mjs +1 -0
  122. package/dist/chunks/libs/p-queue.mjs +1 -1
  123. package/dist/chunks/libs/package-manager-detector.mjs +1 -1
  124. package/dist/chunks/libs/pako.mjs +1 -1
  125. package/dist/chunks/libs/pathe.mjs +1 -1
  126. package/dist/chunks/libs/pretty-ms.mjs +1 -1
  127. package/dist/chunks/libs/remeda.mjs +1 -1
  128. package/dist/chunks/libs/ufo.mjs +1 -1
  129. package/dist/chunks/libs/unstorage.mjs +1 -1
  130. package/dist/chunks/libs/which.mjs +1 -1
  131. package/dist/chunks/node.mjs +111 -77
  132. package/dist/chunks/rolldown-runtime.mjs +1 -1
  133. package/dist/chunks/sequence-view.mjs +1 -1
  134. package/dist/chunks/vite-plugin.mjs +185 -166
  135. package/dist/cli/index.mjs +254 -1306
  136. package/dist/config/index.d.mts +66 -5
  137. package/dist/config/index.mjs +1 -1
  138. package/dist/generators/likec4.d.mts +6530 -0
  139. package/dist/generators/likec4.mjs +1 -0
  140. package/dist/index.d.mts +2 -4
  141. package/dist/model/index.d.mts +0 -7
  142. package/dist/vite-plugin/index.d.mts +83 -58
  143. package/dist/vite-plugin/index.mjs +1 -1
  144. package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +8 -0
  145. package/dist/vite-plugin/internal/index.d.mts +92 -17
  146. package/dist/vite-plugin/internal/index.mjs +225 -126
  147. package/generators/likec4/package.json +4 -0
  148. package/package.json +134 -122
  149. package/react/index.d.mts +7496 -26659
  150. package/react/index.mjs +533 -63936
  151. package/react/rolldown-runtime-CfRud99p.js +1 -0
  152. package/skills/likec4-dsl/SKILL.md +474 -0
  153. package/skills/likec4-dsl/evals/evals-public.json +207 -0
  154. package/skills/likec4-dsl/evals/grading-spec.json +603 -0
  155. package/skills/likec4-dsl/references/bridge-leanix-drawio.md +42 -0
  156. package/skills/likec4-dsl/references/cli.md +168 -0
  157. package/skills/likec4-dsl/references/configuration.md +266 -0
  158. package/skills/likec4-dsl/references/deployment.md +160 -0
  159. package/skills/likec4-dsl/references/diffs.md +52 -0
  160. package/skills/likec4-dsl/references/dynamic-views.md +455 -0
  161. package/skills/likec4-dsl/references/examples.md +370 -0
  162. package/skills/likec4-dsl/references/identifier-validity.md +90 -0
  163. package/skills/likec4-dsl/references/include-predicates-wildcards.md +180 -0
  164. package/skills/likec4-dsl/references/model.md +182 -0
  165. package/skills/likec4-dsl/references/predicates.md +123 -0
  166. package/skills/likec4-dsl/references/relationships-bidirectional.md +176 -0
  167. package/skills/likec4-dsl/references/specification.md +79 -0
  168. package/skills/likec4-dsl/references/style-tokens-colors.md +150 -0
  169. package/skills/likec4-dsl/references/troubleshooting.md +101 -0
  170. package/skills/likec4-dsl/references/views.md +329 -0
  171. package/vite-plugin-modules.d.ts +126 -51
  172. package/__app__/src/chunks/LikeC4Styles.mjs +0 -2306
  173. package/__app__/src/chunks/ProjectsOverview.mjs +0 -537
  174. package/__app__/src/chunks/es.mjs +0 -439
  175. package/__app__/src/chunks/libs/@floating-ui.mjs +0 -2532
  176. package/__app__/src/chunks/libs/@mantine.mjs +0 -13868
  177. package/__app__/src/chunks/libs/@xstate/react.mjs +0 -2015
  178. package/__app__/src/chunks/libs/@xyflow/react.mjs +0 -5367
  179. package/__app__/src/chunks/libs/bezier-js.mjs +0 -1007
  180. package/__app__/src/chunks/libs/d3.mjs +0 -2817
  181. package/__app__/src/chunks/libs/framer.mjs +0 -5926
  182. package/__app__/src/chunks/libs/zod.mjs +0 -3176
  183. package/dist/chunks/libs/@chevrotain/types.d.mts +0 -108
  184. package/dist/chunks/libs/picomatch.mjs +0 -1
  185. package/dist/chunks/libs/zod.d.mts +0 -3840
  186. package/dist/chunks/libs/zod.mjs +0 -65
@@ -33,25 +33,17 @@ declare module 'likec4:projects-overview' {
33
33
  }
34
34
 
35
35
  declare module 'likec4:icons' {
36
- import type { ReactNode } from 'react'
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 = (props: ElementIconRendererProps) => ReactNode
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 { aux, DiagramView, LikeC4Model, UnknownLayouted } from 'likec4/model'
89
- import type { LikeC4ViewProps, ReactLikeC4Props } from 'likec4/react'
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
- // This will be used later for augmenting the types
93
- interface Types extends UnknownLayouted {
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<Types>
104
+ export type LikeC4ViewId = aux.ViewId<$Types>
97
105
 
98
- export function useLikeC4Model(): LikeC4Model<Types>
99
- export function useLikeC4Views(): ReadonlyArray<DiagramView<Types>>
100
- export function useLikeC4View(viewId: LikeC4ViewId): DiagramView<Types> | null
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<Types>): JSX.Element
104
- export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props<Types>): JSX.Element
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 { aux, DiagramView, LayoutedLikeC4ModelData, LikeC4Model, UnknownLayouted } from 'likec4/model'
138
- import type { Atom } from 'likec4:model'
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 later for augmenting the types
141
- interface Types extends UnknownLayouted {
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<Types>
191
+ export type LikeC4ViewId = aux.ViewId<$Types>
145
192
 
146
- export const $likec4data: Atom<LayoutedLikeC4ModelData<Types>>
147
- export const $likec4model: Atom<LikeC4Model<Types>>
148
- export function useLikeC4Model(): LikeC4Model<Types>
149
- export function useLikeC4Views(): ReadonlyArray<DiagramView<Types>>
150
- export function useLikeC4View(viewId: LikeC4ViewId): DiagramView<Types> | null
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 { ReactNode } from 'react'
155
- type ElementIconRendererProps = {
156
- node: {
157
- id: string
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 { aux, DiagramView, LikeC4Model, UnknownLayouted } from 'likec4/model'
167
- import type { LikeC4ViewProps, ReactLikeC4Props } from 'likec4/react'
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
- // This will be used later for augmenting the types
171
- interface Types extends UnknownLayouted {
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<Types>
228
+ export type LikeC4ViewId = aux.ViewId<$Types>
175
229
 
176
- export function useLikeC4Model(): LikeC4Model<Types>
177
- export function useLikeC4Views(): ReadonlyArray<DiagramView<Types>>
178
- export function useLikeC4View(viewId: LikeC4ViewId): DiagramView<Types> | null
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<Types>): JSX.Element
182
- export function ReactLikeC4({ viewId, ...props }: ReactLikeC4Props<Types>): JSX.Element
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
+ }