@angflow/angular 0.0.15 → 0.0.18

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 (184) hide show
  1. package/README.md +53 -0
  2. package/dist/base.css +18 -0
  3. package/dist/esm/lib/agent/agent-bridge.service.d.ts +30 -5
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +1 -1
  5. package/dist/esm/lib/agent/agent-bridge.service.js +863 -36
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -1
  7. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts +20 -0
  8. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts.map +1 -0
  9. package/dist/esm/lib/agent/chat/agent-chat.component.js +174 -0
  10. package/dist/esm/lib/agent/chat/agent-chat.component.js.map +1 -0
  11. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts +43 -0
  12. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts.map +1 -0
  13. package/dist/esm/lib/agent/chat/agent-chat.service.js +226 -0
  14. package/dist/esm/lib/agent/chat/agent-chat.service.js.map +1 -0
  15. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts +6 -0
  16. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts.map +1 -0
  17. package/dist/esm/lib/agent/chat/default-system-prompt.js +14 -0
  18. package/dist/esm/lib/agent/chat/default-system-prompt.js.map +1 -0
  19. package/dist/esm/lib/agent/chat/index.d.ts +7 -0
  20. package/dist/esm/lib/agent/chat/index.d.ts.map +1 -0
  21. package/dist/esm/lib/agent/chat/index.js +5 -0
  22. package/dist/esm/lib/agent/chat/index.js.map +1 -0
  23. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts +29 -0
  24. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts.map +1 -0
  25. package/dist/esm/lib/agent/chat/provide-agent-chat.js +40 -0
  26. package/dist/esm/lib/agent/chat/provide-agent-chat.js.map +1 -0
  27. package/dist/esm/lib/agent/chat/types.d.ts +77 -0
  28. package/dist/esm/lib/agent/chat/types.d.ts.map +1 -0
  29. package/dist/esm/lib/agent/chat/types.js +9 -0
  30. package/dist/esm/lib/agent/chat/types.js.map +1 -0
  31. package/dist/esm/lib/agent/history.d.ts +45 -0
  32. package/dist/esm/lib/agent/history.d.ts.map +1 -0
  33. package/dist/esm/lib/agent/history.js +89 -0
  34. package/dist/esm/lib/agent/history.js.map +1 -0
  35. package/dist/esm/lib/agent/index.d.ts +3 -1
  36. package/dist/esm/lib/agent/index.d.ts.map +1 -1
  37. package/dist/esm/lib/agent/index.js +1 -0
  38. package/dist/esm/lib/agent/index.js.map +1 -1
  39. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +28 -0
  40. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +1 -1
  41. package/dist/esm/lib/agent/provide-agent-bridge.js +7 -1
  42. package/dist/esm/lib/agent/provide-agent-bridge.js.map +1 -1
  43. package/dist/esm/lib/agent/tool-schemas.d.ts.map +1 -1
  44. package/dist/esm/lib/agent/tool-schemas.js +539 -0
  45. package/dist/esm/lib/agent/tool-schemas.js.map +1 -1
  46. package/dist/esm/lib/agent/transports/window.d.ts.map +1 -1
  47. package/dist/esm/lib/agent/transports/window.js +9 -1
  48. package/dist/esm/lib/agent/transports/window.js.map +1 -1
  49. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +3 -3
  50. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -1
  51. package/dist/esm/lib/components/attribution/attribution.component.js +3 -3
  52. package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -1
  53. package/dist/esm/lib/components/background/background.component.js +3 -3
  54. package/dist/esm/lib/components/background/background.component.js.map +1 -1
  55. package/dist/esm/lib/components/connection-line/connection-line.component.js +3 -3
  56. package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -1
  57. package/dist/esm/lib/components/controls/controls.component.js +3 -3
  58. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  59. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +3 -3
  60. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -1
  61. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +2 -2
  62. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +3 -3
  63. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  64. package/dist/esm/lib/components/edges/base-edge.component.js +3 -3
  65. package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -1
  66. package/dist/esm/lib/components/edges/bezier-edge.component.js +3 -3
  67. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  68. package/dist/esm/lib/components/edges/edge-text.component.js +3 -3
  69. package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -1
  70. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +3 -3
  71. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  72. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +3 -3
  73. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  74. package/dist/esm/lib/components/edges/step-edge.component.js +3 -3
  75. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  76. package/dist/esm/lib/components/edges/straight-edge.component.js +3 -3
  77. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  78. package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -1
  79. package/dist/esm/lib/components/handle/handle.component.js +28 -14
  80. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  81. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts +1 -1
  82. package/dist/esm/lib/components/handle-group/handle-group.component.js +3 -3
  83. package/dist/esm/lib/components/handle-group/handle-group.component.js.map +1 -1
  84. package/dist/esm/lib/components/handle-group/handle-row.component.js +3 -3
  85. package/dist/esm/lib/components/handle-group/handle-row.component.js.map +1 -1
  86. package/dist/esm/lib/components/minimap/minimap.component.js +3 -3
  87. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  88. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +3 -3
  89. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  90. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +3 -3
  91. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  92. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +3 -3
  93. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  94. package/dist/esm/lib/components/nodes/default-node.component.js +7 -7
  95. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  96. package/dist/esm/lib/components/nodes/group-node.component.js +3 -3
  97. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  98. package/dist/esm/lib/components/nodes/input-node.component.js +5 -5
  99. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  100. package/dist/esm/lib/components/nodes/output-node.component.js +5 -5
  101. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  102. package/dist/esm/lib/components/nodes/template-node.component.d.ts +48 -0
  103. package/dist/esm/lib/components/nodes/template-node.component.d.ts.map +1 -0
  104. package/dist/esm/lib/components/nodes/template-node.component.js +209 -0
  105. package/dist/esm/lib/components/nodes/template-node.component.js.map +1 -0
  106. package/dist/esm/lib/components/panel/panel.component.js +3 -3
  107. package/dist/esm/lib/components/panel/panel.component.js.map +1 -1
  108. package/dist/esm/lib/components/selection-box/selection-box.component.js +3 -3
  109. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
  110. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +3 -3
  111. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -1
  112. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +14 -0
  113. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
  114. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +75 -24
  115. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  116. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +20 -2
  117. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
  118. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +30 -6
  119. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  120. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +7 -0
  121. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
  122. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +104 -15
  123. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  124. package/dist/esm/lib/container/pane/pane.component.js +3 -3
  125. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  126. package/dist/esm/lib/container/viewport/viewport.component.js +3 -3
  127. package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -1
  128. package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -1
  129. package/dist/esm/lib/directives/drag.directive.js +12 -4
  130. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  131. package/dist/esm/lib/directives/drop-zone.directive.js +3 -3
  132. package/dist/esm/lib/directives/drop-zone.directive.js.map +1 -1
  133. package/dist/esm/lib/directives/key-handler.directive.js +3 -3
  134. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  135. package/dist/esm/lib/directives/node-type.directive.js +3 -3
  136. package/dist/esm/lib/directives/node-type.directive.js.map +1 -1
  137. package/dist/esm/lib/layout/dagre-layout.d.ts +12 -0
  138. package/dist/esm/lib/layout/dagre-layout.d.ts.map +1 -0
  139. package/dist/esm/lib/layout/dagre-layout.js +13 -0
  140. package/dist/esm/lib/layout/dagre-layout.js.map +1 -0
  141. package/dist/esm/lib/layout/index.d.ts +4 -0
  142. package/dist/esm/lib/layout/index.d.ts.map +1 -0
  143. package/dist/esm/lib/layout/index.js +3 -0
  144. package/dist/esm/lib/layout/index.js.map +1 -0
  145. package/dist/esm/lib/layout/layout-nodes.d.ts +47 -0
  146. package/dist/esm/lib/layout/layout-nodes.d.ts.map +1 -0
  147. package/dist/esm/lib/layout/layout-nodes.js +49 -0
  148. package/dist/esm/lib/layout/layout-nodes.js.map +1 -0
  149. package/dist/esm/lib/public-api.d.ts +2 -1
  150. package/dist/esm/lib/public-api.d.ts.map +1 -1
  151. package/dist/esm/lib/public-api.js +4 -1
  152. package/dist/esm/lib/public-api.js.map +1 -1
  153. package/dist/esm/lib/services/flow-store.service.d.ts +52 -2
  154. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
  155. package/dist/esm/lib/services/flow-store.service.js +150 -3
  156. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  157. package/dist/esm/lib/services/ng-flow.service.d.ts +105 -0
  158. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
  159. package/dist/esm/lib/services/ng-flow.service.js +166 -3
  160. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  161. package/dist/esm/lib/types/edges.d.ts +14 -2
  162. package/dist/esm/lib/types/edges.d.ts.map +1 -1
  163. package/dist/esm/lib/types/general.d.ts +10 -0
  164. package/dist/esm/lib/types/general.d.ts.map +1 -1
  165. package/dist/esm/lib/types/index.d.ts +1 -0
  166. package/dist/esm/lib/types/index.d.ts.map +1 -1
  167. package/dist/esm/lib/types/index.js +1 -0
  168. package/dist/esm/lib/types/index.js.map +1 -1
  169. package/dist/esm/lib/types/node-template.d.ts +77 -0
  170. package/dist/esm/lib/types/node-template.d.ts.map +1 -0
  171. package/dist/esm/lib/types/node-template.js +10 -0
  172. package/dist/esm/lib/types/node-template.js.map +1 -0
  173. package/dist/esm/lib/types/nodes.d.ts +1 -9
  174. package/dist/esm/lib/types/nodes.d.ts.map +1 -1
  175. package/dist/esm/lib/utils/position-tween.d.ts +19 -0
  176. package/dist/esm/lib/utils/position-tween.d.ts.map +1 -0
  177. package/dist/esm/lib/utils/position-tween.js +25 -0
  178. package/dist/esm/lib/utils/position-tween.js.map +1 -0
  179. package/dist/esm/lib/utils/template-interpolation.d.ts +16 -0
  180. package/dist/esm/lib/utils/template-interpolation.d.ts.map +1 -0
  181. package/dist/esm/lib/utils/template-interpolation.js +51 -0
  182. package/dist/esm/lib/utils/template-interpolation.js.map +1 -0
  183. package/dist/style.css +18 -0
  184. package/package.json +78 -66
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-tween.js","sourceRoot":"","sources":["../../../../src/lib/utils/position-tween.ts"],"names":[],"mappings":"AAEA,wIAAwI;AACxI,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAWD,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,GAAW;IACxD,wFAAwF;IACxF,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO;QACL,QAAQ,EAAE;YACR,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACjD,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;SAClD;QACD,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,kCAAkC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACpH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Dotted-path interpolation for node template specs.
3
+ *
4
+ * Security stance: the only "language" is `data(.identifier)*`. No brackets,
5
+ * no calls, no expressions. Resolution walks own-properties only, so
6
+ * `data.constructor` / prototype-chain access resolves to undefined. Callers
7
+ * must render results via text bindings — never innerHTML.
8
+ */
9
+ /** Resolve a dotted `data.x.y` path against a node's `data`. Unknown → undefined. */
10
+ export declare function resolveTemplatePath(expr: string, data: unknown): unknown;
11
+ /** Replace every `{{…}}` token in `template` with its resolved value (or '').
12
+ * Only `data.x` paths resolve to a value; all other expressions resolve to ''. */
13
+ export declare function interpolateTemplateString(template: string, data: unknown): string;
14
+ /** Evaluate a `showIf` condition: undefined → true; otherwise truthiness of the path. */
15
+ export declare function isTemplateConditionTrue(expr: string | undefined, data: unknown): boolean;
16
+ //# sourceMappingURL=template-interpolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-interpolation.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/template-interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAWxE;AAED;kFACkF;AAClF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAajF;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAGxF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Dotted-path interpolation for node template specs.
3
+ *
4
+ * Security stance: the only "language" is `data(.identifier)*`. No brackets,
5
+ * no calls, no expressions. Resolution walks own-properties only, so
6
+ * `data.constructor` / prototype-chain access resolves to undefined. Callers
7
+ * must render results via text bindings — never innerHTML.
8
+ */
9
+ const PATH_RE = /^data(\.[A-Za-z_$][\w$]*)*$/;
10
+ /** Resolve a dotted `data.x.y` path against a node's `data`. Unknown → undefined. */
11
+ export function resolveTemplatePath(expr, data) {
12
+ if (!PATH_RE.test(expr))
13
+ return undefined;
14
+ const segments = expr.split('.').slice(1); // drop the leading 'data'
15
+ let current = data;
16
+ if (current === null || current === undefined)
17
+ return undefined;
18
+ for (const seg of segments) {
19
+ if (current === null || typeof current !== 'object')
20
+ return undefined;
21
+ if (!Object.prototype.hasOwnProperty.call(current, seg))
22
+ return undefined;
23
+ current = current[seg];
24
+ }
25
+ return current;
26
+ }
27
+ /** Replace every `{{…}}` token in `template` with its resolved value (or '').
28
+ * Only `data.x` paths resolve to a value; all other expressions resolve to ''. */
29
+ export function interpolateTemplateString(template, data) {
30
+ return template.replace(/\{\{\s*([^}]+?)\s*\}\}/g, (_match, expr) => {
31
+ const value = resolveTemplatePath(expr, data);
32
+ if (value === null || value === undefined)
33
+ return '';
34
+ if (typeof value === 'object') {
35
+ try {
36
+ return JSON.stringify(value);
37
+ }
38
+ catch {
39
+ return '';
40
+ }
41
+ }
42
+ return String(value);
43
+ });
44
+ }
45
+ /** Evaluate a `showIf` condition: undefined → true; otherwise truthiness of the path. */
46
+ export function isTemplateConditionTrue(expr, data) {
47
+ if (expr === undefined)
48
+ return true;
49
+ return !!resolveTemplatePath(expr, data);
50
+ }
51
+ //# sourceMappingURL=template-interpolation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-interpolation.js","sourceRoot":"","sources":["../../../../src/lib/utils/template-interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAE9C,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAa;IAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IACrE,IAAI,OAAO,GAAY,IAAI,CAAC;IAC5B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1E,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,IAAa;IACvE,OAAO,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QAC1E,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAwB,EAAE,IAAa;IAC7E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
package/dist/style.css CHANGED
@@ -1143,6 +1143,24 @@ svg.xy-flow__connectionline {
1143
1143
  }
