Skip to content

Commit fd4d85b

Browse files
Merge pull request #617 from synergycodes/main
Release v.1.1.2
2 parents 0206e8b + 3f0917e commit fd4d85b

File tree

23 files changed

+328
-218
lines changed

23 files changed

+328
-218
lines changed

.github/workflows/publish-npm.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,18 @@ jobs:
4343
- name: Build package for production
4444
run: cd packages/ng-diagram && pnpm build:prod
4545

46+
- name: Check if version already published
47+
id: check-version
48+
run: |
49+
VERSION="${GITHUB_REF_NAME#v}"
50+
if npm view ng-diagram@"$VERSION" version 2>/dev/null; then
51+
echo "already_published=true" >> "$GITHUB_OUTPUT"
52+
else
53+
echo "already_published=false" >> "$GITHUB_OUTPUT"
54+
fi
55+
4656
- name: Publish to npm
57+
if: steps.check-version.outputs.already_published == 'false'
4758
run: npm publish
4859
working-directory: packages/ng-diagram/dist/ng-diagram
4960

CHANGELOG.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.1.2] - 2026-03-17
11+
12+
### Changed
13+
14+
- Updated MCP server README with ASCII diagrams, Windows setup instructions, and streamlined documentation ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
15+
- Added MCP Server documentation page and updated roadmap status ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
16+
17+
### Fixed
18+
19+
- Fixed broken internal documentation URLs in Configuration, Edges, Changelog, and Policies pages ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
20+
- Exported missing `PanningActionState` and `SelectionActionState` types from public API ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
21+
1022
## [1.1.1] - 2026-03-12
1123

