likec4 1.50.0 → 1.52.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 (46) hide show
  1. package/__app__/src/ProjectsOverview.js +1 -1
  2. package/__app__/src/likec4.js +277 -164
  3. package/__app__/src/main.js +2 -56
  4. package/__app__/src/routes/index.js +85 -18
  5. package/__app__/src/routes/projects.js +1 -1
  6. package/__app__/src/routes/single.js +433 -53
  7. package/__app__/src/style.css +1 -1
  8. package/__app__/src/vendors.js +18646 -17381
  9. package/__app__/src/webcomponent.js +1 -1
  10. package/config/schema.json +1 -1
  11. package/dist/THIRD-PARTY-LICENSES.md +183 -285
  12. package/dist/_chunks/LikeC4.mjs +1 -1154
  13. package/dist/_chunks/filesystem.mjs +1229 -0
  14. package/dist/_chunks/index2.d.mts +49 -18
  15. package/dist/_chunks/libs/@hono/mcp.mjs +9 -9
  16. package/dist/_chunks/libs/@hono/node-server.mjs +1 -1
  17. package/dist/_chunks/libs/@logtape/logtape.mjs +1 -1
  18. package/dist/_chunks/libs/@modelcontextprotocol/sdk.d.mts +13 -13
  19. package/dist/_chunks/libs/ansi-align.mjs +2 -0
  20. package/dist/_chunks/libs/ansi-regex.mjs +1 -0
  21. package/dist/_chunks/libs/ansi-styles.mjs +1 -0
  22. package/dist/_chunks/libs/atomically.mjs +1 -1
  23. package/dist/_chunks/libs/boxen.d.mts +1 -0
  24. package/dist/_chunks/libs/boxen.mjs +22 -0
  25. package/dist/_chunks/libs/conf.mjs +1 -1
  26. package/dist/_chunks/libs/langium.d.mts +1 -1
  27. package/dist/_chunks/libs/langium.mjs +17 -17
  28. package/dist/_chunks/libs/remeda.mjs +2 -2
  29. package/dist/_chunks/libs/tinyrainbow.mjs +1 -1
  30. package/dist/_chunks/libs/vscode-languageserver.mjs +1 -0
  31. package/dist/_chunks/sequence.mjs +1 -1
  32. package/dist/_chunks/src.mjs +1 -1
  33. package/dist/_chunks/src2.mjs +64 -64
  34. package/dist/cli/index.mjs +84 -74
  35. package/dist/index.d.mts +836 -1
  36. package/dist/index.mjs +1 -1
  37. package/dist/vite-plugin/index.mjs +1 -1
  38. package/dist/vite-plugin/internal.mjs +1 -1
  39. package/package.json +23 -24
  40. package/react/index.d.mts +56 -2
  41. package/react/index.mjs +1575 -595
  42. package/dist/_chunks/binary.mjs +0 -72
  43. package/dist/_chunks/libs/@logtape/logtape.d.mts +0 -741
  44. package/dist/_chunks/libs/@msgpack/msgpack.mjs +0 -1
  45. package/dist/_chunks/libs/@smithy/is-array-buffer.mjs +0 -1
  46. package/dist/_chunks/libs/@smithy/util-base64.mjs +0 -1
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./_chunks/libs/remeda.mjs";import"./_chunks/libs/@logtape/logtape.mjs";import"./_chunks/libs/merge-error-cause.mjs";import"./_chunks/libs/is-error-instance.mjs";import"./_chunks/libs/is-plain-obj.mjs";import"./_chunks/libs/safe-stringify.mjs";import"./_chunks/binary.mjs";import"./_chunks/libs/defu.mjs";import"./_chunks/libs/pathe.mjs";import"./_chunks/libs/tinyrainbow.mjs";import"./_chunks/libs/json5.mjs";import"./_chunks/libs/@hono/mcp.mjs";import"./_chunks/src.mjs";import"./_chunks/libs/langium.mjs";import"./_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"./_chunks/libs/chevrotain.mjs";import"./_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"./_chunks/libs/@chevrotain/utils.mjs";import"./_chunks/libs/chevrotain-allstar.mjs";import"./_chunks/libs/eventemitter3.mjs";import"./_chunks/libs/p-queue.mjs";import"./_chunks/libs/fast-equals.mjs";import"./_chunks/sequence.mjs";import"./_chunks/libs/@lume/kiwi.mjs";import"./_chunks/libs/ts-graphviz.mjs";import"./_chunks/libs/word-wrap.mjs";import"./_chunks/libs/khroma.mjs";import"./_chunks/libs/p-limit.mjs";import"./_chunks/libs/picomatch.mjs";import"./_chunks/libs/ufo.mjs";import"./_chunks/libs/parse-ms.mjs";import"./_chunks/libs/pretty-ms.mjs";import"./_chunks/libs/@msgpack/msgpack.mjs";import"./_chunks/libs/@smithy/is-array-buffer.mjs";import"./_chunks/libs/@smithy/util-base64.mjs";import"./_chunks/libs/strip-indent.mjs";import"./_chunks/libs/isexe.mjs";import"./_chunks/libs/which.mjs";import{t as e}from"./_chunks/LikeC4.mjs";import"./_chunks/libs/@modelcontextprotocol/sdk.mjs";import"./_chunks/libs/@hono/node-server.mjs";export{e as LikeC4};
1
+ import"./_chunks/libs/remeda.mjs";import"./_chunks/libs/@logtape/logtape.mjs";import"./_chunks/libs/merge-error-cause.mjs";import"./_chunks/libs/is-error-instance.mjs";import"./_chunks/libs/is-plain-obj.mjs";import"./_chunks/libs/safe-stringify.mjs";import"./_chunks/filesystem.mjs";import"./_chunks/libs/defu.mjs";import"./_chunks/libs/pathe.mjs";import"./_chunks/libs/tinyrainbow.mjs";import"./_chunks/libs/json5.mjs";import"./_chunks/libs/@hono/mcp.mjs";import"./_chunks/src.mjs";import"./_chunks/libs/langium.mjs";import"./_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"./_chunks/libs/chevrotain.mjs";import"./_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"./_chunks/libs/@chevrotain/utils.mjs";import"./_chunks/libs/chevrotain-allstar.mjs";import"./_chunks/sequence.mjs";import"./_chunks/libs/@lume/kiwi.mjs";import"./_chunks/libs/ts-graphviz.mjs";import"./_chunks/libs/word-wrap.mjs";import"./_chunks/libs/khroma.mjs";import"./_chunks/libs/p-limit.mjs";import"./_chunks/libs/eventemitter3.mjs";import"./_chunks/libs/p-queue.mjs";import"./_chunks/libs/isexe.mjs";import"./_chunks/libs/which.mjs";import"./_chunks/libs/@modelcontextprotocol/sdk.mjs";import"./_chunks/libs/picomatch.mjs";import"./_chunks/libs/ufo.mjs";import"./_chunks/libs/parse-ms.mjs";import"./_chunks/libs/pretty-ms.mjs";import"./_chunks/libs/@hono/node-server.mjs";import"./_chunks/libs/fast-equals.mjs";import"./_chunks/libs/strip-indent.mjs";import{t as e}from"./_chunks/LikeC4.mjs";export{e as LikeC4};
@@ -1 +1 @@
1
- import"../_chunks/libs/birpc.mjs";import"../_chunks/libs/remeda.mjs";import"../_chunks/libs/@logtape/logtape.mjs";import"../_chunks/libs/merge-error-cause.mjs";import"../_chunks/libs/is-error-instance.mjs";import"../_chunks/libs/is-plain-obj.mjs";import"../_chunks/libs/safe-stringify.mjs";import"../_chunks/binary.mjs";import"../_chunks/libs/defu.mjs";import"../_chunks/libs/pathe.mjs";import"../_chunks/libs/tinyrainbow.mjs";import"../_chunks/libs/json5.mjs";import"../_chunks/libs/@hono/mcp.mjs";import"../_chunks/src.mjs";import"../_chunks/libs/langium.mjs";import"../_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"../_chunks/libs/chevrotain.mjs";import"../_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"../_chunks/libs/@chevrotain/utils.mjs";import"../_chunks/libs/chevrotain-allstar.mjs";import"../_chunks/libs/eventemitter3.mjs";import"../_chunks/libs/p-queue.mjs";import"../_chunks/libs/fast-equals.mjs";import"../_chunks/sequence.mjs";import"../_chunks/libs/@lume/kiwi.mjs";import"../_chunks/libs/ts-graphviz.mjs";import"../_chunks/libs/word-wrap.mjs";import"../_chunks/libs/khroma.mjs";import"../_chunks/libs/p-limit.mjs";import"../_chunks/libs/picomatch.mjs";import"../_chunks/libs/ufo.mjs";import"../_chunks/libs/parse-ms.mjs";import"../_chunks/libs/pretty-ms.mjs";import"../_chunks/libs/@msgpack/msgpack.mjs";import"../_chunks/libs/@smithy/is-array-buffer.mjs";import"../_chunks/libs/@smithy/util-base64.mjs";import"../_chunks/libs/strip-indent.mjs";import"../_chunks/libs/isexe.mjs";import"../_chunks/libs/which.mjs";import{t as e}from"../_chunks/src2.mjs";import"../_chunks/libs/pako.mjs";export{e as LikeC4VitePlugin};
1
+ import"../_chunks/libs/birpc.mjs";import"../_chunks/libs/remeda.mjs";import"../_chunks/libs/@logtape/logtape.mjs";import"../_chunks/libs/merge-error-cause.mjs";import"../_chunks/libs/is-error-instance.mjs";import"../_chunks/libs/is-plain-obj.mjs";import"../_chunks/libs/safe-stringify.mjs";import"../_chunks/filesystem.mjs";import"../_chunks/libs/defu.mjs";import"../_chunks/libs/pathe.mjs";import"../_chunks/libs/tinyrainbow.mjs";import"../_chunks/libs/json5.mjs";import"../_chunks/libs/@hono/mcp.mjs";import"../_chunks/src.mjs";import"../_chunks/libs/langium.mjs";import"../_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"../_chunks/libs/chevrotain.mjs";import"../_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"../_chunks/libs/@chevrotain/utils.mjs";import"../_chunks/libs/chevrotain-allstar.mjs";import"../_chunks/sequence.mjs";import"../_chunks/libs/@lume/kiwi.mjs";import"../_chunks/libs/ts-graphviz.mjs";import"../_chunks/libs/word-wrap.mjs";import"../_chunks/libs/khroma.mjs";import"../_chunks/libs/p-limit.mjs";import"../_chunks/libs/eventemitter3.mjs";import"../_chunks/libs/p-queue.mjs";import"../_chunks/libs/isexe.mjs";import"../_chunks/libs/which.mjs";import"../_chunks/libs/@modelcontextprotocol/sdk.mjs";import"../_chunks/libs/picomatch.mjs";import"../_chunks/libs/ufo.mjs";import"../_chunks/libs/parse-ms.mjs";import"../_chunks/libs/pretty-ms.mjs";import"../_chunks/libs/@hono/node-server.mjs";import"../_chunks/libs/fast-equals.mjs";import"../_chunks/libs/strip-indent.mjs";import{t as e}from"../_chunks/src2.mjs";import"../_chunks/libs/pako.mjs";export{e as LikeC4VitePlugin};
@@ -1 +1 @@
1
- import{a as e,i as t,n,r,t as i}from"../_chunks/libs/@nanostores/react.mjs";import{t as a}from"../_chunks/libs/birpc.mjs";import{F as o,_ as s}from"../_chunks/libs/remeda.mjs";import{LikeC4Model as c}from"@likec4/core/model";import{useEffect as l,useState as u}from"react";function d(e){return a({},{post:t=>e.send(`likec4:rpc`,t),on:t=>e.on(`likec4:rpc`,t),onGeneralError(e,t){console.error(`RPC error in ${t}`,{error:e})},onFunctionError:(e,t)=>{console.error(`RPC error in ${t}`,{error:e})}})}const f=e=>{let n=t(e,e=>c.create(e));function r(t){let n=e.get();if(o(n,t))return;let r={...t,views:s(t.views,e=>{let t=n.views[e.id];return o(t,e)?t:e})};e.set(r)}let a=t(e,e=>Object.values(e.views));function d(){return i(n)}function f(){return i(a)}function p(t){let[n,r]=u(e.value?.views[t]??null);return l(()=>e.subscribe(e=>{r(e.views[t]??null)}),[t]),n}return{updateModel:r,$likec4model:n,useLikeC4Model:d,useLikeC4Views:f,useLikeC4View:p}};export{e as atom,r as batched,t as computed,f as createHooksForModel,d as createRpc,n as map,i as useStore};
1
+ import{a as e,i as t,n,r,t as i}from"../_chunks/libs/@nanostores/react.mjs";import{t as a}from"../_chunks/libs/birpc.mjs";import{I as o,v as s}from"../_chunks/libs/remeda.mjs";import{LikeC4Model as c}from"@likec4/core/model";import{useEffect as l,useState as u}from"react";function d(e){return a({},{post:t=>e.send(`likec4:rpc`,t),on:t=>e.on(`likec4:rpc`,t),onGeneralError(e,t){console.error(`RPC error in ${t}`,{error:e})},onFunctionError:(e,t)=>{console.error(`RPC error in ${t}`,{error:e})}})}const f=e=>{let n=t(e,e=>c.create(e));function r(t){let n=e.get();if(o(n,t))return;let r={...t,views:s(t.views,e=>{let t=n.views[e.id];return o(t,e)?t:e})};e.set(r)}let a=t(e,e=>Object.values(e.views));function d(){return i(n)}function f(){return i(a)}function p(t){let[n,r]=u(e.value?.views[t]??null);return l(()=>e.subscribe(e=>{r(e.views[t]??null)}),[t]),n}return{updateModel:r,$likec4model:n,useLikeC4Model:d,useLikeC4Views:f,useLikeC4View:p}};export{e as atom,r as batched,t as computed,f as createHooksForModel,d as createRpc,n as map,i as useStore};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "likec4",
3
3
  "description": "Toolchain for your architecture diagrams",