1144
1144
 
1145
1145
 
1146
+ /* Entry animation — applied by the node renderer when [animate] is enabled.
1147
+ Uses the standalone `scale` property so it composes with the inline
1148
+ translate() transform instead of overriding it. */
1149
+ .xy-flow__node-enter {
1150
+ animation: xy-flow-node-enter 300ms ease both;
1151
+ transform-origin: 50% 50%;
1152
+ }
1153
+
1154
+ @keyframes xy-flow-node-enter {
1155
+ from { opacity: 0; scale: 0.92; }
1156
+ to { opacity: 1; scale: 1; }
1157
+ }
1158
+
1159
+ @media (prefers-reduced-motion: reduce) {
1160
+ .xy-flow__node-enter { animation: none; }
1161
+ }
1162
+
1163
+
1146
1164
  .xy-flow__node-input,
1147
1165
  .xy-flow__node-default,
1148
1166
  .xy-flow__node-output,
package/package.json CHANGED
@@ -1,66 +1,78 @@
1
- {
2
- "name": "@angflow/angular",
3
- "version": "0.0.15",
4
- "type": "module",
5
- "description": "Angular Flow - A highly customizable Angular library for building node-based editors and interactive flow charts.",
6
- "keywords": [
7
- "angular",
8
- "node-based UI",
9
- "graph",
10
- "diagram",
11
- "workflow",
12
- "angular-flow",
13
- "angflow"
14
- ],
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/angflow/angflow.git",
18
- "directory": "packages/angular"
19
- },
20
- "files": [
21
- "dist"
22
- ],
23
- "main": "dist/esm/index.js",
24
- "module": "dist/esm/index.js",
25
- "types": "dist/esm/index.d.ts",
26
- "exports": {
27
- "./package.json": "./package.json",
28
- ".": {
29
- "types": "./dist/esm/index.d.ts",
30
- "default": "./dist/esm/index.js"
31
- },
32
- "./dist/style.css": "./dist/style.css",
33
- "./dist/base.css": "./dist/base.css"
34
- },
35
- "sideEffects": [
36
- "*.css"
37
- ],
38
- "license": "MIT",
39
- "publishConfig": {
40
- "access": "public"
41
- },
42
- "scripts": {
43
- "build": "ngc -p tsconfig.lib.json && node scripts/bundle-css.js",
44
- "test": "vitest run",
45
- "test:watch": "vitest",
46
- "lint": "eslint --ext .ts src",
47
- "typecheck": "tsc --noEmit"
48
- },
49
- "dependencies": {
50
- "@angflow/system": ">=0.0.91"
51
- },
52
- "peerDependencies": {
53
- "@angular/common": ">=19.0.0",
54
- "@angular/core": ">=19.0.0",
55
- "rxjs": ">=7.0.0"
56
- },
57
- "devDependencies": {
58
- "@angular/compiler": ">=19.0.0",
59
- "@angular/compiler-cli": ">=19.0.0",
60
- "@angular/platform-browser": "^21.2.7",
61
- "@angular/platform-browser-dynamic": "^21.2.7",
62
- "jsdom": "^29.0.1",
63
- "typescript": "5.9.3",
64
- "vitest": "^4.1.2"
65
- }
66
- }
1
+ {
2
+ "name": "@angflow/angular",
3
+ "version": "0.0.18",
4
+ "type": "module",
5
+ "description": "Angular Flow - A highly customizable Angular library for building node-based editors and interactive flow charts.",
6
+ "keywords": [
7
+ "angular",
8
+ "node-based UI",
9
+ "graph",
10
+ "diagram",
11
+ "workflow",
12
+ "angular-flow",
13
+ "angflow"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/angflow/angflow.git",
18
+ "directory": "packages/angular"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "main": "dist/esm/index.js",
24
+ "module": "dist/esm/index.js",
25
+ "types": "dist/esm/index.d.ts",
26
+ "exports": {
27
+ "./package.json": "./package.json",
28
+ ".": {
29
+ "types": "./dist/esm/index.d.ts",
30
+ "default": "./dist/esm/index.js"
31
+ },
32
+ "./layout": {
33
+ "types": "./dist/esm/lib/layout/index.d.ts",
34
+ "default": "./dist/esm/lib/layout/index.js"
35
+ },
36
+ "./dist/style.css": "./dist/style.css",
37
+ "./dist/base.css": "./dist/base.css"
38
+ },
39
+ "sideEffects": [
40
+ "*.css"
41
+ ],
42
+ "license": "MIT",
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "scripts": {
47
+ "build": "ngc -p tsconfig.lib.json && node scripts/bundle-css.js",
48
+ "test": "vitest run",
49
+ "test:watch": "vitest",
50
+ "lint": "eslint --ext .ts src",
51
+ "typecheck": "tsc --noEmit"
52
+ },
53
+ "dependencies": {
54
+ "@angflow/system": ">=0.0.93"
55
+ },
56
+ "peerDependencies": {
57
+ "@angular/common": ">=19.0.0",
58
+ "@angular/core": ">=19.0.0",
59
+ "@dagrejs/dagre": ">=3.0.0",
60
+ "rxjs": ">=7.0.0"
61
+ },
62
+ "peerDependenciesMeta": {
63
+ "@dagrejs/dagre": {
64
+ "optional": true
65
+ }
66
+ },
67
+ "devDependencies": {
68
+ "@analogjs/vite-plugin-angular": "^2.5.3",
69
+ "@angular/compiler": "^21.2.15",
70
+ "@angular/compiler-cli": "^21.2.15",
71
+ "@angular/platform-browser": "^21.2.15",
72
+ "@angular/platform-browser-dynamic": "^21.2.7",
73
+ "@dagrejs/dagre": "^3.0.0",
74
+ "jsdom": "^29.0.1",
75
+ "typescript": "5.9.3",
76
+ "vitest": "^4.1.2"
77
+ }
78
+ }