@octaviaflow/core 3.0.18-beta.3 → 3.0.18-beta.30

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 (178) hide show
  1. package/dist/chunk-2NGC7AI3.js +2637 -0
  2. package/dist/chunk-2NGC7AI3.js.map +1 -0
  3. package/dist/chunk-2O6K5PLY.js +2637 -0
  4. package/dist/chunk-2O6K5PLY.js.map +1 -0
  5. package/dist/chunk-2ZIOFEIS.js +3001 -0
  6. package/dist/chunk-2ZIOFEIS.js.map +1 -0
  7. package/dist/chunk-3DWB2PUF.js +2991 -0
  8. package/dist/chunk-3DWB2PUF.js.map +1 -0
  9. package/dist/chunk-4ZALUTZS.js +2936 -0
  10. package/dist/chunk-4ZALUTZS.js.map +1 -0
  11. package/dist/chunk-5ARKSRED.js +2951 -0
  12. package/dist/chunk-5ARKSRED.js.map +1 -0
  13. package/dist/chunk-5OSGSJMM.js +2981 -0
  14. package/dist/chunk-5OSGSJMM.js.map +1 -0
  15. package/dist/chunk-5YQQMEF3.js +2981 -0
  16. package/dist/chunk-5YQQMEF3.js.map +1 -0
  17. package/dist/chunk-6QCJK7H7.js +2991 -0
  18. package/dist/chunk-6QCJK7H7.js.map +1 -0
  19. package/dist/chunk-6QDYERZD.js +2944 -0
  20. package/dist/chunk-6QDYERZD.js.map +1 -0
  21. package/dist/chunk-76TP67ED.js +2984 -0
  22. package/dist/chunk-76TP67ED.js.map +1 -0
  23. package/dist/chunk-A6KMO4JV.js +2949 -0
  24. package/dist/chunk-A6KMO4JV.js.map +1 -0
  25. package/dist/chunk-B7FTWSTM.js +2938 -0
  26. package/dist/chunk-B7FTWSTM.js.map +1 -0
  27. package/dist/chunk-BCO6M26F.js +2940 -0
  28. package/dist/chunk-BCO6M26F.js.map +1 -0
  29. package/dist/chunk-C3UD2AZ5.js +2637 -0
  30. package/dist/chunk-C3UD2AZ5.js.map +1 -0
  31. package/dist/chunk-CEUP4NK2.js +2850 -0
  32. package/dist/chunk-CEUP4NK2.js.map +1 -0
  33. package/dist/chunk-DBNSBJO7.js +2993 -0
  34. package/dist/chunk-DBNSBJO7.js.map +1 -0
  35. package/dist/chunk-ECIHUVU7.js +2986 -0
  36. package/dist/chunk-ECIHUVU7.js.map +1 -0
  37. package/dist/chunk-EERNYLFL.js +2860 -0
  38. package/dist/chunk-EERNYLFL.js.map +1 -0
  39. package/dist/chunk-EKFDJX4G.js +2872 -0
  40. package/dist/chunk-EKFDJX4G.js.map +1 -0
  41. package/dist/chunk-GJA3GJUZ.js +2844 -0
  42. package/dist/chunk-GJA3GJUZ.js.map +1 -0
  43. package/dist/chunk-HDOTOZNA.js +2936 -0
  44. package/dist/chunk-HDOTOZNA.js.map +1 -0
  45. package/dist/chunk-IOKUV7FD.js +2658 -0
  46. package/dist/chunk-IOKUV7FD.js.map +1 -0
  47. package/dist/chunk-IUIICQU5.js +2946 -0
  48. package/dist/chunk-IUIICQU5.js.map +1 -0
  49. package/dist/chunk-J2UYZI6D.js +2946 -0
  50. package/dist/chunk-J2UYZI6D.js.map +1 -0
  51. package/dist/chunk-J7YASALS.js +2859 -0
  52. package/dist/chunk-J7YASALS.js.map +1 -0
  53. package/dist/chunk-JIEUYBQT.js +2658 -0
  54. package/dist/chunk-JIEUYBQT.js.map +1 -0
  55. package/dist/chunk-K2H7JLQW.js +2952 -0
  56. package/dist/chunk-K2H7JLQW.js.map +1 -0
  57. package/dist/chunk-KUXYBP66.js +2953 -0
  58. package/dist/chunk-KUXYBP66.js.map +1 -0
  59. package/dist/chunk-KYMYNYFV.js +2656 -0
  60. package/dist/chunk-KYMYNYFV.js.map +1 -0
  61. package/dist/chunk-MMXL343D.js +2974 -0
  62. package/dist/chunk-MMXL343D.js.map +1 -0
  63. package/dist/chunk-MXJL3EPE.js +2986 -0
  64. package/dist/chunk-MXJL3EPE.js.map +1 -0
  65. package/dist/chunk-MYZ25B2R.js +2995 -0
  66. package/dist/chunk-MYZ25B2R.js.map +1 -0
  67. package/dist/chunk-NTMEYB7B.js +2949 -0
  68. package/dist/chunk-NTMEYB7B.js.map +1 -0
  69. package/dist/chunk-PVJXX6GP.js +2640 -0
  70. package/dist/chunk-PVJXX6GP.js.map +1 -0
  71. package/dist/chunk-Q6ERDPQR.js +2981 -0
  72. package/dist/chunk-Q6ERDPQR.js.map +1 -0
  73. package/dist/chunk-S2SSBMWJ.js +2658 -0
  74. package/dist/chunk-S2SSBMWJ.js.map +1 -0
  75. package/dist/chunk-SLVDAZSX.js +2946 -0
  76. package/dist/chunk-SLVDAZSX.js.map +1 -0
  77. package/dist/chunk-UQBPYONV.js +2991 -0
  78. package/dist/chunk-UQBPYONV.js.map +1 -0
  79. package/dist/chunk-UXMNBS22.js +2955 -0
  80. package/dist/chunk-UXMNBS22.js.map +1 -0
  81. package/dist/chunk-WEGED7TA.js +2991 -0
  82. package/dist/chunk-WEGED7TA.js.map +1 -0
  83. package/dist/chunk-WEPTBLWX.js +2847 -0
  84. package/dist/chunk-WEPTBLWX.js.map +1 -0
  85. package/dist/chunk-WG4ZQMPS.js +2844 -0
  86. package/dist/chunk-WG4ZQMPS.js.map +1 -0
  87. package/dist/chunk-XEPEBHAW.js +2808 -0
  88. package/dist/chunk-XEPEBHAW.js.map +1 -0
  89. package/dist/chunk-XG2OYFX6.js +2925 -0
  90. package/dist/chunk-XG2OYFX6.js.map +1 -0
  91. package/dist/chunk-ZAMJEU42.js +2992 -0
  92. package/dist/chunk-ZAMJEU42.js.map +1 -0
  93. package/dist/chunk-ZRAM6FXB.js +2949 -0
  94. package/dist/chunk-ZRAM6FXB.js.map +1 -0
  95. package/dist/components/CsvViewer/CsvViewer.d.ts +51 -0
  96. package/dist/components/CsvViewer/CsvViewer.d.ts.map +1 -0
  97. package/dist/components/CsvViewer/index.d.ts +2 -0
  98. package/dist/components/CsvViewer/index.d.ts.map +1 -0
  99. package/dist/components/DataTable/DataTable.d.ts +19 -1
  100. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  101. package/dist/components/DropdownMenu/DropdownMenu.d.ts +12 -2
  102. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  103. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts +8 -2
  104. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts.map +1 -1
  105. package/dist/components/FlowMinimap/FlowMinimap.d.ts +17 -1
  106. package/dist/components/FlowMinimap/FlowMinimap.d.ts.map +1 -1
  107. package/dist/components/FlowToolbar/FlowToolbar.d.ts +16 -10
  108. package/dist/components/FlowToolbar/FlowToolbar.d.ts.map +1 -1
  109. package/dist/components/JsonViewer/JsonViewer.d.ts +42 -7
  110. package/dist/components/JsonViewer/JsonViewer.d.ts.map +1 -1
  111. package/dist/components/JsonViewer/index.d.ts +1 -1
  112. package/dist/components/JsonViewer/index.d.ts.map +1 -1
  113. package/dist/components/Select/Select.d.ts.map +1 -1
  114. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts +130 -0
  115. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts.map +1 -0
  116. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts +69 -0
  117. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts.map +1 -0
  118. package/dist/components/WorkflowHeader/index.d.ts +3 -0
  119. package/dist/components/WorkflowHeader/index.d.ts.map +1 -0
  120. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts +40 -0
  121. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts.map +1 -0
  122. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts +39 -0
  123. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts.map +1 -0
  124. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts +44 -0
  125. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts.map +1 -0
  126. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts +45 -0
  127. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts.map +1 -0
  128. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts +48 -0
  129. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts.map +1 -0
  130. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts +52 -0
  131. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts.map +1 -0
  132. package/dist/components/XmlViewer/XmlViewer.d.ts +26 -1
  133. package/dist/components/XmlViewer/XmlViewer.d.ts.map +1 -1
  134. package/dist/components/XmlViewer/index.d.ts +1 -1
  135. package/dist/components/XmlViewer/index.d.ts.map +1 -1
  136. package/dist/components/YamlViewer/YamlViewer.d.ts +26 -1
  137. package/dist/components/YamlViewer/YamlViewer.d.ts.map +1 -1
  138. package/dist/components/YamlViewer/index.d.ts +1 -1
  139. package/dist/components/YamlViewer/index.d.ts.map +1 -1
  140. package/dist/hooks/useRelativeTime.d.ts +28 -0
  141. package/dist/hooks/useRelativeTime.d.ts.map +1 -0
  142. package/dist/hooks/useWorkflowRuntime.d.ts +20 -0
  143. package/dist/hooks/useWorkflowRuntime.d.ts.map +1 -0
  144. package/dist/index.cjs +4884 -3581
  145. package/dist/index.cjs.map +1 -1
  146. package/dist/index.d.ts +7 -3
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +4505 -3515
  149. package/dist/index.js.map +1 -1
  150. package/dist/styles.css +1 -1
  151. package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts +27 -9
  152. package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts.map +1 -1
  153. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts +49 -1
  154. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts.map +1 -1
  155. package/dist/workflow/components/FlowEdge/FlowEdge.d.ts.map +1 -1
  156. package/dist/workflow/components/FxPanel/DataRefButton.d.ts +9 -0
  157. package/dist/workflow/components/FxPanel/DataRefButton.d.ts.map +1 -0
  158. package/dist/workflow/components/FxPanel/FxPanel.d.ts +74 -0
  159. package/dist/workflow/components/FxPanel/FxPanel.d.ts.map +1 -0
  160. package/dist/workflow/components/FxPanel/FxToggleButton.d.ts +9 -0
  161. package/dist/workflow/components/FxPanel/FxToggleButton.d.ts.map +1 -0
  162. package/dist/workflow/components/Handle/Handle.d.ts +9 -1
  163. package/dist/workflow/components/Handle/Handle.d.ts.map +1 -1
  164. package/dist/workflow/components/Handle/handleRegistry.d.ts +19 -0
  165. package/dist/workflow/components/Handle/handleRegistry.d.ts.map +1 -1
  166. package/dist/workflow/components/kinds/index.d.ts +4 -0
  167. package/dist/workflow/components/kinds/index.d.ts.map +1 -1
  168. package/dist/workflow/index.d.ts +3 -1
  169. package/dist/workflow/index.d.ts.map +1 -1
  170. package/dist/workflow/store/selectors.d.ts +12 -0
  171. package/dist/workflow/store/selectors.d.ts.map +1 -1
  172. package/dist/workflow/utils/parenting.d.ts +5 -3
  173. package/dist/workflow/utils/parenting.d.ts.map +1 -1
  174. package/dist/workflow.cjs +1108 -471
  175. package/dist/workflow.cjs.map +1 -1
  176. package/dist/workflow.js +535 -250
  177. package/dist/workflow.js.map +1 -1
  178. package/package.json +8 -3