4
- "version": "1.50.0",
4
+ "version": "1.52.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://likec4.dev",
7
7
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -20,7 +20,7 @@
20
20
  "graph"
21
21
  ],
22
22
  "engines": {
23
- "node": ">=22.22.0"
23
+ "node": ">=22.22.1"
24
24
  },
25
25
  "bugs": "https://github.com/likec4/likec4/issues",
26
26
  "type": "module",
@@ -110,20 +110,18 @@
110
110
  "dependencies": {
111
111
  "@hpcc-js/wasm-graphviz": "1.21.0",
112
112
  "@vitejs/plugin-react": "^5.1.4",
113
- "boxen": "^8.0.1",
114
113
  "bundle-require": "^5.1.0",
115
114
  "esbuild": "0.27.3",
116
115
  "fdir": "6.4.0",
117
- "chokidar": "^5.0.0",
118
116
  "playwright": "1.58.2",
119
- "rollup": "^4.57.1",
117
+ "chokidar": "^5.0.0",
120
118
  "std-env": "^3.10.0",
121
119
  "type-fest": "^4.41.0",
122
120
  "vite-plugin-singlefile": "^2.3.0",
123
121
  "vite": "^7.3.1",
124
122
  "yargs": "17.7.2",
125
123
  "nano-spawn": "^2.0.0",
126
- "@likec4/core": "1.50.0",
124
+ "@likec4/core": "1.52.0",
127
125
  "@likec4/icons": "1.46.4"
128
126
  },
