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
@@ -0,0 +1,170 @@
1
+ import "../rolldown-runtime.mjs";
2
+ // ../../node_modules/.pnpm/nanostores@1.5.5/node_modules/nanostores/atom/index.js
3
+ var listenerQueue = [];
4
+ var lqIndex = 0;
5
+ var batchSeen = null;
6
+ var QUEUE_ITEMS_PER_LISTENER = 4;
7
+ var nanostoresGlobal = globalThis.nanostoresGlobal ||= { epoch: 0 };
8
+ var drainQueue = () => {
9
+ let thrown;
10
+ let i;
11
+ while (lqIndex < listenerQueue.length) {
12
+ i = lqIndex;
13
+ lqIndex += QUEUE_ITEMS_PER_LISTENER;
14
+ let pendingStores = batchSeen?.get(listenerQueue[i]);
15
+ if (pendingStores) {
16
+ if (!pendingStores.has(listenerQueue[i + 1])) continue;
17
+ pendingStores.clear();
18
+ }
19
+ try {
20
+ listenerQueue[i](listenerQueue[i + 1].value, listenerQueue[i + 2], listenerQueue[i + 3]);
21
+ } catch (e) {
22
+ thrown = e;
23
+ }
24
+ }
25
+ listenerQueue.length = lqIndex = 0;
26
+ if (thrown) throw thrown;
27
+ };
28
+ var atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
29
+ let listeners = [];
30
+ let $atom = {
31
+ eq: Object.is,
32
+ get() {
33
+ if (!$atom.lc) $atom.listen(() => {})();
34
+ return $atom.value;
35
+ },
36
+ init: initialValue,
37
+ lc: 0,
38
+ listen(listener) {
39
+ $atom.lc = listeners.push(listener);
40
+ return () => {
41
+ batchSeen?.get(listener)?.delete($atom);
42
+ for (let i = lqIndex; i < listenerQueue.length;) if (listenerQueue[i] === listener && listenerQueue[i + 1] === $atom) listenerQueue.splice(i, QUEUE_ITEMS_PER_LISTENER);
43
+ else i += QUEUE_ITEMS_PER_LISTENER;
44
+ let index = listeners.indexOf(listener);
45
+ if (~index) {
46
+ listeners.splice(index, 1);
47
+ if (!--$atom.lc) $atom.off();
48
+ }
49
+ };
50
+ },
51
+ notify(oldValue, changedKey) {
52
+ nanostoresGlobal.epoch++;
53
+ let runListenerQueue = !listenerQueue.length && !batchSeen;
54
+ for (let listener of listeners) {
55
+ if (batchSeen) {
56
+ let pendingStores = batchSeen.get(listener);
57
+ if (!pendingStores) batchSeen.set(listener, pendingStores = /* @__PURE__ */ new Set());
58
+ if (pendingStores.has($atom)) continue;
59
+ pendingStores.add($atom);
60
+ }
61
+ listenerQueue.push(listener, $atom, oldValue, batchSeen ? void 0 : changedKey);
62
+ }
63
+ if (runListenerQueue) drainQueue();
64
+ },
65
+ off() {},
66
+ set(newValue) {
67
+ let oldValue = $atom.value;
68
+ if (!$atom.eq(oldValue, newValue)) {
69
+ $atom.value = newValue;
70
+ $atom.notify(oldValue);
71
+ }
72
+ },
73
+ subscribe(listener) {
74
+ let unbind = $atom.listen(listener);
75
+ listener($atom.value);
76
+ return unbind;
77
+ },
78
+ value: initialValue
79
+ };
80
+ return $atom;
81
+ };
82
+ // ../../node_modules/.pnpm/nanostores@1.5.5/node_modules/nanostores/lifecycle/index.js
83
+ var MOUNT = 5;
84
+ var UNMOUNT = 6;
85
+ var REVERT_MUTATION = 10;
86
+ var on = (object, listener, eventKey, mutateStore) => {
87
+ object.events = object.events || {};
88
+ if (!object.events[eventKey + REVERT_MUTATION]) object.events[eventKey + REVERT_MUTATION] = mutateStore((eventProps) => {
89
+ object.events[eventKey].reduceRight((event, l) => (l(event), event), {
90
+ shared: {},
91
+ ...eventProps
92
+ });
93
+ });
94
+ object.events[eventKey] = object.events[eventKey] || [];
95
+ object.events[eventKey].push(listener);
96
+ return () => {
97
+ let currentListeners = object.events[eventKey];
98
+ let index = currentListeners.indexOf(listener);
99
+ if (~index) {
100
+ currentListeners.splice(index, 1);
101
+ if (!currentListeners.length) {
102
+ object.events[eventKey + REVERT_MUTATION]();
103
+ delete object.events[eventKey + REVERT_MUTATION];
104
+ }
105
+ }
106
+ };
107
+ };
108
+ var STORE_UNMOUNT_DELAY = 1e3;
109
+ var onMount = ($store, initialize) => {
110
+ let listener = (payload) => {
111
+ let destroy = initialize(payload);
112
+ if (destroy) $store.events[UNMOUNT].push(destroy);
113
+ };
114
+ return on($store, listener, MOUNT, (runListeners) => {
115
+ let originListen = $store.listen;
116
+ $store.listen = (...args) => {
117
+ if (!$store.lc && !$store.active) {
118
+ $store.active = true;
119
+ runListeners();
120
+ }
121
+ return originListen(...args);
122
+ };
123
+ let originOff = $store.off;
124
+ $store.events[UNMOUNT] = [];
125
+ $store.off = () => {
126
+ originOff();
127
+ setTimeout(() => {
128
+ if ($store.active && !$store.lc) {
129
+ $store.active = false;
130
+ for (let destroy of $store.events[UNMOUNT]) destroy();
131
+ $store.events[UNMOUNT] = [];
132
+ }
133
+ }, STORE_UNMOUNT_DELAY);
134
+ };
135
+ return () => {
136
+ $store.listen = originListen;
137
+ $store.off = originOff;
138
+ };
139
+ });
140
+ };
141
+ // ../../node_modules/.pnpm/nanostores@1.5.5/node_modules/nanostores/deep-map/path.js
142
+ function getPath(obj, path) {
143
+ let allKeys = getAllKeysFromPath(path);
144
+ let res = obj;
145
+ for (let key of allKeys) {
146
+ if (res == null) return;
147
+ res = res[key];
148
+ }
149
+ return res;
150
+ }
151
+ var ARRAY_INDEX = /(.*)\[(\d+)\]/;
152
+ function getAllKeysFromPath(path) {
153
+ return path.split(".").flatMap((key) => getKeyAndIndicesFromKey(key));
154
+ }
155
+ function getKeyAndIndicesFromKey(key) {
156
+ if (ARRAY_INDEX.test(key)) {
157
+ let [, keyPart, index] = key.match(ARRAY_INDEX);
158
+ return [...getKeyAndIndicesFromKey(keyPart), index];
159
+ }
160
+ return [key];
161
+ }
162
+ // ../../node_modules/.pnpm/nanostores@1.5.5/node_modules/nanostores/listen-keys/index.js
163
+ function listenKeys($store, keys, listener) {
164
+ let keysSet = new Set(keys);
165
+ return $store.listen((value, oldValue, changed) => {
166
+ let pathChanged = (key) => !Object.is(getPath(value, key), getPath(oldValue, key));
167
+ if (changed === void 0 ? keys.some((key) => oldValue === void 0 || ($store.eqKey ? !$store.eqKey(oldValue[key], value[key], key) : pathChanged(key))) : keysSet.has(changed) || typeof changed === "string" && (keysSet.has(changed.split(/\.|\[/)[0]) || !$store.eqKey && oldValue !== void 0 && keys.some(pathChanged))) listener(value, oldValue, changed);
168
+ });
169
+ }
170
+ export { nanostoresGlobal as i, onMount as n, atom as r, listenKeys as t };