@@ -11,12 +11,17 @@ export interface ConfigPanelTab {
11
11
  }
12
12
  export interface ConfigPanelProps {
13
13
  open?: boolean;
14
- /** Title shown in the header. Double-click opens the inline editor. */
14
+ /** Title shown in the header — the action name. Double-click opens
15
+ * the inline editor. The header shows this single line only. */
15
16
  title?: string;
16
- /** Optional breadcrumb prefix (e.g. "Action"). */
17
- kindLabel?: string;
18
17
  /** Optional icon rendered before the title. */
19
18
  icon?: ReactNode;
19
+ /**
20
+ * Modular header action slot — buttons rendered between the title and
21
+ * the close (✕). Use it for per-action affordances like the FX
22
+ * toggle; omit entirely for actions that don't need them.
23
+ */
24
+ headerActions?: ReactNode;
20
25
  /** Inline status banner — error / warning / hint, shown at the top of the body. */
21
26
  banner?: ReactNode;
22
27
  /** Tab definitions. When omitted, `children` renders directly (no tabs). */
@@ -25,18 +30,26 @@ export interface ConfigPanelProps {
25
30
  activeTab?: string;
26
31
  defaultActiveTab?: string;
27
32
  onTabChange?: (id: string) => void;
28
- /** Save-state pill in the footer. */
33
+ /** Save-state pill in the footer. Omit it entirely to hide the pill —
34
+ * the footer then shows only its action buttons. */
29
35
  saveState?: ConfigPanelSaveState;
30
36
  /** Fires on the title editor's commit. Omit to disable title editing. */
31
37
  onTitleChange?: (next: string) => void;
32
38
  onClose?: () => void;
33
39
  onSave?: () => void;
34
40
  onCancel?: () => void;
41
+ /**
42
+ * Padding (px, all sides) applied to the scrollable body — the work
43
+ * area that holds the active tab's content. Default 12. Pass `0` when
44
+ * the consumer's tab content already pads itself.
45
+ */
46
+ padding?: number;
35
47
  /** Resizable width — pass `resizable: false` to lock. */
36
48
  resizable?: boolean;
37
- /** Initial width (px). Defaults to 360. */
49
+ /** Initial width (px). Defaults to 400. */
38
50
  defaultWidth?: number;
39
- /** Lower clamp during resize. Defaults to 280. */
51
+ /** Lower clamp during resize. Defaults to 400 — the panel can be
52
+ * widened but never narrowed past its default. */
40
53
  minWidth?: number;
41
54
  /**
42
55
  * Upper clamp during resize. Defaults to 720. The panel ALSO clamps
@@ -55,10 +68,15 @@ export interface ConfigPanelProps {
55
68
  variant?: "pinned" | "floating";
56
69
  /** Body slot used only when `tabs` is omitted. */
57
70
  children?: ReactNode;
58
- /** Custom footer slot — replaces the default save/cancel buttons. */
59
- footer?: ReactNode;
71
+ /**
72
+ * Modular footer action buttons — replaces the built-in Cancel/Save
73
+ * pair. The footer bar itself stays static and pinned; this slot just
74
+ * decides which buttons live in it, so a consumer can add, remove, or
75
+ * reorder actions freely.
76
+ */
77
+ footerActions?: ReactNode;
60
78
  className?: string;
61
79
  style?: CSSProperties;
62
80
  }
63
- export declare function ConfigPanel({ open, title, kindLabel, icon, banner, tabs, activeTab: controlledActive, defaultActiveTab, onTabChange, saveState, onTitleChange, onClose, onSave, onCancel, resizable, defaultWidth, minWidth, maxWidth, maxWidthContainerInset, variant, children, footer, className, style, }: ConfigPanelProps): import("react/jsx-runtime").JSX.Element;
81
+ export declare function ConfigPanel({ open, title, icon, headerActions, banner, tabs, activeTab: controlledActive, defaultActiveTab, onTabChange, saveState, onTitleChange, onClose, onSave, onCancel, padding, resizable, defaultWidth, minWidth, maxWidth, maxWidthContainerInset, variant, children, footerActions, className, style, }: ConfigPanelProps): import("react/jsx-runtime").JSX.Element;
64
82
  //# sourceMappingURL=ConfigPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/ConfigPanel/ConfigPanel.tsx"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mFAAmF;IACnF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAkBD,wBAAgB,WAAW,CAAC,EAC1B,IAAW,EACX,KAAK,EACL,SAAS,EACT,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAChB,WAAW,EACX,SAAmB,EACnB,aAAa,EACb,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAgB,EAChB,YAAkB,EAClB,QAAc,EACd,QAAc,EACd,sBAA2B,EAC3B,OAAkB,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAsOlB"}
1
+ {"version":3,"file":"ConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/ConfigPanel/ConfigPanel.tsx"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;qEACiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mFAAmF;IACnF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;yDACqD;IACrD,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;uDACmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAkBD,wBAAgB,WAAW,CAAC,EAC1B,IAAW,EACX,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,IAAI,EACJ,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,EACP,MAAM,EACN,QAAQ,EACR,OAAY,EACZ,SAAgB,EAChB,YAAkB,EAClB,QAAc,EACd,QAAc,EACd,sBAA2B,EAC3B,OAAkB,EAClB,QAAQ,EACR,aAAa,EACb,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAkPlB"}
@@ -13,6 +13,19 @@ export interface FlowCanvasProps {
13
13
  onViewportChange?: (viewport: Viewport) => void;
14
14
  minZoom?: number;
15
15
  maxZoom?: number;
16
+ /**
17
+ * Auto-frame the existing nodes on first mount so the canvas opens
18
+ * centered on content rather than at the {0,0,1} origin. Defaults to
19
+ * `true` when no explicit `viewport` or `defaultViewport` is supplied;
20
+ * when the consumer pins either prop the canvas honours that and skips
21
+ * the auto-fit. Pass `false` to opt out unconditionally. Pass
22
+ * `{ padding, minZoom, maxZoom }` to tune the framing.
23
+ */
24
+ fitViewOnInit?: boolean | {
25
+ padding?: number;
26
+ minZoom?: number;
27
+ maxZoom?: number;
28
+ };
16
29
  nodeKinds?: NodeKindRegistry;
17
30
  onConnect?: (connection: Connection) => void;
18
31
  onConnectStart?: (event: PointerEvent | globalThis.PointerEvent, params: ConnectStartParams) => void;
@@ -99,6 +112,41 @@ export interface FlowCanvasProps {
99
112
  * Default falls back to `nodeCollisionGap`.
100
113
  */
101
114
  subflowCollisionGap?: number;
115
+ /**
116
+ * When `true`, dragging a node into another container's bbox sets
117
+ * the dragged node's `parentId`; dragging out clears it — without
118
+ * requiring the Alt modifier key. Default `false` preserves the
119
+ * legacy Alt-drag-to-reparent behaviour for backward compatibility.
120
+ *
121
+ * Pairs with `autoResizeContainers` to deliver the full "drop nodes
122
+ * inside a group" UX consumers usually want from a subflow editor.
123
+ */
124
+ reparentOnDrag?: boolean;
125
+ /**
126
+ * When `true`, container kinds (`group` / `forEach`) auto-resize at
127
+ * drag-end so the frame encloses all current children plus padding.
128
+ * The reposition + dimension update is folded into the same
129
+ * `onNodesChange` call as the drag-end position change, so a child
130
+ * dropped near the edge of a container can't miss the parent's
131
+ * post-resize bbox in a follow-up render tick (the host-side race
132
+ * the parented-on-drop UX would otherwise hit).
133
+ *
134
+ * Default `false`. Pair with `reparentOnDrag` for the full flow.
135
+ */
136
+ autoResizeContainers?: boolean;
137
+ /**
138
+ * Padding (in flow-space pixels) added around children's bbox when
139
+ * `autoResizeContainers` recomputes a container's frame. Default 32.
140
+ */
141
+ containerAutoResizePadding?: number;
142
+ /**
143
+ * Floor size for `autoResizeContainers`. A container that fits its
144
+ * children in less than this stops shrinking here — it never collapses
145
+ * below the size a freshly-dropped (empty) container would have.
146
+ * Defaults: 320 × 200.
147
+ */
148
+ containerMinWidth?: number;
149
+ containerMinHeight?: number;
102
150
  height?: number | string;
103
151
  width?: number | string;
104
152
  className?: string;
@@ -106,6 +154,6 @@ export interface FlowCanvasProps {
106
154
  children?: ReactNode;
107
155
  emptyState?: ReactNode;
108
156
  }
109
- export declare function FlowCanvas({ nodes, edges, onNodesChange, onEdgesChange, viewport: controlledViewport, defaultViewport, onViewportChange, minZoom, maxZoom, nodeKinds, onConnect, onConnectStart, onConnectEnd, isValidConnection, onSelectionChange, onPaneClick, onNodeClick, onEdgeClick, onEdgeLabelChange, onInit, onBeforeDelete, onNodeContextMenu, onEdgeContextMenu, onPaneContextMenu, nodesDraggable, nodesConnectable, panOnDrag: panOnDragProp, zoomOnScroll: zoomOnScrollProp, preset, paneClickDistance, paneClickClearsSelection, background, gridSize, snapToGrid, nodeCollisionGap, subflowCollisionGap, height, width, className, style, children, emptyState, }: FlowCanvasProps): import("react/jsx-runtime").JSX.Element;
157
+ export declare function FlowCanvas(props: FlowCanvasProps): import("react/jsx-runtime").JSX.Element;
110
158
  export type { BuiltInNodeData };
111
159
  //# sourceMappingURL=FlowCanvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowCanvas/FlowCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowCanvas/FlowCanvas.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlowEdge.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowEdge/FlowEdge.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAY,YAAY,IAAI,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK7F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kEAAkE;IAClE,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,UAAiB,EACjB,SAAgB,EAChB,YAAgB,GACjB,EAAE,aAAa,2CA6Nf;AA6BD,eAAO,MAAM,QAAQ,0DAiBnB,CAAC"}
1
+ {"version":3,"file":"FlowEdge.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowEdge/FlowEdge.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAY,YAAY,IAAI,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK7F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kEAAkE;IAClE,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,UAAiB,EACjB,SAAgB,EAChB,YAAgB,GACjB,EAAE,aAAa,2CA6Of;AA6BD,eAAO,MAAM,QAAQ,0DAiBnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode } from "react";
2
+ export interface DataRefButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
3
+ /** Whether the FxPanel is currently open. Drives `aria-pressed`. */
4
+ active?: boolean;
5
+ /** Visible label beside the icon. Default "Data ref". `null` = icon-only. */
6
+ label?: ReactNode;
7
+ }
8
+ export declare function DataRefButton({ active, label, className, type, ...rest }: DataRefButtonProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=DataRefButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataRefButton.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FxPanel/DataRefButton.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAc,EACd,KAAkB,EAClB,SAAS,EACT,IAAe,EACf,GAAG,IAAI,EACR,EAAE,kBAAkB,2CAuBpB"}
@@ -0,0 +1,74 @@
1
+ import { type CSSProperties, type DragEvent, type ReactNode } from "react";
2
+ export type FxItemKind = "function" | "variable";
3
+ /** Data type of a Source-Data field — drives the colour-coded badge. */
4
+ export type FxValueType = "string" | "number" | "boolean" | "object" | "array" | "date" | "any";
5
+ export interface FxPanelItem {
6
+ /** Stable key + tree/keyboard identity. */
7
+ id: string;
8
+ /** Display label — a function signature, variable name, or field key. */
9
+ label: string;
10
+ /**
11
+ * The string handed to `dataTransfer` / inserted into a field.
12
+ * Branches may still set it (drag the whole object/array reference).
13
+ */
14
+ insertValue?: string;
15
+ /** Short one-line description shown under the label. */
16
+ description?: string;
17
+ /** Data type — renders a colour-coded badge. Source-Data fields only. */
18
+ valueType?: FxValueType;
19
+ /**
20
+ * Nested children. When present the item renders as an expandable
21
+ * branch — this is what powers the n-th-level Source-Data tree.
22
+ */
23
+ children?: FxPanelItem[];
24
+ }
25
+ export interface FxPanelCategory {
26
+ /** Stable key + accordion identity. */
27
+ id: string;
28
+ /** Section heading. */
29
+ label: string;
30
+ /** Drives the badge glyph + drag payload. Defaults to "function". */
31
+ kind?: FxItemKind;
32
+ /** Items — flat for functions/variables, nested for Source Data. */
33
+ items: FxPanelItem[];
34
+ }
35
+ export interface FxPanelProps {
36
+ /** Categorised entries. Empty categories are dropped from render. */
37
+ categories: FxPanelCategory[];
38
+ /** Header title. Default "Data References". */
39
+ title?: ReactNode;
40
+ /** Instructional line under the search. Pass `null` to hide it. */
41
+ hint?: ReactNode;
42
+ /** Controlled search term. */
43
+ search?: string;
44
+ /** Initial search term when uncontrolled. */
45
+ defaultSearch?: string;
46
+ onSearchChange?: (next: string) => void;
47
+ /** Controlled open category (single-open accordion). `null` = closed. */
48
+ expandedCategory?: string | null;
49
+ /** Initial open category when uncontrolled. */
50
+ defaultExpandedCategory?: string | null;
51
+ onExpandedCategoryChange?: (id: string | null) => void;
52
+ /** Close (✕) handler. Omit to hide the close button. */
53
+ onClose?: () => void;
54
+ /**
55
+ * Fires when an item begins dragging. Use it to populate
56
+ * `e.dataTransfer`. When omitted, FxPanel writes a sensible default:
57
+ * - `text/plain` → insertValue
58
+ * - `application/x-fx-insert` → insertValue
59
+ * - `application/x-fx-type` → category kind
60
+ */
61
+ onItemDragStart?: (item: FxPanelItem, category: FxPanelCategory, e: DragEvent<HTMLElement>) => void;
62
+ /** Fires on click / Enter of an item (insert at cursor). */
63
+ onItemSelect?: (item: FxPanelItem, category: FxPanelCategory) => void;
64
+ /** Panel width (px). Default 300. */
65
+ width?: number;
66
+ /** Message shown when a search matches nothing. Default "No matches". */
67
+ emptyLabel?: ReactNode;
68
+ /** Placeholder for the search box. */
69
+ searchPlaceholder?: string;
70
+ className?: string;
71
+ style?: CSSProperties;
72
+ }
73
+ export declare function FxPanel({ categories, title, hint, search: controlledSearch, defaultSearch, onSearchChange, expandedCategory: controlledExpanded, defaultExpandedCategory, onExpandedCategoryChange, onClose, onItemDragStart, onItemSelect, width, emptyLabel, searchPlaceholder, className, style, }: FxPanelProps): import("react/jsx-runtime").JSX.Element;
74
+ //# sourceMappingURL=FxPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FxPanel.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FxPanel/FxPanel.tsx"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAcf,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjD,wEAAwE;AACxE,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,oEAAoE;IACpE,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,+CAA+C;IAC/C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAChB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KACtB,IAAI,CAAC;IACV,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACtE,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAgFD,wBAAgB,OAAO,CAAC,EACtB,UAAU,EACV,KAAyB,EACzB,IAA0D,EAC1D,MAAM,EAAE,gBAAgB,EACxB,aAAkB,EAClB,cAAc,EACd,gBAAgB,EAAE,kBAAkB,EACpC,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,eAAe,EACf,YAAY,EACZ,KAAW,EACX,UAAyB,EACzB,iBAA2D,EAC3D,SAAS,EACT,KAAK,GACN,EAAE,YAAY,2CA6ad"}
@@ -0,0 +1,9 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode } from "react";
2
+ export interface FxToggleButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
3
+ /** Whether the FxPanel is currently open. Drives `aria-pressed`. */
4
+ active?: boolean;
5
+ /** Visible label beside the glyph. Default "FX". Pass `null` for icon-only. */
6
+ label?: ReactNode;
7
+ }
8
+ export declare function FxToggleButton({ active, label, className, type, ...rest }: FxToggleButtonProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=FxToggleButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FxToggleButton.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FxPanel/FxToggleButton.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAc,EACd,KAAY,EACZ,SAAS,EACT,IAAe,EACf,GAAG,IAAI,EACR,EAAE,mBAAmB,2CAoBrB"}
@@ -5,6 +5,14 @@ export interface HandleProps {
5
5
  type: HandleType;
6
6
  /** Which side of the node the handle sits on. */
7
7
  position: HandlePosition;
8
+ /**
9
+ * Direction the edge should route from this handle. Defaults to
10
+ * `position`. Override it when the handle dot sits on one edge but the
11
+ * wire must leave/enter from another — e.g. a subflow's inner-facing
12
+ * port lives on the frame's `top` edge yet its wire curves `down` into
13
+ * the frame: `position="top" routeSide="bottom"`.
14
+ */
15
+ routeSide?: HandlePosition;
8
16
  /** Stable id within the node. Default `"default"`; required when >1 handle of same type. */
9
17
  id?: string;
10
18
  /** Defaults to true. Setting false disables both starting and ending here. */
@@ -22,5 +30,5 @@ export interface HandleProps {
22
30
  className?: string;
23
31
  style?: CSSProperties;
24
32
  }
25
- export declare function Handle({ type, position, id, isConnectable, isConnectableStart, isConnectableEnd, index, total, label, className, style, }: HandleProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function Handle({ type, position, routeSide, id, isConnectable, isConnectableStart, isConnectableEnd, index, total, label, className, style, }: HandleProps): import("react/jsx-runtime").JSX.Element;
26
34
  //# sourceMappingURL=Handle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handle.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/Handle/Handle.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwC,MAAM,OAAO,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/D,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB,4FAA4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAID,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,EAAsB,EACtB,aAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,KAAS,EACT,KAAS,EACT,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,WAAW,2CAkEb"}
1
+ {"version":3,"file":"Handle.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/Handle/Handle.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwC,MAAM,OAAO,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/D,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,4FAA4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAID,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,EAAsB,EACtB,aAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,KAAS,EACT,KAAS,EACT,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,WAAW,2CAqEb"}
@@ -3,15 +3,34 @@ export interface HandleDescriptor {
3
3
  nodeId: string;
4
4
  handleId: string;
5
5
  type: HandleType;
6
+ /** Physical edge the handle dot sits on — drives placement + the
7
+ * handle's flow-space centre. */
6
8
  side: HandlePosition;
9
+ /**
10
+ * Edge-routing direction. The bezier leaves/enters along THIS side,
11
+ * which is normally the same as `side`. A subflow's inner-facing port
12
+ * sits on the frame's outer edge (`side`) but must route INWARD — e.g.
13
+ * a port physically on `top` whose wire should curve `down` into the
14
+ * frame sets `routeSide: "bottom"`. Defaults to `side`.
15
+ */
16
+ routeSide: HandlePosition;
7
17
  /** 0-based position among same-(node, side, type) handles. */
8
18
  index: number;
9
19
  /** Total handles on the same (node, side, type). */
10
20
  total: number;
21
+ /** May this handle START a connection? Defaults true. */
22
+ canStart: boolean;
23
+ /** May this handle END a connection? Defaults true. */
24
+ canEnd: boolean;
11
25
  }
12
26
  export interface HandleRegistry {
13
27
  register(d: HandleDescriptor): () => void;
14
28
  resolve(nodeId: string, type: HandleType, handleId: string): HandleDescriptor | undefined;
29
+ /** Every currently-registered handle. Used by the connection drag to
30
+ * resolve a drop target geometrically (nearest handle within snap
31
+ * radius) rather than relying on DOM hit-testing, which is fragile
32
+ * against z-index / pointer-events / overlapping subflow frames. */
33
+ all(): HandleDescriptor[];
15
34
  /**
16
35
  * Subscribe to registry mutations. Fires after every register /
17
36
  * unregister so listeners (typically the EdgesLayer) can re-render
@@ -1 +1 @@
1
- {"version":3,"file":"handleRegistry.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/Handle/handleRegistry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1F;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,qBAAqB,yCAA6C,CAAC;AAEhF,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAgCrD"}
1
+ {"version":3,"file":"handleRegistry.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/Handle/handleRegistry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB;sCACkC;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1F;;;yEAGqE;IACrE,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,qBAAqB,yCAA6C,CAAC;AAEhF,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAmCrD"}
@@ -39,6 +39,10 @@ export interface BuiltInNodeData {
39
39
  /** Populated by `collapseFor()` — number of descendants hidden under
40
40
  * this collapsed group; the renderer shows it as a "N steps" badge. */
41
41
  hiddenCount?: number;
42
+ /** Dim the container's frame to signal "the engine will skip this
43
+ * subflow + all descendants". Visual only — semantics enforced by
44
+ * the consumer's execution layer. */
45
+ disabled?: boolean;
42
46
  iterator?: string;
43
47
  waitMs?: number;
44
48
  method?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/kinds/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,eAAe;IAC9B;;yEAEqE;IACrE,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACjC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACjC;8DAC0D;IAC1D,WAAW,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACrC,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IAClC,uEAAuE;IACvE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IAEjC,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;4EACwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAmBzD,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAkB1D,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,iBAAiB,CAAC,eAAe,CAiC5D,CAAC;AAcF,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAwDxD,CAAC;AAcF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAgE1D,CAAC;AAKF,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAiBzD,CAAC;AAKF,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAkBxD,CAAC;AAKF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAoBvD,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,eAAe,CAgC3D,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAgBzD,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAkB1D,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,eAAe,CAmB9D,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,gBAahC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/kinds/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGhG,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,eAAe;IAC9B;;yEAEqE;IACrE,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACjC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACjC;8DAC0D;IAC1D,WAAW,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IACrC,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IAClC,uEAAuE;IACvE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAC;IAEjC,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;4EACwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;0CAEsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAmBzD,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAkB1D,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,iBAAiB,CAAC,eAAe,CAiC5D,CAAC;AAcF,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAmExD,CAAC;AAeF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAiC1D,CAAC;AAKF,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAiBzD,CAAC;AAKF,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAkBxD,CAAC;AAKF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAoBvD,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,eAAe,CAgC3D,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAgBzD,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAkB1D,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,eAAe,CAmB9D,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,gBAahC,CAAC"}
@@ -6,11 +6,13 @@ export { type CreateDagreEngineOptions, createDagreEngine } from "./layout/dagre
6
6
  export { type CreateElkEngineOptions, createElkEngine } from "./layout/elk";
7
7
  export type { DagreGraph, DagreLike, ElkEdge, ElkGraph, ElkLike, } from "./layout/types";
8
8
  export { applyEdgeChanges, applyNodeChanges, change } from "./store/changes";
9
- export { useConnection, useEdgeById, useEdges, useFlowSelector, useIsEdgeSelected, useIsNodeSelected, useNodeById, useNodeData, useNodes, useSelection, useViewport, } from "./store/selectors";
9
+ export { useConnection, useEdgeById, useEdges, useFlowSelector, useIsEdgeSelected, useIsNodeSelected, useNodeById, useNodeData, useNodes, useSelection, useViewport, useViewportOrNull, } from "./store/selectors";
10
10
  export { ConfigPanel, type ConfigPanelProps, type ConfigPanelSaveState, type ConfigPanelTab, } from "./components/ConfigPanel/ConfigPanel";
11
11
  export { FlowCanvas, type FlowCanvasProps } from "./components/FlowCanvas/FlowCanvas";
12
12
  export { FlowEdge, type FlowEdgeProps } from "./components/FlowEdge/FlowEdge";
13
13
  export { FlowNode, type FlowNodeProps } from "./components/FlowNode/FlowNode";
14
+ export { FxPanel, type FxItemKind, type FxPanelCategory, type FxPanelItem, type FxPanelProps, type FxValueType, } from "./components/FxPanel/FxPanel";
15
+ export { DataRefButton, type DataRefButtonProps, } from "./components/FxPanel/DataRefButton";
14
16
  export { type FlowNodeContextValue, useFlowNodeContext, } from "./components/FlowNode/FlowNodeContext";
15
17
  export { buildNodeKindRegistry, type NodeKindComponent, type NodeKindProps, type NodeKindRegistry, } from "./components/FlowNode/nodeKinds";
16
18
  export { Handle, type HandleProps } from "./components/Handle/Handle";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,18 @@ export declare function useFlowSelector<T>(selector: (snapshot: FlowStoreSnapsho
11
11
  export declare function useNodes(): WorkflowNode[];
12
12
  export declare function useEdges(): WorkflowEdge[];
13
13
  export declare function useViewport(): Viewport;
14
+ /**
15
+ * Like `useViewport()` but returns `null` when called outside a
16
+ * `<FlowCanvas>`. Useful for shared chrome components (FlowToolbarZoom,
17
+ * minimap previews) that want to auto-subscribe when mounted inside the
18
+ * canvas, but still render correctly in isolation (Storybook, design
19
+ * docs) when no store is present.
20
+ *
21
+ * The subscribe/getSnapshot pair is memoised so React subscribes once per
22
+ * mounted `<FlowCanvas>` ancestor — flipping in/out is rare (only when a
23
+ * canvas is unmounted around the consumer).
24
+ */
25
+ export declare function useViewportOrNull(): Viewport | null;
14
26
  export declare function useNodeById(id: string): WorkflowNode | undefined;
15
27
  /**
16
28
  * Subscribe to the `data` slice of a single node by id. Re-renders only
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/workflow/store/selectors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,CAAC,EAC5C,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAC3C,CAAC,CAYH;AAID,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAI1E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAEzD;AAED,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAe/E"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/workflow/store/selectors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,CAAC,EAC5C,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAC3C,CAAC,CAYH;AAID,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,QAAQ,GAAG,IAAI,CAgBnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAI1E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAEzD;AAED,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAe/E"}
@@ -20,9 +20,11 @@ export declare function findAncestor(node: WorkflowNode, nodes: WorkflowNode[],
20
20
  */
21
21
  export declare function clampToParentExtent(node: WorkflowNode, proposed: Position, nodes: WorkflowNode[]): Position;
22
22
  /**
23
- * Hit-test which group node (if any) currently contains the given point.
24
- * Used by Alt-drop to re-parent a node into a group, and by drop-to-add
25
- * to scope a new node.
23
+ * Hit-test which container node (if any) currently contains the given
24
+ * point. Used by drag-to-reparent and by drop-to-add to scope a new
25
+ * node. Both `group` AND `forEach` are containers — a `forEach` holds
26
+ * its iteration body the same way a `group` holds its members, so the
27
+ * hit-test must accept either.
26
28
  */
27
29
  export declare function findContainingGroup(point: Position, nodes: WorkflowNode[], exclude?: string[]): WorkflowNode | undefined;
28
30
  //# sourceMappingURL=parenting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parenting.d.ts","sourceRoot":"","sources":["../../../src/workflow/utils/parenting.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGxD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA0BnF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,GACtC,YAAY,GAAG,SAAS,CAY1B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,YAAY,EAAE,GACpB,QAAQ,CAgBV;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,GAAE,MAAM,EAAO,GACrB,YAAY,GAAG,SAAS,CAqB1B"}
1
+ {"version":3,"file":"parenting.d.ts","sourceRoot":"","sources":["../../../src/workflow/utils/parenting.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGxD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA0BnF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,GACtC,YAAY,GAAG,SAAS,CAY1B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,YAAY,EAAE,GACpB,QAAQ,CAgBV;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,GAAE,MAAM,EAAO,GACrB,YAAY,GAAG,SAAS,CAqB1B"}