@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,241 +0,0 @@
1
- /**
2
- * Join guidance — the pure scoring (ported from the production Query Studio)
3
- * and the DOM binding that paints tier classes onto kit rows during a
4
- * connection drag.
5
- */
6
- import {
7
- singularize,
8
- scoreMatch,
9
- matchTier,
10
- assignTiers,
11
- bindJoinGuidance,
12
- ensureJoinGuidanceStyles,
13
- JOIN_GUIDANCE_STYLE_ID,
14
- type JoinEnd,
15
- } from './join-guidance';
16
-
17
- const end = (table: string, name: string, flags: { pk?: boolean; fk?: boolean } = {}): JoinEnd => ({
18
- table,
19
- column: { name, ...flags },
20
- });
21
-
22
- afterEach(() => {
23
- document.getElementById(JOIN_GUIDANCE_STYLE_ID)?.remove();
24
- document.getElementById('grafloria-join-guidance-ports')?.remove();
25
- document.body.innerHTML = '';
26
- });
27
-
28
- describe('singularize', () => {
29
- it('handles the schema-name shapes', () => {
30
- expect(singularize('orders')).toBe('order');
31
- expect(singularize('customers')).toBe('customer');
32
- expect(singularize('order_items')).toBe('order_item');
33
- expect(singularize('categories')).toBe('category');
34
- expect(singularize('statuses')).toBe('status');
35
- expect(singularize('address')).toBe('address'); // -ss is not a plural
36
- });
37
- });
38
-
39
- describe('scoreMatch', () => {
40
- it('scores 3 for the PK↔FK naming convention, in both directions', () => {
41
- expect(scoreMatch(end('orders', 'customer_id', { fk: true }), end('customers', 'id', { pk: true }))).toBe(3);
42
- expect(scoreMatch(end('customers', 'id', { pk: true }), end('orders', 'customer_id', { fk: true }))).toBe(3);
43
- // the convention is NAME-driven — it holds even without the flags
44
- expect(scoreMatch(end('orders', 'customer_id'), end('customers', 'id'))).toBe(3);
45
- });
46
-
47
- it('scores 3 for exact FK name equality across tables', () => {
48
- expect(
49
- scoreMatch(end('orders', 'customer_id', { fk: true }), end('addresses', 'customer_id', { fk: true }))
50
- ).toBe(3);
51
- });
52
-
53
- it('scores 2 for a PK flag on one end and an FK flag on the other', () => {
54
- expect(scoreMatch(end('orders', 'id', { pk: true }), end('order_items', 'product_id', { fk: true }))).toBe(2);
55
- expect(scoreMatch(end('order_items', 'order_id', { fk: true }), end('orders', 'id', { pk: true }))).toBe(3); // convention outranks
56
- expect(scoreMatch(end('order_items', 'product_id', { fk: true }), end('customers', 'id', { pk: true }))).toBe(2);
57
- });
58
-
59
- it('scores 1 for a same-name or both-end-in-id pair', () => {
60
- expect(scoreMatch(end('customers', 'name'), end('products', 'name'))).toBe(1);
61
- expect(scoreMatch(end('orders', 'customer_id'), end('order_items', 'product_id'))).toBe(1);
62
- });
63
-
64
- it('scores 0 for the same table and for unrelated columns', () => {
65
- expect(scoreMatch(end('orders', 'id', { pk: true }), end('orders', 'customer_id', { fk: true }))).toBe(0);
66
- expect(scoreMatch(end('orders', 'customer_id'), end('products', 'sku'))).toBe(0);
67
- });
68
- });
69
-
70
- describe('matchTier / assignTiers', () => {
71
- it('maps scores to tiers', () => {
72
- expect(matchTier(3)).toBe('good');
73
- expect(matchTier(2)).toBe('good');
74
- expect(matchTier(1)).toBe('ok');
75
- expect(matchTier(0)).toBe('none');
76
- });
77
-
78
- it('promotes exactly ONE best candidate (score >= 2) to top', () => {
79
- expect(assignTiers([3, 2, 1, 0])).toEqual(['top', 'good', 'ok', 'none']);
80
- expect(assignTiers([2, 2])).toEqual(['top', 'good']); // first max wins
81
- expect(assignTiers([1, 1, 0])).toEqual(['ok', 'ok', 'none']); // no top below 2
82
- expect(assignTiers([])).toEqual([]);
83
- });
84
- });
85
-
86
- // ---------------------------------------------------------------------------
87
- // bindJoinGuidance — DOM + event lifecycle against a stub instance
88
- // ---------------------------------------------------------------------------
89
-
90
- type Handler = (data: unknown) => void;
91
-
92
- function stubApi() {
93
- const container = document.createElement('div');
94
- document.body.appendChild(container);
95
-
96
- const mkCard = (nodeId: string, columns: Array<{ name: string; pk?: boolean; fk?: boolean }>) => {
97
- const group = document.createElement('div');
98
- group.setAttribute('data-node-id', nodeId);
99
- for (const c of columns) {
100
- const row = document.createElement('div');
101
- row.className = 'axk-row';
102
- const col = document.createElement('span');
103
- col.className = 'axk-col';
104
- col.textContent = c.name;
105
- row.appendChild(col);
106
- group.appendChild(row);
107
- }
108
- container.appendChild(group);
109
- return {
110
- id: nodeId,
111
- getMetadata: (key: string) => (key === 'kitEntity' ? { id: nodeId, columns } : undefined),
112
- getPorts: () => columns.flatMap((c) => [{ id: `${nodeId}.${c.name}-in` }, { id: `${nodeId}.${c.name}-out` }]),
113
- getPort: (id: string) =>
114
- columns.some((c) => id === `${nodeId}.${c.name}-in` || id === `${nodeId}.${c.name}-out`)
115
- ? { id }
116
- : undefined,
117
- };
118
- };
119
-
120
- const customers = mkCard('customers', [
121
- { name: 'id', pk: true },
122
- { name: 'name' },
123
- { name: 'email' },
124
- ]);
125
- const orders = mkCard('orders', [
126
- { name: 'id', pk: true },
127
- { name: 'customer_id', fk: true },
128
- { name: 'total' },
129
- ]);
130
-
131
- const handlers = new Map<string, Handler[]>();
132
- const bus = {
133
- on: (event: string, handler: Handler) => {
134
- const list = handlers.get(event) ?? [];
135
- list.push(handler);
136
- handlers.set(event, list);
137
- return () => handlers.set(event, (handlers.get(event) ?? []).filter((h) => h !== handler));
138
- },
139
- emit: (event: string, data?: unknown) => {
140
- for (const h of handlers.get(event) ?? []) h(data);
141
- },
142
- };
143
-
144
- const nodes = [customers, orders];
145
- const invalid = new Map<string, string>();
146
- const api = {
147
- container,
148
- getModel: () => ({
149
- getNode: (id: string) => nodes.find((n) => n.id === id),
150
- getNodes: () => nodes,
151
- }),
152
- getEngine: () => ({
153
- eventBus: bus,
154
- getConnectionStateManager: () => ({ getState: () => ({ invalidTargetPorts: invalid }) }),
155
- }),
156
- };
157
- return { api, bus, container, invalid };
158
- }
159
-
160
- describe('bindJoinGuidance', () => {
161
- it('injects the tint stylesheet once', () => {
162
- ensureJoinGuidanceStyles();
163
- ensureJoinGuidanceStyles();
164
- expect(document.querySelectorAll(`#${JOIN_GUIDANCE_STYLE_ID}`)).toHaveLength(1);
165
- });
166
-
167
- it('tints the other tables by tier on connection:start — and never the source', () => {
168
- const { api, bus, container } = stubApi();
169
- const handle = bindJoinGuidance(api);
170
-
171
- bus.emit('connection:start', { sourcePort: { id: 'orders.customer_id-out', nodeId: 'orders' } });
172
-
173
- const customerRows = Array.from(
174
- container.querySelectorAll('[data-node-id="customers"] .axk-row')
175
- ) as HTMLElement[];
176
- expect(customerRows[0]!.classList.contains('axk-match-top')).toBe(true); // customers.id — convention
177
- expect(customerRows[0]!.querySelector('.axk-match-chip')?.textContent).toBe('★ BEST');
178
- expect(customerRows[1]!.classList.contains('axk-match-none')).toBe(true); // name
179
- expect(customerRows[2]!.classList.contains('axk-match-none')).toBe(true); // email
180
-
181
- // the source table's own rows carry NO tint at all
182
- const orderRows = Array.from(container.querySelectorAll('[data-node-id="orders"] .axk-row'));
183
- for (const row of orderRows) {
184
- expect(row.className).toBe('axk-row');
185
- }
186
-
187
- // port glow stylesheet targets the top column's ports
188
- const portStyle = document.getElementById('grafloria-join-guidance-ports');
189
- expect(portStyle?.textContent).toContain('customers.id-in');
190
- expect(portStyle?.textContent).toContain('#f59e0b');
191
-
192
- expect(handle.activeTiers().get('customers')?.get(0)).toBe('top');
193
- handle.dispose();
194
- });
195
-
196
- it('a validator-invalid target NEVER tints, whatever its score', () => {
197
- const { api, bus, container, invalid } = stubApi();
198
- // the engine recorded customers.id-in as un-connectable for this drag
199
- // (e.g. the pair is already joined) — the '★ BEST' textual match must
200
- // rank 'none', not gold, or the guidance glorifies a refused drop.
201
- invalid.set('customers.id-in', 'pair already joined');
202
- const handle = bindJoinGuidance(api);
203
-
204
- bus.emit('connection:start', { sourcePort: { id: 'orders.customer_id-out', nodeId: 'orders' } });
205
-
206
- const customerRows = Array.from(
207
- container.querySelectorAll('[data-node-id="customers"] .axk-row')
208
- ) as HTMLElement[];
209
- expect(customerRows[0]!.classList.contains('axk-match-none')).toBe(true);
210
- expect(customerRows[0]!.querySelector('.axk-match-chip')).toBeNull();
211
- const portStyle = document.getElementById('grafloria-join-guidance-ports');
212
- expect(portStyle?.textContent ?? '').not.toContain('customers.id-in');
213
- handle.dispose();
214
- });
215
-
216
- it('clears every tint when the drag ends — complete or cancel', () => {
217
- const { api, bus, container } = stubApi();
218
- const handle = bindJoinGuidance(api);
219
-
220
- for (const endEvent of ['connection:complete', 'connection:cancel']) {
221
- bus.emit('connection:start', { sourcePort: { id: 'orders.customer_id-out', nodeId: 'orders' } });
222
- expect(container.querySelectorAll('[class*="axk-match-"]').length).toBeGreaterThan(0);
223
- bus.emit(endEvent);
224
- expect(container.querySelectorAll('[class*="axk-match-"]')).toHaveLength(0);
225
- expect(container.querySelectorAll('.axk-match-chip')).toHaveLength(0);
226
- expect(document.getElementById('grafloria-join-guidance-ports')).toBeNull();
227
- expect(handle.activeTiers().size).toBe(0);
228
- }
229
- handle.dispose();
230
- });
231
-
232
- it('dispose unsubscribes and clears', () => {
233
- const { api, bus, container } = stubApi();
234
- const handle = bindJoinGuidance(api);
235
- bus.emit('connection:start', { sourcePort: { id: 'orders.customer_id-out', nodeId: 'orders' } });
236
- handle.dispose();
237
- expect(container.querySelectorAll('[class*="axk-match-"]')).toHaveLength(0);
238
- bus.emit('connection:start', { sourcePort: { id: 'orders.customer_id-out', nodeId: 'orders' } });
239
- expect(container.querySelectorAll('[class*="axk-match-"]')).toHaveLength(0); // unbound
240
- });
241
- });
@@ -1,390 +0,0 @@
1
- /**
2
- * Join guidance — live "which column should I join to?" scoring + tinting for
3
- * kit table cards, the feature a visual query builder is actually about.
4
- *
5
- * Ported verbatim from a production BI tool's Query Studio (the scoring is ~55
6
- * pure lines there too). While a connection drag is in progress, every column
7
- * on every OTHER table is scored against the drag's source column and its card
8
- * row is tinted by tier:
9
- *
10
- * score 3 — PK↔FK naming convention: `orders.customer_id` ↔ `customers.id`
11
- * (`<singular(table)>_id` on one end, `id` on the other), or exact
12
- * FK column-name equality across tables;
13
- * score 2 — a PK flag on one end and an FK flag on the other;
14
- * score 1 — same column name, or both names end in "id";
15
- * score 0 — same table, or nothing.
16
- *
17
- * Tiers: the single best candidate scoring >= 2 is `top` (gold, "★ BEST"),
18
- * every other >= 2 is `good` (green), 1 is `ok` (blue), 0 is `none` (dimmed).
19
- * The SOURCE table is never tinted, and every tint clears when the drag ends —
20
- * complete, cancelled or escaped.
21
- *
22
- * Split the same way the rest of the kit is:
23
- * - `scoreMatch` / `matchTier` / `assignTiers` / `singularize` are PURE
24
- * (unit-specced in the element suite);
25
- * - `bindJoinGuidance(api)` is the runtime: it listens to the engine's own
26
- * connection lifecycle events (`connection:start` / `:complete` /
27
- * `:cancel`) and paints tier classes onto the kit's `.axk-row` elements.
28
- *
29
- * Row tints go on as DOM classes — the renderer's foreignObject subtrees are
30
- * patch-opaque, so classes survive the per-frame VNode patch. Port tints go in
31
- * as a generated per-drag <style> element keyed by `data-port-id`: port glyphs
32
- * ARE re-patched every frame, so a class added to the SVG element would be
33
- * wiped mid-drag, while a stylesheet wins the cascade and survives.
34
- */
35
-
36
- export interface JoinColumn {
37
- name: string;
38
- pk?: boolean;
39
- fk?: boolean;
40
- }
41
-
42
- /** One end of a candidate join: a table (node) and one of its columns. */
43
- export interface JoinEnd {
44
- table: string;
45
- column: JoinColumn;
46
- }
47
-
48
- export type MatchTier = 'top' | 'good' | 'ok' | 'none';
49
-
50
- /** Naive English singular — enough for schema names (orders, categories, statuses). */
51
- export function singularize(word: string): string {
52
- const w = word.toLowerCase();
53
- if (w.endsWith('ies') && w.length > 3) return w.slice(0, -3) + 'y';
54
- if (/(?:ses|xes|zes|ches|shes)$/.test(w)) return w.slice(0, -2);
55
- if (w.endsWith('s') && !w.endsWith('ss')) return w.slice(0, -1);
56
- return w;
57
- }
58
-
59
- /** The PK↔FK naming convention: `a` is `<singular(b.table)>_id` and `b` is `id`. */
60
- function conventionMatch(a: JoinEnd, b: JoinEnd): boolean {
61
- return (
62
- a.column.name.toLowerCase() === `${singularize(b.table)}_id` &&
63
- b.column.name.toLowerCase() === 'id'
64
- );
65
- }
66
-
67
- /**
68
- * Score a candidate join between two columns. Pure; the exact production
69
- * logic. Higher is better; 0 means "no reason to join these".
70
- */
71
- export function scoreMatch(a: JoinEnd, b: JoinEnd): 0 | 1 | 2 | 3 {
72
- if (!a || !b || a.table === b.table) return 0;
73
- const an = a.column.name.toLowerCase();
74
- const bn = b.column.name.toLowerCase();
75
-
76
- // 3 — the naming convention (either direction), or exact FK-name equality.
77
- if (conventionMatch(a, b) || conventionMatch(b, a)) return 3;
78
- if (an === bn && an.endsWith('_id') && (a.column.fk === true || b.column.fk === true)) return 3;
79
-
80
- // 2 — PK flag on one end, FK flag on the other.
81
- if ((a.column.pk === true && b.column.fk === true) || (a.column.fk === true && b.column.pk === true)) return 2;
82
-
83
- // 1 — same name, or both look like identifiers.
84
- if (an === bn) return 1;
85
- if (an.endsWith('id') && bn.endsWith('id')) return 1;
86
-
87
- return 0;
88
- }
89
-
90
- /** Per-score tier (rank-free half; `assignTiers` promotes the single best to `top`). */
91
- export function matchTier(score: number): Exclude<MatchTier, 'top'> {
92
- if (score >= 2) return 'good';
93
- if (score >= 1) return 'ok';
94
- return 'none';
95
- }
96
-
97
- /**
98
- * Tier every candidate score at once: the FIRST candidate holding the maximum
99
- * score is `top` when that maximum is >= 2 — exactly one gold row per drag.
100
- */
101
- export function assignTiers(scores: number[]): MatchTier[] {
102
- const max = scores.reduce((m, s) => (s > m ? s : m), 0);
103
- let topIndex = -1;
104
- if (max >= 2) topIndex = scores.indexOf(max);
105
- return scores.map((s, i) => (i === topIndex ? 'top' : matchTier(s)));
106
- }
107
-
108
- // ---------------------------------------------------------------------------
109
- // Runtime binding
110
- // ---------------------------------------------------------------------------
111
-
112
- const TIER_CLASS: Record<MatchTier, string> = {
113
- top: 'axk-match-top',
114
- good: 'axk-match-good',
115
- ok: 'axk-match-ok',
116
- none: 'axk-match-none',
117
- };
118
- const CHIP_CLASS = 'axk-match-chip';
119
- const PORT_STYLE_ID = 'grafloria-join-guidance-ports';
120
-
121
- export const JOIN_GUIDANCE_STYLE_ID = 'grafloria-join-guidance-styles';
122
-
123
- /** The tier tints — the production palette, verbatim. */
124
- const GUIDANCE_CSS = `
125
- .axk-row.axk-match-top { background: #fffbeb;
126
- box-shadow: inset 4px 0 0 #f59e0b, inset 0 0 0 1px #fcd34d; }
127
- .axk-row.axk-match-top .axk-col { font-weight: 800; color: #92600a; }
128
- .axk-row.axk-match-good { background: #dcfce7; box-shadow: inset 4px 0 0 #16a34a; }
129
- .axk-row.axk-match-good .axk-col { font-weight: 700; color: #14532d; }
130
- .axk-row.axk-match-ok { background: #dbeafe; box-shadow: inset 4px 0 0 #2563eb; }
131
- .axk-row.axk-match-none { opacity: .4; }
132
- .${CHIP_CLASS} { font-size: 9px; font-weight: 800; text-transform: uppercase;
133
- background: #f59e0b; color: #4a2e05; border-radius: 4px; padding: 1px 4px;
134
- margin-left: 4px; flex: 0 0 auto; letter-spacing: .3px; }
135
- `;
136
-
137
- /** Inject the guidance tint stylesheet once. Safe to call repeatedly / in SSR. */
138
- export function ensureJoinGuidanceStyles(
139
- doc: Document | undefined = typeof document !== 'undefined' ? document : undefined
140
- ): void {
141
- if (!doc) return;
142
- if (doc.getElementById(JOIN_GUIDANCE_STYLE_ID)) return;
143
- const style = doc.createElement('style');
144
- style.id = JOIN_GUIDANCE_STYLE_ID;
145
- style.textContent = GUIDANCE_CSS;
146
- doc.head.appendChild(style);
147
- }
148
-
149
- interface NodeLike {
150
- id: string;
151
- getMetadata?(key: string): unknown;
152
- getPorts?(): Array<{ id: string }>;
153
- getPort?(id: string): unknown;
154
- }
155
-
156
- /** The slice of DiagramInstance the binding needs (matches HandleApi's shape). */
157
- export interface JoinGuidanceApi {
158
- container: HTMLElement;
159
- getModel(): {
160
- getNode(id: string): NodeLike | undefined;
161
- getNodes?(): NodeLike[];
162
- };
163
- getEngine?():
164
- | { eventBus?: { on(event: string, handler: (data: unknown) => void): () => void } }
165
- | undefined;
166
- }
167
-
168
- export interface JoinGuidanceOptions {
169
- /**
170
- * Resolve a PORT id to its table column. The default understands both the
171
- * ER kit's convention (`TABLE__col__side__n`) and the query-builder dot
172
- * convention (`table.col-in` / `table.col-out`), checked against the node's
173
- * actual `kitEntity` columns so an ambiguous name never mis-resolves.
174
- */
175
- resolvePort?: (portId: string, nodeId: string | undefined) => { nodeId: string; column: string } | null;
176
- /** Text of the gold chip on the best row. Default `'★ BEST'`. */
177
- chipText?: string;
178
- /**
179
- * Extra per-tier CSS for the target columns' PORT glyphs, injected per drag.
180
- * Default paints the production glows (gold/green/blue drop-shadows).
181
- */
182
- portCss?: (tier: MatchTier, selector: string) => string;
183
- }
184
-
185
- export interface JoinGuidanceHandle {
186
- /** nodeId → rowIndex → tier for the drag in progress (empty when idle). */
187
- activeTiers(): Map<string, Map<number, MatchTier>>;
188
- dispose(): void;
189
- }
190
-
191
- const esc = (value: string): string =>
192
- typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(value) : value.replace(/"/g, '\\"');
193
-
194
- /** The production port glows: gold 4px, green 3px, blue 2px; `none` recedes. */
195
- function defaultPortCss(tier: MatchTier, selector: string): string {
196
- switch (tier) {
197
- case 'top':
198
- return `${selector} { fill: #f59e0b !important; stroke: #f59e0b !important; filter: drop-shadow(0 0 4px rgba(245,158,11,.4)) drop-shadow(0 0 2px rgba(245,158,11,.4)); }`;
199
- case 'good':
200
- return `${selector} { fill: #16a34a !important; stroke: #16a34a !important; filter: drop-shadow(0 0 3px rgba(22,163,74,.35)); }`;
201
- case 'ok':
202
- return `${selector} { fill: #2563eb !important; stroke: #2563eb !important; filter: drop-shadow(0 0 2px rgba(37,99,235,.3)); }`;
203
- default:
204
- return '';
205
- }
206
- }
207
-
208
- interface KitEntityMeta {
209
- columns?: JoinColumn[];
210
- name?: string;
211
- }
212
-
213
- /**
214
- * Bind live join guidance to a diagram instance. Listens to the engine's
215
- * connection lifecycle; while a drag is live, every kit-card row on every
216
- * other table wears its tier class (and the best one its "★ BEST" chip), and
217
- * the matching port glyphs glow via a generated stylesheet. Everything clears
218
- * when the drag ends, however it ends.
219
- */
220
- export function bindJoinGuidance(api: JoinGuidanceApi, options: JoinGuidanceOptions = {}): JoinGuidanceHandle {
221
- ensureJoinGuidanceStyles(api.container.ownerDocument);
222
-
223
- const chipText = options.chipText ?? '★ BEST';
224
- const portCss = options.portCss ?? defaultPortCss;
225
-
226
- const kitOf = (node: NodeLike | undefined): KitEntityMeta | null => {
227
- const raw = node?.getMetadata?.('kitEntity');
228
- return raw && typeof raw === 'object' ? (raw as KitEntityMeta) : null;
229
- };
230
-
231
- const defaultResolve = (portId: string, nodeId: string | undefined): { nodeId: string; column: string } | null => {
232
- const model = api.getModel();
233
- const nodes = nodeId
234
- ? [model.getNode(nodeId)].filter((n): n is NodeLike => !!n)
235
- : (model.getNodes?.() ?? []).filter((n) => !!n.getPort?.(portId));
236
- for (const node of nodes) {
237
- const kit = kitOf(node);
238
- if (!kit?.columns) continue;
239
- for (const column of kit.columns) {
240
- if (
241
- portId === `${node.id}.${column.name}-in` ||
242
- portId === `${node.id}.${column.name}-out` ||
243
- portId.startsWith(`${node.id}__${column.name}__`)
244
- ) {
245
- return { nodeId: node.id, column: column.name };
246
- }
247
- }
248
- }
249
- return null;
250
- };
251
- const resolvePort = options.resolvePort ?? defaultResolve;
252
-
253
- const active = new Map<string, Map<number, MatchTier>>();
254
- let portStyle: HTMLStyleElement | null = null;
255
-
256
- const rowsOf = (nodeId: string): HTMLElement[] => {
257
- const group = api.container.querySelector(`[data-node-id="${esc(nodeId)}"]`);
258
- return group ? (Array.from(group.querySelectorAll('.axk-row')) as HTMLElement[]) : [];
259
- };
260
-
261
- const clear = (): void => {
262
- for (const cls of Object.values(TIER_CLASS)) {
263
- for (const el of Array.from(api.container.querySelectorAll(`.${cls}`))) el.classList.remove(cls);
264
- }
265
- for (const chip of Array.from(api.container.querySelectorAll(`.${CHIP_CLASS}`))) chip.remove();
266
- portStyle?.remove();
267
- portStyle = null;
268
- active.clear();
269
- };
270
-
271
- const portsForColumn = (node: NodeLike, column: string): string[] => {
272
- const ports = node.getPorts?.() ?? [];
273
- return ports
274
- .map((p) => p.id)
275
- .filter(
276
- (id) =>
277
- id === `${node.id}.${column}-in` ||
278
- id === `${node.id}.${column}-out` ||
279
- id.startsWith(`${node.id}__${column}__`)
280
- );
281
- };
282
-
283
- const onStart = (data: unknown): void => {
284
- clear();
285
- const payload = data as { sourcePort?: { id: string; nodeId?: string } } | undefined;
286
- const sourcePort = payload?.sourcePort;
287
- if (!sourcePort) return;
288
- const source = resolvePort(sourcePort.id, sourcePort.nodeId);
289
- if (!source) return;
290
-
291
- const model = api.getModel();
292
- const sourceNode = model.getNode(source.nodeId);
293
- const sourceKit = kitOf(sourceNode);
294
- const sourceColumn = sourceKit?.columns?.find((c) => c.name === source.column);
295
- if (!sourceColumn) return;
296
- const sourceEnd: JoinEnd = { table: source.nodeId, column: sourceColumn };
297
-
298
- // Every column of every OTHER kit table is a candidate, in node order.
299
- const candidates: Array<{ node: NodeLike; rowIndex: number; column: JoinColumn }> = [];
300
- for (const node of model.getNodes?.() ?? []) {
301
- if (node.id === source.nodeId) continue; // the source table is NEVER tinted
302
- const kit = kitOf(node);
303
- if (!kit?.columns) continue;
304
- kit.columns.forEach((column, rowIndex) => candidates.push({ node, rowIndex, column }));
305
- }
306
- if (candidates.length === 0) return;
307
-
308
- // The VALIDATOR outranks the score. A column can be the best textual
309
- // match and still be un-connectable (its table pair already joined, or a
310
- // custom validator refuses it) — the engine records those as
311
- // invalidTargetPorts at drag start, and the renderer paints them red on
312
- // hover. Tinting the same port gold would be the guidance lying about a
313
- // target the drop will refuse (caught by the demo gate: the seeded
314
- // customers⋈orders pair made customers.id both '★ BEST' and invalid).
315
- const invalid = ((): Set<string> => {
316
- try {
317
- const engine = api.getEngine?.() as
318
- | { getConnectionStateManager?: () => { getState?: () => { invalidTargetPorts?: Map<string, string> } } }
319
- | undefined;
320
- const map = engine?.getConnectionStateManager?.()?.getState?.()?.invalidTargetPorts;
321
- return new Set(map ? [...map.keys()] : []);
322
- } catch {
323
- return new Set();
324
- }
325
- })();
326
- const scores = candidates.map((c) => {
327
- const targetIn = `${c.node.id}.${c.column.name}-in`;
328
- if (invalid.has(targetIn)) return 0;
329
- const port = (c.node.getPort?.(targetIn) ?? null) as { id?: string } | null;
330
- if (port?.id && invalid.has(port.id)) return 0;
331
- return scoreMatch(sourceEnd, { table: c.node.id, column: c.column });
332
- });
333
- const tiers = assignTiers(scores);
334
-
335
- const cssRules: string[] = [];
336
- candidates.forEach((candidate, i) => {
337
- const tier = tiers[i]!;
338
- const byRow = active.get(candidate.node.id) ?? new Map<number, MatchTier>();
339
- byRow.set(candidate.rowIndex, tier);
340
- active.set(candidate.node.id, byRow);
341
-
342
- const row = rowsOf(candidate.node.id)[candidate.rowIndex];
343
- if (row) {
344
- row.classList.add(TIER_CLASS[tier]);
345
- if (tier === 'top') {
346
- const chip = api.container.ownerDocument.createElement('span');
347
- chip.className = CHIP_CLASS;
348
- chip.textContent = chipText;
349
- row.appendChild(chip);
350
- }
351
- }
352
- if (tier !== 'none') {
353
- for (const portId of portsForColumn(candidate.node, candidate.column.name)) {
354
- const rule = portCss(tier, `[data-port-id="${esc(portId)}"]`);
355
- if (rule) cssRules.push(rule);
356
- }
357
- }
358
- });
359
-
360
- if (cssRules.length > 0) {
361
- portStyle = api.container.ownerDocument.createElement('style');
362
- portStyle.id = PORT_STYLE_ID;
363
- portStyle.textContent = cssRules.join('\n');
364
- api.container.ownerDocument.head.appendChild(portStyle);
365
- }
366
- };
367
-
368
- const bus = api.getEngine?.()?.eventBus;
369
- const offs: Array<() => void> = [];
370
- if (bus) {
371
- offs.push(bus.on('connection:start', onStart));
372
- offs.push(bus.on('connection:complete', clear));
373
- offs.push(bus.on('connection:cancel', clear));
374
- // The event-type constant spells it 'cancelled'; the state manager emits
375
- // 'cancel'. Subscribe to both so a future spelling fix cannot leave tints on.
376
- offs.push(bus.on('connection:cancelled', clear));
377
- }
378
-
379
- return {
380
- activeTiers: () => {
381
- const copy = new Map<string, Map<number, MatchTier>>();
382
- for (const [nodeId, byRow] of active) copy.set(nodeId, new Map(byRow));
383
- return copy;
384
- },
385
- dispose: () => {
386
- for (const off of offs) off();
387
- clear();
388
- },
389
- };
390
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"rows.js","sourceRoot":"","sources":["rows.ts"],"names":[],"mappings":"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"}