@grafloria/element 0.3.19 → 0.3.20

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 (638) hide show
  1. package/{src/index.ts → esm/src/index.js} +60 -569
  2. package/esm/src/lib/dashboard-kit/dashboard.js +590 -0
  3. package/esm/src/lib/dashboard-kit/grid-binder.js +1633 -0
  4. package/esm/src/lib/dashboard-kit/grid-mapping.js +164 -0
  5. package/esm/src/lib/dashboard-kit/index.js +8 -0
  6. package/{src/lib/dashboard-kit/styles.ts → esm/src/lib/dashboard-kit/styles.js} +8 -9
  7. package/esm/src/lib/dashboard-kit/widgets.js +379 -0
  8. package/esm/src/lib/diagram-kit/card.js +199 -0
  9. package/esm/src/lib/diagram-kit/editing.js +448 -0
  10. package/esm/src/lib/diagram-kit/er.js +160 -0
  11. package/esm/src/lib/diagram-kit/handles.js +312 -0
  12. package/esm/src/lib/diagram-kit/index.js +15 -0
  13. package/esm/src/lib/diagram-kit/join-guidance.js +322 -0
  14. package/esm/src/lib/diagram-kit/rows.js +144 -0
  15. package/{src/lib/diagram-kit/styles.ts → esm/src/lib/diagram-kit/styles.js} +10 -10
  16. package/esm/src/lib/diagram-kit/uml.js +135 -0
  17. package/esm/src/lib/diagram-kit/update.js +244 -0
  18. package/esm/src/lib/grafloria-flow-element.js +266 -0
  19. package/esm/src/lib/grafloria.js +69 -0
  20. package/esm/src/lib/load.js +252 -0
  21. package/esm/src/lib/node-type-registry.js +42 -0
  22. package/esm/src/lib/stencil-kit/builders.js +18 -0
  23. package/esm/src/lib/stencil-kit/card-builders.js +105 -0
  24. package/esm/src/lib/stencil-kit/index.js +9 -0
  25. package/esm/src/lib/stencil-kit/palette.js +427 -0
  26. package/esm/src/lib/stencil-kit/shape-data.js +537 -0
  27. package/{src/lib/stencil-kit/styles.ts → esm/src/lib/stencil-kit/styles.js} +9 -9
  28. package/package.json +12 -3
  29. package/jest.config.ts +0 -16
  30. package/project.json +0 -44
  31. package/src/front-door-probe.spec.ts +0 -173
  32. package/src/index.js.map +0 -1
  33. package/src/lib/dashboard-kit/dashboard.js.map +0 -1
  34. package/src/lib/dashboard-kit/dashboard.spec.ts +0 -821
  35. package/src/lib/dashboard-kit/dashboard.ts +0 -906
  36. package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
  37. package/src/lib/dashboard-kit/grid-binder.ts +0 -1976
  38. package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
  39. package/src/lib/dashboard-kit/grid-mapping.spec.ts +0 -308
  40. package/src/lib/dashboard-kit/grid-mapping.ts +0 -283
  41. package/src/lib/dashboard-kit/index.js.map +0 -1
  42. package/src/lib/dashboard-kit/index.ts +0 -56
  43. package/src/lib/dashboard-kit/styles.js.map +0 -1
  44. package/src/lib/dashboard-kit/widgets.js.map +0 -1
  45. package/src/lib/dashboard-kit/widgets.spec.ts +0 -239
  46. package/src/lib/dashboard-kit/widgets.ts +0 -484
  47. package/src/lib/diagram-kit/card.js.map +0 -1
  48. package/src/lib/diagram-kit/card.ts +0 -219
  49. package/src/lib/diagram-kit/diagram-kit.spec.ts +0 -465
  50. package/src/lib/diagram-kit/editing.js.map +0 -1
  51. package/src/lib/diagram-kit/editing.spec.ts +0 -172
  52. package/src/lib/diagram-kit/editing.ts +0 -493
  53. package/src/lib/diagram-kit/er.js.map +0 -1
  54. package/src/lib/diagram-kit/er.ts +0 -246
  55. package/src/lib/diagram-kit/handles.js.map +0 -1
  56. package/src/lib/diagram-kit/handles.spec.ts +0 -224
  57. package/src/lib/diagram-kit/handles.ts +0 -375
  58. package/src/lib/diagram-kit/index.js.map +0 -1
  59. package/src/lib/diagram-kit/index.ts +0 -66
  60. package/src/lib/diagram-kit/join-guidance.js.map +0 -1
  61. package/src/lib/diagram-kit/join-guidance.spec.ts +0 -241
  62. package/src/lib/diagram-kit/join-guidance.ts +0 -390
  63. package/src/lib/diagram-kit/rows.js.map +0 -1
  64. package/src/lib/diagram-kit/rows.ts +0 -174
  65. package/src/lib/diagram-kit/styles.js.map +0 -1
  66. package/src/lib/diagram-kit/uml.js.map +0 -1
  67. package/src/lib/diagram-kit/uml.ts +0 -213
  68. package/src/lib/diagram-kit/update.js.map +0 -1
  69. package/src/lib/diagram-kit/update.spec.ts +0 -208
  70. package/src/lib/diagram-kit/update.ts +0 -324
  71. package/src/lib/grafloria-flow-element.js.map +0 -1
  72. package/src/lib/grafloria-flow-element.spec.ts +0 -290
  73. package/src/lib/grafloria-flow-element.ts +0 -298
  74. package/src/lib/grafloria.js.map +0 -1
  75. package/src/lib/grafloria.ts +0 -151
  76. package/src/lib/load.js.map +0 -1
  77. package/src/lib/load.spec.ts +0 -565
  78. package/src/lib/load.ts +0 -359
  79. package/src/lib/node-type-registry.js.map +0 -1
  80. package/src/lib/node-type-registry.ts +0 -76
  81. package/src/lib/stencil-kit/builders.js.map +0 -1
  82. package/src/lib/stencil-kit/builders.ts +0 -58
  83. package/src/lib/stencil-kit/card-builders.js.map +0 -1
  84. package/src/lib/stencil-kit/card-builders.ts +0 -113
  85. package/src/lib/stencil-kit/index.js.map +0 -1
  86. package/src/lib/stencil-kit/index.ts +0 -17
  87. package/src/lib/stencil-kit/palette.js.map +0 -1
  88. package/src/lib/stencil-kit/palette.ts +0 -482
  89. package/src/lib/stencil-kit/shape-data.js.map +0 -1
  90. package/src/lib/stencil-kit/shape-data.spec.ts +0 -470
  91. package/src/lib/stencil-kit/shape-data.ts +0 -680
  92. package/src/lib/stencil-kit/styles.js.map +0 -1
  93. package/src/libs/element/src/index.js.map +0 -1
  94. package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +0 -1
  95. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +0 -1
  96. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
  97. package/src/libs/element/src/lib/dashboard-kit/index.js.map +0 -1
  98. package/src/libs/element/src/lib/dashboard-kit/styles.js.map +0 -1
  99. package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +0 -1
  100. package/src/libs/element/src/lib/diagram-kit/card.js.map +0 -1
  101. package/src/libs/element/src/lib/diagram-kit/editing.js.map +0 -1
  102. package/src/libs/element/src/lib/diagram-kit/er.js.map +0 -1
  103. package/src/libs/element/src/lib/diagram-kit/handles.js.map +0 -1
  104. package/src/libs/element/src/lib/diagram-kit/index.js.map +0 -1
  105. package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +0 -1
  106. package/src/libs/element/src/lib/diagram-kit/rows.js.map +0 -1
  107. package/src/libs/element/src/lib/diagram-kit/styles.js.map +0 -1
  108. package/src/libs/element/src/lib/diagram-kit/uml.js.map +0 -1
  109. package/src/libs/element/src/lib/diagram-kit/update.js.map +0 -1
  110. package/src/libs/element/src/lib/grafloria-flow-element.js.map +0 -1
  111. package/src/libs/element/src/lib/grafloria.js.map +0 -1
  112. package/src/libs/element/src/lib/load.js.map +0 -1
  113. package/src/libs/element/src/lib/node-type-registry.js.map +0 -1
  114. package/src/libs/element/src/lib/stencil-kit/builders.js.map +0 -1
  115. package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +0 -1
  116. package/src/libs/element/src/lib/stencil-kit/index.js.map +0 -1
  117. package/src/libs/element/src/lib/stencil-kit/palette.js.map +0 -1
  118. package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +0 -1
  119. package/src/libs/element/src/lib/stencil-kit/styles.js.map +0 -1
  120. package/src/libs/engine/src/adapters/component-adapter.interface.js.map +0 -1
  121. package/src/libs/engine/src/adapters/index.js.map +0 -1
  122. package/src/libs/engine/src/clipboard/ClipboardManager.js.map +0 -1
  123. package/src/libs/engine/src/clipboard/index.js.map +0 -1
  124. package/src/libs/engine/src/collab/apply-op.js.map +0 -1
  125. package/src/libs/engine/src/collab/capture.js.map +0 -1
  126. package/src/libs/engine/src/collab/index.js.map +0 -1
  127. package/src/libs/engine/src/collab/integrity.js.map +0 -1
  128. package/src/libs/engine/src/collab/lww.js.map +0 -1
  129. package/src/libs/engine/src/collab/op-log.js.map +0 -1
  130. package/src/libs/engine/src/collab/op.js.map +0 -1
  131. package/src/libs/engine/src/collab/replica.js.map +0 -1
  132. package/src/libs/engine/src/collab/undo.js.map +0 -1
  133. package/src/libs/engine/src/commands/Command.js.map +0 -1
  134. package/src/libs/engine/src/commands/CommandManager.js.map +0 -1
  135. package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +0 -1
  136. package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +0 -1
  137. package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +0 -1
  138. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +0 -1
  139. package/src/libs/engine/src/commands/basic/AlignCommands.js.map +0 -1
  140. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +0 -1
  141. package/src/libs/engine/src/commands/basic/CopyCommand.js.map +0 -1
  142. package/src/libs/engine/src/commands/basic/CutCommand.js.map +0 -1
  143. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +0 -1
  144. package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +0 -1
  145. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +0 -1
  146. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +0 -1
  147. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +0 -1
  148. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +0 -1
  149. package/src/libs/engine/src/commands/basic/PasteCommand.js.map +0 -1
  150. package/src/libs/engine/src/commands/basic/PortCommands.js.map +0 -1
  151. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +0 -1
  152. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +0 -1
  153. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +0 -1
  154. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +0 -1
  155. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +0 -1
  156. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +0 -1
  157. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +0 -1
  158. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +0 -1
  159. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +0 -1
  160. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +0 -1
  161. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +0 -1
  162. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +0 -1
  163. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +0 -1
  164. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +0 -1
  165. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +0 -1
  166. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +0 -1
  167. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +0 -1
  168. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +0 -1
  169. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +0 -1
  170. package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +0 -1
  171. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +0 -1
  172. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +0 -1
  173. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +0 -1
  174. package/src/libs/engine/src/commands/basic/index.js.map +0 -1
  175. package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +0 -1
  176. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +0 -1
  177. package/src/libs/engine/src/commands/composite/BatchCommand.js.map +0 -1
  178. package/src/libs/engine/src/commands/composite/MacroCommand.js.map +0 -1
  179. package/src/libs/engine/src/commands/composite/index.js.map +0 -1
  180. package/src/libs/engine/src/commands/index.js.map +0 -1
  181. package/src/libs/engine/src/comments/comment-store.js.map +0 -1
  182. package/src/libs/engine/src/comments/index.js.map +0 -1
  183. package/src/libs/engine/src/comments/mentions.js.map +0 -1
  184. package/src/libs/engine/src/comments/read-state.js.map +0 -1
  185. package/src/libs/engine/src/comments/types.js.map +0 -1
  186. package/src/libs/engine/src/config/InteractionConfig.js.map +0 -1
  187. package/src/libs/engine/src/config/index.js.map +0 -1
  188. package/src/libs/engine/src/dsl/DSL.js.map +0 -1
  189. package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +0 -1
  190. package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +0 -1
  191. package/src/libs/engine/src/dsl/advanced/index.js.map +0 -1
  192. package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +0 -1
  193. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +0 -1
  194. package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +0 -1
  195. package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +0 -1
  196. package/src/libs/engine/src/dsl/extended/ERDParser.js.map +0 -1
  197. package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +0 -1
  198. package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +0 -1
  199. package/src/libs/engine/src/dsl/extended/UMLParser.js.map +0 -1
  200. package/src/libs/engine/src/dsl/extended/index.js.map +0 -1
  201. package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +0 -1
  202. package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +0 -1
  203. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +0 -1
  204. package/src/libs/engine/src/dsl/index.js.map +0 -1
  205. package/src/libs/engine/src/dsl/lexer/Lexer.js.map +0 -1
  206. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +0 -1
  207. package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +0 -1
  208. package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +0 -1
  209. package/src/libs/engine/src/dsl/mermaid/index.js.map +0 -1
  210. package/src/libs/engine/src/dsl/mermaid/layout.js.map +0 -1
  211. package/src/libs/engine/src/dsl/mermaid/lines.js.map +0 -1
  212. package/src/libs/engine/src/dsl/parser/Parser.js.map +0 -1
  213. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +0 -1
  214. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +0 -1
  215. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +0 -1
  216. package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +0 -1
  217. package/src/libs/engine/src/dsl/sync/index.js.map +0 -1
  218. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +0 -1
  219. package/src/libs/engine/src/dsl/types/ASTNode.js.map +0 -1
  220. package/src/libs/engine/src/dsl/types/Token.js.map +0 -1
  221. package/src/libs/engine/src/engine/DiagramEngine.js.map +0 -1
  222. package/src/libs/engine/src/engine/DiagramMode.js.map +0 -1
  223. package/src/libs/engine/src/engine/DiagramModeTypes.js.map +0 -1
  224. package/src/libs/engine/src/engine/ModeManager.js.map +0 -1
  225. package/src/libs/engine/src/engine/index.js.map +0 -1
  226. package/src/libs/engine/src/events/EventBus.js.map +0 -1
  227. package/src/libs/engine/src/events/index.js.map +0 -1
  228. package/src/libs/engine/src/index.js.map +0 -1
  229. package/src/libs/engine/src/interaction/GroupCollapseService.js.map +0 -1
  230. package/src/libs/engine/src/interaction/GroupMembershipService.js.map +0 -1
  231. package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +0 -1
  232. package/src/libs/engine/src/interaction/SwimlaneService.js.map +0 -1
  233. package/src/libs/engine/src/interaction/index.js.map +0 -1
  234. package/src/libs/engine/src/interop/drawio/importDrawio.js.map +0 -1
  235. package/src/libs/engine/src/interop/drawio/index.js.map +0 -1
  236. package/src/libs/engine/src/interop/drawio/xml.js.map +0 -1
  237. package/src/libs/engine/src/layout/CompoundLayoutService.js.map +0 -1
  238. package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +0 -1
  239. package/src/libs/engine/src/layout/LayoutManager.js.map +0 -1
  240. package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +0 -1
  241. package/src/libs/engine/src/layout/ViewportTransform.js.map +0 -1
  242. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +0 -1
  243. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +0 -1
  244. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +0 -1
  245. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +0 -1
  246. package/src/libs/engine/src/layout/community-layout-adapter.js.map +0 -1
  247. package/src/libs/engine/src/layout/component-packing.js.map +0 -1
  248. package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +0 -1
  249. package/src/libs/engine/src/layout/edge-bundling.interface.js.map +0 -1
  250. package/src/libs/engine/src/layout/elk-layout-adapter.js.map +0 -1
  251. package/src/libs/engine/src/layout/elk-loader.js.map +0 -1
  252. package/src/libs/engine/src/layout/force-layout-adapter.js.map +0 -1
  253. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +0 -1
  254. package/src/libs/engine/src/layout/incremental/mental-map.js.map +0 -1
  255. package/src/libs/engine/src/layout/incremental-layout.interface.js.map +0 -1
  256. package/src/libs/engine/src/layout/index.js.map +0 -1
  257. package/src/libs/engine/src/layout/layout-adapter.interface.js.map +0 -1
  258. package/src/libs/engine/src/layout/layout-auto-select.js.map +0 -1
  259. package/src/libs/engine/src/layout/layout-constraints.interface.js.map +0 -1
  260. package/src/libs/engine/src/layout/layout-graph.js.map +0 -1
  261. package/src/libs/engine/src/layout/layout-history.js.map +0 -1
  262. package/src/libs/engine/src/layout/layout-host.js.map +0 -1
  263. package/src/libs/engine/src/layout/layout-presets.js.map +0 -1
  264. package/src/libs/engine/src/layout/layout-quality-extended.js.map +0 -1
  265. package/src/libs/engine/src/layout/layout-quality-metrics.js.map +0 -1
  266. package/src/libs/engine/src/layout/layout-registry.js.map +0 -1
  267. package/src/libs/engine/src/layout/layout.service.js.map +0 -1
  268. package/src/libs/engine/src/layout/overlap-removal.js.map +0 -1
  269. package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +0 -1
  270. package/src/libs/engine/src/layout/port-label-bridge.js.map +0 -1
  271. package/src/libs/engine/src/layout/portfolio-layouts.js.map +0 -1
  272. package/src/libs/engine/src/layout/rng.js.map +0 -1
  273. package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +0 -1
  274. package/src/libs/engine/src/layout/steppable-layout.js.map +0 -1
  275. package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +0 -1
  276. package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +0 -1
  277. package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +0 -1
  278. package/src/libs/engine/src/layout/tree-layout.js.map +0 -1
  279. package/src/libs/engine/src/layout/types.js.map +0 -1
  280. package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +0 -1
  281. package/src/libs/engine/src/models/DiagramEntity.js.map +0 -1
  282. package/src/libs/engine/src/models/DiagramModel.js.map +0 -1
  283. package/src/libs/engine/src/models/GroupModel.js.map +0 -1
  284. package/src/libs/engine/src/models/LinkModel.js.map +0 -1
  285. package/src/libs/engine/src/models/NodeModel.js.map +0 -1
  286. package/src/libs/engine/src/models/PortModel.js.map +0 -1
  287. package/src/libs/engine/src/models/StrokeModel.js.map +0 -1
  288. package/src/libs/engine/src/models/index.js.map +0 -1
  289. package/src/libs/engine/src/models/readonly-lock.js.map +0 -1
  290. package/src/libs/engine/src/performance/LRUCache.js.map +0 -1
  291. package/src/libs/engine/src/performance/PerformanceMonitor.js.map +0 -1
  292. package/src/libs/engine/src/performance/SpatialIndex.js.map +0 -1
  293. package/src/libs/engine/src/performance/index.js.map +0 -1
  294. package/src/libs/engine/src/plugins/PluginManager.js.map +0 -1
  295. package/src/libs/engine/src/plugins/index.js.map +0 -1
  296. package/src/libs/engine/src/ports/connection-rules.js.map +0 -1
  297. package/src/libs/engine/src/ports/dynamic-ports.js.map +0 -1
  298. package/src/libs/engine/src/ports/index.js.map +0 -1
  299. package/src/libs/engine/src/ports/port-groups.js.map +0 -1
  300. package/src/libs/engine/src/ports/port-type-registry.js.map +0 -1
  301. package/src/libs/engine/src/ports/port-types.js.map +0 -1
  302. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +0 -1
  303. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +0 -1
  304. package/src/libs/engine/src/rendering/index.js.map +0 -1
  305. package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +0 -1
  306. package/src/libs/engine/src/routing/ObstacleIndex.js.map +0 -1
  307. package/src/libs/engine/src/routing/ObstacleMap.js.map +0 -1
  308. package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +0 -1
  309. package/src/libs/engine/src/routing/PathSimplifier.js.map +0 -1
  310. package/src/libs/engine/src/routing/RoutingEngine.js.map +0 -1
  311. package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +0 -1
  312. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +0 -1
  313. package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +0 -1
  314. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +0 -1
  315. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +0 -1
  316. package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +0 -1
  317. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +0 -1
  318. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +0 -1
  319. package/src/libs/engine/src/routing/global/solver-host.js.map +0 -1
  320. package/src/libs/engine/src/routing/index.js.map +0 -1
  321. package/src/libs/engine/src/routing/types.js.map +0 -1
  322. package/src/libs/engine/src/selection/SelectionManager.js.map +0 -1
  323. package/src/libs/engine/src/selection/index.js.map +0 -1
  324. package/src/libs/engine/src/serialization/DiagramMigrations.js.map +0 -1
  325. package/src/libs/engine/src/serialization/DiagramValidator.js.map +0 -1
  326. package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +0 -1
  327. package/src/libs/engine/src/serialization/Incremental.js.map +0 -1
  328. package/src/libs/engine/src/serialization/Serializer.js.map +0 -1
  329. package/src/libs/engine/src/serialization/Subgraph.js.map +0 -1
  330. package/src/libs/engine/src/serialization/TextFormat.js.map +0 -1
  331. package/src/libs/engine/src/state/ConnectionStateManager.js.map +0 -1
  332. package/src/libs/engine/src/state/DiagramStore.js.map +0 -1
  333. package/src/libs/engine/src/state/index.js.map +0 -1
  334. package/src/libs/engine/src/sync/awareness.js.map +0 -1
  335. package/src/libs/engine/src/sync/batcher.js.map +0 -1
  336. package/src/libs/engine/src/sync/causal-buffer.js.map +0 -1
  337. package/src/libs/engine/src/sync/index.js.map +0 -1
  338. package/src/libs/engine/src/sync/protocol.js.map +0 -1
  339. package/src/libs/engine/src/sync/sync-adapter.js.map +0 -1
  340. package/src/libs/engine/src/sync/transport.js.map +0 -1
  341. package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +0 -1
  342. package/src/libs/engine/src/sync/transports/memory.js.map +0 -1
  343. package/src/libs/engine/src/sync/transports/unreliable.js.map +0 -1
  344. package/src/libs/engine/src/sync/transports/websocket.js.map +0 -1
  345. package/src/libs/engine/src/sync/version-vector.js.map +0 -1
  346. package/src/libs/engine/src/template-library/common-templates.js.map +0 -1
  347. package/src/libs/engine/src/template-library/data-viz-templates.js.map +0 -1
  348. package/src/libs/engine/src/template-library/erd-templates.js.map +0 -1
  349. package/src/libs/engine/src/template-library/index.js.map +0 -1
  350. package/src/libs/engine/src/template-library/integration.js.map +0 -1
  351. package/src/libs/engine/src/template-library/workflow-templates.js.map +0 -1
  352. package/src/libs/engine/src/templates/NodeFactory.js.map +0 -1
  353. package/src/libs/engine/src/templates/NodeTemplate.js.map +0 -1
  354. package/src/libs/engine/src/templates/TemplateLoader.js.map +0 -1
  355. package/src/libs/engine/src/templates/TemplateRegistry.js.map +0 -1
  356. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +0 -1
  357. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +0 -1
  358. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +0 -1
  359. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +0 -1
  360. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +0 -1
  361. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +0 -1
  362. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +0 -1
  363. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +0 -1
  364. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +0 -1
  365. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +0 -1
  366. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +0 -1
  367. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +0 -1
  368. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +0 -1
  369. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +0 -1
  370. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +0 -1
  371. package/src/libs/engine/src/templates/generated/bpmn/index.js.map +0 -1
  372. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +0 -1
  373. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +0 -1
  374. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +0 -1
  375. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +0 -1
  376. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +0 -1
  377. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +0 -1
  378. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +0 -1
  379. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +0 -1
  380. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +0 -1
  381. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +0 -1
  382. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +0 -1
  383. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +0 -1
  384. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +0 -1
  385. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +0 -1
  386. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +0 -1
  387. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +0 -1
  388. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +0 -1
  389. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +0 -1
  390. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +0 -1
  391. package/src/libs/engine/src/templates/generated/erd/index.js.map +0 -1
  392. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +0 -1
  393. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +0 -1
  394. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +0 -1
  395. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +0 -1
  396. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +0 -1
  397. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +0 -1
  398. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +0 -1
  399. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +0 -1
  400. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +0 -1
  401. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +0 -1
  402. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +0 -1
  403. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +0 -1
  404. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +0 -1
  405. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +0 -1
  406. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +0 -1
  407. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +0 -1
  408. package/src/libs/engine/src/templates/generated/flowchart/index.js.map +0 -1
  409. package/src/libs/engine/src/templates/generated/index.js.map +0 -1
  410. package/src/libs/engine/src/templates/generated/register.js.map +0 -1
  411. package/src/libs/engine/src/templates/generated/uml/index.js.map +0 -1
  412. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +0 -1
  413. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +0 -1
  414. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +0 -1
  415. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +0 -1
  416. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +0 -1
  417. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +0 -1
  418. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +0 -1
  419. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +0 -1
  420. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +0 -1
  421. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +0 -1
  422. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +0 -1
  423. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +0 -1
  424. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +0 -1
  425. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +0 -1
  426. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +0 -1
  427. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +0 -1
  428. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +0 -1
  429. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +0 -1
  430. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +0 -1
  431. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +0 -1
  432. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +0 -1
  433. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +0 -1
  434. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +0 -1
  435. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +0 -1
  436. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +0 -1
  437. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +0 -1
  438. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +0 -1
  439. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +0 -1
  440. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +0 -1
  441. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +0 -1
  442. package/src/libs/engine/src/templates/index.js.map +0 -1
  443. package/src/libs/engine/src/templates/stencils.js.map +0 -1
  444. package/src/libs/engine/src/types/domain/bpmn.js.map +0 -1
  445. package/src/libs/engine/src/types/domain/erd.js.map +0 -1
  446. package/src/libs/engine/src/types/domain/flowchart.js.map +0 -1
  447. package/src/libs/engine/src/types/domain/index.js.map +0 -1
  448. package/src/libs/engine/src/types/domain/uml.js.map +0 -1
  449. package/src/libs/engine/src/types/event.types.js.map +0 -1
  450. package/src/libs/engine/src/types/geometry.types.js.map +0 -1
  451. package/src/libs/engine/src/types/index.js.map +0 -1
  452. package/src/libs/engine/src/types/layout.types.js.map +0 -1
  453. package/src/libs/engine/src/types/model.types.js.map +0 -1
  454. package/src/libs/engine/src/types/performance.types.js.map +0 -1
  455. package/src/libs/engine/src/types/plugin.types.js.map +0 -1
  456. package/src/libs/engine/src/utils/deep-clone.js.map +0 -1
  457. package/src/libs/engine/src/utils/geometry.js.map +0 -1
  458. package/src/libs/engine/src/utils/id.js.map +0 -1
  459. package/src/libs/engine/src/utils/index.js.map +0 -1
  460. package/src/libs/engine/src/utils/transform.js.map +0 -1
  461. package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +0 -1
  462. package/src/libs/engine/src/validation/TypeRegistry.js.map +0 -1
  463. package/src/libs/engine/src/validation/ValidationEngine.js.map +0 -1
  464. package/src/libs/engine/src/validation/index.js.map +0 -1
  465. package/src/libs/renderer/src/a11y/diagram-outline.js.map +0 -1
  466. package/src/libs/renderer/src/a11y/focus-containment.js.map +0 -1
  467. package/src/libs/renderer/src/a11y/graph-topology.js.map +0 -1
  468. package/src/libs/renderer/src/a11y/index.js.map +0 -1
  469. package/src/libs/renderer/src/a11y/live-region.js.map +0 -1
  470. package/src/libs/renderer/src/a11y/outline-view.js.map +0 -1
  471. package/src/libs/renderer/src/a11y/reduced-motion.js.map +0 -1
  472. package/src/libs/renderer/src/a11y/semantics.js.map +0 -1
  473. package/src/libs/renderer/src/canvas/canvas-context.js.map +0 -1
  474. package/src/libs/renderer/src/canvas/canvas-renderer.js.map +0 -1
  475. package/src/libs/renderer/src/canvas/dirty-region.js.map +0 -1
  476. package/src/libs/renderer/src/canvas/index.js.map +0 -1
  477. package/src/libs/renderer/src/canvas/path-geometry.js.map +0 -1
  478. package/src/libs/renderer/src/canvas/render-backend.js.map +0 -1
  479. package/src/libs/renderer/src/canvas/style-resolution.js.map +0 -1
  480. package/src/libs/renderer/src/canvas/tier-policy.js.map +0 -1
  481. package/src/libs/renderer/src/canvas/vnode-painter.js.map +0 -1
  482. package/src/libs/renderer/src/comments/comment-overlay.js.map +0 -1
  483. package/src/libs/renderer/src/comments/comment-panel.js.map +0 -1
  484. package/src/libs/renderer/src/comments/comment-pins.js.map +0 -1
  485. package/src/libs/renderer/src/comments/index.js.map +0 -1
  486. package/src/libs/renderer/src/export/assets.js.map +0 -1
  487. package/src/libs/renderer/src/export/batch.js.map +0 -1
  488. package/src/libs/renderer/src/export/bounds.js.map +0 -1
  489. package/src/libs/renderer/src/export/capture-host.js.map +0 -1
  490. package/src/libs/renderer/src/export/custom-nodes.js.map +0 -1
  491. package/src/libs/renderer/src/export/index.js.map +0 -1
  492. package/src/libs/renderer/src/export/node-raster.js.map +0 -1
  493. package/src/libs/renderer/src/export/pagination.js.map +0 -1
  494. package/src/libs/renderer/src/export/pdf/flate.js.map +0 -1
  495. package/src/libs/renderer/src/export/pdf/index.js.map +0 -1
  496. package/src/libs/renderer/src/export/pdf/pdf-export.js.map +0 -1
  497. package/src/libs/renderer/src/export/pdf/pdf-path.js.map +0 -1
  498. package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +0 -1
  499. package/src/libs/renderer/src/export/pdf/png.js.map +0 -1
  500. package/src/libs/renderer/src/export/raster.js.map +0 -1
  501. package/src/libs/renderer/src/export/round-trip.js.map +0 -1
  502. package/src/libs/renderer/src/export/scope.js.map +0 -1
  503. package/src/libs/renderer/src/export/style-flattener.js.map +0 -1
  504. package/src/libs/renderer/src/export/svg-export.js.map +0 -1
  505. package/src/libs/renderer/src/export/vnode-serializer.js.map +0 -1
  506. package/src/libs/renderer/src/ext/capabilities.js.map +0 -1
  507. package/src/libs/renderer/src/ext/capability-factory.js.map +0 -1
  508. package/src/libs/renderer/src/ext/components/attach.js.map +0 -1
  509. package/src/libs/renderer/src/ext/components/background.js.map +0 -1
  510. package/src/libs/renderer/src/ext/components/controls.js.map +0 -1
  511. package/src/libs/renderer/src/ext/components/minimap.js.map +0 -1
  512. package/src/libs/renderer/src/ext/diagram-registry.js.map +0 -1
  513. package/src/libs/renderer/src/ext/disposable.js.map +0 -1
  514. package/src/libs/renderer/src/ext/extension-host.js.map +0 -1
  515. package/src/libs/renderer/src/ext/index.js.map +0 -1
  516. package/src/libs/renderer/src/ext/link-pipeline.js.map +0 -1
  517. package/src/libs/renderer/src/ext/manifest.js.map +0 -1
  518. package/src/libs/renderer/src/ext/node-component.js.map +0 -1
  519. package/src/libs/renderer/src/ext/plugins-loader.js.map +0 -1
  520. package/src/libs/renderer/src/ext/portal.js.map +0 -1
  521. package/src/libs/renderer/src/ext/public-api.js.map +0 -1
  522. package/src/libs/renderer/src/ext/registry-scope.js.map +0 -1
  523. package/src/libs/renderer/src/ext/tools.js.map +0 -1
  524. package/src/libs/renderer/src/index.js.map +0 -1
  525. package/src/libs/renderer/src/instance/create-diagram.js.map +0 -1
  526. package/src/libs/renderer/src/instance/diagram-instance.js.map +0 -1
  527. package/src/libs/renderer/src/instance/dom-event-binder.js.map +0 -1
  528. package/src/libs/renderer/src/instance/index.js.map +0 -1
  529. package/src/libs/renderer/src/instance/layers.js.map +0 -1
  530. package/src/libs/renderer/src/instance/model-input.js.map +0 -1
  531. package/src/libs/renderer/src/instance/render-scheduler.js.map +0 -1
  532. package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +0 -1
  533. package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +0 -1
  534. package/src/libs/renderer/src/interaction/WaypointEditor.js.map +0 -1
  535. package/src/libs/renderer/src/interaction/highlighters.js.map +0 -1
  536. package/src/libs/renderer/src/interaction/in-place-editor.js.map +0 -1
  537. package/src/libs/renderer/src/interaction/index.js.map +0 -1
  538. package/src/libs/renderer/src/interaction/ink-overlay.js.map +0 -1
  539. package/src/libs/renderer/src/interaction/interaction-controller.js.map +0 -1
  540. package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +0 -1
  541. package/src/libs/renderer/src/interaction/selection-tools.js.map +0 -1
  542. package/src/libs/renderer/src/interaction/snapping.js.map +0 -1
  543. package/src/libs/renderer/src/interaction/touch-gestures.js.map +0 -1
  544. package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +0 -1
  545. package/src/libs/renderer/src/lazy/host-culling.js.map +0 -1
  546. package/src/libs/renderer/src/lazy/index.js.map +0 -1
  547. package/src/libs/renderer/src/lazy/progressive-mounter.js.map +0 -1
  548. package/src/libs/renderer/src/lazy/types.js.map +0 -1
  549. package/src/libs/renderer/src/lazy/view-lifecycle.js.map +0 -1
  550. package/src/libs/renderer/src/perf/index.js.map +0 -1
  551. package/src/libs/renderer/src/perf/perf-hud.js.map +0 -1
  552. package/src/libs/renderer/src/perf/quality-governor.js.map +0 -1
  553. package/src/libs/renderer/src/platform/index.js.map +0 -1
  554. package/src/libs/renderer/src/platform/platform.js.map +0 -1
  555. package/src/libs/renderer/src/presence/bind-presence.js.map +0 -1
  556. package/src/libs/renderer/src/presence/index.js.map +0 -1
  557. package/src/libs/renderer/src/presence/presence-overlay.js.map +0 -1
  558. package/src/libs/renderer/src/presentation/index.js.map +0 -1
  559. package/src/libs/renderer/src/presentation/presentation.js.map +0 -1
  560. package/src/libs/renderer/src/presentation/viewport-channel.js.map +0 -1
  561. package/src/libs/renderer/src/services/animation-lifecycle.js.map +0 -1
  562. package/src/libs/renderer/src/services/animation-performance.service.js.map +0 -1
  563. package/src/libs/renderer/src/services/animation-sequencer.js.map +0 -1
  564. package/src/libs/renderer/src/services/animation.service.js.map +0 -1
  565. package/src/libs/renderer/src/services/custom-animation-registry.js.map +0 -1
  566. package/src/libs/renderer/src/ssr/index.js.map +0 -1
  567. package/src/libs/renderer/src/ssr/render-to-static.js.map +0 -1
  568. package/src/libs/renderer/src/svg/ArrowRenderer.js.map +0 -1
  569. package/src/libs/renderer/src/svg/JumpPointDetector.js.map +0 -1
  570. package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +0 -1
  571. package/src/libs/renderer/src/svg/LabelRenderer.js.map +0 -1
  572. package/src/libs/renderer/src/svg/auto-size.js.map +0 -1
  573. package/src/libs/renderer/src/svg/channel-nudging.js.map +0 -1
  574. package/src/libs/renderer/src/svg/edge-optimizer.js.map +0 -1
  575. package/src/libs/renderer/src/svg/edge-templates.js.map +0 -1
  576. package/src/libs/renderer/src/svg/html-node.js.map +0 -1
  577. package/src/libs/renderer/src/svg/index.js.map +0 -1
  578. package/src/libs/renderer/src/svg/link-fanout.js.map +0 -1
  579. package/src/libs/renderer/src/svg/link-hit-test.js.map +0 -1
  580. package/src/libs/renderer/src/svg/motion-tracker.js.map +0 -1
  581. package/src/libs/renderer/src/svg/node-sizing.js.map +0 -1
  582. package/src/libs/renderer/src/svg/node-toolbar.js.map +0 -1
  583. package/src/libs/renderer/src/svg/notation-shapes.js.map +0 -1
  584. package/src/libs/renderer/src/svg/paint-servers.js.map +0 -1
  585. package/src/libs/renderer/src/svg/panel.js.map +0 -1
  586. package/src/libs/renderer/src/svg/path-outline.js.map +0 -1
  587. package/src/libs/renderer/src/svg/port-glyph.js.map +0 -1
  588. package/src/libs/renderer/src/svg/port-label.js.map +0 -1
  589. package/src/libs/renderer/src/svg/port-layout.js.map +0 -1
  590. package/src/libs/renderer/src/svg/port-positioning.js.map +0 -1
  591. package/src/libs/renderer/src/svg/port-spots.js.map +0 -1
  592. package/src/libs/renderer/src/svg/route-memo.js.map +0 -1
  593. package/src/libs/renderer/src/svg/route-solver-bridge.js.map +0 -1
  594. package/src/libs/renderer/src/svg/shape-registry.js.map +0 -1
  595. package/src/libs/renderer/src/svg/stroke-layer.js.map +0 -1
  596. package/src/libs/renderer/src/svg/svg-renderer.js.map +0 -1
  597. package/src/libs/renderer/src/svg/text-block.js.map +0 -1
  598. package/src/libs/renderer/src/themes/color-mode.js.map +0 -1
  599. package/src/libs/renderer/src/themes/contrast.js.map +0 -1
  600. package/src/libs/renderer/src/themes/default-dark-theme.js.map +0 -1
  601. package/src/libs/renderer/src/themes/default-light-theme.js.map +0 -1
  602. package/src/libs/renderer/src/themes/default-theme-set.js.map +0 -1
  603. package/src/libs/renderer/src/themes/high-contrast-theme.js.map +0 -1
  604. package/src/libs/renderer/src/themes/index.js.map +0 -1
  605. package/src/libs/renderer/src/themes/style-cascade.js.map +0 -1
  606. package/src/libs/renderer/src/themes/style-registry.js.map +0 -1
  607. package/src/libs/renderer/src/themes/theme-a11y.js.map +0 -1
  608. package/src/libs/renderer/src/themes/theme-css.js.map +0 -1
  609. package/src/libs/renderer/src/themes/theme-ref.js.map +0 -1
  610. package/src/libs/renderer/src/themes/theme-vars.js.map +0 -1
  611. package/src/libs/renderer/src/themes/token-bridge.js.map +0 -1
  612. package/src/libs/renderer/src/types/geometry.types.js.map +0 -1
  613. package/src/libs/renderer/src/types/index.js.map +0 -1
  614. package/src/libs/renderer/src/types/property-schema/conditions.js.map +0 -1
  615. package/src/libs/renderer/src/types/property-schema/editor-types.js.map +0 -1
  616. package/src/libs/renderer/src/types/property-schema/groups.js.map +0 -1
  617. package/src/libs/renderer/src/types/property-schema/index.js.map +0 -1
  618. package/src/libs/renderer/src/types/property-schema/property-definition.js.map +0 -1
  619. package/src/libs/renderer/src/types/property-schema/schema.js.map +0 -1
  620. package/src/libs/renderer/src/types/property-schema/validation.js.map +0 -1
  621. package/src/libs/renderer/src/types/renderer.interface.js.map +0 -1
  622. package/src/libs/renderer/src/types/theme.types.js.map +0 -1
  623. package/src/libs/renderer/src/types/vnode.types.js.map +0 -1
  624. package/src/libs/renderer/src/utils/animation-presets.js.map +0 -1
  625. package/src/libs/renderer/src/utils/animation-priority.js.map +0 -1
  626. package/src/libs/renderer/src/utils/animation-utils.js.map +0 -1
  627. package/src/libs/renderer/src/utils/lru-cache.js.map +0 -1
  628. package/src/libs/renderer/src/viewport/index.js.map +0 -1
  629. package/src/libs/renderer/src/viewport/viewport-controller.js.map +0 -1
  630. package/src/libs/renderer/src/vnode/container-id-generator.js.map +0 -1
  631. package/src/libs/renderer/src/vnode/foreign-object.js.map +0 -1
  632. package/src/libs/renderer/src/vnode/index.js.map +0 -1
  633. package/src/libs/renderer/src/vnode/patch.js.map +0 -1
  634. package/src/reachability.spec.ts +0 -173
  635. package/tsconfig.esm.json +0 -9
  636. package/tsconfig.json +0 -24
  637. package/tsconfig.lib.json +0 -10
  638. package/tsconfig.spec.json +0 -14