1224
### Added
@@ -26,8 +38,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2638
- [`selectionGestureEnded`](/docs/api/types/events/selectiongestureendedevent) event - fires on pointerup after a selection gesture completes (object click, box selection, or select-all), providing the currently selected nodes and edges. Use this for actions that should run after selection is done, such as showing toolbars or updating panels ([#582](https://github.com/synergycodes/ng-diagram/pull/582))
2739
- [Absolute edge label positioning](/docs/guides/edges/labels/#absolute-positioning) - `positionOnEdge` now accepts pixel-based strings (`'30px'`, `'-20px'`) in addition to relative numbers (0–1). Negative pixel values measure from the target end ([#580](https://github.com/synergycodes/ng-diagram/pull/580))
2840
- Default edge now supports `positionOnEdge` data property to control [label positioning](/docs/guides/edges/labels/#using-labels-in-default-edges) (defaults to `0.5`) ([#581](https://github.com/synergycodes/ng-diagram/pull/581))
29-
- [`nodeIds`](/docs/api/types/action-state/draggingactionstate/#nodeids) property on `DraggingActionState` containing IDs of all nodes participating in the drag operation ([#572](https://github.com/synergycodes/ng-diagram/pull/572))
30-
- [`movementStarted`](/docs/api/types/action-state/draggingactionstate/#movementstarted) property on `DraggingActionState` that indicates whether pointer movement exceeded the drag threshold before entering the dragging state ([#569](https://github.com/synergycodes/ng-diagram/pull/569))
41+
- [`nodeIds`](/docs/api/internals/draggingactionstate/#nodeids) property on `DraggingActionState` containing IDs of all nodes participating in the drag operation ([#572](https://github.com/synergycodes/ng-diagram/pull/572))
42+
- [`movementStarted`](/docs/api/internals/draggingactionstate/#movementstarted) property on `DraggingActionState` that indicates whether pointer movement exceeded the drag threshold before entering the dragging state ([#569](https://github.com/synergycodes/ng-diagram/pull/569))
3143
- [`initializeModelAdapter`](/docs/api/utilities/initializemodeladapter) function for initializing custom [`ModelAdapter`](/docs/api/types/model/modeladapter/) implementations. Use this when providing a custom adapter (e.g., backed by localStorage, NgRx, or an external store). The function prepares the adapter for use with ng-diagram. `initializeModel` continues to create the default `SignalModelAdapter` from `Partial<Model>` data. ([#586](https://github.com/synergycodes/ng-diagram/pull/586))
3244

3345
### Changed
@@ -174,7 +186,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
174186

175187
Initial tagged release.
176188

177-
[unreleased]: https://github.com/synergycodes/ng-diagram/compare/v1.1.1...HEAD
189+
[unreleased]: https://github.com/synergycodes/ng-diagram/compare/v1.1.2...HEAD
190+
[1.1.2]: https://github.com/synergycodes/ng-diagram/compare/v1.1.1...v1.1.2
178191
[1.1.1]: https://github.com/synergycodes/ng-diagram/compare/v1.1.0...v1.1.1
179192
[1.1.0]: https://github.com/synergycodes/ng-diagram/compare/v1.0.0...v1.1.0
180193
[1.0.0]: https://github.com/synergycodes/ng-diagram/compare/v0.9.1...v1.0.0

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
A robust Angular library for building interactive diagrams, node-based editors, and visual programming interfaces. Designed with Angular and TypeScript, it offers a complete toolkit to create sophisticated, customizable, and high-performance diagramming applications.
77

8-
Unlike generic diagramming libraries, **ng-diagram** is Angular-first built on Angular signals and templates for seamless integration and performance.
8+
Unlike generic diagramming libraries, **ng-diagram** is Angular-first - built on Angular signals and templates for seamless integration and performance.
99

1010
## ✨ Features
1111

@@ -174,11 +174,11 @@ export class CustomEdgeComponent implements NgDiagramEdgeTemplate {
174174

175175
## 👩‍💻 About the Creators
176176

177-
ng-diagram is built and maintained by [**Synergy Codes**](https://www.synergycodes.com) a team of developers who’ve spent **over a decade designing and delivering diagramming solutions** for clients worldwide.
177+
ng-diagram is built and maintained by [**Synergy Codes**](https://www.synergycodes.com) - a team of developers who’ve spent **over a decade designing and delivering diagramming solutions** for clients worldwide.
178178

179179
We are continuously distilling everything we know about building interactive diagrams, editors, and visual tools into this library. Our goal is simple: to empower Angular developers to create diagramming applications faster, easier, and with confidence.
180180

181-
When you use this library, you can be sure you’re in **good hands** backed by a team that knows diagrams inside out.
181+
When you use this library, you can be sure you’re in **good hands** - backed by a team that knows diagrams inside out.
182182

183183
## 📖 Documentation
184184

apps/docs/src/content/docs/api/Internals/ActionState.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ State related to linking nodes
4848

4949
### panning?
5050

51-
> `optional` **panning**: `PanningActionState`
51+
> `optional` **panning**: [`PanningActionState`](/docs/api/internals/panningactionstate/)
5252
5353
State related to panning the viewport
5454

@@ -72,6 +72,6 @@ State related to node rotation
7272

7373
### selection?
7474

75-
> `optional` **selection**: `SelectionActionState`
75+
> `optional` **selection**: [`SelectionActionState`](/docs/api/internals/selectionactionstate/)
7676
7777
State related to selection gestures

apps/docs/src/content/docs/api/Internals/ActionStateManager.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,13 @@ The linking state to set, or undefined to clear
173173

174174
#### Get Signature
175175

176-
> **get** **panning**(): `undefined` \| `PanningActionState`
176+
> **get** **panning**(): `undefined` \| [`PanningActionState`](/docs/api/internals/panningactionstate/)
177177
178178
Gets the current panning action state.
179179

180180
##### Returns
181181

182-
`undefined` \| `PanningActionState`
182+
`undefined` \| [`PanningActionState`](/docs/api/internals/panningactionstate/)
183183

184184
The panning state if viewport is being panned, undefined otherwise
185185

@@ -195,7 +195,7 @@ Sets the panning action state.
195195

196196
The panning state to set, or undefined to clear
197197

198-
`undefined` | `PanningActionState`
198+
`undefined` | [`PanningActionState`](/docs/api/internals/panningactionstate/)
199199

200200
##### Returns
201201

@@ -275,13 +275,13 @@ The rotation state to set, or undefined to clear
275275

276276
#### Get Signature
277277

278-
> **get** **selection**(): `undefined` \| `SelectionActionState`
278+
> **get** **selection**(): `undefined` \| [`SelectionActionState`](/docs/api/internals/selectionactionstate/)
279279
280280
Gets the current selection action state.
281281

282282
##### Returns
283283

284-
`undefined` \| `SelectionActionState`
284+
`undefined` \| [`SelectionActionState`](/docs/api/internals/selectionactionstate/)
285285

286286
The selection state if set, undefined otherwise
287287

@@ -297,7 +297,7 @@ Sets the selection action state.
297297

298298
The selection state to set, or undefined to clear
299299

300-
`undefined` | `SelectionActionState`
300+
`undefined` | [`SelectionActionState`](/docs/api/internals/selectionactionstate/)
301301

302302
##### Returns
303303

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
version: "since v1.1.2"
3+
editUrl: false
4+
next: false
5+
prev: false
6+
title: "PanningActionState"
7+
---
8+
9+
State tracking a panning operation in progress.
10+
11+
## Properties
12+
13+
### active
14+
15+
> **active**: `boolean`
16+
17+
Whether panning is currently active.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
version: "since v1.1.2"
3+
editUrl: false
4+
next: false
5+
prev: false
6+
title: "SelectionActionState"
7+
---
8+
9+
State tracking whether a selection gesture has changed the selection.
10+
11+
Set by selection commands when they apply changes, cleared when
12+
the `selectionGestureEnded` event is emitted on `selectEnd`.
13+
14+
## Properties
15+
16+
### selectionChanged
17+
18+
> **selectionChanged**: `boolean`
19+
20+
Whether selection has changed since the gesture started.

apps/docs/src/content/docs/api/_readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@ title: "ng-diagram"
3636
- [EnvironmentInfo](/docs/api/internals/environmentinfo/)
3737
- [HighlightGroupActionState](/docs/api/internals/highlightgroupactionstate/)
3838
- [LinkingActionState](/docs/api/internals/linkingactionstate/)
39+
- [PanningActionState](/docs/api/internals/panningactionstate/)
3940
- [ResizeActionState](/docs/api/internals/resizeactionstate/)
4041
- [RotationActionState](/docs/api/internals/rotationactionstate/)
42+
- [SelectionActionState](/docs/api/internals/selectionactionstate/)
4143

4244
## Other
4345

apps/docs/src/content/docs/changelog.mdx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212

1313
## [Unreleased]
1414

15+
## [1.1.2] - 2026-03-17
16+
17+
### Changed
18+
19+
- Updated MCP server README with ASCII diagrams, Windows setup instructions, and streamlined documentation ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
20+
- Added MCP Server documentation page and updated roadmap status ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
21+
22+
### Fixed
23+
24+
- Fixed broken internal documentation URLs in Configuration, Edges, Changelog, and Policies pages ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
25+
- Exported missing `PanningActionState` and `SelectionActionState` types from public API ([#610](https://github.com/synergycodes/ng-diagram/pull/610))
26+
1527
## [1.1.1] - 2026-03-12
1628

1729
### Added
@@ -31,8 +43,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3143
- [`selectionGestureEnded`](/docs/api/types/events/selectiongestureendedevent) event - fires on pointerup after a selection gesture completes (object click, box selection, or select-all), providing the currently selected nodes and edges. Use this for actions that should run after selection is done, such as showing toolbars or updating panels ([#582](https://github.com/synergycodes/ng-diagram/pull/582))
3244
- [Absolute edge label positioning](/docs/guides/edges/labels/#absolute-positioning) - `positionOnEdge` now accepts pixel-based strings (`'30px'`, `'-20px'`) in addition to relative numbers (0–1). Negative pixel values measure from the target end ([#580](https://github.com/synergycodes/ng-diagram/pull/580))
3345
- Default edge now supports `positionOnEdge` data property to control [label positioning](/docs/guides/edges/labels/#using-labels-in-default-edges) (defaults to `0.5`) ([#581](https://github.com/synergycodes/ng-diagram/pull/581))
34-
- [`nodeIds`](/docs/api/types/action-state/draggingactionstate/#nodeids) property on `DraggingActionState` containing IDs of all nodes participating in the drag operation ([#572](https://github.com/synergycodes/ng-diagram/pull/572))
35-
- [`movementStarted`](/docs/api/types/action-state/draggingactionstate/#movementstarted) property on `DraggingActionState` that indicates whether pointer movement exceeded the drag threshold before entering the dragging state ([#569](https://github.com/synergycodes/ng-diagram/pull/569))
46+
- [`nodeIds`](/docs/api/internals/draggingactionstate/#nodeids) property on `DraggingActionState` containing IDs of all nodes participating in the drag operation ([#572](https://github.com/synergycodes/ng-diagram/pull/572))
47+
- [`movementStarted`](/docs/api/internals/draggingactionstate/#movementstarted) property on `DraggingActionState` that indicates whether pointer movement exceeded the drag threshold before entering the dragging state ([#569](https://github.com/synergycodes/ng-diagram/pull/569))
3648
- [`initializeModelAdapter`](/docs/api/utilities/initializemodeladapter) function for initializing custom [`ModelAdapter`](/docs/api/types/model/modeladapter/) implementations. Use this when providing a custom adapter (e.g., backed by localStorage, NgRx, or an external store). The function prepares the adapter for use with ng-diagram. `initializeModel` continues to create the default `SignalModelAdapter` from `Partial<Model>` data. ([#586](https://github.com/synergycodes/ng-diagram/pull/586))
3749

3850
### Changed
@@ -179,7 +191,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
179191

180192
Initial tagged release.
181193

182-
[unreleased]: https://github.com/synergycodes/ng-diagram/compare/v1.1.1...HEAD
194+
[unreleased]: https://github.com/synergycodes/ng-diagram/compare/v1.1.2...HEAD
195+
[1.1.2]: https://github.com/synergycodes/ng-diagram/compare/v1.1.1...v1.1.2
183196
[1.1.1]: https://github.com/synergycodes/ng-diagram/compare/v1.1.0...v1.1.1
184197
[1.1.0]: https://github.com/synergycodes/ng-diagram/compare/v1.0.0...v1.1.0
185198
[1.0.0]: https://github.com/synergycodes/ng-diagram/compare/v0.9.1...v1.0.0

apps/docs/src/content/docs/guides/edges/edges.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ interface Edge<T = any> {
2727
}
2828
```
2929

30-
[Edge API Reference →](/docs/api/types/edge)
30+
[Edge API Reference →](/docs/api/types/model/edge)
3131

3232
## Adding Edges to a Diagram
3333

0 commit comments

Comments
 (0)