likec4 1.16.0 → 1.17.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "likec4",
3
- "version": "1.16.0",
3
+ "version": "1.17.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -102,18 +102,18 @@
102
102
  "react": "^18.3.1",
103
103
  "react-dom": "^18.3.1",
104
104
  "type-fest": "4.26.1",
105
- "vite": "5.4.10"
105
+ "vite": "5.4.11"
106
106
  },
107
107
  "devDependencies": {
108
108
  "@fontsource/ibm-plex-sans": "^5.1.0",
109
- "@likec4/core": "1.16.0",
110
- "@likec4/diagram": "1.16.0",
111
- "@likec4/generators": "1.16.0",
112
- "@likec4/icons": "1.16.0",
113
- "@likec4/language-server": "1.16.0",
114
- "@likec4/layouts": "1.16.0",
115
- "@likec4/log": "1.16.0",
116
- "@likec4/tsconfig": "1.16.0",
109
+ "@likec4/core": "1.17.0",
110
+ "@likec4/diagram": "1.17.0",
111
+ "@likec4/generators": "1.17.0",
112
+ "@likec4/icons": "1.17.0",
113
+ "@likec4/language-server": "1.17.0",
114
+ "@likec4/layouts": "1.17.0",
115
+ "@likec4/log": "1.17.0",
116
+ "@likec4/tsconfig": "1.17.0",
117
117
  "@mantine/core": "7.13.4",
118
118
  "@mantine/hooks": "7.13.4",
119
119
  "@mantine/vanilla-extract": "7.13.4",
@@ -132,8 +132,8 @@
132
132
  "@vanilla-extract/css": "^1.16.0",
133
133
  "@vanilla-extract/dynamic": "^2.1.2",
134
134
  "@vanilla-extract/vite-plugin": "^4.0.17",
135
- "@xyflow/react": "12.3.2",
136
- "@xyflow/system": "0.0.43",
135
+ "@xyflow/react": "12.3.4",
136
+ "@xyflow/system": "0.0.45",
137
137
  "autoprefixer": "^10.4.20",
138
138
  "classnames": "^2.5.1",
139
139
  "clsx": "^2.1.1",
@@ -144,7 +144,7 @@
144
144
  "execa": "^9.3.1",
145
145
  "fast-equals": "^5.0.1",
146
146
  "fdir": "^6.4.2",
147
- "framer-motion": "^11.11.10",
147
+ "framer-motion": "^11.11.11",
148
148
  "get-port": "^7.1.0",
149
149
  "glob": "^11.0.0",
150
150
  "html-to-image": "^1.11.11",
@@ -175,7 +175,7 @@
175
175
  "unbuild": "^3.0.0-rc.11",
176
176
  "vite-plugin-css-injected-by-js": "^3.5.2",
177
177
  "vite-plugin-shadow-style": "^1.1.1",
178
- "vitest": "^2.1.4",
178
+ "vitest": "^2.1.5",
179
179
  "yargs": "17.7.2"
180
180
  },
181
181
  "packageManager": "yarn@4.5.1"
package/react/index.d.ts CHANGED
@@ -7,7 +7,7 @@ type NonEmptyArray<T> = [
7
7
  T,
8
8
  ...T[]
9
9
  ];
