@grafloria/element 0.3.20 → 0.3.22

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 (1083) hide show
  1. package/package.json +2 -2
  2. package/src/libs/element/src/index.d.ts +0 -92
  3. package/src/libs/element/src/index.js +0 -576
  4. package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +0 -345
  5. package/src/libs/element/src/lib/dashboard-kit/dashboard.js +0 -594
  6. package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +0 -277
  7. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +0 -1636
  8. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +0 -141
  9. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +0 -176
  10. package/src/libs/element/src/lib/dashboard-kit/index.d.ts +0 -5
  11. package/src/libs/element/src/lib/dashboard-kit/index.js +0 -33
  12. package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +0 -25
  13. package/src/libs/element/src/lib/dashboard-kit/styles.js +0 -209
  14. package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +0 -112
  15. package/src/libs/element/src/lib/dashboard-kit/widgets.js +0 -389
  16. package/src/libs/element/src/lib/diagram-kit/card.d.ts +0 -75
  17. package/src/libs/element/src/lib/diagram-kit/card.js +0 -209
  18. package/src/libs/element/src/lib/diagram-kit/editing.d.ts +0 -58
  19. package/src/libs/element/src/lib/diagram-kit/editing.js +0 -453
  20. package/src/libs/element/src/lib/diagram-kit/er.d.ts +0 -73
  21. package/src/libs/element/src/lib/diagram-kit/er.js +0 -163
  22. package/src/libs/element/src/lib/diagram-kit/handles.d.ts +0 -181
  23. package/src/libs/element/src/lib/diagram-kit/handles.js +0 -325
  24. package/src/libs/element/src/lib/diagram-kit/index.d.ts +0 -10
  25. package/src/libs/element/src/lib/diagram-kit/index.js +0 -55
  26. package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +0 -116
  27. package/src/libs/element/src/lib/diagram-kit/join-guidance.js +0 -331
  28. package/src/libs/element/src/lib/diagram-kit/rows.d.ts +0 -53
  29. package/src/libs/element/src/lib/diagram-kit/rows.js +0 -147
  30. package/src/libs/element/src/lib/diagram-kit/styles.d.ts +0 -18
  31. package/src/libs/element/src/lib/diagram-kit/styles.js +0 -122
  32. package/src/libs/element/src/lib/diagram-kit/uml.d.ts +0 -59
  33. package/src/libs/element/src/lib/diagram-kit/uml.js +0 -138
  34. package/src/libs/element/src/lib/diagram-kit/update.d.ts +0 -133
  35. package/src/libs/element/src/lib/diagram-kit/update.js +0 -251
  36. package/src/libs/element/src/lib/grafloria-flow-element.d.ts +0 -48
  37. package/src/libs/element/src/lib/grafloria-flow-element.js +0 -271
  38. package/src/libs/element/src/lib/grafloria.d.ts +0 -72
  39. package/src/libs/element/src/lib/grafloria.js +0 -74
  40. package/src/libs/element/src/lib/load.d.ts +0 -72
  41. package/src/libs/element/src/lib/load.js +0 -255
  42. package/src/libs/element/src/lib/node-type-registry.d.ts +0 -39
  43. package/src/libs/element/src/lib/node-type-registry.js +0 -50
  44. package/src/libs/element/src/lib/stencil-kit/builders.d.ts +0 -45
  45. package/src/libs/element/src/lib/stencil-kit/builders.js +0 -24
  46. package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +0 -2
  47. package/src/libs/element/src/lib/stencil-kit/card-builders.js +0 -108
  48. package/src/libs/element/src/lib/stencil-kit/index.d.ts +0 -7
  49. package/src/libs/element/src/lib/stencil-kit/index.js +0 -19
  50. package/src/libs/element/src/lib/stencil-kit/palette.d.ts +0 -93
  51. package/src/libs/element/src/lib/stencil-kit/palette.js +0 -430
  52. package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +0 -28
  53. package/src/libs/element/src/lib/stencil-kit/shape-data.js +0 -540
  54. package/src/libs/element/src/lib/stencil-kit/styles.d.ts +0 -2
  55. package/src/libs/element/src/lib/stencil-kit/styles.js +0 -129
  56. package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +0 -302
  57. package/src/libs/engine/src/adapters/component-adapter.interface.js +0 -84
  58. package/src/libs/engine/src/adapters/index.d.ts +0 -7
  59. package/src/libs/engine/src/adapters/index.js +0 -11
  60. package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +0 -81
  61. package/src/libs/engine/src/clipboard/ClipboardManager.js +0 -108
  62. package/src/libs/engine/src/clipboard/index.d.ts +0 -1
  63. package/src/libs/engine/src/clipboard/index.js +0 -6
  64. package/src/libs/engine/src/collab/apply-op.d.ts +0 -42
  65. package/src/libs/engine/src/collab/apply-op.js +0 -939
  66. package/src/libs/engine/src/collab/capture.d.ts +0 -147
  67. package/src/libs/engine/src/collab/capture.js +0 -510
  68. package/src/libs/engine/src/collab/index.d.ts +0 -12
  69. package/src/libs/engine/src/collab/index.js +0 -84
  70. package/src/libs/engine/src/collab/integrity.d.ts +0 -178
  71. package/src/libs/engine/src/collab/integrity.js +0 -438
  72. package/src/libs/engine/src/collab/lww.d.ts +0 -47
  73. package/src/libs/engine/src/collab/lww.js +0 -188
  74. package/src/libs/engine/src/collab/op-log.d.ts +0 -50
  75. package/src/libs/engine/src/collab/op-log.js +0 -167
  76. package/src/libs/engine/src/collab/op.d.ts +0 -120
  77. package/src/libs/engine/src/collab/op.js +0 -118
  78. package/src/libs/engine/src/collab/replica.d.ts +0 -188
  79. package/src/libs/engine/src/collab/replica.js +0 -526
  80. package/src/libs/engine/src/collab/undo.d.ts +0 -106
  81. package/src/libs/engine/src/collab/undo.js +0 -388
  82. package/src/libs/engine/src/commands/Command.d.ts +0 -66
  83. package/src/libs/engine/src/commands/Command.js +0 -64
  84. package/src/libs/engine/src/commands/CommandManager.d.ts +0 -161
  85. package/src/libs/engine/src/commands/CommandManager.js +0 -417
  86. package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +0 -13
  87. package/src/libs/engine/src/commands/basic/AddGroupCommand.js +0 -50
  88. package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +0 -13
  89. package/src/libs/engine/src/commands/basic/AddLinkCommand.js +0 -50
  90. package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +0 -13
  91. package/src/libs/engine/src/commands/basic/AddNodeCommand.js +0 -65
  92. package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +0 -12
  93. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +0 -73
  94. package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +0 -42
  95. package/src/libs/engine/src/commands/basic/AlignCommands.js +0 -138
  96. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +0 -14
  97. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +0 -70
  98. package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +0 -29
  99. package/src/libs/engine/src/commands/basic/CopyCommand.js +0 -131
  100. package/src/libs/engine/src/commands/basic/CutCommand.d.ts +0 -49
  101. package/src/libs/engine/src/commands/basic/CutCommand.js +0 -68
  102. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +0 -58
  103. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +0 -309
  104. package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +0 -31
  105. package/src/libs/engine/src/commands/basic/DuplicateCommand.js +0 -232
  106. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +0 -12
  107. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +0 -69
  108. package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +0 -46
  109. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +0 -77
  110. package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +0 -30
  111. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +0 -87
  112. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +0 -39
  113. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +0 -120
  114. package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +0 -33
  115. package/src/libs/engine/src/commands/basic/PasteCommand.js +0 -228
  116. package/src/libs/engine/src/commands/basic/PortCommands.d.ts +0 -22
  117. package/src/libs/engine/src/commands/basic/PortCommands.js +0 -85
  118. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +0 -15
  119. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +0 -59
  120. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +0 -12
  121. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +0 -64
  122. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +0 -12
  123. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +0 -56
  124. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +0 -12
  125. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +0 -57
  126. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +0 -23
  127. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +0 -108
  128. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +0 -16
  129. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +0 -81
  130. package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +0 -37
  131. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +0 -88
  132. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +0 -14
  133. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +0 -74
  134. package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +0 -14
  135. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +0 -74
  136. package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +0 -16
  137. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +0 -80
  138. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +0 -28
  139. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +0 -83
  140. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +0 -24
  141. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +0 -81
  142. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +0 -14
  143. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +0 -75
  144. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +0 -14
  145. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +0 -77
  146. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +0 -32
  147. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +0 -87
  148. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +0 -14
  149. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +0 -93
  150. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +0 -26
  151. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +0 -81
  152. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +0 -14
  153. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +0 -69
  154. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +0 -15
  155. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +0 -88
  156. package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +0 -13
  157. package/src/libs/engine/src/commands/basic/SetParentCommand.js +0 -109
  158. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +0 -34
  159. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +0 -86
  160. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +0 -31
  161. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +0 -88
  162. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +0 -15
  163. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +0 -72
  164. package/src/libs/engine/src/commands/basic/index.d.ts +0 -41
  165. package/src/libs/engine/src/commands/basic/index.js +0 -52
  166. package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +0 -23
  167. package/src/libs/engine/src/commands/basic/remapNodePortIds.js +0 -46
  168. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +0 -31
  169. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +0 -49
  170. package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +0 -19
  171. package/src/libs/engine/src/commands/composite/BatchCommand.js +0 -61
  172. package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +0 -35
  173. package/src/libs/engine/src/commands/composite/MacroCommand.js +0 -87
  174. package/src/libs/engine/src/commands/composite/index.d.ts +0 -2
  175. package/src/libs/engine/src/commands/composite/index.js +0 -7
  176. package/src/libs/engine/src/commands/index.d.ts +0 -4
  177. package/src/libs/engine/src/commands/index.js +0 -9
  178. package/src/libs/engine/src/comments/comment-store.d.ts +0 -238
  179. package/src/libs/engine/src/comments/comment-store.js +0 -538
  180. package/src/libs/engine/src/comments/index.d.ts +0 -4
  181. package/src/libs/engine/src/comments/index.js +0 -31
  182. package/src/libs/engine/src/comments/mentions.d.ts +0 -52
  183. package/src/libs/engine/src/comments/mentions.js +0 -94
  184. package/src/libs/engine/src/comments/read-state.d.ts +0 -37
  185. package/src/libs/engine/src/comments/read-state.js +0 -105
  186. package/src/libs/engine/src/comments/types.d.ts +0 -154
  187. package/src/libs/engine/src/comments/types.js +0 -107
  188. package/src/libs/engine/src/config/InteractionConfig.d.ts +0 -330
  189. package/src/libs/engine/src/config/InteractionConfig.js +0 -154
  190. package/src/libs/engine/src/config/index.d.ts +0 -1
  191. package/src/libs/engine/src/config/index.js +0 -6
  192. package/src/libs/engine/src/dsl/DSL.d.ts +0 -197
  193. package/src/libs/engine/src/dsl/DSL.js +0 -564
  194. package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +0 -75
  195. package/src/libs/engine/src/dsl/advanced/StyleParser.js +0 -166
  196. package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +0 -88
  197. package/src/libs/engine/src/dsl/advanced/TemplateParser.js +0 -226
  198. package/src/libs/engine/src/dsl/advanced/index.d.ts +0 -9
  199. package/src/libs/engine/src/dsl/advanced/index.js +0 -13
  200. package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +0 -80
  201. package/src/libs/engine/src/dsl/detector/LayoutDetector.js +0 -333
  202. package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +0 -38
  203. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +0 -90
  204. package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +0 -83
  205. package/src/libs/engine/src/dsl/extended/BPMNParser.js +0 -198
  206. package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +0 -38
  207. package/src/libs/engine/src/dsl/extended/ERDGenerator.js +0 -126
  208. package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +0 -81
  209. package/src/libs/engine/src/dsl/extended/ERDParser.js +0 -161
  210. package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +0 -43
  211. package/src/libs/engine/src/dsl/extended/ERDTransformer.js +0 -105
  212. package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +0 -42
  213. package/src/libs/engine/src/dsl/extended/UMLGenerator.js +0 -157
  214. package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +0 -99
  215. package/src/libs/engine/src/dsl/extended/UMLParser.js +0 -200
  216. package/src/libs/engine/src/dsl/extended/index.d.ts +0 -13
  217. package/src/libs/engine/src/dsl/extended/index.js +0 -27
  218. package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +0 -87
  219. package/src/libs/engine/src/dsl/generator/DSLFormatter.js +0 -261
  220. package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +0 -96
  221. package/src/libs/engine/src/dsl/generator/DSLGenerator.js +0 -328
  222. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +0 -111
  223. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +0 -361
  224. package/src/libs/engine/src/dsl/index.d.ts +0 -35
  225. package/src/libs/engine/src/dsl/index.js +0 -64
  226. package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +0 -117
  227. package/src/libs/engine/src/dsl/lexer/Lexer.js +0 -521
  228. package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +0 -136
  229. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +0 -429
  230. package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +0 -118
  231. package/src/libs/engine/src/dsl/mermaid/MermaidER.js +0 -338
  232. package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +0 -89
  233. package/src/libs/engine/src/dsl/mermaid/MermaidState.js +0 -613
  234. package/src/libs/engine/src/dsl/mermaid/index.d.ts +0 -10
  235. package/src/libs/engine/src/dsl/mermaid/index.js +0 -33
  236. package/src/libs/engine/src/dsl/mermaid/layout.d.ts +0 -70
  237. package/src/libs/engine/src/dsl/mermaid/layout.js +0 -162
  238. package/src/libs/engine/src/dsl/mermaid/lines.d.ts +0 -25
  239. package/src/libs/engine/src/dsl/mermaid/lines.js +0 -74
  240. package/src/libs/engine/src/dsl/parser/Parser.d.ts +0 -131
  241. package/src/libs/engine/src/dsl/parser/Parser.js +0 -725
  242. package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +0 -154
  243. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +0 -389
  244. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +0 -128
  245. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +0 -244
  246. package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +0 -140
  247. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +0 -271
  248. package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +0 -145
  249. package/src/libs/engine/src/dsl/sync/SyncStateManager.js +0 -253
  250. package/src/libs/engine/src/dsl/sync/index.d.ts +0 -13
  251. package/src/libs/engine/src/dsl/sync/index.js +0 -21
  252. package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +0 -150
  253. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +0 -605
  254. package/src/libs/engine/src/dsl/types/ASTNode.d.ts +0 -159
  255. package/src/libs/engine/src/dsl/types/ASTNode.js +0 -31
  256. package/src/libs/engine/src/dsl/types/Token.d.ts +0 -79
  257. package/src/libs/engine/src/dsl/types/Token.js +0 -84
  258. package/src/libs/engine/src/engine/DiagramEngine.d.ts +0 -917
  259. package/src/libs/engine/src/engine/DiagramEngine.js +0 -2190
  260. package/src/libs/engine/src/engine/DiagramMode.d.ts +0 -51
  261. package/src/libs/engine/src/engine/DiagramMode.js +0 -53
  262. package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +0 -73
  263. package/src/libs/engine/src/engine/DiagramModeTypes.js +0 -4
  264. package/src/libs/engine/src/engine/ModeManager.d.ts +0 -155
  265. package/src/libs/engine/src/engine/ModeManager.js +0 -387
  266. package/src/libs/engine/src/engine/index.d.ts +0 -2
  267. package/src/libs/engine/src/engine/index.js +0 -7
  268. package/src/libs/engine/src/events/EventBus.d.ts +0 -106
  269. package/src/libs/engine/src/events/EventBus.js +0 -226
  270. package/src/libs/engine/src/events/index.d.ts +0 -1
  271. package/src/libs/engine/src/events/index.js +0 -6
  272. package/src/libs/engine/src/index.d.ts +0 -43
  273. package/src/libs/engine/src/index.js +0 -142
  274. package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +0 -53
  275. package/src/libs/engine/src/interaction/GroupCollapseService.js +0 -274
  276. package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +0 -107
  277. package/src/libs/engine/src/interaction/GroupMembershipService.js +0 -245
  278. package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +0 -28
  279. package/src/libs/engine/src/interaction/SemanticMembershipService.js +0 -168
  280. package/src/libs/engine/src/interaction/SwimlaneService.d.ts +0 -62
  281. package/src/libs/engine/src/interaction/SwimlaneService.js +0 -180
  282. package/src/libs/engine/src/interaction/index.d.ts +0 -4
  283. package/src/libs/engine/src/interaction/index.js +0 -9
  284. package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +0 -52
  285. package/src/libs/engine/src/interop/drawio/importDrawio.js +0 -940
  286. package/src/libs/engine/src/interop/drawio/index.d.ts +0 -1
  287. package/src/libs/engine/src/interop/drawio/index.js +0 -12
  288. package/src/libs/engine/src/interop/drawio/xml.d.ts +0 -26
  289. package/src/libs/engine/src/interop/drawio/xml.js +0 -213
  290. package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +0 -121
  291. package/src/libs/engine/src/layout/CompoundLayoutService.js +0 -616
  292. package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +0 -120
  293. package/src/libs/engine/src/layout/ILayoutAlgorithm.js +0 -88
  294. package/src/libs/engine/src/layout/LayoutManager.d.ts +0 -155
  295. package/src/libs/engine/src/layout/LayoutManager.js +0 -640
  296. package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +0 -62
  297. package/src/libs/engine/src/layout/SmartSpacingCalculator.js +0 -134
  298. package/src/libs/engine/src/layout/ViewportTransform.d.ts +0 -55
  299. package/src/libs/engine/src/layout/ViewportTransform.js +0 -118
  300. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +0 -34
  301. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +0 -317
  302. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +0 -56
  303. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +0 -223
  304. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +0 -60
  305. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +0 -307
  306. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +0 -62
  307. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +0 -324
  308. package/src/libs/engine/src/layout/community-layout-adapter.d.ts +0 -107
  309. package/src/libs/engine/src/layout/community-layout-adapter.js +0 -486
  310. package/src/libs/engine/src/layout/component-packing.d.ts +0 -98
  311. package/src/libs/engine/src/layout/component-packing.js +0 -307
  312. package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +0 -122
  313. package/src/libs/engine/src/layout/dagre-layout-adapter.js +0 -697
  314. package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +0 -159
  315. package/src/libs/engine/src/layout/edge-bundling.interface.js +0 -379
  316. package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +0 -121
  317. package/src/libs/engine/src/layout/elk-layout-adapter.js +0 -586
  318. package/src/libs/engine/src/layout/elk-loader.d.ts +0 -1
  319. package/src/libs/engine/src/layout/elk-loader.js +0 -24
  320. package/src/libs/engine/src/layout/force-layout-adapter.d.ts +0 -167
  321. package/src/libs/engine/src/layout/force-layout-adapter.js +0 -790
  322. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +0 -323
  323. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +0 -685
  324. package/src/libs/engine/src/layout/incremental/mental-map.d.ts +0 -98
  325. package/src/libs/engine/src/layout/incremental/mental-map.js +0 -221
  326. package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +0 -145
  327. package/src/libs/engine/src/layout/incremental-layout.interface.js +0 -300
  328. package/src/libs/engine/src/layout/index.d.ts +0 -83
  329. package/src/libs/engine/src/layout/index.js +0 -116
  330. package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +0 -185
  331. package/src/libs/engine/src/layout/layout-adapter.interface.js +0 -10
  332. package/src/libs/engine/src/layout/layout-auto-select.d.ts +0 -160
  333. package/src/libs/engine/src/layout/layout-auto-select.js +0 -621
  334. package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +0 -117
  335. package/src/libs/engine/src/layout/layout-constraints.interface.js +0 -138
  336. package/src/libs/engine/src/layout/layout-graph.d.ts +0 -70
  337. package/src/libs/engine/src/layout/layout-graph.js +0 -119
  338. package/src/libs/engine/src/layout/layout-history.d.ts +0 -147
  339. package/src/libs/engine/src/layout/layout-history.js +0 -258
  340. package/src/libs/engine/src/layout/layout-host.d.ts +0 -172
  341. package/src/libs/engine/src/layout/layout-host.js +0 -523
  342. package/src/libs/engine/src/layout/layout-presets.d.ts +0 -91
  343. package/src/libs/engine/src/layout/layout-presets.js +0 -333
  344. package/src/libs/engine/src/layout/layout-quality-extended.d.ts +0 -66
  345. package/src/libs/engine/src/layout/layout-quality-extended.js +0 -246
  346. package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +0 -127
  347. package/src/libs/engine/src/layout/layout-quality-metrics.js +0 -466
  348. package/src/libs/engine/src/layout/layout-registry.d.ts +0 -309
  349. package/src/libs/engine/src/layout/layout-registry.js +0 -414
  350. package/src/libs/engine/src/layout/layout.service.d.ts +0 -100
  351. package/src/libs/engine/src/layout/layout.service.js +0 -216
  352. package/src/libs/engine/src/layout/overlap-removal.d.ts +0 -20
  353. package/src/libs/engine/src/layout/overlap-removal.js +0 -117
  354. package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +0 -232
  355. package/src/libs/engine/src/layout/port-aware-layout.interface.js +0 -413
  356. package/src/libs/engine/src/layout/port-label-bridge.d.ts +0 -77
  357. package/src/libs/engine/src/layout/port-label-bridge.js +0 -250
  358. package/src/libs/engine/src/layout/portfolio-layouts.d.ts +0 -53
  359. package/src/libs/engine/src/layout/portfolio-layouts.js +0 -388
  360. package/src/libs/engine/src/layout/rng.d.ts +0 -34
  361. package/src/libs/engine/src/layout/rng.js +0 -71
  362. package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +0 -72
  363. package/src/libs/engine/src/layout/spectral-layout-adapter.js +0 -379
  364. package/src/libs/engine/src/layout/steppable-layout.d.ts +0 -40
  365. package/src/libs/engine/src/layout/steppable-layout.js +0 -34
  366. package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +0 -269
  367. package/src/libs/engine/src/layout/subgraph-layout.interface.js +0 -452
  368. package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +0 -9
  369. package/src/libs/engine/src/layout/sugiyama/layered-layout.js +0 -83
  370. package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +0 -91
  371. package/src/libs/engine/src/layout/sugiyama/sugiyama.js +0 -797
  372. package/src/libs/engine/src/layout/tree-layout.d.ts +0 -43
  373. package/src/libs/engine/src/layout/tree-layout.js +0 -426
  374. package/src/libs/engine/src/layout/types.d.ts +0 -263
  375. package/src/libs/engine/src/layout/types.js +0 -6
  376. package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +0 -43
  377. package/src/libs/engine/src/lib/performance/mobile-performance.service.js +0 -95
  378. package/src/libs/engine/src/models/DiagramEntity.d.ts +0 -174
  379. package/src/libs/engine/src/models/DiagramEntity.js +0 -366
  380. package/src/libs/engine/src/models/DiagramModel.d.ts +0 -960
  381. package/src/libs/engine/src/models/DiagramModel.js +0 -2416
  382. package/src/libs/engine/src/models/GroupModel.d.ts +0 -573
  383. package/src/libs/engine/src/models/GroupModel.js +0 -1373
  384. package/src/libs/engine/src/models/LinkModel.d.ts +0 -395
  385. package/src/libs/engine/src/models/LinkModel.js +0 -1045
  386. package/src/libs/engine/src/models/NodeModel.d.ts +0 -666
  387. package/src/libs/engine/src/models/NodeModel.js +0 -1512
  388. package/src/libs/engine/src/models/PortModel.d.ts +0 -292
  389. package/src/libs/engine/src/models/PortModel.js +0 -637
  390. package/src/libs/engine/src/models/StrokeModel.d.ts +0 -160
  391. package/src/libs/engine/src/models/StrokeModel.js +0 -387
  392. package/src/libs/engine/src/models/index.d.ts +0 -7
  393. package/src/libs/engine/src/models/index.js +0 -12
  394. package/src/libs/engine/src/models/readonly-lock.d.ts +0 -108
  395. package/src/libs/engine/src/models/readonly-lock.js +0 -125
  396. package/src/libs/engine/src/performance/LRUCache.d.ts +0 -78
  397. package/src/libs/engine/src/performance/LRUCache.js +0 -179
  398. package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +0 -47
  399. package/src/libs/engine/src/performance/PerformanceMonitor.js +0 -112
  400. package/src/libs/engine/src/performance/SpatialIndex.d.ts +0 -157
  401. package/src/libs/engine/src/performance/SpatialIndex.js +0 -306
  402. package/src/libs/engine/src/performance/index.d.ts +0 -2
  403. package/src/libs/engine/src/performance/index.js +0 -7
  404. package/src/libs/engine/src/plugins/PluginManager.d.ts +0 -95
  405. package/src/libs/engine/src/plugins/PluginManager.js +0 -388
  406. package/src/libs/engine/src/plugins/index.d.ts +0 -1
  407. package/src/libs/engine/src/plugins/index.js +0 -6
  408. package/src/libs/engine/src/ports/connection-rules.d.ts +0 -32
  409. package/src/libs/engine/src/ports/connection-rules.js +0 -131
  410. package/src/libs/engine/src/ports/dynamic-ports.d.ts +0 -27
  411. package/src/libs/engine/src/ports/dynamic-ports.js +0 -135
  412. package/src/libs/engine/src/ports/index.d.ts +0 -5
  413. package/src/libs/engine/src/ports/index.js +0 -16
  414. package/src/libs/engine/src/ports/port-groups.d.ts +0 -43
  415. package/src/libs/engine/src/ports/port-groups.js +0 -185
  416. package/src/libs/engine/src/ports/port-type-registry.d.ts +0 -34
  417. package/src/libs/engine/src/ports/port-type-registry.js +0 -87
  418. package/src/libs/engine/src/ports/port-types.d.ts +0 -266
  419. package/src/libs/engine/src/ports/port-types.js +0 -30
  420. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +0 -136
  421. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +0 -292
  422. package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +0 -160
  423. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +0 -362
  424. package/src/libs/engine/src/rendering/index.d.ts +0 -2
  425. package/src/libs/engine/src/rendering/index.js +0 -7
  426. package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +0 -75
  427. package/src/libs/engine/src/routing/LiveReroutingEngine.js +0 -173
  428. package/src/libs/engine/src/routing/ObstacleIndex.d.ts +0 -42
  429. package/src/libs/engine/src/routing/ObstacleIndex.js +0 -215
  430. package/src/libs/engine/src/routing/ObstacleMap.d.ts +0 -68
  431. package/src/libs/engine/src/routing/ObstacleMap.js +0 -312
  432. package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +0 -28
  433. package/src/libs/engine/src/routing/ObstacleMapBuilder.js +0 -76
  434. package/src/libs/engine/src/routing/PathSimplifier.d.ts +0 -119
  435. package/src/libs/engine/src/routing/PathSimplifier.js +0 -224
  436. package/src/libs/engine/src/routing/RoutingEngine.d.ts +0 -118
  437. package/src/libs/engine/src/routing/RoutingEngine.js +0 -546
  438. package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +0 -90
  439. package/src/libs/engine/src/routing/algorithms/AStarRouter.js +0 -331
  440. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +0 -74
  441. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +0 -297
  442. package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +0 -34
  443. package/src/libs/engine/src/routing/algorithms/ElkRouter.js +0 -210
  444. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +0 -18
  445. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +0 -224
  446. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +0 -173
  447. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +0 -1092
  448. package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +0 -8
  449. package/src/libs/engine/src/routing/algorithms/StraightRouter.js +0 -53
  450. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +0 -59
  451. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +0 -258
  452. package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +0 -64
  453. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +0 -334
  454. package/src/libs/engine/src/routing/global/solver-host.d.ts +0 -65
  455. package/src/libs/engine/src/routing/global/solver-host.js +0 -87
  456. package/src/libs/engine/src/routing/index.d.ts +0 -15
  457. package/src/libs/engine/src/routing/index.js +0 -20
  458. package/src/libs/engine/src/routing/types.d.ts +0 -161
  459. package/src/libs/engine/src/routing/types.js +0 -4
  460. package/src/libs/engine/src/selection/SelectionManager.d.ts +0 -161
  461. package/src/libs/engine/src/selection/SelectionManager.js +0 -483
  462. package/src/libs/engine/src/selection/index.d.ts +0 -1
  463. package/src/libs/engine/src/selection/index.js +0 -6
  464. package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +0 -41
  465. package/src/libs/engine/src/serialization/DiagramMigrations.js +0 -124
  466. package/src/libs/engine/src/serialization/DiagramValidator.d.ts +0 -20
  467. package/src/libs/engine/src/serialization/DiagramValidator.js +0 -136
  468. package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +0 -53
  469. package/src/libs/engine/src/serialization/DocumentEnvelope.js +0 -111
  470. package/src/libs/engine/src/serialization/Incremental.d.ts +0 -77
  471. package/src/libs/engine/src/serialization/Incremental.js +0 -227
  472. package/src/libs/engine/src/serialization/Serializer.d.ts +0 -29
  473. package/src/libs/engine/src/serialization/Serializer.js +0 -45
  474. package/src/libs/engine/src/serialization/Subgraph.d.ts +0 -51
  475. package/src/libs/engine/src/serialization/Subgraph.js +0 -172
  476. package/src/libs/engine/src/serialization/TextFormat.d.ts +0 -71
  477. package/src/libs/engine/src/serialization/TextFormat.js +0 -261
  478. package/src/libs/engine/src/state/ConnectionStateManager.d.ts +0 -178
  479. package/src/libs/engine/src/state/ConnectionStateManager.js +0 -319
  480. package/src/libs/engine/src/state/DiagramStore.d.ts +0 -134
  481. package/src/libs/engine/src/state/DiagramStore.js +0 -372
  482. package/src/libs/engine/src/state/index.d.ts +0 -2
  483. package/src/libs/engine/src/state/index.js +0 -7
  484. package/src/libs/engine/src/sync/awareness.d.ts +0 -91
  485. package/src/libs/engine/src/sync/awareness.js +0 -221
  486. package/src/libs/engine/src/sync/batcher.d.ts +0 -84
  487. package/src/libs/engine/src/sync/batcher.js +0 -0
  488. package/src/libs/engine/src/sync/causal-buffer.d.ts +0 -81
  489. package/src/libs/engine/src/sync/causal-buffer.js +0 -199
  490. package/src/libs/engine/src/sync/index.d.ts +0 -20
  491. package/src/libs/engine/src/sync/index.js +0 -41
  492. package/src/libs/engine/src/sync/protocol.d.ts +0 -74
  493. package/src/libs/engine/src/sync/protocol.js +0 -39
  494. package/src/libs/engine/src/sync/sync-adapter.d.ts +0 -243
  495. package/src/libs/engine/src/sync/sync-adapter.js +0 -524
  496. package/src/libs/engine/src/sync/transport.d.ts +0 -30
  497. package/src/libs/engine/src/sync/transport.js +0 -28
  498. package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +0 -39
  499. package/src/libs/engine/src/sync/transports/broadcast-channel.js +0 -117
  500. package/src/libs/engine/src/sync/transports/memory.d.ts +0 -38
  501. package/src/libs/engine/src/sync/transports/memory.js +0 -111
  502. package/src/libs/engine/src/sync/transports/unreliable.d.ts +0 -59
  503. package/src/libs/engine/src/sync/transports/unreliable.js +0 -153
  504. package/src/libs/engine/src/sync/transports/websocket.d.ts +0 -60
  505. package/src/libs/engine/src/sync/transports/websocket.js +0 -210
  506. package/src/libs/engine/src/sync/version-vector.d.ts +0 -47
  507. package/src/libs/engine/src/sync/version-vector.js +0 -218
  508. package/src/libs/engine/src/template-library/common-templates.d.ts +0 -46
  509. package/src/libs/engine/src/template-library/common-templates.js +0 -395
  510. package/src/libs/engine/src/template-library/data-viz-templates.d.ts +0 -52
  511. package/src/libs/engine/src/template-library/data-viz-templates.js +0 -471
  512. package/src/libs/engine/src/template-library/erd-templates.d.ts +0 -71
  513. package/src/libs/engine/src/template-library/erd-templates.js +0 -773
  514. package/src/libs/engine/src/template-library/index.d.ts +0 -141
  515. package/src/libs/engine/src/template-library/index.js +0 -271
  516. package/src/libs/engine/src/template-library/integration.d.ts +0 -80
  517. package/src/libs/engine/src/template-library/integration.js +0 -141
  518. package/src/libs/engine/src/template-library/workflow-templates.d.ts +0 -52
  519. package/src/libs/engine/src/template-library/workflow-templates.js +0 -438
  520. package/src/libs/engine/src/templates/NodeFactory.d.ts +0 -118
  521. package/src/libs/engine/src/templates/NodeFactory.js +0 -436
  522. package/src/libs/engine/src/templates/NodeTemplate.d.ts +0 -342
  523. package/src/libs/engine/src/templates/NodeTemplate.js +0 -13
  524. package/src/libs/engine/src/templates/TemplateLoader.d.ts +0 -46
  525. package/src/libs/engine/src/templates/TemplateLoader.js +0 -114
  526. package/src/libs/engine/src/templates/TemplateRegistry.d.ts +0 -70
  527. package/src/libs/engine/src/templates/TemplateRegistry.js +0 -128
  528. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +0 -11
  529. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +0 -123
  530. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +0 -11
  531. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +0 -123
  532. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +0 -11
  533. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +0 -123
  534. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +0 -11
  535. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +0 -124
  536. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +0 -11
  537. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +0 -123
  538. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +0 -11
  539. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +0 -124
  540. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +0 -11
  541. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +0 -123
  542. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +0 -11
  543. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +0 -122
  544. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +0 -11
  545. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +0 -125
  546. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +0 -11
  547. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +0 -123
  548. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +0 -11
  549. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +0 -123
  550. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +0 -11
  551. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +0 -123
  552. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +0 -11
  553. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +0 -152
  554. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +0 -11
  555. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +0 -123
  556. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +0 -11
  557. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +0 -123
  558. package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +0 -15
  559. package/src/libs/engine/src/templates/generated/bpmn/index.js +0 -34
  560. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +0 -11
  561. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +0 -152
  562. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +0 -11
  563. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +0 -122
  564. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +0 -11
  565. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +0 -151
  566. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +0 -11
  567. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +0 -122
  568. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +0 -11
  569. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +0 -122
  570. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +0 -11
  571. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +0 -123
  572. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +0 -11
  573. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +0 -149
  574. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +0 -11
  575. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +0 -123
  576. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +0 -11
  577. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +0 -122
  578. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +0 -11
  579. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +0 -122
  580. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +0 -11
  581. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +0 -122
  582. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +0 -11
  583. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +0 -123
  584. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +0 -11
  585. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +0 -121
  586. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +0 -11
  587. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +0 -123
  588. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +0 -11
  589. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +0 -123
  590. package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +0 -11
  591. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +0 -123
  592. package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +0 -11
  593. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +0 -123
  594. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +0 -11
  595. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +0 -149
  596. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +0 -11
  597. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +0 -122
  598. package/src/libs/engine/src/templates/generated/erd/index.d.ts +0 -19
  599. package/src/libs/engine/src/templates/generated/erd/index.js +0 -42
  600. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +0 -11
  601. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +0 -123
  602. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +0 -11
  603. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +0 -123
  604. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +0 -11
  605. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +0 -123
  606. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +0 -11
  607. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +0 -124
  608. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +0 -11
  609. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +0 -124
  610. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +0 -11
  611. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +0 -123
  612. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +0 -11
  613. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +0 -123
  614. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +0 -11
  615. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +0 -122
  616. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +0 -11
  617. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +0 -122
  618. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +0 -11
  619. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +0 -123
  620. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +0 -11
  621. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +0 -123
  622. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +0 -11
  623. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +0 -123
  624. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +0 -11
  625. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +0 -122
  626. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +0 -11
  627. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +0 -123
  628. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +0 -11
  629. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +0 -124
  630. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +0 -11
  631. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +0 -124
  632. package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +0 -16
  633. package/src/libs/engine/src/templates/generated/flowchart/index.js +0 -36
  634. package/src/libs/engine/src/templates/generated/index.d.ts +0 -9
  635. package/src/libs/engine/src/templates/generated/index.js +0 -13
  636. package/src/libs/engine/src/templates/generated/register.d.ts +0 -23
  637. package/src/libs/engine/src/templates/generated/register.js +0 -31
  638. package/src/libs/engine/src/templates/generated/uml/index.d.ts +0 -30
  639. package/src/libs/engine/src/templates/generated/uml/index.js +0 -64
  640. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +0 -11
  641. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +0 -204
  642. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +0 -11
  643. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +0 -124
  644. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +0 -11
  645. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +0 -124
  646. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +0 -11
  647. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +0 -123
  648. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +0 -11
  649. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +0 -123
  650. package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +0 -11
  651. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +0 -204
  652. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +0 -11
  653. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +0 -122
  654. package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +0 -11
  655. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +0 -122
  656. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +0 -11
  657. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +0 -204
  658. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +0 -11
  659. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +0 -124
  660. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +0 -11
  661. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +0 -204
  662. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +0 -11
  663. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +0 -124
  664. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +0 -11
  665. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +0 -124
  666. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +0 -11
  667. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +0 -125
  668. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +0 -11
  669. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +0 -123
  670. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +0 -11
  671. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +0 -123
  672. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +0 -11
  673. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +0 -204
  674. package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +0 -11
  675. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +0 -125
  676. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +0 -11
  677. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +0 -123
  678. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +0 -11
  679. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +0 -122
  680. package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +0 -11
  681. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +0 -122
  682. package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +0 -11
  683. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +0 -123
  684. package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +0 -11
  685. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +0 -204
  686. package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +0 -11
  687. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +0 -123
  688. package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +0 -11
  689. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +0 -122
  690. package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +0 -11
  691. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +0 -123
  692. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +0 -11
  693. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +0 -204
  694. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +0 -11
  695. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +0 -123
  696. package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +0 -11
  697. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +0 -123
  698. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +0 -11
  699. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +0 -122
  700. package/src/libs/engine/src/templates/index.d.ts +0 -12
  701. package/src/libs/engine/src/templates/index.js +0 -27
  702. package/src/libs/engine/src/templates/stencils.d.ts +0 -45
  703. package/src/libs/engine/src/templates/stencils.js +0 -85
  704. package/src/libs/engine/src/types/domain/bpmn.d.ts +0 -25
  705. package/src/libs/engine/src/types/domain/bpmn.js +0 -313
  706. package/src/libs/engine/src/types/domain/erd.d.ts +0 -29
  707. package/src/libs/engine/src/types/domain/erd.js +0 -394
  708. package/src/libs/engine/src/types/domain/flowchart.d.ts +0 -26
  709. package/src/libs/engine/src/types/domain/flowchart.js +0 -434
  710. package/src/libs/engine/src/types/domain/index.d.ts +0 -4
  711. package/src/libs/engine/src/types/domain/index.js +0 -9
  712. package/src/libs/engine/src/types/domain/uml.d.ts +0 -40
  713. package/src/libs/engine/src/types/domain/uml.js +0 -758
  714. package/src/libs/engine/src/types/event.types.d.ts +0 -142
  715. package/src/libs/engine/src/types/event.types.js +0 -96
  716. package/src/libs/engine/src/types/geometry.types.d.ts +0 -84
  717. package/src/libs/engine/src/types/geometry.types.js +0 -16
  718. package/src/libs/engine/src/types/index.d.ts +0 -7
  719. package/src/libs/engine/src/types/index.js +0 -14
  720. package/src/libs/engine/src/types/layout.types.d.ts +0 -148
  721. package/src/libs/engine/src/types/layout.types.js +0 -28
  722. package/src/libs/engine/src/types/model.types.d.ts +0 -378
  723. package/src/libs/engine/src/types/model.types.js +0 -4
  724. package/src/libs/engine/src/types/performance.types.d.ts +0 -109
  725. package/src/libs/engine/src/types/performance.types.js +0 -122
  726. package/src/libs/engine/src/types/plugin.types.d.ts +0 -30
  727. package/src/libs/engine/src/types/plugin.types.js +0 -4
  728. package/src/libs/engine/src/utils/deep-clone.d.ts +0 -9
  729. package/src/libs/engine/src/utils/deep-clone.js +0 -123
  730. package/src/libs/engine/src/utils/geometry.d.ts +0 -45
  731. package/src/libs/engine/src/utils/geometry.js +0 -241
  732. package/src/libs/engine/src/utils/id.d.ts +0 -22
  733. package/src/libs/engine/src/utils/id.js +0 -44
  734. package/src/libs/engine/src/utils/index.d.ts +0 -3
  735. package/src/libs/engine/src/utils/index.js +0 -8
  736. package/src/libs/engine/src/utils/transform.d.ts +0 -84
  737. package/src/libs/engine/src/utils/transform.js +0 -200
  738. package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +0 -22
  739. package/src/libs/engine/src/validation/ConnectionGroupValidator.js +0 -56
  740. package/src/libs/engine/src/validation/TypeRegistry.d.ts +0 -179
  741. package/src/libs/engine/src/validation/TypeRegistry.js +0 -358
  742. package/src/libs/engine/src/validation/ValidationEngine.d.ts +0 -79
  743. package/src/libs/engine/src/validation/ValidationEngine.js +0 -1150
  744. package/src/libs/engine/src/validation/index.d.ts +0 -3
  745. package/src/libs/engine/src/validation/index.js +0 -8
  746. package/src/libs/renderer/src/a11y/diagram-outline.d.ts +0 -93
  747. package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
  748. package/src/libs/renderer/src/a11y/focus-containment.d.ts +0 -90
  749. package/src/libs/renderer/src/a11y/focus-containment.js +0 -173
  750. package/src/libs/renderer/src/a11y/graph-topology.d.ts +0 -70
  751. package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
  752. package/src/libs/renderer/src/a11y/index.d.ts +0 -26
  753. package/src/libs/renderer/src/a11y/index.js +0 -30
  754. package/src/libs/renderer/src/a11y/live-region.d.ts +0 -83
  755. package/src/libs/renderer/src/a11y/live-region.js +0 -170
  756. package/src/libs/renderer/src/a11y/outline-view.d.ts +0 -62
  757. package/src/libs/renderer/src/a11y/outline-view.js +0 -158
  758. package/src/libs/renderer/src/a11y/reduced-motion.d.ts +0 -48
  759. package/src/libs/renderer/src/a11y/reduced-motion.js +0 -223
  760. package/src/libs/renderer/src/a11y/semantics.d.ts +0 -76
  761. package/src/libs/renderer/src/a11y/semantics.js +0 -229
  762. package/src/libs/renderer/src/canvas/canvas-context.d.ts +0 -167
  763. package/src/libs/renderer/src/canvas/canvas-context.js +0 -267
  764. package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +0 -194
  765. package/src/libs/renderer/src/canvas/canvas-renderer.js +0 -600
  766. package/src/libs/renderer/src/canvas/dirty-region.d.ts +0 -56
  767. package/src/libs/renderer/src/canvas/dirty-region.js +0 -171
  768. package/src/libs/renderer/src/canvas/index.d.ts +0 -16
  769. package/src/libs/renderer/src/canvas/index.js +0 -79
  770. package/src/libs/renderer/src/canvas/path-geometry.d.ts +0 -112
  771. package/src/libs/renderer/src/canvas/path-geometry.js +0 -673
  772. package/src/libs/renderer/src/canvas/render-backend.d.ts +0 -133
  773. package/src/libs/renderer/src/canvas/render-backend.js +0 -339
  774. package/src/libs/renderer/src/canvas/style-resolution.d.ts +0 -101
  775. package/src/libs/renderer/src/canvas/style-resolution.js +0 -466
  776. package/src/libs/renderer/src/canvas/tier-policy.d.ts +0 -33
  777. package/src/libs/renderer/src/canvas/tier-policy.js +0 -89
  778. package/src/libs/renderer/src/canvas/vnode-painter.d.ts +0 -154
  779. package/src/libs/renderer/src/canvas/vnode-painter.js +0 -649
  780. package/src/libs/renderer/src/comments/comment-overlay.d.ts +0 -56
  781. package/src/libs/renderer/src/comments/comment-overlay.js +0 -127
  782. package/src/libs/renderer/src/comments/comment-panel.d.ts +0 -45
  783. package/src/libs/renderer/src/comments/comment-panel.js +0 -287
  784. package/src/libs/renderer/src/comments/comment-pins.d.ts +0 -34
  785. package/src/libs/renderer/src/comments/comment-pins.js +0 -227
  786. package/src/libs/renderer/src/comments/index.d.ts +0 -3
  787. package/src/libs/renderer/src/comments/index.js +0 -17
  788. package/src/libs/renderer/src/export/assets.d.ts +0 -96
  789. package/src/libs/renderer/src/export/assets.js +0 -350
  790. package/src/libs/renderer/src/export/batch.d.ts +0 -49
  791. package/src/libs/renderer/src/export/batch.js +0 -95
  792. package/src/libs/renderer/src/export/bounds.d.ts +0 -81
  793. package/src/libs/renderer/src/export/bounds.js +0 -367
  794. package/src/libs/renderer/src/export/capture-host.d.ts +0 -39
  795. package/src/libs/renderer/src/export/capture-host.js +0 -1259
  796. package/src/libs/renderer/src/export/custom-nodes.d.ts +0 -88
  797. package/src/libs/renderer/src/export/custom-nodes.js +0 -237
  798. package/src/libs/renderer/src/export/index.d.ts +0 -14
  799. package/src/libs/renderer/src/export/index.js +0 -30
  800. package/src/libs/renderer/src/export/node-raster.d.ts +0 -60
  801. package/src/libs/renderer/src/export/node-raster.js +0 -161
  802. package/src/libs/renderer/src/export/pagination.d.ts +0 -116
  803. package/src/libs/renderer/src/export/pagination.js +0 -245
  804. package/src/libs/renderer/src/export/pdf/flate.d.ts +0 -13
  805. package/src/libs/renderer/src/export/pdf/flate.js +0 -287
  806. package/src/libs/renderer/src/export/pdf/index.d.ts +0 -4
  807. package/src/libs/renderer/src/export/pdf/index.js +0 -15
  808. package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +0 -64
  809. package/src/libs/renderer/src/export/pdf/pdf-export.js +0 -1076
  810. package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +0 -17
  811. package/src/libs/renderer/src/export/pdf/pdf-path.js +0 -85
  812. package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +0 -115
  813. package/src/libs/renderer/src/export/pdf/pdf-primitives.js +0 -338
  814. package/src/libs/renderer/src/export/pdf/png.d.ts +0 -25
  815. package/src/libs/renderer/src/export/pdf/png.js +0 -596
  816. package/src/libs/renderer/src/export/raster.d.ts +0 -42
  817. package/src/libs/renderer/src/export/raster.js +0 -126
  818. package/src/libs/renderer/src/export/round-trip.d.ts +0 -83
  819. package/src/libs/renderer/src/export/round-trip.js +0 -432
  820. package/src/libs/renderer/src/export/scope.d.ts +0 -16
  821. package/src/libs/renderer/src/export/scope.js +0 -69
  822. package/src/libs/renderer/src/export/style-flattener.d.ts +0 -23
  823. package/src/libs/renderer/src/export/style-flattener.js +0 -144
  824. package/src/libs/renderer/src/export/svg-export.d.ts +0 -123
  825. package/src/libs/renderer/src/export/svg-export.js +0 -178
  826. package/src/libs/renderer/src/export/vnode-serializer.d.ts +0 -75
  827. package/src/libs/renderer/src/export/vnode-serializer.js +0 -344
  828. package/src/libs/renderer/src/ext/capabilities.d.ts +0 -178
  829. package/src/libs/renderer/src/ext/capabilities.js +0 -22
  830. package/src/libs/renderer/src/ext/capability-factory.d.ts +0 -44
  831. package/src/libs/renderer/src/ext/capability-factory.js +0 -194
  832. package/src/libs/renderer/src/ext/components/attach.d.ts +0 -66
  833. package/src/libs/renderer/src/ext/components/attach.js +0 -112
  834. package/src/libs/renderer/src/ext/components/background.d.ts +0 -84
  835. package/src/libs/renderer/src/ext/components/background.js +0 -202
  836. package/src/libs/renderer/src/ext/components/controls.d.ts +0 -49
  837. package/src/libs/renderer/src/ext/components/controls.js +0 -144
  838. package/src/libs/renderer/src/ext/components/minimap.d.ts +0 -78
  839. package/src/libs/renderer/src/ext/components/minimap.js +0 -326
  840. package/src/libs/renderer/src/ext/diagram-registry.d.ts +0 -109
  841. package/src/libs/renderer/src/ext/diagram-registry.js +0 -303
  842. package/src/libs/renderer/src/ext/disposable.d.ts +0 -51
  843. package/src/libs/renderer/src/ext/disposable.js +0 -104
  844. package/src/libs/renderer/src/ext/extension-host.d.ts +0 -144
  845. package/src/libs/renderer/src/ext/extension-host.js +0 -272
  846. package/src/libs/renderer/src/ext/index.d.ts +0 -62
  847. package/src/libs/renderer/src/ext/index.js +0 -91
  848. package/src/libs/renderer/src/ext/link-pipeline.d.ts +0 -195
  849. package/src/libs/renderer/src/ext/link-pipeline.js +0 -431
  850. package/src/libs/renderer/src/ext/manifest.d.ts +0 -73
  851. package/src/libs/renderer/src/ext/manifest.js +0 -149
  852. package/src/libs/renderer/src/ext/node-component.d.ts +0 -114
  853. package/src/libs/renderer/src/ext/node-component.js +0 -290
  854. package/src/libs/renderer/src/ext/plugins-loader.d.ts +0 -1
  855. package/src/libs/renderer/src/ext/plugins-loader.js +0 -18
  856. package/src/libs/renderer/src/ext/portal.d.ts +0 -129
  857. package/src/libs/renderer/src/ext/portal.js +0 -267
  858. package/src/libs/renderer/src/ext/public-api.d.ts +0 -101
  859. package/src/libs/renderer/src/ext/public-api.js +0 -201
  860. package/src/libs/renderer/src/ext/registry-scope.d.ts +0 -93
  861. package/src/libs/renderer/src/ext/registry-scope.js +0 -142
  862. package/src/libs/renderer/src/ext/tools.d.ts +0 -164
  863. package/src/libs/renderer/src/ext/tools.js +0 -170
  864. package/src/libs/renderer/src/index.d.ts +0 -34
  865. package/src/libs/renderer/src/index.js +0 -108
  866. package/src/libs/renderer/src/instance/create-diagram.d.ts +0 -385
  867. package/src/libs/renderer/src/instance/create-diagram.js +0 -1150
  868. package/src/libs/renderer/src/instance/diagram-instance.d.ts +0 -48
  869. package/src/libs/renderer/src/instance/diagram-instance.js +0 -51
  870. package/src/libs/renderer/src/instance/dom-event-binder.d.ts +0 -394
  871. package/src/libs/renderer/src/instance/dom-event-binder.js +0 -2104
  872. package/src/libs/renderer/src/instance/index.d.ts +0 -5
  873. package/src/libs/renderer/src/instance/index.js +0 -13
  874. package/src/libs/renderer/src/instance/layers.d.ts +0 -31
  875. package/src/libs/renderer/src/instance/layers.js +0 -43
  876. package/src/libs/renderer/src/instance/model-input.d.ts +0 -229
  877. package/src/libs/renderer/src/instance/model-input.js +0 -325
  878. package/src/libs/renderer/src/instance/render-scheduler.d.ts +0 -79
  879. package/src/libs/renderer/src/instance/render-scheduler.js +0 -96
  880. package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +0 -38
  881. package/src/libs/renderer/src/instance/wheel-scroll-yield.js +0 -118
  882. package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +0 -160
  883. package/src/libs/renderer/src/interaction/ControlPointEditor.js +0 -360
  884. package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +0 -133
  885. package/src/libs/renderer/src/interaction/WaypointEditor.js +0 -263
  886. package/src/libs/renderer/src/interaction/highlighters.d.ts +0 -88
  887. package/src/libs/renderer/src/interaction/highlighters.js +0 -212
  888. package/src/libs/renderer/src/interaction/in-place-editor.d.ts +0 -63
  889. package/src/libs/renderer/src/interaction/in-place-editor.js +0 -141
  890. package/src/libs/renderer/src/interaction/index.d.ts +0 -11
  891. package/src/libs/renderer/src/interaction/index.js +0 -29
  892. package/src/libs/renderer/src/interaction/ink-overlay.d.ts +0 -53
  893. package/src/libs/renderer/src/interaction/ink-overlay.js +0 -154
  894. package/src/libs/renderer/src/interaction/interaction-controller.d.ts +0 -555
  895. package/src/libs/renderer/src/interaction/interaction-controller.js +0 -1733
  896. package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +0 -223
  897. package/src/libs/renderer/src/interaction/keyboard-navigation.js +0 -885
  898. package/src/libs/renderer/src/interaction/selection-tools.d.ts +0 -343
  899. package/src/libs/renderer/src/interaction/selection-tools.js +0 -918
  900. package/src/libs/renderer/src/interaction/snapping.d.ts +0 -210
  901. package/src/libs/renderer/src/interaction/snapping.js +0 -569
  902. package/src/libs/renderer/src/interaction/touch-gestures.d.ts +0 -160
  903. package/src/libs/renderer/src/interaction/touch-gestures.js +0 -549
  904. package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +0 -171
  905. package/src/libs/renderer/src/interaction/whiteboard-tools.js +0 -476
  906. package/src/libs/renderer/src/lazy/host-culling.d.ts +0 -116
  907. package/src/libs/renderer/src/lazy/host-culling.js +0 -135
  908. package/src/libs/renderer/src/lazy/index.d.ts +0 -7
  909. package/src/libs/renderer/src/lazy/index.js +0 -28
  910. package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +0 -80
  911. package/src/libs/renderer/src/lazy/progressive-mounter.js +0 -264
  912. package/src/libs/renderer/src/lazy/types.d.ts +0 -43
  913. package/src/libs/renderer/src/lazy/types.js +0 -14
  914. package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +0 -97
  915. package/src/libs/renderer/src/lazy/view-lifecycle.js +0 -221
  916. package/src/libs/renderer/src/perf/index.d.ts +0 -2
  917. package/src/libs/renderer/src/perf/index.js +0 -7
  918. package/src/libs/renderer/src/perf/perf-hud.d.ts +0 -46
  919. package/src/libs/renderer/src/perf/perf-hud.js +0 -105
  920. package/src/libs/renderer/src/perf/quality-governor.d.ts +0 -77
  921. package/src/libs/renderer/src/perf/quality-governor.js +0 -154
  922. package/src/libs/renderer/src/platform/index.d.ts +0 -1
  923. package/src/libs/renderer/src/platform/index.js +0 -5
  924. package/src/libs/renderer/src/platform/platform.d.ts +0 -34
  925. package/src/libs/renderer/src/platform/platform.js +0 -64
  926. package/src/libs/renderer/src/presence/bind-presence.d.ts +0 -51
  927. package/src/libs/renderer/src/presence/bind-presence.js +0 -144
  928. package/src/libs/renderer/src/presence/index.d.ts +0 -4
  929. package/src/libs/renderer/src/presence/index.js +0 -18
  930. package/src/libs/renderer/src/presence/presence-overlay.d.ts +0 -121
  931. package/src/libs/renderer/src/presence/presence-overlay.js +0 -465
  932. package/src/libs/renderer/src/presentation/index.d.ts +0 -3
  933. package/src/libs/renderer/src/presentation/index.js +0 -14
  934. package/src/libs/renderer/src/presentation/presentation.d.ts +0 -94
  935. package/src/libs/renderer/src/presentation/presentation.js +0 -158
  936. package/src/libs/renderer/src/presentation/viewport-channel.d.ts +0 -78
  937. package/src/libs/renderer/src/presentation/viewport-channel.js +0 -86
  938. package/src/libs/renderer/src/services/animation-lifecycle.d.ts +0 -153
  939. package/src/libs/renderer/src/services/animation-lifecycle.js +0 -326
  940. package/src/libs/renderer/src/services/animation-performance.service.d.ts +0 -191
  941. package/src/libs/renderer/src/services/animation-performance.service.js +0 -371
  942. package/src/libs/renderer/src/services/animation-sequencer.d.ts +0 -226
  943. package/src/libs/renderer/src/services/animation-sequencer.js +0 -379
  944. package/src/libs/renderer/src/services/animation.service.d.ts +0 -182
  945. package/src/libs/renderer/src/services/animation.service.js +0 -858
  946. package/src/libs/renderer/src/services/custom-animation-registry.d.ts +0 -182
  947. package/src/libs/renderer/src/services/custom-animation-registry.js +0 -361
  948. package/src/libs/renderer/src/ssr/index.d.ts +0 -1
  949. package/src/libs/renderer/src/ssr/index.js +0 -6
  950. package/src/libs/renderer/src/ssr/render-to-static.d.ts +0 -91
  951. package/src/libs/renderer/src/ssr/render-to-static.js +0 -81
  952. package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +0 -159
  953. package/src/libs/renderer/src/svg/ArrowRenderer.js +0 -723
  954. package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +0 -79
  955. package/src/libs/renderer/src/svg/JumpPointDetector.js +0 -176
  956. package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +0 -59
  957. package/src/libs/renderer/src/svg/JumpPointRenderer.js +0 -309
  958. package/src/libs/renderer/src/svg/LabelRenderer.d.ts +0 -76
  959. package/src/libs/renderer/src/svg/LabelRenderer.js +0 -273
  960. package/src/libs/renderer/src/svg/auto-size.d.ts +0 -76
  961. package/src/libs/renderer/src/svg/auto-size.js +0 -142
  962. package/src/libs/renderer/src/svg/channel-nudging.d.ts +0 -34
  963. package/src/libs/renderer/src/svg/channel-nudging.js +0 -226
  964. package/src/libs/renderer/src/svg/edge-optimizer.d.ts +0 -228
  965. package/src/libs/renderer/src/svg/edge-optimizer.js +0 -606
  966. package/src/libs/renderer/src/svg/edge-templates.d.ts +0 -152
  967. package/src/libs/renderer/src/svg/edge-templates.js +0 -233
  968. package/src/libs/renderer/src/svg/html-node.d.ts +0 -50
  969. package/src/libs/renderer/src/svg/html-node.js +0 -214
  970. package/src/libs/renderer/src/svg/index.d.ts +0 -25
  971. package/src/libs/renderer/src/svg/index.js +0 -32
  972. package/src/libs/renderer/src/svg/link-fanout.d.ts +0 -127
  973. package/src/libs/renderer/src/svg/link-fanout.js +0 -333
  974. package/src/libs/renderer/src/svg/link-hit-test.d.ts +0 -142
  975. package/src/libs/renderer/src/svg/link-hit-test.js +0 -182
  976. package/src/libs/renderer/src/svg/motion-tracker.d.ts +0 -18
  977. package/src/libs/renderer/src/svg/motion-tracker.js +0 -71
  978. package/src/libs/renderer/src/svg/node-sizing.d.ts +0 -51
  979. package/src/libs/renderer/src/svg/node-sizing.js +0 -65
  980. package/src/libs/renderer/src/svg/node-toolbar.d.ts +0 -30
  981. package/src/libs/renderer/src/svg/node-toolbar.js +0 -45
  982. package/src/libs/renderer/src/svg/notation-shapes.d.ts +0 -2
  983. package/src/libs/renderer/src/svg/notation-shapes.js +0 -126
  984. package/src/libs/renderer/src/svg/paint-servers.d.ts +0 -49
  985. package/src/libs/renderer/src/svg/paint-servers.js +0 -225
  986. package/src/libs/renderer/src/svg/panel.d.ts +0 -115
  987. package/src/libs/renderer/src/svg/panel.js +0 -353
  988. package/src/libs/renderer/src/svg/path-outline.d.ts +0 -35
  989. package/src/libs/renderer/src/svg/path-outline.js +0 -134
  990. package/src/libs/renderer/src/svg/port-glyph.d.ts +0 -27
  991. package/src/libs/renderer/src/svg/port-glyph.js +0 -97
  992. package/src/libs/renderer/src/svg/port-label.d.ts +0 -74
  993. package/src/libs/renderer/src/svg/port-label.js +0 -201
  994. package/src/libs/renderer/src/svg/port-layout.d.ts +0 -50
  995. package/src/libs/renderer/src/svg/port-layout.js +0 -212
  996. package/src/libs/renderer/src/svg/port-positioning.d.ts +0 -33
  997. package/src/libs/renderer/src/svg/port-positioning.js +0 -101
  998. package/src/libs/renderer/src/svg/port-spots.d.ts +0 -69
  999. package/src/libs/renderer/src/svg/port-spots.js +0 -154
  1000. package/src/libs/renderer/src/svg/route-memo.d.ts +0 -63
  1001. package/src/libs/renderer/src/svg/route-memo.js +0 -206
  1002. package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +0 -48
  1003. package/src/libs/renderer/src/svg/route-solver-bridge.js +0 -151
  1004. package/src/libs/renderer/src/svg/shape-registry.d.ts +0 -189
  1005. package/src/libs/renderer/src/svg/shape-registry.js +0 -1104
  1006. package/src/libs/renderer/src/svg/stroke-layer.d.ts +0 -36
  1007. package/src/libs/renderer/src/svg/stroke-layer.js +0 -183
  1008. package/src/libs/renderer/src/svg/svg-renderer.d.ts +0 -1737
  1009. package/src/libs/renderer/src/svg/svg-renderer.js +0 -7772
  1010. package/src/libs/renderer/src/svg/text-block.d.ts +0 -54
  1011. package/src/libs/renderer/src/svg/text-block.js +0 -171
  1012. package/src/libs/renderer/src/themes/color-mode.d.ts +0 -81
  1013. package/src/libs/renderer/src/themes/color-mode.js +0 -158
  1014. package/src/libs/renderer/src/themes/contrast.d.ts +0 -67
  1015. package/src/libs/renderer/src/themes/contrast.js +0 -215
  1016. package/src/libs/renderer/src/themes/default-dark-theme.d.ts +0 -6
  1017. package/src/libs/renderer/src/themes/default-dark-theme.js +0 -126
  1018. package/src/libs/renderer/src/themes/default-light-theme.d.ts +0 -6
  1019. package/src/libs/renderer/src/themes/default-light-theme.js +0 -168
  1020. package/src/libs/renderer/src/themes/default-theme-set.d.ts +0 -10
  1021. package/src/libs/renderer/src/themes/default-theme-set.js +0 -25
  1022. package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +0 -5
  1023. package/src/libs/renderer/src/themes/high-contrast-theme.js +0 -170
  1024. package/src/libs/renderer/src/themes/index.d.ts +0 -22
  1025. package/src/libs/renderer/src/themes/index.js +0 -93
  1026. package/src/libs/renderer/src/themes/style-cascade.d.ts +0 -23
  1027. package/src/libs/renderer/src/themes/style-cascade.js +0 -194
  1028. package/src/libs/renderer/src/themes/style-registry.d.ts +0 -40
  1029. package/src/libs/renderer/src/themes/style-registry.js +0 -129
  1030. package/src/libs/renderer/src/themes/theme-a11y.d.ts +0 -65
  1031. package/src/libs/renderer/src/themes/theme-a11y.js +0 -256
  1032. package/src/libs/renderer/src/themes/theme-css.d.ts +0 -30
  1033. package/src/libs/renderer/src/themes/theme-css.js +0 -304
  1034. package/src/libs/renderer/src/themes/theme-ref.d.ts +0 -63
  1035. package/src/libs/renderer/src/themes/theme-ref.js +0 -206
  1036. package/src/libs/renderer/src/themes/theme-vars.d.ts +0 -49
  1037. package/src/libs/renderer/src/themes/theme-vars.js +0 -112
  1038. package/src/libs/renderer/src/themes/token-bridge.d.ts +0 -62
  1039. package/src/libs/renderer/src/themes/token-bridge.js +0 -354
  1040. package/src/libs/renderer/src/types/geometry.types.d.ts +0 -10
  1041. package/src/libs/renderer/src/types/geometry.types.js +0 -3
  1042. package/src/libs/renderer/src/types/index.d.ts +0 -5
  1043. package/src/libs/renderer/src/types/index.js +0 -14
  1044. package/src/libs/renderer/src/types/property-schema/conditions.d.ts +0 -96
  1045. package/src/libs/renderer/src/types/property-schema/conditions.js +0 -8
  1046. package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +0 -310
  1047. package/src/libs/renderer/src/types/property-schema/editor-types.js +0 -8
  1048. package/src/libs/renderer/src/types/property-schema/groups.d.ts +0 -58
  1049. package/src/libs/renderer/src/types/property-schema/groups.js +0 -8
  1050. package/src/libs/renderer/src/types/property-schema/index.d.ts +0 -101
  1051. package/src/libs/renderer/src/types/property-schema/index.js +0 -98
  1052. package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +0 -117
  1053. package/src/libs/renderer/src/types/property-schema/property-definition.js +0 -8
  1054. package/src/libs/renderer/src/types/property-schema/schema.d.ts +0 -108
  1055. package/src/libs/renderer/src/types/property-schema/schema.js +0 -8
  1056. package/src/libs/renderer/src/types/property-schema/validation.d.ts +0 -181
  1057. package/src/libs/renderer/src/types/property-schema/validation.js +0 -8
  1058. package/src/libs/renderer/src/types/renderer.interface.d.ts +0 -623
  1059. package/src/libs/renderer/src/types/renderer.interface.js +0 -3
  1060. package/src/libs/renderer/src/types/theme.types.d.ts +0 -305
  1061. package/src/libs/renderer/src/types/theme.types.js +0 -3
  1062. package/src/libs/renderer/src/types/vnode.types.d.ts +0 -139
  1063. package/src/libs/renderer/src/types/vnode.types.js +0 -3
  1064. package/src/libs/renderer/src/utils/animation-presets.d.ts +0 -310
  1065. package/src/libs/renderer/src/utils/animation-presets.js +0 -406
  1066. package/src/libs/renderer/src/utils/animation-priority.d.ts +0 -118
  1067. package/src/libs/renderer/src/utils/animation-priority.js +0 -258
  1068. package/src/libs/renderer/src/utils/animation-utils.d.ts +0 -159
  1069. package/src/libs/renderer/src/utils/animation-utils.js +0 -323
  1070. package/src/libs/renderer/src/utils/lru-cache.d.ts +0 -34
  1071. package/src/libs/renderer/src/utils/lru-cache.js +0 -72
  1072. package/src/libs/renderer/src/viewport/index.d.ts +0 -1
  1073. package/src/libs/renderer/src/viewport/index.js +0 -6
  1074. package/src/libs/renderer/src/viewport/viewport-controller.d.ts +0 -198
  1075. package/src/libs/renderer/src/viewport/viewport-controller.js +0 -315
  1076. package/src/libs/renderer/src/vnode/container-id-generator.d.ts +0 -94
  1077. package/src/libs/renderer/src/vnode/container-id-generator.js +0 -110
  1078. package/src/libs/renderer/src/vnode/foreign-object.d.ts +0 -157
  1079. package/src/libs/renderer/src/vnode/foreign-object.js +0 -167
  1080. package/src/libs/renderer/src/vnode/index.d.ts +0 -56
  1081. package/src/libs/renderer/src/vnode/index.js +0 -78
  1082. package/src/libs/renderer/src/vnode/patch.d.ts +0 -189
  1083. package/src/libs/renderer/src/vnode/patch.js +0 -564
