orcasvn-react-diagrams 0.2.10 → 0.2.12

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 (49) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +11 -8
  3. package/ai/api-contract.json +44 -1
  4. package/ai/manifest.json +1 -1
  5. package/dist/cjs/examples.js +621 -349
  6. package/dist/cjs/index.js +222 -74
  7. package/dist/cjs/types/api/createDiagramEditor.d.ts +2 -1
  8. package/dist/cjs/types/api/types.d.ts +15 -0
  9. package/dist/cjs/types/displaybox/demos/LinkPortCreationDemoTab.d.ts +3 -0
  10. package/dist/cjs/types/displaybox/demos/linkColorPoolDemo.d.ts +2 -0
  11. package/dist/cjs/types/displaybox/demos/linkLabelsDemo.d.ts +4 -0
  12. package/dist/cjs/types/displaybox/types.d.ts +3 -0
  13. package/dist/cjs/types/displaybox/useDemoEditor.d.ts +3 -2
  14. package/dist/cjs/types/engine/DiagramEngine.d.ts +5 -1
  15. package/dist/cjs/types/engine/TextLayoutService.d.ts +1 -0
  16. package/dist/cjs/types/examples/index.d.ts +1 -1
  17. package/dist/cjs/types/renderer/konva/KonvaInteraction.d.ts +10 -1
  18. package/dist/esm/examples.js +621 -349
  19. package/dist/esm/examples.js.map +1 -1
  20. package/dist/esm/index.js +222 -74
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/types/api/createDiagramEditor.d.ts +2 -1
  23. package/dist/esm/types/api/types.d.ts +15 -0
  24. package/dist/esm/types/displaybox/demos/LinkPortCreationDemoTab.d.ts +3 -0
  25. package/dist/esm/types/displaybox/demos/linkColorPoolDemo.d.ts +2 -0
  26. package/dist/esm/types/displaybox/demos/linkLabelsDemo.d.ts +4 -0
  27. package/dist/esm/types/displaybox/types.d.ts +3 -0
  28. package/dist/esm/types/displaybox/useDemoEditor.d.ts +3 -2
  29. package/dist/esm/types/engine/DiagramEngine.d.ts +5 -1
  30. package/dist/esm/types/engine/TextLayoutService.d.ts +1 -0
  31. package/dist/esm/types/examples/index.d.ts +1 -1
  32. package/dist/esm/types/renderer/konva/KonvaInteraction.d.ts +10 -1
  33. package/dist/examples.d.ts +5 -1
  34. package/dist/index.d.ts +17 -1
  35. package/docs/API_CONTRACT.md +44 -1
  36. package/docs/CAPABILITIES.md +3 -1
  37. package/docs/COMMANDS_EVENTS.md +1 -0
  38. package/docs/DOCUMENTATION_WORKFLOW.md +5 -1
  39. package/docs/INTEGRATION_PLAYBOOK.md +5 -0
  40. package/docs/STATE_INVARIANTS.md +3 -0
  41. package/package.json +1 -1
  42. package/src/displaybox/demos/LinkColorPoolDemoTab.tsx +10 -5
  43. package/src/displaybox/demos/LinkPortCreationDemoTab.tsx +98 -0
  44. package/src/displaybox/demos/index.tsx +122 -221
  45. package/src/displaybox/demos/linkColorPoolDemo.ts +84 -49
  46. package/src/displaybox/demos/linkLabelsDemo.ts +164 -0
  47. package/src/displaybox/demos/linkPortCreationDemo.ts +7 -7
  48. package/src/displaybox/types.ts +21 -11
  49. package/src/examples/index.ts +1 -0
@@ -1,4 +1,4 @@
1
- import { ElementShapeHoverControlActivationEvent, ElementShapeHoverControlInteractionEvent, ElementShapeHoverControls, Point, PortData } from '../../api/types';
1
+ import { ElementShapeHoverControlActivationEvent, ElementShapeHoverControlInteractionEvent, ElementShapeHoverControls, LinkTargetPortCreationHandler, Point, PortData } from '../../api/types';
2
2
  import DiagramEngine from '../../engine/DiagramEngine';
3
3
  import KonvaHitTester from './KonvaHitTester';
4
4
  import { KonvaStageLike, ShapeHoverControlRenderConfig } from './KonvaRenderer';
@@ -11,6 +11,7 @@ export type InteractionConfig = {
11
11
  shapeHoverControls?: ElementShapeHoverControls;
12
12
  onShapeHoverControlInteracted?: (event: ElementShapeHoverControlInteractionEvent) => void;
13
13
  onShapeHoverControlActivated?: (event: ElementShapeHoverControlActivationEvent) => void;
14
+ onCreateLinkTargetPort?: LinkTargetPortCreationHandler;
14
15
  renderer?: {
15
16
  renderResizeHandles: (elementId: string, position: Point, size: {
16
17
  width: number;
@@ -55,6 +56,7 @@ export default class KonvaInteraction {
55
56
  private shapeHoverControls?;
56
57
  private onShapeHoverControlInteracted?;
57
58
  private onShapeHoverControlActivated?;
59
+ private onCreateLinkTargetPort?;
58
60
  private linkDragContext;
59
61
  private programmaticLinkSession;
60
62
  private bound;
@@ -142,6 +144,13 @@ export default class KonvaInteraction {
142
144
  private tryCreateLinkToElement;
143
145
  private createPortForLink;
144
146
  private createPlaceholderPort;
147
+ private resolveLinkTargetPortDraft;
148
+ private buildDefaultLinkTargetPortDraft;
149
+ private mergeLinkTargetPortDraft;
150
+ private resolveLinkSourcePort;
151
+ private clonePortData;
152
+ private cloneLinkTargetPortDraft;
153
+ private cloneElementData;
145
154
  private getElementById;
146
155
  private getPortById;
147
156
  private getTextById;