129
127
  "peerDependencies": {
@@ -150,11 +148,12 @@
150
148
  "@types/yargs": "^17.0.33",
151
149
  "@xstate/react": "6.0.0",
152
150
  "@xstate/store": "3.14.0",
153
- "@xyflow/react": "12.10.0",
154
- "@xyflow/system": "0.0.74",
155
- "autoprefixer": "^10.4.24",
151
+ "@xyflow/react": "12.10.1",
152
+ "@xyflow/system": "0.0.75",
153
+ "autoprefixer": "^10.4.27",
156
154
  "picomatch": "^4.0.3",
157
155
  "birpc": "^4.0.0",
156
+ "boxen": "^8.0.1",
158
157
  "clsx": "^2.1.1",
159
158
  "conf": "^15.1.0",
160
159
  "defu": "^6.1.4",
@@ -168,7 +167,7 @@
168
167
  "ky": "^1.14.3",
169
168
  "merge-error-cause": "^5.0.2",
170
169
  "mkdirp": "^3.0.1",
171
- "motion": "^12.34.2",
170
+ "motion": "^12.34.5",
172
171
  "npm-run-all2": "^8.0.4",
173
172
  "p-limit": "7.3.0",
174
173
  "nanostores": "1.1.0",
@@ -182,12 +181,12 @@
182
181
  "react-error-boundary": "^6.1.1",
183
182
  "react-resizable-panels": "^4.6.5",
184
183
  "react-shadow": "^20.6.0",
185
- "remeda": "^2.33.5",
184
+ "remeda": "^2.33.6",
186
185
  "semver": "^7.7.4",
187
186
  "strip-indent": "^4.1.1",
188
187
  "tinyrainbow": "^2.0.0",
189
188
  "tsx": "4.21.0",
190
- "turbo": "2.8.10",
189
+ "turbo": "2.8.13",
191
190
  "typescript": "5.9.3",
192
191
  "ufo": "1.6.3",
193
192
  "obuild": "^0.4.31",
@@ -203,19 +202,19 @@
203
202
  "zod": "^3.25.76",
204
203
  "zx": "8.8.5",
205
204
  "xstate": "5.24.0",
206
- "@likec4/config": "1.50.0",
207
- "@likec4/log": "1.50.0",
208
- "@likec4/language-services": "1.50.0",
209
- "@likec4/language-server": "1.50.0",
205
+ "@likec4/config": "1.52.0",
206
+ "@likec4/language-server": "1.52.0",
207
+ "@likec4/log": "1.52.0",
208
+ "@likec4/language-services": "1.52.0",
210
209
  "@likec4/devops": "1.42.0",
211
- "@likec4/diagram": "1.50.0",
212
- "@likec4/layouts": "1.50.0",
213
- "@likec4/vite-plugin": "1.50.0",
214
- "@likec4/react": "1.50.0",
215
- "@likec4/generators": "1.50.0",
216
- "@likec4/style-preset": "1.50.0",
217
- "@likec4/styles": "1.50.0",
218
- "@likec4/tsconfig": "1.50.0"
210
+ "@likec4/diagram": "1.52.0",
211
+ "@likec4/layouts": "1.52.0",
212
+ "@likec4/vite-plugin": "1.52.0",
213
+ "@likec4/react": "1.52.0",
214
+ "@likec4/generators": "1.52.0",
215
+ "@likec4/style-preset": "1.52.0",
216
+ "@likec4/tsconfig": "1.52.0",
217
+ "@likec4/styles": "1.52.0"
219
218
  },
