likec4 1.24.1 → 1.25.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "likec4",
3
- "version": "1.24.1",
3
+ "version": "1.25.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -70,24 +70,24 @@
70
70
  "rollup": "4.34.6",
71
71
  "type-fest": "4.34.1",
72
72
  "vite": "5.4.14",
73
- "@likec4/core": "~1.24.1"
73
+ "@likec4/core": "~1.25.1"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@dagrejs/dagre": "1.1.4",
77
- "@fontsource/ibm-plex-sans": "^5.1.1",
78
- "@mantine/core": "7.17.0",
79
- "@mantine/hooks": "7.17.0",
80
- "@mantine/vanilla-extract": "7.17.0",
77
+ "@fontsource/ibm-plex-sans": "^5.2.5",
78
+ "@mantine/core": "7.17.1",
79
+ "@mantine/hooks": "7.17.1",
80
+ "@mantine/vanilla-extract": "7.17.1",
81
81
  "@nanostores/react": "0.8.4",
82
82
  "@react-hookz/web": "^25.0.1",
83
83
  "@tabler/icons-react": "3.29.0",
84
84
  "@tanstack/react-router": "1.97.17",
85
85
  "@tanstack/router-cli": "1.97.17",
86
86
  "@tanstack/router-vite-plugin": "1.97.17",
87
- "@types/node": "^20.17.17",
87
+ "@types/node": "^20.17.23",
88
88
  "@types/prop-types": "^15.7.14",
89
- "@types/react": "~19.0.8",
90
- "@types/react-dom": "~19.0.3",
89
+ "@types/react": "~19.0.10",
90
+ "@types/react-dom": "~19.0.4",
91
91
  "@types/semver": "^7.5.8",
92
92
  "@types/yargs": "^17.0.33",
93
93
  "@vanilla-extract/css": "^1.17.1",
@@ -107,7 +107,7 @@
107
107
  "esm-env": "^1.2.2",
108
108
  "fast-equals": "^5.2.2",
109
109
  "fdir": "^6.4.3",
110
- "framer-motion": "^12.4.7",
110
+ "framer-motion": "^12.4.10",
111
111
  "get-port": "^7.1.0",
112
112
  "glob": "^11.0.1",
113
113
  "html-to-image": "^1.11.13",
@@ -117,7 +117,7 @@
117
117
  "merge-error-cause": "^5.0.0",
118
118
  "mkdirp": "^3.0.1",
119
119
  "nano-spawn": "^0.2.0",
120
- "nanostores": "0.11.3",
120
+ "nanostores": "0.11.4",
121
121
  "npm-run-all2": "^7.0.1",
122
122
  "p-limit": "^6.2.0",
123
123
  "package-up": "^5.0.0",
@@ -128,35 +128,35 @@
128
128
  "react-error-boundary": "^5.0.0",
129
129
  "react-resizable-panels": "^2.1.7",
130
130
  "react-shadow": "^20.6.0",
131
- "remeda": "^2.20.2",
131
+ "remeda": "^2.21.0",
132
132
  "semver": "^7.7.1",
133
- "std-env": "^3.8.0",
133
+ "std-env": "^3.8.1",
134
134
  "strip-indent": "^4.0.0",
135
135
  "terser": "^5.39.0",
136
136
  "tinyrainbow": "^2.0.0",
137
137
  "tsx": "~4.19.3",
138
- "turbo": "^2.4.2",
139
- "typescript": "5.7.3",
138
+ "turbo": "^2.4.4",
139
+ "typescript": "5.8.2",
140
140
  "ufo": "^1.5.4",
141
141
  "unbuild": "^3.3.1",
142
142
  "vite-plugin-css-injected-by-js": "^3.5.2",
143
143
  "vite-plugin-dts": "^4.5.0",
144
144
  "vite-plugin-shadow-style": "^1.2.0",
145
145
  "vite-plugin-singlefile": "^2.1.0",
146
- "vitest": "^3.0.6",
146
+ "vitest": "^3.0.7",
147
147
  "vscode-jsonrpc": "8.2.0",
148
148
  "vscode-languageserver": "9.0.1",
149
149
  "vscode-languageserver-types": "3.17.5",
150
150
  "vscode-uri": "3.1.0",
151
151
  "which": "^5.0.0",
152
152
  "yargs": "17.7.2",
153
- "@likec4/generators": "1.24.1",
154
- "@likec4/diagram": "1.24.1",
155
- "@likec4/icons": "1.24.1",
156
- "@likec4/language-server": "1.24.1",
157
- "@likec4/layouts": "1.24.1",
158
- "@likec4/log": "1.24.1",
159
- "@likec4/tsconfig": "1.24.1"
153
+ "@likec4/icons": "1.25.1",
154
+ "@likec4/diagram": "1.25.1",
155
+ "@likec4/language-server": "1.25.1",
156
+ "@likec4/layouts": "1.25.1",
157
+ "@likec4/log": "1.25.1",
158
+ "@likec4/tsconfig": "1.25.1",
159
+ "@likec4/generators": "1.25.1"
160
160
  },