@@ -1,1259 +0,0 @@
1
- "use strict";
2
- // THE DOM BOUNDARY of custom-node export — the one file here that needs a browser.
3
- //
4
- // THE SPLIT, AND WHY
5
- // ------------------
6
- // `exportSvg` is pure, DOM-free and deterministic, and that is a guarantee worth more
7
- // than the feature this file enables. So the DOM is not allowed to leak into it. The
8
- // division is:
9
- //
10
- // capture-host.ts (HERE) reads live elements — getBoundingClientRect,
11
- // getComputedStyle — and emits PLAIN DATA.
12
- // custom-nodes.ts (pure) places that data into the export tree.
13
- // svg-export.ts (pure) still takes only data; still runs in bare Node.
14
- //
15
- // Nothing in this module touches ambient `document` or `window`: every entry point
16
- // takes the element it works on and reaches the window through `ownerDocument`. So
17
- // importing it from an SSR bundle is harmless — it simply is never called there, and
18
- // `exportSvg` keeps working with no capture at all.
19
- //
20
- // WHY TRANSCRIBE RATHER THAN SCREENSHOT
21
- // -------------------------------------
22
- // The tempting shortcut is `foreignObject` for everything: paste the host's HTML in
23
- // and let the browser deal with it. But a `foreignObject` is dead weight in a PDF and
24
- // in every standalone rasterizer — the export would look right in exactly one viewer
25
- // and be blank in the places people actually send files.
26
- //
27
- // So this walks the host and transcribes what it finds into SVG primitives:
28
- //
29
- // inline <svg> LIFTED, element for element, with `var(--…)` resolved through
30
- // getComputedStyle. A donut's arcs stay arcs. This is the common
31
- // case for the dashboard kit and it is exact, not approximated.
32
- // text emitted as <text> at its laid-out position, with the resolved
33
- // font and fill. This is what makes a KPI's headline number — plain
34
- // HTML, no SVG anywhere near it — survive the trip.
35
- // boxes background fills and borders become <rect>/<line>, which is what
36
- // draws widget cards and table rules.
37
- //
38
- // Beyond those three it now also transcribes the CSS paint a widget card is actually
39
- // built from, REUSING the renderer's own paint-server model (`svg/paint-servers.ts`) so
40
- // there is exactly one set of gradient/shadow VNode builders in the codebase:
41
- //
42
- // background gradient linear-/radial-gradient() → a `<linearGradient>` /
43
- // `<radialGradient>` def (userSpaceOnUse, real pixel endpoints so
44
- // the CSS angle is not distorted on a non-square box) that the box
45
- // rect fills with via `url(#…)`.
46
- // box-shadow → the `feDropShadow` filter def, applied to the box. Outer only;
47
- // `inset` is skipped and reported.
48
- // images <img> / background-image:url() → an `<image>`, inlined to a
49
- // data: URI when the canvas is readable.
50
- //
51
- // The SAME VNode tree then feeds the SVG serializer, the PDF painter and `vnodeBounds`,
52
- // all of which already understand these element types. The honest per-format story: SVG
53
- // and resvg render them faithfully; PDF flattens a gradient to a solid stop (with a
54
- // warning), omits the shadow blur (the box still draws), and CANNOT draw an image at all
55
- // (no image XObject) — so an image is reported as a PDF fidelity risk here rather than
56
- // vanishing silently.
57
- //
58
- // Two more things it transcribes:
59
- //
60
- // pseudo-elements `::before` / `::after` boxes, read via getComputedStyle(el, '::…').
61
- // A pseudo has NO element to getBoundingClientRect(), so its box is
62
- // DERIVED: explicit width/height + position offsets for an absolute
63
- // pseudo; the origin's content start (border + padding in) for a
64
- // static one. Quoted `content` strings go through the SAME text
65
- // emission as real text nodes (so text-transform etc. hold);
66
- // attr()/counter()/url() content is skipped and reported; a painted
67
- // pseudo whose box cannot be derived is reported, never guessed.
68
- // clipping `overflow: hidden|clip|auto|scroll` wraps the element's
69
- // DESCENDANTS in a `<g clip-path="url(#…)">` whose `<clipPath>` is
70
- // the (rounded) border box, so a chart or image inside a rounded
71
- // card cannot bleed past the corners; CSS `clip-path` basic shapes
72
- // (inset/circle/ellipse/polygon) wrap the element ITSELF the same
73
- // way; path()/url() clip-paths are skipped and reported (content
74
- // exports unclipped, not wrong). Nested clips compose as nested
75
- // groups. SVG/resvg honour clipPath faithfully; the PDF painter does
76
- // not yet apply clips, which is reported as a fidelity risk.
77
- // Transforms remain out of scope and, when they carry paint we cannot see, degrade to
78
- // the reported fidelity fallbacks.
79
- Object.defineProperty(exports, "__esModule", { value: true });
80
- exports.IMAGE_NOT_INLINED_WARNING = exports.IMAGE_PDF_WARNING = void 0;
81
- exports.captureCustomNodeHost = captureCustomNodeHost;
82
- exports.stripResolvedImageWarnings = stripResolvedImageWarnings;
83
- const custom_nodes_1 = require("./custom-nodes");
84
- const paint_servers_1 = require("../svg/paint-servers");
85
- const ELEMENT_NODE = 1;
86
- const TEXT_NODE = 3;
87
- /** Presentation properties lifted off computed style when transcribing inline SVG. */
88
- const SVG_PAINT_PROPS = [
89
- ['fill', 'fill'],
90
- ['fill-opacity', 'fillOpacity'],
91
- ['stroke', 'stroke'],
92
- ['stroke-width', 'strokeWidth'],
93
- ['stroke-opacity', 'strokeOpacity'],
94
- ['stroke-linecap', 'strokeLinecap'],
95
- ['stroke-linejoin', 'strokeLinejoin'],
96
- ['stroke-dasharray', 'strokeDasharray'],
97
- ['opacity', 'opacity'],
98
- ];
99
- /**
100
- * Text properties — applied ONLY to elements that can render glyphs. `getComputedStyle`
101
- * happily reports a font for every `<path>` and `<line>` in the document, and writing
102
- * those out would add a `font-family` to several hundred marks that can never draw a
103
- * character. That is pure file weight.
104
- */
105
- const SVG_TEXT_PROPS = [
106
- ['font-family', 'fontFamily'],
107
- ['font-size', 'fontSize'],
108
- ['font-weight', 'fontWeight'],
109
- ['letter-spacing', 'letterSpacing'],
110
- ['text-anchor', 'textAnchor'],
111
- ];
112
- const TEXT_ELEMENTS = new Set(['text', 'tspan', 'textPath']);
113
- /** Attributes that must NOT be copied verbatim — they are re-derived or meaningless here. */
114
- const SKIP_ATTRS = new Set(['class', 'style', 'xmlns']);
115
- /** Geometry-free SVG elements we never need to emit. */
116
- const SVG_IGNORED = new Set(['title', 'desc', 'metadata', 'script', 'style']);
117
- /**
118
- * Capture ONE custom node's host into plain data.
119
- *
120
- * Never throws: an export must not be taken down by a host in a state we did not
121
- * anticipate. A failed capture degrades to `fidelity: 'empty'`, which the pure layer
122
- * turns into a marked box and a warning — the whole point being that a blank is never
123
- * silent.
124
- */
125
- function captureCustomNodeHost(id, rect, host, options = {}) {
126
- var _a, _b, _c, _d;
127
- try {
128
- const el = host;
129
- const win = (_a = el === null || el === void 0 ? void 0 : el.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;
130
- if (!el || !win || typeof win.getComputedStyle !== 'function') {
131
- return { id, rect, fidelity: 'empty' };
132
- }
133
- const hostRect = el.getBoundingClientRect();
134
- // The html layer carries the camera as a CSS transform, so client rects come back
135
- // multiplied by the zoom. `offsetWidth` is layout space and is not, so their ratio
136
- // IS the zoom — no need to be told it.
137
- const inferred = hostRect.width > 0 && host.offsetWidth
138
- ? hostRect.width / host.offsetWidth
139
- : 1;
140
- const scale = options.scale && options.scale > 0 ? options.scale : inferred > 0 ? inferred : 1;
141
- const ctx = {
142
- win,
143
- originX: hostRect.left,
144
- originY: hostRect.top,
145
- scale,
146
- out: [],
147
- budget: (_b = options.maxElements) !== null && _b !== void 0 ? _b : 4000,
148
- sawUncapturable: false,
149
- warnings: [],
150
- emittedDefs: new Set(),
151
- // jsdom does not implement getComputedStyle(el, '::before') — it LOGS a
152
- // not-implemented error (it does not throw) and returns the element's own style,
153
- // once per call. Probing it per element would print hundreds of identical lines
154
- // into every jsdom-hosted test run for a fact known up front: jsdom announces
155
- // itself in the UA. Real browsers are untouched.
156
- pseudoUnsupported: /jsdom/i.test((_d = (_c = win.navigator) === null || _c === void 0 ? void 0 : _c.userAgent) !== null && _d !== void 0 ? _d : ''),
157
- };
158
- walk(el, ctx, ctx.out);
159
- if (ctx.out.length === 0)
160
- return { id, rect, fidelity: 'empty' };
161
- const warning = ctx.warnings.length ? dedupe(ctx.warnings).join(' ') : undefined;
162
- return warning
163
- ? { id, rect, fidelity: 'vector', content: ctx.out, warning }
164
- : { id, rect, fidelity: 'vector', content: ctx.out };
165
- }
166
- catch (_e) {
167
- return { id, rect, fidelity: 'empty' };
168
- }
169
- }
170
- /** Collapse repeated caveats — one gradient warning for a board of twelve is enough. */
171
- function dedupe(values) {
172
- return [...new Set(values)];
173
- }
174
- /** Client-space rect → host-local layout rect. */
175
- function localRect(ctx, r) {
176
- return {
177
- x: (r.left - ctx.originX) / ctx.scale,
178
- y: (r.top - ctx.originY) / ctx.scale,
179
- width: r.width / ctx.scale,
180
- height: r.height / ctx.scale,
181
- };
182
- }
183
- function isTransparent(color) {
184
- if (!color)
185
- return true;
186
- const c = color.trim().toLowerCase();
187
- if (c === 'transparent' || c === 'none')
188
- return true;
189
- // rgba(…, 0) — a zero alpha paints nothing.
190
- const m = /^rgba?\(([^)]+)\)$/.exec(c);
191
- if (m) {
192
- const parts = m[1].split(',').map(s => parseFloat(s.trim()));
193
- if (parts.length === 4 && !(parts[3] > 0))
194
- return true;
195
- }
196
- return false;
197
- }
198
- const px = (value) => {
199
- const v = parseFloat(value);
200
- return Number.isFinite(v) ? v : 0;
201
- };
202
- function walk(el, ctx, sink) {
203
- var _a, _b, _c, _d, _e;
204
- if (ctx.budget-- <= 0)
205
- return;
206
- const style = ctx.win.getComputedStyle(el);
207
- if (style['display'] === 'none' || style['visibility'] === 'hidden')
208
- return;
209
- // Fully transparent chrome — the kit's hover-revealed resize handle is exactly this.
210
- // It is not on screen, so it must not be in the file.
211
- if (parseFloat((_a = style['opacity']) !== null && _a !== void 0 ? _a : '1') === 0)
212
- return;
213
- if (el.localName === 'svg' && el.namespaceURI !== 'http://www.w3.org/1999/xhtml') {
214
- liftSvg(el, ctx, sink);
215
- return; // lifted whole — never descend, the transcription owns the subtree
216
- }
217
- const rect = localRect(ctx, el.getBoundingClientRect());
218
- const hasBox = rect.width > 0 && rect.height > 0;
219
- // Clipping. CSS `clip-path` clips the element ITSELF (own background included);
220
- // `overflow` clips only its DESCENDANTS. Each becomes a detached sink that is
221
- // wrapped in a `<g clip-path="url(#…)">` at the end — IF anything painted into it,
222
- // so an empty clip leaves neither a group nor a def behind. Nested clips compose
223
- // naturally: an inner clipped element builds its own group inside the outer one.
224
- const selfClip = hasBox ? clipPathShapeFor((_c = (_b = style['clip-path']) !== null && _b !== void 0 ? _b : style['clipPath']) !== null && _c !== void 0 ? _c : '', rect, ctx) : null;
225
- const overflowClip = hasBox ? overflowClipFor(style, rect) : null;
226
- const ownSink = selfClip ? [] : sink;
227
- const childSink = overflowClip ? [] : ownSink;
228
- if (hasBox) {
229
- emitBox(style, rect, ctx, ownSink);
230
- // An <img> paints its bitmap; that is its whole content and it has no children.
231
- if (el.localName === 'img')
232
- emitImage(el, rect, ctx, el.getAttribute('src'), ownSink);
233
- }
234
- // Does the origin have flow content of its own? A static ::after flows AFTER it,
235
- // at a position this transcriber cannot measure — that case warns instead of guessing.
236
- let hasFlowContent = false;
237
- for (let i = 0; i < el.childNodes.length; i++) {
238
- const child = el.childNodes[i];
239
- if (child.nodeType === ELEMENT_NODE ||
240
- (child.nodeType === TEXT_NODE && ((_d = child.nodeValue) !== null && _d !== void 0 ? _d : '').trim() !== '')) {
241
- hasFlowContent = true;
242
- break;
243
- }
244
- }
245
- const beforeExists = hasBox ? emitPseudo(el, style, rect, '::before', ctx, childSink, false) : false;
246
- for (let i = 0; i < el.childNodes.length; i++) {
247
- const child = el.childNodes[i];
248
- if (child.nodeType === ELEMENT_NODE) {
249
- walk(child, ctx, childSink);
250
- }
251
- else if (child.nodeType === TEXT_NODE && ((_e = child.nodeValue) !== null && _e !== void 0 ? _e : '').trim() !== '') {
252
- emitText(el, child, style, ctx, childSink);
253
- }
254
- }
255
- if (hasBox)
256
- emitPseudo(el, style, rect, '::after', ctx, childSink, hasFlowContent || beforeExists);
257
- if (overflowClip && childSink.length > 0) {
258
- pushDef(ctx, overflowClip.id, () => overflowClip.def);
259
- ownSink.push({
260
- type: 'g',
261
- props: { 'clip-path': `url(#${overflowClip.id})` },
262
- children: childSink,
263
- });
264
- }
265
- if (selfClip && ownSink.length > 0) {
266
- pushDef(ctx, selfClip.id, () => selfClip.def);
267
- sink.push({
268
- type: 'g',
269
- props: { 'clip-path': `url(#${selfClip.id})` },
270
- children: ownSink,
271
- });
272
- }
273
- }
274
- /**
275
- * Background fill and borders → `<rect>` / `<line>`, pushed into `sink` (the display
276
- * list of whatever clip scope the element lives in). Also used for a pseudo-element's
277
- * derived box — the style record is then the PSEUDO's computed style, which is what
278
- * makes gradients/shadows/borders on a `::before` ride the exact same code.
279
- */
280
- function emitBox(style, rect, ctx, sink) {
281
- var _a, _b, _c, _d, _e, _f, _g, _h;
282
- const bg = (_b = (_a = style['background-color']) !== null && _a !== void 0 ? _a : style['backgroundColor']) !== null && _b !== void 0 ? _b : '';
283
- const radius = px((_d = (_c = style['border-top-left-radius']) !== null && _c !== void 0 ? _c : style['borderTopLeftRadius']) !== null && _d !== void 0 ? _d : '0');
284
- // A CSS `background-image` is either a gradient (→ paint-server fill) or a bitmap
285
- // (→ an <image> behind the content). Its computed value keeps the layers we authored.
286
- const bgImage = (_f = (_e = style['background-image']) !== null && _e !== void 0 ? _e : style['backgroundImage']) !== null && _f !== void 0 ? _f : '';
287
- const gradientFill = gradientFillFor(bgImage, rect, ctx);
288
- // The box's fill: a gradient wins over a flat colour (CSS paints the image over the
289
- // colour), and either one is what a drop shadow is cast from.
290
- const fill = gradientFill !== null && gradientFill !== void 0 ? gradientFill : (isTransparent(bg) ? undefined : bg);
291
- const shadowRef = shadowFilterFor((_h = (_g = style['box-shadow']) !== null && _g !== void 0 ? _g : style['boxShadow']) !== null && _h !== void 0 ? _h : '', ctx);
292
- if (fill !== undefined) {
293
- sink.push({
294
- type: 'rect',
295
- props: Object.assign(Object.assign(Object.assign({ x: round(rect.x), y: round(rect.y), width: round(rect.width), height: round(rect.height) }, (radius > 0 ? { rx: round(radius) } : {})), { fill }), (shadowRef ? { filter: shadowRef } : {})),
296
- children: [],
297
- });
298
- }
299
- else if (shadowRef) {
300
- // A shadow with nothing to cast it from: feDropShadow blurs the source graphic's
301
- // alpha, and a box with no fill has none. Report rather than emit a shadow of nothing.
302
- ctx.warnings.push('a box-shadow on a widget with no painted background was omitted.');
303
- }
304
- // A bitmap background sits behind the element's content — emitted here, before the
305
- // children the walk descends into next.
306
- emitBackgroundImage(bgImage, rect, ctx, sink);
307
- // Borders. A uniform box gets one stroked rect; anything else (a table's row rule is
308
- // a bottom border only) gets a line per painted side, which is the only way those
309
- // survive at all.
310
- const sides = ['top', 'right', 'bottom', 'left'].map(side => {
311
- var _a, _b, _c;
312
- return ({
313
- side,
314
- width: px((_a = style[`border-${side}-width`]) !== null && _a !== void 0 ? _a : ''),
315
- color: (_b = style[`border-${side}-color`]) !== null && _b !== void 0 ? _b : '',
316
- style: (_c = style[`border-${side}-style`]) !== null && _c !== void 0 ? _c : 'none',
317
- });
318
- });
319
- const painted = sides.filter(s => s.width > 0 && s.style !== 'none' && !isTransparent(s.color));
320
- if (painted.length === 0)
321
- return;
322
- const uniform = painted.length === 4 &&
323
- painted.every(s => s.width === painted[0].width && s.color === painted[0].color);
324
- if (uniform) {
325
- const w = painted[0].width;
326
- // A CSS border sits INSIDE the box; an SVG stroke straddles the path. Inset by half.
327
- sink.push({
328
- type: 'rect',
329
- props: Object.assign(Object.assign({ x: round(rect.x + w / 2), y: round(rect.y + w / 2), width: round(Math.max(0, rect.width - w)), height: round(Math.max(0, rect.height - w)) }, (radius > 0 ? { rx: round(Math.max(0, radius - w / 2)) } : {})), { fill: 'none', stroke: painted[0].color, 'stroke-width': round(w) }),
330
- children: [],
331
- });
332
- return;
333
- }
334
- for (const s of painted) {
335
- const inset = s.width / 2;
336
- const [x1, y1, x2, y2] = s.side === 'top'
337
- ? [rect.x, rect.y + inset, rect.x + rect.width, rect.y + inset]
338
- : s.side === 'bottom'
339
- ? [rect.x, rect.y + rect.height - inset, rect.x + rect.width, rect.y + rect.height - inset]
340
- : s.side === 'left'
341
- ? [rect.x + inset, rect.y, rect.x + inset, rect.y + rect.height]
342
- : [rect.x + rect.width - inset, rect.y, rect.x + rect.width - inset, rect.y + rect.height];
343
- sink.push({
344
- type: 'line',
345
- props: {
346
- x1: round(x1),
347
- y1: round(y1),
348
- x2: round(x2),
349
- y2: round(y2),
350
- stroke: s.color,
351
- 'stroke-width': round(s.width),
352
- },
353
- children: [],
354
- });
355
- }
356
- }
357
- /**
358
- * One run of text → `<text>`.
359
- *
360
- * The position comes from a Range over the text node, which is the TIGHT laid-out box
361
- * — the parent's box would be the whole card for a title. SVG's `y` is the baseline
362
- * and CSS gives us a line box, so the baseline is derived from the box centre and the
363
- * font size; that is an approximation, but it is the same one every HTML→SVG
364
- * transcriber makes and it is visually indistinguishable for single-line runs.
365
- */
366
- function emitText(parent, textNode, style, ctx, sink) {
367
- var _a, _b, _c;
368
- const raw = ((_a = textNode.nodeValue) !== null && _a !== void 0 ? _a : '').replace(/\s+/g, ' ').trim();
369
- if (raw === '')
370
- return;
371
- const doc = ((_b = parent.ownerDocument) !== null && _b !== void 0 ? _b : null);
372
- let box = null;
373
- try {
374
- const range = (_c = doc === null || doc === void 0 ? void 0 : doc.createRange) === null || _c === void 0 ? void 0 : _c.call(doc);
375
- if (range) {
376
- range.selectNodeContents(textNode);
377
- const r = range.getBoundingClientRect();
378
- if (r && r.width >= 0 && r.height > 0)
379
- box = r;
380
- }
381
- }
382
- catch (_d) {
383
- /* fall through to the parent's box */
384
- }
385
- if (!box)
386
- box = parent.getBoundingClientRect();
387
- const rect = localRect(ctx, box);
388
- if (!(rect.height > 0))
389
- return;
390
- pushTextVNode(raw, rect, style, ctx, sink);
391
- }
392
- /**
393
- * The one place a run of text becomes a `<text>` VNode. Real text nodes arrive here
394
- * with their Range-measured box; pseudo-element `content` strings arrive with their
395
- * DERIVED box — and because both go through this, text-transform, colour, tracking and
396
- * the baseline approximation cannot drift between the two.
397
- */
398
- function pushTextVNode(raw, rect, style, ctx, sink) {
399
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
400
- const collapsed = raw.replace(/\s+/g, ' ').trim();
401
- if (collapsed === '')
402
- return;
403
- // `text-transform` is applied by the RENDERER, not stored in the text node — the DOM
404
- // still says "Total revenue" while the screen says "TOTAL REVENUE". Copying nodeValue
405
- // verbatim is how an export comes out subtly but visibly wrong on every widget title.
406
- const content = applyTextTransform(collapsed, (_a = style['text-transform']) !== null && _a !== void 0 ? _a : style['textTransform']);
407
- const fontSize = px((_c = (_b = style['font-size']) !== null && _b !== void 0 ? _b : style['fontSize']) !== null && _c !== void 0 ? _c : '12') / 1;
408
- const align = ((_e = (_d = style['text-align']) !== null && _d !== void 0 ? _d : style['textAlign']) !== null && _e !== void 0 ? _e : 'start').toLowerCase();
409
- const anchor = align === 'center' ? 'middle' : align === 'right' || align === 'end' ? 'end' : 'start';
410
- const x = anchor === 'middle' ? rect.x + rect.width / 2 : anchor === 'end' ? rect.x + rect.width : rect.x;
411
- // Alphabetic baseline ≈ 0.36em below the centre of the line box for typical faces.
412
- const y = rect.y + rect.height / 2 + fontSize * 0.36;
413
- const color = (_f = style['color']) !== null && _f !== void 0 ? _f : '#000';
414
- const tracking = px((_h = (_g = style['letter-spacing']) !== null && _g !== void 0 ? _g : style['letterSpacing']) !== null && _h !== void 0 ? _h : '');
415
- sink.push({
416
- type: 'text',
417
- props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ x: round(x), y: round(y) }, (anchor !== 'start' ? { 'text-anchor': anchor } : {})), { 'font-family': (_k = (_j = style['font-family']) !== null && _j !== void 0 ? _j : style['fontFamily']) !== null && _k !== void 0 ? _k : 'sans-serif', 'font-size': round(fontSize) }), (normalWeight(style) ? {} : { 'font-weight': (_l = style['font-weight']) !== null && _l !== void 0 ? _l : style['fontWeight'] })), (tracking ? { 'letter-spacing': round(tracking) } : {})), { fill: color, textContent: content }),
418
- children: [],
419
- });
420
- }
421
- /** What the renderer does to the text on the way to the screen. */
422
- function applyTextTransform(text, transform) {
423
- switch ((transform !== null && transform !== void 0 ? transform : '').toLowerCase()) {
424
- case 'uppercase':
425
- return text.toUpperCase();
426
- case 'lowercase':
427
- return text.toLowerCase();
428
- case 'capitalize':
429
- return text.replace(/(^|\s)(\S)/g, (_, lead, ch) => lead + ch.toUpperCase());
430
- default:
431
- return text;
432
- }
433
- }
434
- function normalWeight(style) {
435
- var _a, _b;
436
- const w = String((_b = (_a = style['font-weight']) !== null && _a !== void 0 ? _a : style['fontWeight']) !== null && _b !== void 0 ? _b : '400');
437
- return w === '400' || w === 'normal';
438
- }
439
- /**
440
- * Lift an inline `<svg>` into the display list.
441
- *
442
- * This is the fidelity win: the kit draws every chart as inline SVG, so a donut's arcs,
443
- * a bar's rects and a line's polylines come across as THEMSELVES — real vector, exact
444
- * geometry, valid in a PDF. The two things that must happen on the way:
445
- *
446
- * 1. the viewBox fit is baked into a transform (see `viewBoxTransform`), because no
447
- * target downstream of here implements nested-`<svg>` viewBox mapping;
448
- * 2. every paint is read from COMPUTED style, which is what resolves the kit's
449
- * `var(--axdb-grid)` / `var(--axdb-ink)` into literal colours. Copying attributes
450
- * verbatim would carry `var(…)` into the file and break the export's standing
451
- * "no unresolved custom properties" guarantee — the values would render black, or
452
- * not at all, outside a browser.
453
- */
454
- function liftSvg(el, ctx, sink) {
455
- var _a;
456
- const rect = localRect(ctx, el.getBoundingClientRect());
457
- if (!(rect.width > 0) || !(rect.height > 0))
458
- return;
459
- const viewBox = parseViewBox(el.getAttribute('viewBox'));
460
- const fit = viewBox
461
- ? (0, custom_nodes_1.viewBoxTransform)(viewBox, rect, (_a = el.getAttribute('preserveAspectRatio')) !== null && _a !== void 0 ? _a : 'xMidYMid meet')
462
- : '';
463
- const children = [];
464
- for (let i = 0; i < el.childNodes.length; i++) {
465
- const child = el.childNodes[i];
466
- if (child.nodeType !== ELEMENT_NODE)
467
- continue;
468
- const vnode = transcribeSvgElement(child, ctx);
469
- if (vnode)
470
- children.push(vnode);
471
- }
472
- if (children.length === 0)
473
- return;
474
- const transform = [`translate(${round(rect.x)} ${round(rect.y)})`, fit].filter(Boolean).join(' ');
475
- sink.push({
476
- type: 'g',
477
- props: { transform, className: 'grafloria-lifted-svg' },
478
- children,
479
- });
480
- }
481
- function parseViewBox(raw) {
482
- if (!raw)
483
- return null;
484
- const parts = raw.trim().split(/[\s,]+/).map(Number);
485
- if (parts.length !== 4 || !parts.every(Number.isFinite))
486
- return null;
487
- return { x: parts[0], y: parts[1], width: parts[2], height: parts[3] };
488
- }
489
- function transcribeSvgElement(el, ctx) {
490
- var _a, _b, _c;
491
- if (ctx.budget-- <= 0)
492
- return null;
493
- if (SVG_IGNORED.has(el.localName))
494
- return null;
495
- const style = ctx.win.getComputedStyle(el);
496
- if (style['display'] === 'none' || style['visibility'] === 'hidden')
497
- return null;
498
- const props = {};
499
- // Geometry and every other authored attribute, verbatim.
500
- for (let i = 0; i < el.attributes.length; i++) {
501
- const attr = el.attributes[i];
502
- if (SKIP_ATTRS.has(attr.name))
503
- continue;
504
- props[attr.name] = attr.value;
505
- }
506
- // Paint, RESOLVED — this is what turns `var(--axdb-grid)` into a colour.
507
- const wanted = TEXT_ELEMENTS.has(el.localName)
508
- ? [...SVG_PAINT_PROPS, ...SVG_TEXT_PROPS]
509
- : SVG_PAINT_PROPS;
510
- for (const [attr, prop] of wanted) {
511
- const value = (_a = style[attr]) !== null && _a !== void 0 ? _a : style[prop];
512
- if (value === undefined || value === '' || value === 'normal')
513
- continue;
514
- props[attr] = value;
515
- }
516
- const children = [];
517
- let text;
518
- for (let i = 0; i < el.childNodes.length; i++) {
519
- const child = el.childNodes[i];
520
- if (child.nodeType === ELEMENT_NODE) {
521
- const vnode = transcribeSvgElement(child, ctx);
522
- if (vnode)
523
- children.push(vnode);
524
- }
525
- else if (child.nodeType === TEXT_NODE && ((_b = child.nodeValue) !== null && _b !== void 0 ? _b : '').trim() !== '') {
526
- text = (text !== null && text !== void 0 ? text : '') + ((_c = child.nodeValue) !== null && _c !== void 0 ? _c : '');
527
- }
528
- }
529
- if (text !== undefined && children.length === 0)
530
- props['textContent'] = text;
531
- return { type: el.localName, props, children };
532
- }
533
- // ---------------------------------------------------------------------------
534
- // CSS paint transcription — gradients, shadows, images.
535
- //
536
- // These read COMPUTED style values (rgb()/rgba() colours, px lengths, resolved angles),
537
- // so the parsing is deliberately narrow: it handles the forms a browser actually emits
538
- // from getComputedStyle, not the full authoring grammar. Everything reuses the renderer's
539
- // own paint-server VNode builders (`svg/paint-servers.ts`) so the def shapes live in one
540
- // place. Def dedup is by the stable `paintDefId` hash: identical paint → one def.
541
- // ---------------------------------------------------------------------------
542
- /**
543
- * The capture-time verdict on an external image, EXPORTED because the async export path
544
- * revises it: `await export(…)` fetches external URLs (environment fetch, then
545
- * `ExportOptions.assetFetcher`) and STRIPS this warning from any capture whose images it
546
- * embedded — see `stripResolvedImageWarnings`. The synchronous entry points cannot fetch,
547
- * so for them this text is the whole truth, and it names the way out.
548
- */
549
- exports.IMAGE_PDF_WARNING = 'a widget image references an EXTERNAL URL — a synchronous export keeps the link (the ' +
550
- 'SVG renders online, but a PDF cannot fetch a URL, so it will be MISSING from a PDF ' +
551
- 'export). `await export(…)` embeds the image when its server allows CORS or when ' +
552
- 'ExportOptions.assetFetcher is supplied.';
553
- /** Companion caveat from `resolveImageHref` — same lifecycle as {@link IMAGE_PDF_WARNING}. */
554
- exports.IMAGE_NOT_INLINED_WARNING = 'an image could not be inlined (cross-origin or unloaded) — the export references it ' +
555
- 'externally and is not fully self-contained.';
556
- /**
557
- * Remove the two external-image caveats from a capture's warning — called by the async
558
- * export AFTER it embedded every external image the capture held, at which point both
559
- * sentences assert a problem that no longer exists (the same defect, mirrored, as
560
- * staying silent about one that does). Returns undefined when nothing else remains.
561
- */
562
- function stripResolvedImageWarnings(warning) {
563
- if (!warning)
564
- return warning;
565
- const stripped = warning
566
- .replace(exports.IMAGE_PDF_WARNING, '')
567
- .replace(exports.IMAGE_NOT_INLINED_WARNING, '')
568
- .replace(/\s+/g, ' ')
569
- .trim();
570
- return stripped === '' ? undefined : stripped;
571
- }
572
- /** Register a def VNode once per capture; identical defs (same id) collapse to one. */
573
- function pushDef(ctx, id, build) {
574
- if (ctx.emittedDefs.has(id))
575
- return;
576
- ctx.emittedDefs.add(id);
577
- ctx.out.push(build());
578
- }
579
- /** Split on TOP-LEVEL commas only — commas inside `rgb(…)` / nested `()` are left alone. */
580
- function splitTopLevel(value) {
581
- const out = [];
582
- let depth = 0;
583
- let cur = '';
584
- for (const ch of value) {
585
- if (ch === '(')
586
- depth++;
587
- else if (ch === ')')
588
- depth--;
589
- if (ch === ',' && depth === 0) {
590
- out.push(cur);
591
- cur = '';
592
- }
593
- else {
594
- cur += ch;
595
- }
596
- }
597
- if (cur.trim() !== '')
598
- out.push(cur);
599
- return out.map(s => s.trim());
600
- }
601
- const COLOR_TOKEN = /(rgba?\([^)]*\)|hsla?\([^)]*\)|#[0-9a-fA-F]{3,8})/;
602
- /** Does an argument carry a colour (→ a stop), or is it a direction/shape config? */
603
- function looksLikeColor(arg) {
604
- return COLOR_TOKEN.test(arg);
605
- }
606
- /** The one flat colour that best stands in — the fill a box wears when a gradient is present. */
607
- function gradientFillFor(bgImage, rect, ctx) {
608
- const grad = parseGradient(bgImage);
609
- if (!grad)
610
- return undefined;
611
- for (const c of grad.caveats)
612
- ctx.warnings.push(c);
613
- if (grad.kind === 'linear') {
614
- const e = linearEndpoints(grad.angle, rect);
615
- const id = (0, paint_servers_1.paintDefId)(Object.assign(Object.assign({ k: 'l' }, e), { stops: grad.stops }));
616
- pushDef(ctx, id, () => (0, paint_servers_1.buildLinearGradientUserSpace)(id, Object.assign(Object.assign({}, e), { stops: grad.stops })));
617
- return `url(#${id})`;
618
- }
619
- const g = radialGeometry(grad, rect);
620
- const id = (0, paint_servers_1.paintDefId)(Object.assign(Object.assign({ k: 'r' }, g), { stops: grad.stops }));
621
- pushDef(ctx, id, () => (0, paint_servers_1.buildRadialGradientUserSpace)(id, Object.assign(Object.assign({}, g), { stops: grad.stops })));
622
- return `url(#${id})`;
623
- }
624
- /** Parse a computed `background-image` gradient. Returns null for a bitmap or `none`. */
625
- function parseGradient(bgImage) {
626
- const raw = (bgImage !== null && bgImage !== void 0 ? bgImage : '').trim();
627
- if (!raw || raw === 'none')
628
- return null;
629
- const layers = splitTopLevel(raw);
630
- const caveats = [];
631
- if (layers.length > 1)
632
- caveats.push('only the first of multiple background-image layers was exported.');
633
- const m = /^(repeating-)?(linear|radial)-gradient\(([\s\S]*)\)$/i.exec(layers[0]);
634
- if (!m)
635
- return null;
636
- if (m[1])
637
- caveats.push('a repeating gradient was exported as a single non-repeating gradient.');
638
- const kind = m[2].toLowerCase();
639
- const args = splitTopLevel(m[3]);
640
- if (args.length === 0)
641
- return null;
642
- let angle = 180; // CSS default direction is `to bottom`
643
- let center = null;
644
- let stopArgs = args;
645
- if (!looksLikeColor(args[0])) {
646
- if (kind === 'linear')
647
- angle = parseAngle(args[0]);
648
- else
649
- center = parseRadialCenter(args[0]);
650
- stopArgs = args.slice(1);
651
- }
652
- const stops = parseStops(stopArgs);
653
- if (stops.length < 2)
654
- return null;
655
- return { kind, angle, center, stops, caveats };
656
- }
657
- /** A CSS gradient angle/side → degrees (0=up, 90=right, clockwise). */
658
- function parseAngle(token) {
659
- const t = token.trim().toLowerCase();
660
- const m = /^(-?[\d.]+)(deg|grad|rad|turn)?$/.exec(t);
661
- if (m) {
662
- const v = parseFloat(m[1]);
663
- switch (m[2]) {
664
- case 'rad':
665
- return (v * 180) / Math.PI;
666
- case 'grad':
667
- return v * 0.9;
668
- case 'turn':
669
- return v * 360;
670
- default:
671
- return v;
672
- }
673
- }
674
- if (t.startsWith('to ')) {
675
- const sides = new Set(t.slice(3).trim().split(/\s+/));
676
- const top = sides.has('top');
677
- const bottom = sides.has('bottom');
678
- const left = sides.has('left');
679
- const right = sides.has('right');
680
- // Corner directions are approximated by their 45° diagonal — exact CSS corner angles
681
- // depend on the box aspect ratio, which is a refinement not worth its complexity here.
682
- if (top && right)
683
- return 45;
684
- if (bottom && right)
685
- return 135;
686
- if (bottom && left)
687
- return 225;
688
- if (top && left)
689
- return 315;
690
- if (top)
691
- return 0;
692
- if (right)
693
- return 90;
694
- if (left)
695
- return 270;
696
- return 180; // bottom
697
- }
698
- return 180;
699
- }
700
- /** Endpoints for a linear gradient, in host-local pixel space (userSpaceOnUse). */
701
- function linearEndpoints(angleDeg, rect) {
702
- const th = (angleDeg * Math.PI) / 180;
703
- const s = Math.sin(th);
704
- const c = Math.cos(th);
705
- const w = rect.width;
706
- const h = rect.height;
707
- const cx = rect.x + w / 2;
708
- const cy = rect.y + h / 2;
709
- // The gradient line runs through the centre and spans corner-to-corner.
710
- const len = Math.abs(w * s) + Math.abs(h * c);
711
- // y is DOWN in SVG, so the "to top" direction (θ=0) is (0,-1): end = centre + (s,-c)·len/2.
712
- return {
713
- x1: round(cx - (s * len) / 2),
714
- y1: round(cy + (c * len) / 2),
715
- x2: round(cx + (s * len) / 2),
716
- y2: round(cy - (c * len) / 2),
717
- };
718
- }
719
- /** Centre + radius for a radial gradient, host-local pixels. Default: centre, farthest-corner. */
720
- function radialGeometry(grad, rect) {
721
- var _a, _b, _c, _d;
722
- const fx = (_b = (_a = grad.center) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0.5;
723
- const fy = (_d = (_c = grad.center) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0.5;
724
- const cx = rect.x + rect.width * fx;
725
- const cy = rect.y + rect.height * fy;
726
- // Default ending shape/size is farthest-corner: the max distance from the centre to any
727
- // of the box's four corners.
728
- const dx = Math.max(cx - rect.x, rect.x + rect.width - cx);
729
- const dy = Math.max(cy - rect.y, rect.y + rect.height - cy);
730
- return { cx: round(cx), cy: round(cy), r: round(Math.hypot(dx, dy)) };
731
- }
732
- /** `circle at 25% 75%` / `at center` → the centre as 0–1 fractions, or null for default. */
733
- function parseRadialCenter(config) {
734
- var _a, _b, _c;
735
- const at = /\bat\s+(.+)$/i.exec(config.trim());
736
- if (!at)
737
- return null;
738
- const parts = at[1].trim().split(/\s+/);
739
- const axis = (token, horizontal) => {
740
- const t = token.toLowerCase();
741
- if (t === 'center')
742
- return 0.5;
743
- if (t === 'left')
744
- return 0;
745
- if (t === 'right')
746
- return 1;
747
- if (t === 'top')
748
- return 0;
749
- if (t === 'bottom')
750
- return 1;
751
- const pct = /^(-?[\d.]+)%$/.exec(t);
752
- if (pct)
753
- return parseFloat(pct[1]) / 100;
754
- return horizontal ? 0.5 : 0.5;
755
- };
756
- const x = axis((_a = parts[0]) !== null && _a !== void 0 ? _a : 'center', true);
757
- const y = axis((_c = (_b = parts[1]) !== null && _b !== void 0 ? _b : parts[0]) !== null && _c !== void 0 ? _c : 'center', false);
758
- return { x, y };
759
- }
760
- /** Parse the colour-stop list, filling in unpositioned stops by even distribution. */
761
- function parseStops(parts) {
762
- const raw = parts.map(parseStop).filter((s) => s !== null);
763
- if (raw.length === 0)
764
- return [];
765
- if (raw[0].offset == null)
766
- raw[0].offset = 0;
767
- if (raw[raw.length - 1].offset == null)
768
- raw[raw.length - 1].offset = 1;
769
- // Fill each run of unpositioned stops by interpolating between its anchored neighbours.
770
- let i = 0;
771
- while (i < raw.length) {
772
- if (raw[i].offset != null) {
773
- i++;
774
- continue;
775
- }
776
- let j = i;
777
- while (j < raw.length && raw[j].offset == null)
778
- j++;
779
- const prev = raw[i - 1].offset;
780
- const next = raw[j].offset;
781
- const gap = j - (i - 1);
782
- for (let k = i; k < j; k++)
783
- raw[k].offset = prev + ((next - prev) * (k - (i - 1))) / gap;
784
- i = j;
785
- }
786
- return raw.map(s => (Object.assign({ offset: round(s.offset), color: s.color }, (s.opacity !== undefined ? { opacity: s.opacity } : {}))));
787
- }
788
- /** One `rgb(…) 40%` stop → colour + optional offset (fraction) + optional split-out alpha. */
789
- function parseStop(part) {
790
- const t = part.trim();
791
- const cm = COLOR_TOKEN.exec(t);
792
- if (!cm)
793
- return null;
794
- const rawColor = cm[0];
795
- const rest = t.slice(0, cm.index) + t.slice(cm.index + rawColor.length);
796
- const pm = /(-?[\d.]+)%/.exec(rest);
797
- const offset = pm ? Math.max(0, Math.min(1, parseFloat(pm[1]) / 100)) : null;
798
- return Object.assign(Object.assign({}, splitAlpha(rawColor)), { offset });
799
- }
800
- /** rgba(r,g,b,a<1) → { color: rgb(r,g,b), opacity: a }. Everything else passes through. */
801
- function splitAlpha(color) {
802
- const m = /^rgba\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)$/i.exec(color.trim());
803
- if (m) {
804
- const a = parseFloat(m[4]);
805
- if (a < 1)
806
- return { color: `rgb(${m[1]}, ${m[2]}, ${m[3]})`, opacity: a };
807
- return { color: `rgb(${m[1]}, ${m[2]}, ${m[3]})` };
808
- }
809
- return { color };
810
- }
811
- // -- box-shadow --------------------------------------------------------------
812
- /** Build the drop-shadow filter def for a box-shadow and return its `url(#…)` ref. */
813
- function shadowFilterFor(boxShadow, ctx) {
814
- const raw = (boxShadow !== null && boxShadow !== void 0 ? boxShadow : '').trim();
815
- if (!raw || raw === 'none')
816
- return undefined;
817
- const shadows = splitTopLevel(raw);
818
- const first = shadows[0];
819
- if (/\binset\b/i.test(first)) {
820
- ctx.warnings.push('an inset box-shadow was skipped — inset shadows are not exported.');
821
- return undefined;
822
- }
823
- if (shadows.length > 1)
824
- ctx.warnings.push('only the first of multiple box-shadows was exported.');
825
- const shadow = parseShadow(first);
826
- if (!shadow)
827
- return undefined;
828
- const id = (0, paint_servers_1.paintDefId)({ shadow });
829
- pushDef(ctx, id, () => (0, paint_servers_1.buildShadowFilterVNode)(id, shadow));
830
- return `url(#${id})`;
831
- }
832
- /** `rgba(…) 2px 4px 12px 0px` (computed form: colour first) → a Shadow spec, or null. */
833
- function parseShadow(value) {
834
- var _a;
835
- const t = value.trim();
836
- const cm = COLOR_TOKEN.exec(t);
837
- const color = cm ? cm[0] : 'rgba(0, 0, 0, 0.35)';
838
- const rest = cm ? t.slice(0, cm.index) + t.slice(cm.index + color.length) : t;
839
- const nums = ((_a = rest.match(/-?[\d.]+px/g)) !== null && _a !== void 0 ? _a : []).map(v => parseFloat(v));
840
- if (nums.length < 2)
841
- return null;
842
- const [offsetX, offsetY, blur = 0] = nums; // a 4th value is spread, which SVG has no analogue for
843
- // CSS blur radius ≈ 2× the Gaussian std-deviation — halve it so the shadow is as soft as
844
- // the browser paints it, matching the serializer's own `blur()` translation.
845
- return { offsetX, offsetY, blur: round(blur / 2), color };
846
- }
847
- // -- images ------------------------------------------------------------------
848
- /** `background-image: url("…")` → an `<image>` behind the element's content. */
849
- function emitBackgroundImage(bgImage, rect, ctx, sink) {
850
- const url = parseBgUrl(bgImage);
851
- if (!url)
852
- return;
853
- emitImage(null, rect, ctx, url, sink);
854
- }
855
- /** The first `url(…)` in a computed `background-image`, unquoted, or null. */
856
- function parseBgUrl(bgImage) {
857
- const m = /url\(\s*(['"]?)([^'")]+)\1\s*\)/i.exec(bgImage !== null && bgImage !== void 0 ? bgImage : '');
858
- return m ? m[2] : null;
859
- }
860
- /**
861
- * Emit an `<image>` for an `<img>` (pass the element) or a CSS bitmap (pass null).
862
- * Inlined to a data: URI when the pixels are readable, so the file stays self-contained;
863
- * ALWAYS warned, because PDF cannot draw an image at all.
864
- */
865
- function emitImage(el, rect, ctx, src, sink) {
866
- if (!src)
867
- return;
868
- const href = resolveImageHref(el, src, ctx);
869
- // Only an EXTERNAL image is a PDF risk now: the PDF writer embeds data: PNGs/JPEGs
870
- // as image XObjects (b2854b0a1) and carries its own precise warnings for the forms
871
- // it refuses (interlaced, 16-bit, CMYK…). An external URL it cannot fetch, so that
872
- // half of the old blanket warning is the half that stays.
873
- if (!href.startsWith('data:'))
874
- ctx.warnings.push(exports.IMAGE_PDF_WARNING);
875
- sink.push({
876
- type: 'image',
877
- props: {
878
- x: round(rect.x),
879
- y: round(rect.y),
880
- width: round(rect.width),
881
- height: round(rect.height),
882
- href,
883
- },
884
- children: [],
885
- });
886
- }
887
- /** A data: URI if we can read the bitmap; otherwise the original src (external, warned). */
888
- function resolveImageHref(el, src, ctx) {
889
- if (src.startsWith('data:'))
890
- return src;
891
- const inlined = el ? tryCanvasInline(el, ctx) : null;
892
- if (inlined)
893
- return inlined;
894
- ctx.warnings.push(exports.IMAGE_NOT_INLINED_WARNING);
895
- return src;
896
- }
897
- /** Read a loaded, same-origin `<img>` to a PNG data URI via a canvas. Null on any failure. */
898
- function tryCanvasInline(el, ctx) {
899
- var _a, _b;
900
- try {
901
- const doc = el.ownerDocument;
902
- if (!doc || typeof doc.createElement !== 'function')
903
- return null;
904
- const img = el;
905
- const nw = (_a = img.naturalWidth) !== null && _a !== void 0 ? _a : 0;
906
- const nh = (_b = img.naturalHeight) !== null && _b !== void 0 ? _b : 0;
907
- if (!nw || !nh)
908
- return null;
909
- const canvas = doc.createElement('canvas');
910
- canvas.width = nw;
911
- canvas.height = nh;
912
- const context = canvas.getContext('2d');
913
- if (!context)
914
- return null;
915
- context.drawImage(el, 0, 0);
916
- return canvas.toDataURL('image/png');
917
- }
918
- catch (_c) {
919
- ctx.warnings.push('an image could not be inlined (cross-origin or unloaded) — the export references it ' +
920
- 'externally and is not fully self-contained.');
921
- return null;
922
- }
923
- }
924
- // -- pseudo-elements ---------------------------------------------------------
925
- //
926
- // `getComputedStyle(el, '::before')` reports a pseudo's computed style, but a pseudo
927
- // has NO element to getBoundingClientRect() — its box must be DERIVED:
928
- //
929
- // absolute/fixed left/top (or right/bottom + size) offsets against the origin's
930
- // border box, plus computed width/height. This is the decorative-
931
- // pseudo idiom and it derives exactly.
932
- // static/relative a ::before flows at the origin's CONTENT start (border + padding
933
- // in). A ::after only flows there when the origin has no other flow
934
- // content — otherwise its position depends on layout this
935
- // transcriber cannot measure, and it warns instead of guessing.
936
- //
937
- // Sizes: explicit px/% resolve; `auto` resolves for a TEXT pseudo (its line box is
938
- // derived from its own font, the same approximation `emitText` makes), but a PAINTED
939
- // box with auto size is underivable and is reported, never guessed.
940
- /** A px/% length against a basis. Returns null for auto/keywords/unparsable. */
941
- function resolveLen(token, basis) {
942
- const t = (token !== null && token !== void 0 ? token : '').trim();
943
- if (t === '')
944
- return null;
945
- const pct = /^(-?[\d.]+)%$/.exec(t);
946
- if (pct)
947
- return (parseFloat(pct[1]) / 100) * basis;
948
- const abs = /^(-?[\d.]+)(?:px)?$/.exec(t);
949
- if (abs)
950
- return parseFloat(abs[1]);
951
- return null;
952
- }
953
- /** Everything outside quoted strings — for detecting attr()/counter()/url() content. */
954
- function stripQuoted(value) {
955
- return value.replace(/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g, '');
956
- }
957
- /**
958
- * A computed `content` value → the text it contributes. Quoted strings (and their
959
- * concatenation) are transcribed; attr()/counter()/url() cannot be resolved from
960
- * computed style alone and are skipped WITH a warning. The `/ "alt text"` clause is
961
- * not rendered content and is cut.
962
- */
963
- function parsePseudoContent(value, ctx) {
964
- if (/(attr|counters?|url|image-set)\s*\(/i.test(stripQuoted(value))) {
965
- ctx.warnings.push('a pseudo-element content value (attr()/counter()/url()) was skipped — only quoted ' +
966
- 'strings are transcribed.');
967
- }
968
- let out = '';
969
- let quote = null;
970
- for (let i = 0; i < value.length; i++) {
971
- const ch = value[i];
972
- if (quote) {
973
- if (ch === quote)
974
- quote = null;
975
- else if (ch === '\\' && i + 1 < value.length)
976
- out += value[++i];
977
- else
978
- out += ch;
979
- }
980
- else if (ch === '"' || ch === "'") {
981
- quote = ch;
982
- }
983
- else if (ch === '/') {
984
- break; // alt-text clause — never rendered
985
- }
986
- }
987
- return out;
988
- }
989
- /** Does the pseudo's style paint a box at all (background or any visible border)? */
990
- function pseudoPaintsBox(ps) {
991
- var _a, _b, _c, _d, _e, _f, _g;
992
- if (!isTransparent((_b = (_a = ps['background-color']) !== null && _a !== void 0 ? _a : ps['backgroundColor']) !== null && _b !== void 0 ? _b : ''))
993
- return true;
994
- const bgi = ((_d = (_c = ps['background-image']) !== null && _c !== void 0 ? _c : ps['backgroundImage']) !== null && _d !== void 0 ? _d : '').trim();
995
- if (bgi !== '' && bgi !== 'none')
996
- return true;
997
- for (const side of ['top', 'right', 'bottom', 'left']) {
998
- if (px((_e = ps[`border-${side}-width`]) !== null && _e !== void 0 ? _e : '') > 0 &&
999
- ((_f = ps[`border-${side}-style`]) !== null && _f !== void 0 ? _f : 'none') !== 'none' &&
1000
- !isTransparent((_g = ps[`border-${side}-color`]) !== null && _g !== void 0 ? _g : '')) {
1001
- return true;
1002
- }
1003
- }
1004
- return false;
1005
- }
1006
- /**
1007
- * Transcribe one `::before` / `::after`. Returns whether the pseudo EXISTS (generated
1008
- * a box per `content`), which the caller feeds into the ::after flow-position rule —
1009
- * a ::before box is flow content the ::after would come after.
1010
- */
1011
- function emitPseudo(el, originStyle, originRect, which, ctx, sink, precededByFlowContent) {
1012
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
1013
- if (ctx.pseudoUnsupported)
1014
- return false;
1015
- let ps;
1016
- try {
1017
- ps = ctx.win.getComputedStyle(el, which);
1018
- }
1019
- catch (_1) {
1020
- ctx.pseudoUnsupported = true; // e.g. jsdom — learn it once, not once per element
1021
- return false;
1022
- }
1023
- if (!ps)
1024
- return false;
1025
- const rawContent = ((_a = ps['content']) !== null && _a !== void 0 ? _a : '').trim();
1026
- // `content: none | normal` (or nothing readable) → the pseudo generates NO box.
1027
- if (rawContent === '' || rawContent === 'none' || rawContent === 'normal')
1028
- return false;
1029
- if (ps['display'] === 'none' || ps['visibility'] === 'hidden')
1030
- return true;
1031
- if (parseFloat((_b = ps['opacity']) !== null && _b !== void 0 ? _b : '1') === 0)
1032
- return true;
1033
- const text = parsePseudoContent(rawContent, ctx);
1034
- const paintsBox = pseudoPaintsBox(ps);
1035
- if (text === '' && !paintsBox)
1036
- return true; // exists, but there is nothing to draw
1037
- const w = resolveLen((_c = ps['width']) !== null && _c !== void 0 ? _c : '', originRect.width);
1038
- const h = resolveLen((_d = ps['height']) !== null && _d !== void 0 ? _d : '', originRect.height);
1039
- // The flow start of the origin's content box — where a static ::before sits.
1040
- const flowX = originRect.x +
1041
- px((_f = (_e = originStyle['border-left-width']) !== null && _e !== void 0 ? _e : originStyle['borderLeftWidth']) !== null && _f !== void 0 ? _f : '') +
1042
- px((_h = (_g = originStyle['padding-left']) !== null && _g !== void 0 ? _g : originStyle['paddingLeft']) !== null && _h !== void 0 ? _h : '');
1043
- const flowY = originRect.y +
1044
- px((_k = (_j = originStyle['border-top-width']) !== null && _j !== void 0 ? _j : originStyle['borderTopWidth']) !== null && _k !== void 0 ? _k : '') +
1045
- px((_m = (_l = originStyle['padding-top']) !== null && _l !== void 0 ? _l : originStyle['paddingTop']) !== null && _m !== void 0 ? _m : '');
1046
- const pos = ((_o = ps['position']) !== null && _o !== void 0 ? _o : 'static').toLowerCase();
1047
- let x;
1048
- let y;
1049
- if (pos === 'absolute' || pos === 'fixed') {
1050
- // Containing block approximated by the origin box — the decorative-pseudo idiom
1051
- // (`position: relative` origin, absolute pseudo) makes this exact.
1052
- const left = resolveLen((_p = ps['left']) !== null && _p !== void 0 ? _p : '', originRect.width);
1053
- const right = resolveLen((_q = ps['right']) !== null && _q !== void 0 ? _q : '', originRect.width);
1054
- const top = resolveLen((_r = ps['top']) !== null && _r !== void 0 ? _r : '', originRect.height);
1055
- const bottom = resolveLen((_s = ps['bottom']) !== null && _s !== void 0 ? _s : '', originRect.height);
1056
- x =
1057
- left !== null
1058
- ? originRect.x + left
1059
- : right !== null && w !== null
1060
- ? originRect.x + originRect.width - right - w
1061
- : left === null && right === null
1062
- ? flowX // no offsets → the static position
1063
- : null;
1064
- y =
1065
- top !== null
1066
- ? originRect.y + top
1067
- : bottom !== null && h !== null
1068
- ? originRect.y + originRect.height - bottom - h
1069
- : top === null && bottom === null
1070
- ? flowY
1071
- : null;
1072
- }
1073
- else {
1074
- if (which === '::after' && precededByFlowContent) {
1075
- ctx.warnings.push('a painted ::after pseudo-element flows after content this transcriber cannot ' +
1076
- 'measure — it was skipped.');
1077
- return true;
1078
- }
1079
- x = flowX;
1080
- y = flowY;
1081
- if (pos === 'relative') {
1082
- x += (_u = resolveLen((_t = ps['left']) !== null && _t !== void 0 ? _t : '', originRect.width)) !== null && _u !== void 0 ? _u : 0;
1083
- y += (_w = resolveLen((_v = ps['top']) !== null && _v !== void 0 ? _v : '', originRect.height)) !== null && _w !== void 0 ? _w : 0;
1084
- }
1085
- }
1086
- if (x === null || y === null) {
1087
- ctx.warnings.push(`the position of a ${which} pseudo-element could not be derived — it was skipped.`);
1088
- return true;
1089
- }
1090
- const box = w !== null && h !== null ? { x, y, width: w, height: h } : null;
1091
- if (box && box.width > 0 && box.height > 0) {
1092
- emitBox(ps, box, ctx, sink);
1093
- }
1094
- else if (paintsBox) {
1095
- ctx.warnings.push(`a painted ${which} pseudo-element's box could not be derived (auto size) — its ` +
1096
- 'background/border was skipped.');
1097
- }
1098
- if (text !== '') {
1099
- const fontSize = px((_y = (_x = ps['font-size']) !== null && _x !== void 0 ? _x : ps['fontSize']) !== null && _y !== void 0 ? _y : '12');
1100
- const lineBox = (_0 = resolveLen((_z = ps['line-height']) !== null && _z !== void 0 ? _z : '', 0)) !== null && _0 !== void 0 ? _0 : fontSize * 1.2;
1101
- const textRect = box !== null && box !== void 0 ? box : { x, y, width: w !== null && w !== void 0 ? w : 0, height: h !== null && h !== void 0 ? h : lineBox };
1102
- pushTextVNode(text, textRect, ps, ctx, sink);
1103
- }
1104
- return true;
1105
- }
1106
- const OVERFLOW_CLIPPING = new Set(['hidden', 'clip', 'auto', 'scroll']);
1107
- /** `overflow` that clips → the element's (rounded) border box as a clip shape. */
1108
- function overflowClipFor(style, rect) {
1109
- var _a, _b, _c, _d, _e, _f, _g, _h;
1110
- const ox = (_c = (_b = (_a = style['overflow-x']) !== null && _a !== void 0 ? _a : style['overflowX']) !== null && _b !== void 0 ? _b : style['overflow']) !== null && _c !== void 0 ? _c : '';
1111
- const oy = (_f = (_e = (_d = style['overflow-y']) !== null && _d !== void 0 ? _d : style['overflowY']) !== null && _e !== void 0 ? _e : style['overflow']) !== null && _f !== void 0 ? _f : '';
1112
- if (!OVERFLOW_CLIPPING.has(ox) && !OVERFLOW_CLIPPING.has(oy))
1113
- return null;
1114
- const radius = px((_h = (_g = style['border-top-left-radius']) !== null && _g !== void 0 ? _g : style['borderTopLeftRadius']) !== null && _h !== void 0 ? _h : '0');
1115
- return clipShapeDef('rect', Object.assign({ x: round(rect.x), y: round(rect.y), width: round(rect.width), height: round(rect.height) }, (radius > 0 ? { rx: round(radius) } : {})));
1116
- }
1117
- /** Wrap one shape in a stably-identified `<clipPath>` def (same shape → same id). */
1118
- function clipShapeDef(type, props) {
1119
- const id = (0, paint_servers_1.paintDefId)({ clip: type, props });
1120
- return {
1121
- id,
1122
- def: { type: 'clipPath', props: { id }, children: [{ type, props, children: [] }] },
1123
- };
1124
- }
1125
- /**
1126
- * A computed CSS `clip-path` → a clip def, or null. inset()/circle()/ellipse()/
1127
- * polygon() are transcribed; path()/url()/shape() cannot be expressed as one of the
1128
- * def shapes and are skipped WITH a warning — the content exports unclipped, which is
1129
- * a smaller lie than clipping it wrong.
1130
- */
1131
- function clipPathShapeFor(value, rect, ctx) {
1132
- const t = (value !== null && value !== void 0 ? value : '').trim();
1133
- if (t === '' || t === 'none')
1134
- return null;
1135
- const m = /^(inset|circle|ellipse|polygon)\(([\s\S]*)\)(?:\s+([a-z-]+))?$/i.exec(t);
1136
- if (!m) {
1137
- ctx.warnings.push('an unsupported clip-path (path()/url()/reference-box form) was skipped — that ' +
1138
- 'content is exported UNCLIPPED.');
1139
- return null;
1140
- }
1141
- if (m[3] && m[3].toLowerCase() !== 'border-box') {
1142
- ctx.warnings.push(`a clip-path reference box "${m[3]}" was approximated as border-box.`);
1143
- }
1144
- const kind = m[1].toLowerCase();
1145
- const args = m[2].trim();
1146
- const shape = kind === 'inset'
1147
- ? insetShape(args, rect)
1148
- : kind === 'circle'
1149
- ? circleShape(args, rect)
1150
- : kind === 'ellipse'
1151
- ? ellipseShape(args, rect)
1152
- : polygonShape(args, rect);
1153
- if (!shape) {
1154
- ctx.warnings.push(`a clip-path ${kind}() could not be parsed and was skipped — that content is exported UNCLIPPED.`);
1155
- return null;
1156
- }
1157
- return clipShapeDef(shape.type, shape.props);
1158
- }
1159
- /** `inset(t r b l round radius)` → a (rounded) rect. Percentages resolve per axis. */
1160
- function insetShape(args, rect) {
1161
- var _a, _b, _c, _d, _e;
1162
- const [offsetsPart, roundPart] = args.split(/\bround\b/i);
1163
- const tokens = offsetsPart.trim().split(/\s+/).filter(Boolean);
1164
- if (tokens.length < 1 || tokens.length > 4)
1165
- return null;
1166
- // CSS 1-to-4 expansion: t / t+lr / t+lr+b / t r b l.
1167
- const o = [
1168
- tokens[0],
1169
- (_a = tokens[1]) !== null && _a !== void 0 ? _a : tokens[0],
1170
- (_b = tokens[2]) !== null && _b !== void 0 ? _b : tokens[0],
1171
- (_d = (_c = tokens[3]) !== null && _c !== void 0 ? _c : tokens[1]) !== null && _d !== void 0 ? _d : tokens[0],
1172
- ];
1173
- const top = resolveLen(o[0], rect.height);
1174
- const right = resolveLen(o[1], rect.width);
1175
- const bottom = resolveLen(o[2], rect.height);
1176
- const left = resolveLen(o[3], rect.width);
1177
- if (top === null || right === null || bottom === null || left === null)
1178
- return null;
1179
- const width = rect.width - left - right;
1180
- const height = rect.height - top - bottom;
1181
- if (!(width > 0) || !(height > 0))
1182
- return null;
1183
- const radius = roundPart ? resolveLen((_e = roundPart.trim().split(/[\s/]+/)[0]) !== null && _e !== void 0 ? _e : '', rect.width) : null;
1184
- return {
1185
- type: 'rect',
1186
- props: Object.assign({ x: round(rect.x + left), y: round(rect.y + top), width: round(width), height: round(height) }, (radius !== null && radius > 0 ? { rx: round(radius) } : {})),
1187
- };
1188
- }
1189
- /** The centre a `… at <position>` clause resolves to, in host-local pixels. */
1190
- function shapeCentre(args, rect) {
1191
- var _a;
1192
- const c = (_a = parseRadialCenter(args)) !== null && _a !== void 0 ? _a : { x: 0.5, y: 0.5 };
1193
- return { cx: rect.x + rect.width * c.x, cy: rect.y + rect.height * c.y };
1194
- }
1195
- /** One radius token against one axis; `closest-`/`farthest-side` use the given distances. */
1196
- function shapeRadius(token, basis, closest, farthest) {
1197
- const t = (token !== null && token !== void 0 ? token : '').trim().toLowerCase();
1198
- if (t === '' || t === 'closest-side')
1199
- return closest;
1200
- if (t === 'farthest-side')
1201
- return farthest;
1202
- return resolveLen(t, basis);
1203
- }
1204
- function circleShape(args, rect) {
1205
- const { cx, cy } = shapeCentre(args, rect);
1206
- const sides = [cx - rect.x, rect.x + rect.width - cx, cy - rect.y, rect.y + rect.height - cy];
1207
- const rToken = args.split(/\bat\b/i)[0].trim();
1208
- // A circle's percentage radius resolves against the reference-box diagonal / √2.
1209
- const r = shapeRadius(rToken, Math.hypot(rect.width, rect.height) / Math.SQRT2, Math.min(...sides), Math.max(...sides));
1210
- if (r === null || !(r > 0))
1211
- return null;
1212
- return { type: 'circle', props: { cx: round(cx), cy: round(cy), r: round(r) } };
1213
- }
1214
- function ellipseShape(args, rect) {
1215
- var _a, _b, _c;
1216
- const { cx, cy } = shapeCentre(args, rect);
1217
- const tokens = args.split(/\bat\b/i)[0].trim().split(/\s+/).filter(Boolean);
1218
- const rx = shapeRadius((_a = tokens[0]) !== null && _a !== void 0 ? _a : '', rect.width, Math.min(cx - rect.x, rect.x + rect.width - cx), Math.max(cx - rect.x, rect.x + rect.width - cx));
1219
- const ry = shapeRadius((_c = (_b = tokens[1]) !== null && _b !== void 0 ? _b : tokens[0]) !== null && _c !== void 0 ? _c : '', rect.height, Math.min(cy - rect.y, rect.y + rect.height - cy), Math.max(cy - rect.y, rect.y + rect.height - cy));
1220
- if (rx === null || ry === null || !(rx > 0) || !(ry > 0))
1221
- return null;
1222
- return {
1223
- type: 'ellipse',
1224
- props: { cx: round(cx), cy: round(cy), rx: round(rx), ry: round(ry) },
1225
- };
1226
- }
1227
- function polygonShape(args, rect) {
1228
- var _a;
1229
- const parts = splitTopLevel(args);
1230
- let start = 0;
1231
- let evenodd = false;
1232
- const first = ((_a = parts[0]) !== null && _a !== void 0 ? _a : '').trim().toLowerCase();
1233
- if (first === 'evenodd' || first === 'nonzero') {
1234
- evenodd = first === 'evenodd';
1235
- start = 1;
1236
- }
1237
- const points = [];
1238
- for (let i = start; i < parts.length; i++) {
1239
- const pair = parts[i].trim().split(/\s+/);
1240
- if (pair.length !== 2)
1241
- return null;
1242
- const vx = resolveLen(pair[0], rect.width);
1243
- const vy = resolveLen(pair[1], rect.height);
1244
- if (vx === null || vy === null)
1245
- return null;
1246
- points.push(`${round(rect.x + vx)},${round(rect.y + vy)}`);
1247
- }
1248
- if (points.length < 3)
1249
- return null;
1250
- return {
1251
- type: 'polygon',
1252
- props: Object.assign({ points: points.join(' ') }, (evenodd ? { 'clip-rule': 'evenodd' } : {})),
1253
- };
1254
- }
1255
- /** 4dp is finer than any renderer resolves, and keeps the output byte-stable. */
1256
- function round(value) {
1257
- return Math.round(value * 1e4) / 1e4;
1258
- }
1259
- //# sourceMappingURL=capture-host.js.map