220
219
  "scripts": {
221
220
  "typecheck": "tsc --build --verbose",
package/react/index.d.mts CHANGED
@@ -9,6 +9,7 @@ import { CamelCasedProperties } from 'type-fest';
9
9
  import { Color } from '@likec4/core/types';
10
10
  import { ComputedNodeStyle } from '@likec4/core/types';
11
11
  import { ComputedNodeStyle as ComputedNodeStyle_2 } from '@likec4/core';
12
+ import { Context as Context_4 } from 'react';
12
13
  import { ControlButton } from '@xyflow/react';
13
14
  import { Controls } from '@xyflow/react';
14
15
  import { CSSProperties } from 'react';
@@ -28,17 +29,20 @@ import { EdgeId as EdgeId_2 } from '@likec4/core';
28
29
  import { EdgeProps } from '@xyflow/react';
29
30
  import { EffectCallback } from 'react';
30
31
  import { ElementKind } from '@likec4/core/types';
32
+ import { ElementProps } from '@mantine/core';
31
33
  import { ElementShape as ElementShape_2 } from '@likec4/core/types';
32
34
  import { ElementStyle } from '@likec4/core/types';
33
35
  import { Except } from 'type-fest';
34
36
  import { ExclusiveUnion } from '@likec4/core/types';
35
37
  import { ExclusiveUnion as ExclusiveUnion_2 } from '@likec4/core';
36
38
  import { FC } from 'react';
39
+ import { ForwardRefComponent } from 'motion/react';
37
40
  import { ForwardRefExoticComponent } from 'react';
38
41
  import { Fqn } from '@likec4/core/types';
39
42
  import { Fqn as Fqn_3 } from '@likec4/core';
40
43
  import { FunctionComponent } from 'react';
41
44
  import { HTMLAttributes } from 'react';
45
+ import { HTMLMotionProps } from 'motion/react';
42
46
  import { IconUrl } from '@likec4/core/types';
43
47
  import { JSX } from 'react/jsx-runtime';
44
48
  import { JsxStyleProps } from '@likec4/styles/types';
@@ -58,6 +62,7 @@ import { MiniMapNodeProps } from '@xyflow/react';
58
62
  import { MotionNodeLayoutOptions } from 'motion/react';
59
63
  import { MotionStyle } from 'motion/react';
60
64
  import { MouseEvent as MouseEvent_2 } from 'react';
65
+ import { NavigationPanelRecipe } from '@likec4/styles/recipes';
61
66
  import { Node as Node_2 } from '@xyflow/react';
62
67
  import { NodeChange } from '@xyflow/system';
63
68
  import { NodeChange as NodeChange_2 } from '@xyflow/react';
@@ -93,8 +98,11 @@ import { SetRequired } from 'type-fest';
93
98
  import { Simplify } from 'type-fest';
94
99
  import { SimplifyDeep } from 'type-fest';
95
100
  import { StepEdgeId } from '@likec4/core/types';
101
+ import { StyleContextConsumer } from '@likec4/styles/jsx';
102
+ import { StyleContextProvider } from '@likec4/styles/jsx';
96
103
  import type * as t from '@likec4/core/types';
97
104
  import { UnknownLayouted as UnknownLayouted_2 } from '@likec4/core/types';
105
+ import { UnstyledButtonProps } from '@mantine/core';
98
106
  import { ViewChange } from '@likec4/core/types';
99
107
  import { ViewId } from '@likec4/core/types';
100
108
  import { ViewId as ViewId_3 } from '@likec4/core';
@@ -2962,6 +2970,14 @@ declare interface NavigationHistoryEntry_2 {
2962
2970
  activeWalkthrough?: null | StepEdgeId;
2963
2971
  }
2964
2972
 
2973
+ export declare const NavigationPanel: {
2974
+ Root: StyleContextProvider<ForwardRefComponent<"div", HTMLMotionProps<"div">>, NavigationPanelRecipe>;
2975
+ Body: StyleContextConsumer<ForwardRefComponent<"div", HTMLMotionProps<"div">>>;
2976
+ Logo: StyleContextConsumer<ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & RefAttributes<HTMLButtonElement>>>;
2977
+ Label: StyleContextConsumer<ForwardRefComponent<"div", HTMLMotionProps<"div">>>;
2978
+ Dropdown: StyleContextConsumer<ForwardRefComponent<"div", HTMLMotionProps<"div">>>;
2979
+ };
2980
+
2965
2981
  declare type NodeId_2 = t.aux.NodeId;
2966
2982
 
2967
2983
  export declare type NodeRenderers = Partial<CamelCasedProperties<Types.NodeRenderers>>;
@@ -3011,6 +3027,12 @@ declare type NoRequiredParams<T extends ParameterizedObject> = T extends any ? u
3011
3027
 
3012
3028
  declare type NormalizeDescriptor<TDescriptor extends string> = TDescriptor extends '*' ? string : TDescriptor extends `${infer TLeading}.*` ? `${TLeading}.${string}` : TDescriptor;
3013
3029
 
3030
+ /**
3031
+ * Normalize a raw search string for comparison.
3032
+ * Extracted as a pure function so both XState and standalone adapters can reuse it.
3033
+ */
3034
+ export declare function normalizeSearch(value: string): string;
3035
+
3014
3036
  declare type Observer<T> = {
3015
3037
  next?: (value: T) => void;
3016
3038
  error?: (err: unknown) => void;
@@ -3505,7 +3527,7 @@ declare type SearchActorEvent = {
3505
3527
  type: 'pickview.close';
3506
3528
  };
3507
3529
 
3508
- declare interface SearchActorLogic extends StateMachine<SearchContext, SearchActorEvent, {}, any, any, any, any, 'inactive' | 'opened' | 'pickView' | 'waitAnimationEnd', never, never, any, any, any, any> {
3530
+ declare interface SearchActorLogic extends StateMachine<SearchContext_2, SearchActorEvent, {}, any, any, any, any, 'inactive' | 'opened' | 'pickView' | 'waitAnimationEnd', never, never, any, any, any, any> {
3509
3531
  }
3510
3532
 
3511
3533
  declare interface SearchActorRef extends ActorRef<SearchActorSnapshot, SearchActorEvent> {
@@ -3513,7 +3535,11 @@ declare interface SearchActorRef extends ActorRef<SearchActorSnapshot, SearchAct
3513
3535
 
3514
3536
  declare type SearchActorSnapshot = SnapshotFrom<SearchActorLogic>;
3515
3537
 
3516
- declare interface SearchContext {
3538
+ export declare const searchBodyCss: string;
3539
+
3540
+ export declare const SearchContext: Context_4<SearchContextValue | null>;
3541
+
3542
+ declare interface SearchContext_2 {
3517
3543
  openedWithSearch: string | null;
3518
3544
  searchValue: string;
3519
3545
  pickViewFor: Fqn | null;
@@ -3523,6 +3549,32 @@ declare interface SearchContext {
3523
3549
  } | null;
3524
3550
  }
3525
3551
 
3552
+ export declare interface SearchContextValue {
3553
+ searchValue: string;
3554
+ setSearchValue: (value: string) => void;
3555
+ normalizedSearch: string;
3556
+ navigateTo: (viewId: ViewId, focusOnElement?: Fqn) => void;
3557
+ openPickView: (elementFqn: Fqn) => void;
3558
+ closePickView: () => void;
3559
+ pickViewFor: Fqn | null;
3560
+ close: () => void;
3561
+ currentViewId: string | null;
3562
+ openedWithSearch: string | null;
3563
+ }
3564
+
3565
+ export declare function SearchControl({ className, ...others }: SearchControlProps): JSX.Element;
3566
+
3567
+ declare interface SearchControlProps extends UnstyledButtonProps, ElementProps<'button'> {
3568
+ }
3569
+
3570
+ export declare const searchDialogCss: string;
3571
+
3572
+ /**
3573
+ * The shared search panel content used by both diagram and overview search.
3574
+ * Must be rendered inside a SearchContext.Provider.
3575
+ */
3576
+ export declare const SearchPanelContent: MemoExoticComponent<() => JSX.Element>;
3577
+
3526
3578
  export declare function SequenceActorNode(props: Types.NodeProps<'seq-actor'>): JSX.Element;
3527
3579
 
3528
3580
  export declare function sequenceActorNode<A extends Any_5 = Unknown_3>(component: FC<SequenceActorNodeProps<A>>): Types.NodeRenderer<'seq-actor'>;
@@ -4364,6 +4416,8 @@ export declare function useOptionalCurrentViewModel(): CurrentViewModel | null;
4364
4416
  */
4365
4417
  export declare function useOptionalLikeC4Model<A extends t.aux.Any = UnknownLayouted>(): LikeC4Model<A> | null;
4366
4418
 
4419
+ export declare function useSearchContext(): SearchContextValue;
4420
+
4367
4421
  /**
4368
4422
  * Differs from useState in that:
4369
4423
  * - it uses custom equal function (shallowEqual by default) to determine whether the state has changed.