161
161
  "scripts": {
162
162
  "turbo-build": "turbo run build --log-prefix=none --log-order=grouped",
package/react/index.d.ts CHANGED
@@ -50,7 +50,7 @@ declare type AnyStore<Value = any> = {
50
50
  * @param initialValue Initial value of the store.
51
51
  * @returns The store object with methods to subscribe.
52
52
  */
53
- declare function atom<Value, StoreExt = {}>(
53
+ declare function atom<Value, StoreExt = object>(
54
54
  ...args: undefined extends Value ? [] | [Value] : [Value]
55
55
  ): PreinitializedWritableAtom<Value> & StoreExt
56
56
 
@@ -63,15 +63,15 @@ declare type ChangeEvent = {
63
63
  declare type ColorScheme = 'light' | 'dark';
64
64
 
65
65
  declare interface Computed {
66
- <Value extends any, OriginStore extends Store>(
66
+ <Value, OriginStore extends Store>(
67
67
  stores: OriginStore,
68
68
  cb: (value: StoreValue<OriginStore>) => Task<Value>
69
69
  ): ReadableAtom<undefined | Value>
70
- <Value extends any, OriginStores extends AnyStore[]>(
70
+ <Value, OriginStores extends AnyStore[]>(
71
71
  stores: [...OriginStores],
72
72
  cb: (...values: StoreValues<OriginStores>) => Task<Value>
73
73
  ): ReadableAtom<undefined | Value>
74
- <Value extends any, OriginStore extends Store>(
74
+ <Value, OriginStore extends Store>(
75
75
  stores: OriginStore,
76
76
  cb: (value: StoreValue<OriginStore>) => Value
77
77
  ): ReadableAtom<Value>
@@ -101,7 +101,7 @@ declare interface Computed {
101
101
  * }))
102
102
  * ```
103
103
  */
104
- <Value extends any, OriginStores extends AnyStore[]>(
104
+ <Value, OriginStores extends AnyStore[]>(
105
105
  stores: [...OriginStores],
106
106
  cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value
107
107
  ): ReadableAtom<Value>
@@ -109,6 +109,16 @@ declare interface Computed {
109
109
 
110
110
  declare const computed: Computed;
111
111
 
112
+ declare type ControlsCustomLayout = (props: ControlsCustomLayoutProps) => ReactNode;
113
+
114
+ declare type ControlsCustomLayoutProps = {
115
+ burgerMenu: ReactNode;
116
+ navigationButtons: ReactNode;
117
+ search: ReactNode;
118
+ actionsGroup: ReactNode;
119
+ syncInProgressBadge: ReactNode;
120
+ };
121
+
112
122
  declare type DiagramNodeWithNavigate<ID = ViewId> = Omit<DiagramNode, 'navigateTo'> & {
113
123
  navigateTo: ID;
114
124
  };
@@ -193,6 +203,12 @@ declare interface LikeC4BrowserProps {
193
203
  * @default true
194
204
  */
195
205
  showNotations?: boolean | undefined;
206
+ /**
207
+ * Improve performance by hiding certain elements and reducing visual effects (disable mix-blend, shadows, animations)
208
+ *
209
+ * @default 'auto' - will be set to true if view is pannable and has more than 3000 * 2000 pixels
210
+ */
211
+ reduceGraphics?: 'auto' | boolean | undefined;
196
212
  className?: string | undefined;
197
213
  style?: CSSProperties | undefined;
198
214
  }
@@ -322,13 +338,17 @@ declare interface LikeC4DiagramProperties {
322
338
  * By default, if icon is http:// or https://, it will be rendered as an image
323
339
  */
324
340
  renderIcon?: ElementIconRenderer | undefined;
341
+ /**
342
+ * Customize layout of the controls on the top left
343
+ */
344
+ renderControls?: ControlsCustomLayout | undefined;
325
345
  /**
326
346
  * Dynamic filter, applies both to nodes and edges
327
347
  */
328
348
  where?: WhereOperator<string, string> | undefined;
329
349
  }
330
350
 
331
- declare type LikeC4DiagramProps = LikeC4DiagramProperties & LikeC4DiagramEventHandlers;
351
+ declare type LikeC4DiagramProps = PropsWithChildren<LikeC4DiagramProperties & LikeC4DiagramEventHandlers>;
332
352
 
333
353
  export declare const LikeC4ModelProvider: (props: LikeC4ModelProviderProps) => JSX_2.Element;
334
354
 
@@ -440,6 +460,12 @@ export declare interface LikeC4ViewProps<ViewId = string, Tag = string, Kind = s
440
460
  * @default enableRelationshipBrowser
441
461
  */
442
462
  enableRelationshipDetails?: boolean | undefined;
463
+ /**
464
+ * Improve performance by hiding certain elements and reducing visual effects (disable mix-blend, shadows, animations)
465
+ *
466
+ * @default 'auto' - will be set to true if view is pannable and has more than 3000 * 2000 pixels
467
+ */
468
+ reduceGraphics?: 'auto' | boolean | undefined;
443
469
  where?: WhereOperator<Tag, Kind> | undefined;
444
470
  className?: string | undefined;
445
471
  style?: CSSProperties | undefined;
@@ -463,7 +489,7 @@ export declare interface LikeC4ViewProps<ViewId = string, Tag = string, Kind = s
463
489
  * @param init Initialize store and return store destructor.
464
490
  * @returns The store object with methods to subscribe.
465
491
  */
466
- declare function map<Value extends object, StoreExt extends object = {}>(
492
+ declare function map<Value extends object, StoreExt extends object = object>(
467
493
  value?: Value
468
494
  ): PreinitializedMapStore<Value> & StoreExt
469
495
 
@@ -595,8 +621,7 @@ extends MapStore<Value> {
595
621
  readonly value: Value
596
622
  }
597
623
 
598
- declare interface PreinitializedWritableAtom<Value extends any>
599
- extends WritableAtom<Value> {
624
+ declare interface PreinitializedWritableAtom<Value> extends WritableAtom<Value> {
600
625
  readonly value: Value
601
626
  }
602
627