10
- type IconUrl = Tagged<string, "IconUrl">;
10
+ type IconUrl = Tagged<string, "IconUrl"> | "none";
11
11
  type Point = readonly [
12
12
  x: number,
13
13
  y: number
@@ -847,6 +847,10 @@ export declare namespace LikeC4Model {
847
847
  siblings(): readonly ElementModel<M>[];
848
848
  descendants(): readonly ElementModel<M>[];
849
849
  children(): readonly ElementModel<M>[];
850
+ /**
851
+ * First 'view of' current element
852
+ */
853
+ viewOf(): M;
850
854
  /**
851
855
  * All views 'view of' current element
852
856
  */
@@ -1172,11 +1176,6 @@ export type LikeC4ViewProps<ViewId extends string, Tag extends string, Kind exte
1172
1176
  * @default true
1173
1177
  */
1174
1178
  injectFontCss?: boolean | undefined;
1175
- /**
1176
- * Display hovercards with element links
1177
- * @default true
1178
- */
1179
- showElementLinks?: boolean | undefined;
1180
1179
  /**
1181
1180
  * Display webview with diagram title / description
1182
1181
  * @default false
@@ -1192,11 +1191,6 @@ export type LikeC4ViewProps<ViewId extends string, Tag extends string, Kind exte
1192
1191
  * @default false
1193
1192
  */
1194
1193
  showNotations?: boolean | undefined;
1195
- /**
1196
- * Display dropdown with details on relationship's label click
1197
- * @default false
1198
- */
1199
- showRelationshipDetails?: boolean | undefined;
1200
1194
  /**
1201
1195
  * If double click on a node should enable focus mode, i.e. highlight incoming/outgoing edges
1202
1196
  * Conflicts with `interactive`
@@ -1204,12 +1198,22 @@ export type LikeC4ViewProps<ViewId extends string, Tag extends string, Kind exte
1204
1198
  * @default false
1205
1199
  */
1206
1200
  enableFocusMode?: boolean | undefined;
1201
+ /**
1202
+ * Enable popup with element details
1203
+ * @default false
1204
+ */
1205
+ enableElementDetails?: boolean | undefined;
1207
1206
  /**
1208
1207
  * Experimental feature to browse relationships
1209
1208
  *
1210
- * @default false
1209
+ * @default enableElementDetails
1210
+ */
1211
+ enableRelationshipBrowser?: boolean | undefined;
1212
+ /**
1213
+ * Display dropdown with details on relationship's label click
1214
+ * @default enableRelationshipBrowser
1211
1215
  */
1212
- enableRelationshipsBrowser?: boolean | undefined;
1216
+ enableRelationshipDetails?: boolean | undefined;
1213
1217
  where?: WhereOperator<Tag, Kind> | undefined;
1214
1218
  className?: string | undefined;
1215
1219
  style?: CSSProperties | undefined;
@@ -1249,14 +1253,24 @@ export type LikeC4BrowserProps<ViewId extends string, Tag extends string, Kind e
1249
1253
  mantineTheme?: MantineThemeOverride | undefined;
1250
1254
  /** Function to generate nonce attribute added to all generated `<style />` tags */
1251
1255
  styleNonce?: string | (() => string) | undefined;
1256
+ /**
1257
+ * Enable popup with element details
1258
+ * @default true
1259
+ */
1260
+ enableElementDetails?: boolean | undefined;
1252
1261
  /**
1253
1262
  * Experimental feature to browse relationships
1254
1263
  *
1255
- * @default false
1264
+ * @default enableElementDetails
1265
+ */
1266
+ enableRelationshipBrowser?: boolean | undefined;
1267
+ /**
1268
+ * Display dropdown with details on relationship's label click
1269
+ * @default enableRelationshipBrowser
1256
1270
  */
1257
- enableRelationshipsBrowser?: boolean | undefined;
1271
+ enableRelationshipDetails?: boolean | undefined;
1258
1272
  };
1259
- export declare function LikeC4Browser<ViewId extends string = string, Tag extends string = string, Kind extends string = string>({ className, colorScheme, view, injectFontCss, onNavigateTo, onClose, renderIcon, where, style, mantineTheme, background, styleNonce, enableRelationshipsBrowser }: LikeC4BrowserProps<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
1273
+ export declare function LikeC4Browser<ViewId extends string = string, Tag extends string = string, Kind extends string = string>({ className, colorScheme, view, injectFontCss, onNavigateTo, onClose, renderIcon, where, style, mantineTheme, background, styleNonce, enableElementDetails, enableRelationshipBrowser, enableRelationshipDetails }: LikeC4BrowserProps<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
1260
1274
  export type LikeC4ViewEmbeddedProps<ViewId extends string, Tag extends string, Kind extends string> = Pick<HTMLAttributes<HTMLDivElement>, "style" | "className"> & {
1261
1275
  view: ViewData<ViewId>;
1262
1276
  /**
@@ -1282,11 +1296,6 @@ export type LikeC4ViewEmbeddedProps<ViewId extends string, Tag extends string, K
1282
1296
  * By default, if icon is http:// or https://, it will be rendered as an image
1283
1297
  */
1284
1298
  renderIcon?: ElementIconRenderer | undefined;
1285
- /**
1286
- * Display hovercards with element links
1287
- * @default true
1288
- */
1289
- showElementLinks?: boolean | undefined;
1290
1299
  /**
1291
1300
  * Display webview with diagram title / description
1292
1301
  * @default false
@@ -1302,11 +1311,6 @@ export type LikeC4ViewEmbeddedProps<ViewId extends string, Tag extends string, K
1302
1311
  * @default false
1303
1312
  */
1304
1313
  showNotations?: boolean | undefined;
1305
- /**
1306
- * Display dropdown with details on relationship's label click
1307
- * @default false
1308
- */
1309
- showRelationshipDetails?: boolean | undefined;
1310
1314
  /**
1311
1315
  * If double click on a node should enable focus mode, i.e. highlight incoming/outgoing edges
1312
1316
  * @default false
@@ -1316,14 +1320,24 @@ export type LikeC4ViewEmbeddedProps<ViewId extends string, Tag extends string, K
1316
1320
  mantineTheme?: MantineThemeOverride | undefined;
1317
1321
  /** Function to generate nonce attribute added to all generated `<style />` tags */
1318
1322
  styleNonce?: string | (() => string) | undefined;
1323
+ /**
1324
+ * Enable popup with element details
1325
+ * @default false
1326
+ */
1327
+ enableElementDetails?: boolean | undefined;
1319
1328
  /**
1320
1329
  * Experimental feature to browse relationships
1321
1330
  *
1322
- * @default false
1331
+ * @default enableElementDetails
1323
1332
  */
1324
- enableRelationshipsBrowser?: boolean | undefined;
1333
+ enableRelationshipBrowser?: boolean | undefined;
1334
+ /**
1335
+ * Display dropdown with details on relationship's label click
1336
+ * @default enableRelationshipBrowser
1337
+ */
1338
+ enableRelationshipDetails?: boolean | undefined;
1325
1339
  };
1326
- export declare function LikeC4ViewEmbedded<ViewId extends string = string, Tag extends string = string, Kind extends string = string>({ onNavigateTo: _onNavigateTo, className, view, injectFontCss, colorScheme, background, renderIcon, showDiagramTitle, showElementLinks, showNavigationButtons, enableFocusMode, showNotations, showRelationshipDetails, enableRelationshipsBrowser, mantineTheme, where, style, styleNonce }: LikeC4ViewEmbeddedProps<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
1340
+ export declare function LikeC4ViewEmbedded<ViewId extends string = string, Tag extends string = string, Kind extends string = string>({ onNavigateTo: _onNavigateTo, className, view, injectFontCss, colorScheme, background, renderIcon, showDiagramTitle, showNavigationButtons, enableFocusMode, showNotations, enableElementDetails, enableRelationshipDetails, enableRelationshipBrowser, mantineTheme, where, style, styleNonce }: LikeC4ViewEmbeddedProps<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
1327
1341
  declare enum BackgroundVariant {
1328
1342
  Lines = "lines",
1329
1343
  Dots = "dots",
@@ -1438,11 +1452,6 @@ interface LikeC4DiagramProperties {
1438
1452
  * @default 'dots'
1439
1453
  */
1440
1454
  background?: "transparent" | "solid" | XYBackground | undefined;
1441
- /**
1442
- * Display hovercards with element links
1443
- * @default true
1444
- */
1445
- showElementLinks?: boolean | undefined;
1446
1455
  /**
1447
1456
  * Display webview with diagram title / description
1448
1457
  * @default true
@@ -1460,20 +1469,25 @@ interface LikeC4DiagramProperties {
1460
1469
  showNotations?: boolean | undefined;
1461
1470
  /**
1462
1471
  * Display dropdown with details on relationship's label click
1463
- * @default true
1472
+ * @default false
1464
1473
  */
1465
- showRelationshipDetails?: boolean | undefined;
1474
+ enableRelationshipDetails?: boolean | undefined;
1466
1475
  /**
1467
1476
  * If double click on a node should enable focus mode, i.e. highlight incoming/outgoing edges
1468
1477
  * @default false
1469
1478
  */
1470
1479
  enableFocusMode?: boolean | undefined;
1480
+ /**
1481
+ * Enable modal with element details
1482
+ * @default false
1483
+ */
1484
+ enableElementDetails?: boolean | undefined;
1471
1485
  /**
1472
1486
  * Experimental feature to browse relationships
1473
1487
  *
1474
1488
  * @default false
1475
1489
  */
1476
- enableRelationshipsBrowser?: boolean | undefined;
1490
+ enableRelationshipBrowser?: boolean | undefined;
1477
1491
  /**
1478
1492
  * If Walkthrough for dynamic views should be enabled
1479
1493
  * @default false