@@ -1,246 +0,0 @@
1
- /**
2
- * ER diagram kit — typed builders for database entity-relationship diagrams.
3
- *
4
- * The packaged form of what demos/diagrams/table-er.html and er-advanced.html
5
- * hand-composed: HTML "table" cards (header, typed columns, PK/FK badges),
6
- * crow's-foot cardinality edges, and field-level FK→PK connections via
7
- * absolute-layout ports. An embedder writes data:
8
- *
9
- * ```ts
10
- * const spec = erDiagram({
11
- * entities: [
12
- * { id: 'CUSTOMER', columns: [{ name: 'id', type: 'int', pk: true }, …] },
13
- * { id: 'ORDER', columns: [{ name: 'customer_id', type: 'int', fk: true }, …] },
14
- * ],
15
- * relationships: [
16
- * { from: 'CUSTOMER', to: 'ORDER', label: 'places' }, // table-level
17
- * { from: 'ORDER.customer_id', to: 'CUSTOMER.id' }, // field-level
18
- * ],
19
- * });
20
- * render(spec, container);
21
- * ```
22
- */
23
- import { ensureDiagramKitStyles } from './styles';
24
- import { bindRowInteractions } from './rows';
25
- import { entityCardContent, entityAutoHeight, erRowCenterY, ER_ROW_H, ER_HEAD_H } from './card';
26
- import { bindCardEditing } from './editing';
27
-
28
- // Layout constants + the row-centre helper live in card.ts now (the ONE source
29
- // of truth shared with update.ts). Re-exported here so `import … from './er'`
30
- // keeps working.
31
- export { erRowCenterY, ER_ROW_H, ER_HEAD_H };
32
-
33
- const DEFAULT_WIDTH = 190;
34
-
35
- export interface ErColumn {
36
- name: string;
37
- type?: string;
38
- pk?: boolean;
39
- fk?: boolean;
40
- }
41
-
42
- export interface ErEntitySpec {
43
- id: string;
44
- /** Header text. Defaults to the id. */
45
- name?: string;
46
- columns: ErColumn[];
47
- position?: { x: number; y: number };
48
- width?: number;
49
- /**
50
- * Fixed card height. When smaller than the computed height the column list
51
- * SCROLLS (the kit body is overflow-y:auto, and the canvas yields the wheel
52
- * to it). Omit for auto-height from the column count.
53
- */
54
- height?: number;
55
- }
56
-
57
- export type ErCardinality =
58
- | 'one-to-many'
59
- | 'one-to-one'
60
- | 'many-to-many'
61
- | 'one-to-zero-or-many'
62
- | 'one-to-one-or-many';
63
-
64
- export type ErSide = 'left' | 'right' | 'top' | 'bottom';
65
-
66
- export interface ErRelationshipSpec {
67
- /** Entity id, or `ENTITY.column` to attach at that column's row. */
68
- from: string;
69
- to: string;
70
- label?: string;
71
- /** Named cardinality (default one-to-many) or explicit marker types. */
72
- cardinality?: ErCardinality | { tail: string; head: string };
73
- fromSide?: ErSide;
74
- toSide?: ErSide;
75
- color?: string;
76
- id?: string;
77
- }
78
-
79
- export interface ErDiagramOptions {
80
- entities: ErEntitySpec[];
81
- relationships?: ErRelationshipSpec[];
82
- /**
83
- * Rows are selectable by default: click a column to select it (painted with
84
- * .axk-row-selected; axk:row-click / axk:row-select CustomEvents fire on the
85
- * container). Set false to opt out.
86
- */
87
- rowSelection?: boolean;
88
- /**
89
- * In-canvas editing (opt-in, default false — read-only diagrams are
90
- * unchanged). When true the card grows editing chrome: double-click the
91
- * header to rename the table, double-click a column name to rename it, an
92
- * "add column" affordance and a per-row delete control. Every change routes
93
- * through {@link updateEntity} as ONE undoable step.
94
- */
95
- editable?: boolean;
96
- }
97
-
98
- const CARDINALITY: Record<ErCardinality, { tail: string; head: string }> = {
99
- 'one-to-many': { tail: 'one', head: 'crow-foot' },
100
- 'one-to-one': { tail: 'one', head: 'one' },
101
- 'many-to-many': { tail: 'crow-foot', head: 'crow-foot' },
102
- 'one-to-zero-or-many': { tail: 'one', head: 'zero-or-many' },
103
- 'one-to-one-or-many': { tail: 'one', head: 'one-or-many' },
104
- };
105
-
106
- interface ParsedEnd {
107
- entity: ErEntitySpec;
108
- column?: string;
109
- rowIndex?: number;
110
- }
111
-
112
- function parseEnd(ref: string, byId: Map<string, ErEntitySpec>): ParsedEnd {
113
- const dot = ref.indexOf('.');
114
- const entityId = dot === -1 ? ref : ref.slice(0, dot);
115
- const entity = byId.get(entityId);
116
- if (!entity) throw new Error(`erDiagram: unknown entity "${entityId}" in relationship end "${ref}"`);
117
- if (dot === -1) return { entity };
118
- const column = ref.slice(dot + 1);
119
- const rowIndex = entity.columns.findIndex((c) => c.name === column);
120
- if (rowIndex === -1) {
121
- throw new Error(`erDiagram: entity "${entityId}" has no column "${column}" (relationship end "${ref}")`);
122
- }
123
- return { entity, column, rowIndex };
124
- }
125
-
126
- /**
127
- * Build a render() spec for an ER diagram.
128
- *
129
- * Entities become HTML table cards; relationships become orthogonal edges with
130
- * crow's-foot cardinality. A `TABLE.column` end pins the edge to that row via
131
- * an absolute-layout port (the FK→PK look). Two edges landing on the same
132
- * column are automatically spread apart.
133
- */
134
- export function erDiagram(options: ErDiagramOptions): {
135
- nodes: Array<Record<string, unknown>>;
136
- edges: Array<Record<string, unknown>>;
137
- finalize: (api: unknown) => void;
138
- } {
139
- ensureDiagramKitStyles();
140
-
141
- const byId = new Map(options.entities.map((e) => [e.id, e]));
142
- // Field-level ports are accumulated per entity while walking relationships.
143
- const portsByEntity = new Map<string, Array<Record<string, unknown>>>();
144
- // How many edges already landed on a given entity row+side — drives the
145
- // spread (dy) so shared columns (a PK referenced twice) don't stack.
146
- const rowLandings = new Map<string, number>();
147
-
148
- const width = (e: ErEntitySpec) => e.width ?? DEFAULT_WIDTH;
149
-
150
- const fieldPort = (end: ParsedEnd, side: ErSide): string => {
151
- const entity = end.entity;
152
- const key = `${entity.id}#${end.rowIndex}#${side}`;
153
- const landing = rowLandings.get(key) ?? 0;
154
- rowLandings.set(key, landing + 1);
155
- // Spread repeat landings ±5px around the row centre: 0, -5, +5, -10, …
156
- const dy = landing === 0 ? 0 : (landing % 2 === 1 ? -1 : 1) * Math.ceil(landing / 2) * 5;
157
- const id = `${entity.id}__${end.column}__${side}__${landing}`;
158
- const w = width(entity);
159
- const port = {
160
- id,
161
- side,
162
- visible: false,
163
- layout: {
164
- strategy: 'absolute',
165
- args: {
166
- units: 'px',
167
- x: side === 'right' ? w : side === 'left' ? 0 : w / 2,
168
- y: erRowCenterY(end.rowIndex!),
169
- dy,
170
- },
171
- },
172
- };
173
- const bucket = portsByEntity.get(entity.id) ?? [];
174
- bucket.push(port);
175
- portsByEntity.set(entity.id, bucket);
176
- return id;
177
- };
178
-
179
- const edges = (options.relationships ?? []).map((rel, i) => {
180
- const from = parseEnd(rel.from, byId);
181
- const to = parseEnd(rel.to, byId);
182
- const fromSide = rel.fromSide ?? 'right';
183
- const toSide = rel.toSide ?? 'left';
184
- const markers =
185
- typeof rel.cardinality === 'object'
186
- ? rel.cardinality
187
- : CARDINALITY[rel.cardinality ?? 'one-to-many'];
188
-
189
- return {
190
- id: rel.id ?? `er-rel-${i + 1}`,
191
- source: from.entity.id,
192
- target: to.entity.id,
193
- label: rel.label,
194
- type: 'orthogonal',
195
- sourceHandle: from.column !== undefined ? fieldPort(from, fromSide) : fromSide,
196
- targetHandle: to.column !== undefined ? fieldPort(to, toSide) : toSide,
197
- style: {
198
- stroke: rel.color ?? '#64748b',
199
- strokeWidth: 1.5,
200
- arrowTail: { type: markers.tail, size: 8, filled: false },
201
- arrowHead: { type: markers.head, size: 9, filled: false },
202
- },
203
- };
204
- });
205
-
206
- const editable = options.editable === true;
207
- const nodes = options.entities.map((entity, i) => ({
208
- id: entity.id,
209
- position: entity.position ?? { x: 60 + (i % 3) * 340, y: 60 + Math.floor(i / 3) * 280 },
210
- size: { width: width(entity), height: entityAutoHeight(entity, editable) },
211
- // interactive: rows are real DOM targets (hover, row selection, inline
212
- // editing) — node drag/select stay geometric in the binder.
213
- metadata: {
214
- html: { content: entityCardContent(entity, editable), interactive: true },
215
- kitEntity: entity,
216
- kitEditable: editable,
217
- // Only the OPT-OUT is recorded. A loader has to know not to re-bind row
218
- // selection, but stamping the default on every card would change the bytes
219
- // of every existing document for a value that is already the default.
220
- ...(options.rowSelection === false ? { kitRowSelection: false } : {}),
221
- },
222
- // The card draws its own border — the node's default rectangle is hidden
223
- // (and re-suppressed on selection by the kit stylesheet).
224
- shape: { type: 'rect', fill: 'none', stroke: 'none' },
225
- style: { fill: 'transparent', stroke: 'transparent', strokeWidth: 0 },
226
- ...(portsByEntity.has(entity.id) ? { ports: portsByEntity.get(entity.id) } : {}),
227
- }));
228
-
229
- return {
230
- nodes,
231
- edges,
232
- finalize: (api: unknown) => {
233
- const a = api as { container?: HTMLElement; getModel?: () => { getNode: (id: string) => { setBehavior?: (b: { resizable: boolean }) => void } | undefined } };
234
- // The card draws its OWN selection ring — suppress the node resize handles
235
- // on the live model (they'd frame the card in a SECOND rectangle). Set here
236
- // because the render-input path does not honour a spec-level `behavior`.
237
- const model = a?.getModel?.();
238
- if (model) for (const e of options.entities) model.getNode?.(e.id)?.setBehavior?.({ resizable: false });
239
- if (options.rowSelection !== false && a?.container) bindRowInteractions(a as never);
240
- // Editing chrome (dbl-click rename, add/delete column) — opt-in, and safe
241
- // to run alongside row selection (it claims control clicks in the capture
242
- // phase before the selection handler sees them).
243
- if (editable && a?.container) bindCardEditing(a as never);
244
- },
245
- };
246
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"handles.js","sourceRoot":"","sources":["handles.ts"],"names":[],"mappings":"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"}
@@ -1,224 +0,0 @@
1
- /**
2
- * Option B — the typed façade handle layer (user decision, 2026-07-19).
3
- *
4
- * `CardHandle → ErTable / UmlClass` + `ErField`: the clean OO usage over the
5
- * data-first kit. The DESIGN INVARIANT under test everywhere here: handles are
6
- * STATELESS — (api, id) closures. They can never go stale, and every mutation
7
- * funnels through updateEntity/updateClass, so one-step undo and field-port
8
- * reconciliation come free. Tests run against a REAL DiagramModel + the REAL
9
- * CommandManager, exactly like update.spec.ts.
10
- */
11
- import { DiagramModel, NodeModel, PortModel, LinkModel, CommandManager } from '@grafloria/engine';
12
- import { erDiagram } from './er';
13
- import { umlDiagram } from './uml';
14
- import { updateEntity } from './update';
15
- import { erTable, umlClass, erTables, ErTable, ErField, UmlClass } from './handles';
16
- import { erRowCenterY, ER_ROW_H } from './card';
17
-
18
- interface AnySpec {
19
- nodes: Array<Record<string, unknown>>;
20
- edges: Array<Record<string, unknown>>;
21
- }
22
-
23
- function mount(spec: AnySpec, editable = true) {
24
- const model = new DiagramModel();
25
- for (const n of spec.nodes as any[]) {
26
- const node = new NodeModel({ id: n.id, type: 'kit', position: n.position, size: n.size });
27
- for (const p of node.getPorts()) node.removePort(p.id);
28
- const meta = n.metadata ?? {};
29
- node.setMetadata('html', meta.html);
30
- if (meta.kitEntity) node.setMetadata('kitEntity', meta.kitEntity);
31
- if (meta.kitClass) node.setMetadata('kitClass', meta.kitClass);
32
- node.setMetadata('kitEditable', editable);
33
- for (const p of (n.ports ?? []) as any[]) {
34
- node.addPort(new PortModel({ id: p.id, type: 'bi', side: p.side, visible: p.visible, layout: p.layout }));
35
- }
36
- model.addNode(node);
37
- }
38
- for (const e of spec.edges as any[]) {
39
- const link = new LinkModel(e.sourceHandle, e.targetHandle, 'orthogonal');
40
- (link as any).id = e.id;
41
- model.addLink(link);
42
- }
43
- const eventBus = { emit() {} };
44
- const cm = new CommandManager({ diagram: model, eventBus } as any, eventBus as any);
45
- const engine = { commandManager: cm, undo: () => cm.undo(), redo: () => cm.redo() };
46
- const container = document.createElement('div');
47
- document.body.appendChild(container);
48
- const api = { container, getModel: () => model, getEngine: () => engine, renderNow: () => {} };
49
- return { model, api, cm, container };
50
- }
51
-
52
- const SCHEMA = (): AnySpec =>
53
- erDiagram({
54
- editable: true,
55
- entities: [
56
- { id: 'TARGET', columns: [{ name: 'pk', type: 'int', pk: true }] },
57
- {
58
- id: 'FOO',
59
- name: 'Foo',
60
- columns: [
61
- { name: 'a', type: 'int', pk: true },
62
- { name: 'b', type: 'int', fk: true },
63
- { name: 'c', type: 'varchar' },
64
- ],
65
- },
66
- ],
67
- relationships: [{ from: 'FOO.b', to: 'TARGET.pk' }],
68
- });
69
-
70
- const UML = (): AnySpec =>
71
- umlDiagram({
72
- editable: true,
73
- classes: [
74
- { id: 'Shape', name: 'Shape', attributes: ['# x: float'], methods: ['+ area(): float'] },
75
- ],
76
- relationships: [],
77
- } as never);
78
-
79
- describe('erTable factory', () => {
80
- it('resolves a kit table; refuses unknown ids and non-kit nodes', () => {
81
- const { api, model } = mount(SCHEMA());
82
- const t = erTable(api as never, 'FOO');
83
- expect(t).toBeInstanceOf(ErTable);
84
- expect(t.exists).toBe(true);
85
- expect(() => erTable(api as never, 'NOPE')).toThrow(/no node/i);
86
- const plain = new NodeModel({ id: 'plain', type: 'basic', position: { x: 0, y: 0 }, size: { width: 10, height: 10 } });
87
- model.addNode(plain);
88
- expect(() => erTable(api as never, 'plain')).toThrow(/not an ER table/i);
89
- expect(erTables(api as never).map((x) => x.id).sort()).toEqual(['FOO', 'TARGET']);
90
- });
91
- });
92
-
93
- describe('CardHandle basics (name, size, undo sugar)', () => {
94
- it('reads the stored spec and renames as ONE undoable step', async () => {
95
- const { api, model, cm } = mount(SCHEMA());
96
- const t = erTable(api as never, 'FOO');
97
- expect(t.name).toBe('Foo');
98
- await t.rename('Sales Foo');
99
- expect(t.name).toBe('Sales Foo');
100
- expect(JSON.stringify(model.getNode('FOO')!.getMetadata('html'))).toContain('Sales Foo');
101
- expect((cm as any).getHistory().length).toBe(1);
102
- await t.undo();
103
- expect(t.name).toBe('Foo'); // the STATELESS read reflects the restored model
104
- });
105
-
106
- it('resizes through the same undoable path', async () => {
107
- const { api, model } = mount(SCHEMA());
108
- const t = erTable(api as never, 'FOO');
109
- await t.resize({ width: 260 });
110
- expect(model.getNode('FOO')!.size.width).toBe(260);
111
- });
112
- });
113
-
114
- describe('ErTable.columns + ErField', () => {
115
- it('lists, iterates and indexes typed fields', () => {
116
- const t = erTable(mount(SCHEMA()).api as never, 'FOO');
117
- expect(t.columns.length).toBe(3);
118
- expect(t.columns.names()).toEqual(['a', 'b', 'c']);
119
- const fields = [...t.columns];
120
- expect(fields.every((f) => f instanceof ErField)).toBe(true);
121
- expect(t.columns.get('b')!.fk).toBe(true);
122
- expect(t.columns.at(0)!.pk).toBe(true);
123
- expect(t.columns.get('zzz')).toBeUndefined();
124
- });
125
-
126
- it('add-at-index shifts the FK field port down by one row (port glue via the handle path)', async () => {
127
- const { api, model } = mount(SCHEMA());
128
- const t = erTable(api as never, 'FOO');
129
- const foo = model.getNode('FOO')!;
130
- const fkPort = foo.getPorts().find((p: any) => String(p.id).includes('__b__')) as any;
131
- expect(fkPort.layout.args.y).toBe(erRowCenterY(1));
132
- await t.columns.add({ name: 'inserted', type: 'int' }, { at: 0 });
133
- expect(t.columns.names()).toEqual(['inserted', 'a', 'b', 'c']);
134
- expect((foo.getPorts().find((p: any) => String(p.id).includes('__b__')) as any).layout.args.y).toBe(
135
- erRowCenterY(2)
136
- );
137
- await t.undo();
138
- expect(t.columns.names()).toEqual(['a', 'b', 'c']);
139
- });
140
-
141
- it('field rename/retype/remove flow through updateEntity', async () => {
142
- const { api, model } = mount(SCHEMA());
143
- const t = erTable(api as never, 'FOO');
144
- await t.columns.get('c')!.rename('c2');
145
- expect(t.columns.names()).toEqual(['a', 'b', 'c2']);
146
- await t.columns.get('c2')!.setType('text');
147
- expect(t.columns.get('c2')!.type).toBe('text');
148
- await t.columns.get('c2')!.remove();
149
- expect(t.columns.names()).toEqual(['a', 'b']);
150
- expect(JSON.stringify(model.getNode('FOO')!.getMetadata('html'))).not.toContain('c2');
151
- });
152
-
153
- it('handles are stateless: an EXTERNAL updateEntity is visible through an old handle', async () => {
154
- const { api } = mount(SCHEMA());
155
- const t = erTable(api as never, 'FOO');
156
- const before = t.columns.length;
157
- await updateEntity(api as never, 'FOO', {
158
- columns: [...(t.spec.columns), { name: 'ext', type: 'int' }],
159
- });
160
- expect(t.columns.length).toBe(before + 1); // same handle object, fresh truth
161
- });
162
-
163
- it('spec getter returns a COPY — mutating it never touches the model', () => {
164
- const { api, model } = mount(SCHEMA());
165
- const t = erTable(api as never, 'FOO');
166
- t.spec.columns.push({ name: 'evil' } as never);
167
- expect((model.getNode('FOO')!.getMetadata('kitEntity') as any).columns.length).toBe(3);
168
- });
169
- });
170
-
171
- describe('UmlClass handle', () => {
172
- it('attributes/methods collections + abstract flag, all undoable', async () => {
173
- const { api, model, cm } = mount(UML());
174
- const c = umlClass(api as never, 'Shape');
175
- expect(c).toBeInstanceOf(UmlClass);
176
- expect(c.attributes.list()).toEqual(['# x: float']);
177
- await c.methods.add('+ perimeter(): float');
178
- expect(c.methods.list()).toEqual(['+ area(): float', '+ perimeter(): float']);
179
- await c.setAbstract(true);
180
- expect(c.abstract).toBe(true);
181
- expect(JSON.stringify(model.getNode('Shape')!.getMetadata('html'))).toContain('perimeter');
182
- await c.undo(); // abstract off
183
- await c.undo(); // method gone
184
- expect(c.methods.list()).toEqual(['+ area(): float']);
185
- expect(c.abstract).toBe(false);
186
- await c.redo(); // method back — the handle's redo sugar round-trips
187
- expect(c.methods.list()).toEqual(['+ area(): float', '+ perimeter(): float']);
188
- expect((cm as any).getHistory().length).toBe(2); // executed commands stay on the stack
189
- });
190
-
191
- it('renameAt / removeAt on members', async () => {
192
- const c = umlClass(mount(UML()).api as never, 'Shape');
193
- await c.attributes.renameAt(0, '# x: double');
194
- expect(c.attributes.list()).toEqual(['# x: double']);
195
- await c.attributes.removeAt(0);
196
- expect(c.attributes.list()).toEqual([]);
197
- });
198
- });
199
-
200
- describe('onRowSelect', () => {
201
- it('fires only for THIS card, with a typed field when resolvable, and unbinds', () => {
202
- const { api, container } = mount(SCHEMA());
203
- const t = erTable(api as never, 'FOO');
204
- const seen: any[] = [];
205
- const off = t.onRowSelect((sel) => seen.push(sel));
206
- const fire = (nodeId: string | null, rowIndex = 1, name = 'b') =>
207
- container.dispatchEvent(
208
- new CustomEvent('axk:row-select', {
209
- detail: { selected: nodeId ? { nodeId, rowIndex, name, kind: 'er' } : null },
210
- })
211
- );
212
- fire('TARGET'); // other card — ignored
213
- expect(seen).toHaveLength(0);
214
- fire('FOO');
215
- expect(seen).toHaveLength(1);
216
- expect(seen[0].field).toBeInstanceOf(ErField);
217
- expect(seen[0].field.name).toBe('b');
218
- fire(null); // deselect → null
219
- expect(seen[1]).toEqual({ field: null, selected: null });
220
- off();
221
- fire('FOO');
222
- expect(seen).toHaveLength(2);
223
- });
224
- });