Whether the tree should be focused. Key navigation only works when the tree is focused.
-
-
- `
+ `,
+ imports: [TreeModule]
})
export class ApiComponent {
options: ITreeOptions = {
diff --git a/projects/example-app/src/app/app-routing.module.ts b/projects/example-app/src/app/app-routing.module.ts
index 39bf8fba..ac853765 100644
--- a/projects/example-app/src/app/app-routing.module.ts
+++ b/projects/example-app/src/app/app-routing.module.ts
@@ -96,7 +96,7 @@ const routes: Routes = [
];
@NgModule({
- imports: [RouterModule.forRoot(routes, { useHash: true, relativeLinkResolution: 'legacy' })],
+ imports: [RouterModule.forRoot(routes, { useHash: true })],
exports: [RouterModule]
})
export class AppRoutingModule {}
diff --git a/projects/example-app/src/app/app.component.ts b/projects/example-app/src/app/app.component.ts
index 5d1c4bce..216e1436 100644
--- a/projects/example-app/src/app/app.component.ts
+++ b/projects/example-app/src/app/app.component.ts
@@ -1,10 +1,12 @@
import { Component } from '@angular/core';
+import { RouterOutlet } from '@angular/router';
@Component({
- selector: 'app-root',
- template: `
+ selector: 'app-root',
+ template: `
- `
+ `,
+ imports: [RouterOutlet]
})
export class AppComponent {
}
diff --git a/projects/example-app/src/app/app.module.ts b/projects/example-app/src/app/app.module.ts
index 40bf5395..3efa19f1 100644
--- a/projects/example-app/src/app/app.module.ts
+++ b/projects/example-app/src/app/app.module.ts
@@ -2,7 +2,7 @@ import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { TreeModule } from 'angular-tree-component';
+import { TreeModule } from '@blackbaud/angular-tree-component';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
diff --git a/projects/example-app/src/app/async/async.component.ts b/projects/example-app/src/app/async/async.component.ts
index be6de47d..1ed3fe71 100644
--- a/projects/example-app/src/app/async/async.component.ts
+++ b/projects/example-app/src/app/async/async.component.ts
@@ -1,12 +1,13 @@
import { Component } from '@angular/core';
-import { ITreeOptions, TreeNode} from 'angular-tree-component';
+import { ITreeOptions, TreeNode, TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-async',
- template: `
+ selector: 'app-async',
+ template: `
`,
- styles: []
+ styles: [],
+ imports: [TreeModule]
})
export class AsyncTreeComponent {
options: ITreeOptions = {
diff --git a/projects/example-app/src/app/basictree/basictree.component.ts b/projects/example-app/src/app/basictree/basictree.component.ts
index c47dc5bf..c740e81b 100644
--- a/projects/example-app/src/app/basictree/basictree.component.ts
+++ b/projects/example-app/src/app/basictree/basictree.component.ts
@@ -1,14 +1,16 @@
import { Component } from '@angular/core';
+import { TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-basictree',
- template: `
+ selector: 'app-basictree',
+ template: `
Keys:
down | up | left | right | space | enter
`,
- styles: []
+ styles: [],
+ imports: [TreeModule]
})
export class BasicTreeComponent {
nodes = [
diff --git a/projects/example-app/src/app/checkboxes/checkboxes.component.ts b/projects/example-app/src/app/checkboxes/checkboxes.component.ts
index ebed34e9..e2a7ce60 100644
--- a/projects/example-app/src/app/checkboxes/checkboxes.component.ts
+++ b/projects/example-app/src/app/checkboxes/checkboxes.component.ts
@@ -1,9 +1,9 @@
-import { ITreeOptions } from 'angular-tree-component';
+import { ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
import { Component } from '@angular/core';
@Component({
- selector: 'app-checkboxes',
- template: `
+ selector: 'app-checkboxes',
+ template: `
tri-state checkboxes
`,
- styles: [
- ]
+ styles: [],
+ imports: [TreeModule]
})
export class CheckboxesComponent {
nodes = [
diff --git a/projects/example-app/src/app/contextmenu/contextmenu.component.spec.ts b/projects/example-app/src/app/contextmenu/contextmenu.component.spec.ts
index 20580d2c..679bc9f1 100644
--- a/projects/example-app/src/app/contextmenu/contextmenu.component.spec.ts
+++ b/projects/example-app/src/app/contextmenu/contextmenu.component.spec.ts
@@ -8,7 +8,7 @@ describe('ContextmenuComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [ContextmenuComponent],
+ imports: [ContextmenuComponent],
teardown: { destroyAfterEach: false }
})
.compileComponents();
diff --git a/projects/example-app/src/app/contextmenu/contextmenu.component.ts b/projects/example-app/src/app/contextmenu/contextmenu.component.ts
index 2805377a..78bc793c 100644
--- a/projects/example-app/src/app/contextmenu/contextmenu.component.ts
+++ b/projects/example-app/src/app/contextmenu/contextmenu.component.ts
@@ -1,9 +1,11 @@
import { Component, HostListener } from '@angular/core';
-import { ITreeOptions, TREE_ACTIONS, TreeNode, TreeModel } from 'angular-tree-component';
+import { ITreeOptions, TREE_ACTIONS, TreeNode, TreeModel, TreeModule } from '@blackbaud/angular-tree-component';
+import { NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
@Component({
- selector: 'app-contextmenu',
- template: `
+ selector: 'app-contextmenu',
+ template: `
@@ -30,28 +32,29 @@ import { ITreeOptions, TREE_ACTIONS, TreeNode, TreeModel } from 'angular-tree-co
Keys:
down | up | left | right | space | enter
`,
- styles: [
- `.menu {
+ styles: [
+ `.menu {
position: absolute;
background: rgba(255, 255, 255, 0.9);
padding: 7px;
border-radius: 5px;
box-shadow: 0 0 2px 2px rgba(0,0,0,0.2);
}`,
- `ul {
+ `ul {
list-style: none;
padding: 0;
margin: 0;
}`,
- `li {
+ `li {
padding: 7px;
border-radius: 3px;
cursor: pointer;
}`,
- `li:hover {
+ `li:hover {
background-color: aliceblue;
}`,
- ]
+ ],
+ imports: [TreeModule, NgIf, FormsModule]
})
export class ContextmenuComponent {
contextMenu: {node: TreeNode, x: number, y: number} = null;
diff --git a/projects/example-app/src/app/drag/drag.component.ts b/projects/example-app/src/app/drag/drag.component.ts
index 9d2757e3..e7fb51bf 100644
--- a/projects/example-app/src/app/drag/drag.component.ts
+++ b/projects/example-app/src/app/drag/drag.component.ts
@@ -1,14 +1,15 @@
import { Component } from '@angular/core';
-import { ITreeState, ITreeOptions } from 'angular-tree-component';
+import { ITreeState, ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
import { v4 } from 'uuid';
@Component({
- selector: 'app-drag',
- template: `
+ selector: 'app-drag',
+ template: `
Allowing to drag only leaf nodes; ctrl-drag to copy
`,
- styles: []
+ styles: [],
+ imports: [TreeModule]
})
export class DragComponent {
state: ITreeState = {
diff --git a/projects/example-app/src/app/dragover-styling/dragover-styling-full-tree.component.ts b/projects/example-app/src/app/dragover-styling/dragover-styling-full-tree.component.ts
index 960cfe3f..4f9d583d 100644
--- a/projects/example-app/src/app/dragover-styling/dragover-styling-full-tree.component.ts
+++ b/projects/example-app/src/app/dragover-styling/dragover-styling-full-tree.component.ts
@@ -1,12 +1,6 @@
import { Component, OnInit } from '@angular/core';
-import {
- TreeNode,
- TreeModel,
- TREE_ACTIONS,
- KEYS,
- IActionMapping,
- ITreeOptions
-} from 'angular-tree-component';
+import { TreeNode, TreeModel, TREE_ACTIONS, KEYS, IActionMapping, ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
+import { FormsModule } from '@angular/forms';
const actionMapping: IActionMapping = {
mouse: {
@@ -31,9 +25,9 @@ const actionMapping: IActionMapping = {
};
@Component({
- selector: 'app-dragover-styling-fulltree',
- styles: [
- `
+ selector: 'app-dragover-styling-fulltree',
+ styles: [
+ `
button: {
line-height: 24px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
@@ -44,8 +38,8 @@ const actionMapping: IActionMapping = {
margin: 0 3px;
}
`
- ],
- template: `
+ ],
+ template: `
@@ -113,7 +114,8 @@ const actionMapping: IActionMapping = {
(click)="activeNodes(tree.treeModel)">
getActiveNodes()
- `
+ `,
+ imports: [FormsModule, TreeModule]
})
export class FullTreeComponent implements OnInit {
nodes: any[];
diff --git a/projects/example-app/src/app/rtl/rtl-tree.component.ts b/projects/example-app/src/app/rtl/rtl-tree.component.ts
index b5edf220..3cbc6ddb 100644
--- a/projects/example-app/src/app/rtl/rtl-tree.component.ts
+++ b/projects/example-app/src/app/rtl/rtl-tree.component.ts
@@ -1,12 +1,14 @@
import { Component, ViewEncapsulation } from '@angular/core';
+import { TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-basictree',
- template: `
+ selector: 'app-basictree',
+ template: `
`,
- encapsulation: ViewEncapsulation.None,
- styles: []
+ encapsulation: ViewEncapsulation.None,
+ styles: [],
+ imports: [TreeModule]
})
export class RtlTreeComponent {
options = {
diff --git a/projects/example-app/src/app/save-restore/save-restore.component.ts b/projects/example-app/src/app/save-restore/save-restore.component.ts
index 37a1fd66..d11f68b3 100644
--- a/projects/example-app/src/app/save-restore/save-restore.component.ts
+++ b/projects/example-app/src/app/save-restore/save-restore.component.ts
@@ -1,5 +1,5 @@
import { Component } from '@angular/core';
-import { ITreeState } from 'angular-tree-component';
+import { ITreeState, TreeModule } from '@blackbaud/angular-tree-component';
const getChildren = () => new Promise((resolve) => {
setTimeout(() => resolve([
@@ -11,12 +11,13 @@ const getChildren = () => new Promise((resolve) => {
});
@Component({
- selector: 'app-saverestore',
- template: `
+ selector: 'app-saverestore',
+ template: `
`,
- styles: []
+ styles: [],
+ imports: [TreeModule]
})
export class SaveRestoreComponent {
get state(): ITreeState {
diff --git a/projects/example-app/src/app/scrollcontainer/scrollcontainer.component.ts b/projects/example-app/src/app/scrollcontainer/scrollcontainer.component.ts
index e91871b0..6958f4eb 100644
--- a/projects/example-app/src/app/scrollcontainer/scrollcontainer.component.ts
+++ b/projects/example-app/src/app/scrollcontainer/scrollcontainer.component.ts
@@ -1,11 +1,10 @@
import { Component, Input, OnInit } from '@angular/core';
-import { TreeNode, TreeModel, TREE_ACTIONS, KEYS, IActionMapping, ITreeOptions } from 'angular-tree-component';
+import { TreeNode, TreeModel, TREE_ACTIONS, KEYS, IActionMapping, ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-scrollcontainer',
- styles: [
- ],
- template: `
+ selector: 'app-scrollcontainer',
+ styles: [],
+ template: `
Padding
- `
+ `,
+ imports: [TreeModule]
})
export class ScrollContainerComponent implements OnInit {
nodes: any[] = [];
diff --git a/projects/example-app/src/app/templates/templates.component.ts b/projects/example-app/src/app/templates/templates.component.ts
index 38dba677..556e81fd 100644
--- a/projects/example-app/src/app/templates/templates.component.ts
+++ b/projects/example-app/src/app/templates/templates.component.ts
@@ -1,9 +1,9 @@
import { Component } from '@angular/core';
-import { ITreeOptions } from 'angular-tree-component';
+import { ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-templates',
- template: `
+ selector: 'app-templates',
+ template: `
treeNodeTemplate and loadingTemplate
@@ -43,10 +43,11 @@ import { ITreeOptions } from 'angular-tree-component';
`,
- styles: [
- '.root1Class { color: blue }',
- '.root2Class { color: red }'
- ]
+ styles: [
+ '.root1Class { color: blue }',
+ '.root2Class { color: red }'
+ ],
+ imports: [TreeModule]
})
export class TemplatesComponent {
nodes1 = [
diff --git a/projects/example-app/src/app/virtualscroll/virtualscroll.component.spec.ts b/projects/example-app/src/app/virtualscroll/virtualscroll.component.spec.ts
index 7cad0adc..c2fab574 100644
--- a/projects/example-app/src/app/virtualscroll/virtualscroll.component.spec.ts
+++ b/projects/example-app/src/app/virtualscroll/virtualscroll.component.spec.ts
@@ -8,7 +8,7 @@ describe('VirtualscrollComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [VirtualscrollComponent],
+ imports: [VirtualscrollComponent],
teardown: { destroyAfterEach: false }
})
.compileComponents();
diff --git a/projects/example-app/src/app/virtualscroll/virtualscroll.component.ts b/projects/example-app/src/app/virtualscroll/virtualscroll.component.ts
index e46880e9..0327092e 100644
--- a/projects/example-app/src/app/virtualscroll/virtualscroll.component.ts
+++ b/projects/example-app/src/app/virtualscroll/virtualscroll.component.ts
@@ -1,11 +1,10 @@
import { Component, Input } from '@angular/core';
-import { TreeNode, TreeModel, ITreeOptions } from 'angular-tree-component';
+import { TreeNode, TreeModel, ITreeOptions, TreeModule } from '@blackbaud/angular-tree-component';
@Component({
- selector: 'app-virtualscroll',
- styles: [
- ],
- template: `
+ selector: 'app-virtualscroll',
+ styles: [],
+ template: `
- `
+ `,
+ imports: [TreeModule]
})
export class VirtualscrollComponent {
nodes: any[];
diff --git a/projects/example-app/src/main.ts b/projects/example-app/src/main.ts
index 91ec6da5..19df8ea9 100644
--- a/projects/example-app/src/main.ts
+++ b/projects/example-app/src/main.ts
@@ -1,12 +1,20 @@
-import { enableProdMode } from '@angular/core';
+import { enableProdMode, importProvidersFrom } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
-import { AppModule } from './app/app.module';
+
import { environment } from './environments/environment';
+import { BrowserModule, bootstrapApplication } from '@angular/platform-browser';
+import { FormsModule } from '@angular/forms';
+import { TreeModule } from '@blackbaud/angular-tree-component';
+import { CommonModule } from '@angular/common';
+import { AppRoutingModule } from './app/app-routing.module';
+import { AppComponent } from './app/app.component';
if (environment.production) {
enableProdMode();
}
-platformBrowserDynamic().bootstrapModule(AppModule)
+bootstrapApplication(AppComponent, {
+ providers: [importProvidersFrom(BrowserModule, FormsModule, TreeModule, CommonModule, AppRoutingModule)]
+})
.catch(err => console.log(err));
diff --git a/projects/example-app/src/polyfills.ts b/projects/example-app/src/polyfills.ts
index c35c1860..20b625d4 100644
--- a/projects/example-app/src/polyfills.ts
+++ b/projects/example-app/src/polyfills.ts
@@ -19,7 +19,7 @@
*/
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
-import 'core-js/es/symbol';
+/*import 'core-js/es/symbol';
import 'core-js/es/object';
import 'core-js/es/function';
import 'core-js/es/parse-int';
@@ -32,7 +32,7 @@ import 'core-js/es/array';
import 'core-js/es/regexp';
import 'core-js/es/map';
import 'core-js/es/weak-map';
-import 'core-js/es/set';
+import 'core-js/es/set';*/
/** IE10 and IE11 requires the following for the Reflect API. */
// import 'core-js/es6/reflect';
diff --git a/projects/example-app/src/test.ts b/projects/example-app/src/test.ts
index a6f15af3..7632e27a 100644
--- a/projects/example-app/src/test.ts
+++ b/projects/example-app/src/test.ts
@@ -7,14 +7,8 @@ import {
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
-declare const require: any;
-
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
-// Then we find all the tests.
-const context = require.context('./', true, /\.spec\.ts$/);
-// And load the modules.
-context.keys().map(context);
diff --git a/projects/example-app/tsconfig.es5.app.json b/projects/example-app/tsconfig.es5.app.json
index e077b018..cdbe8cf1 100644
--- a/projects/example-app/tsconfig.es5.app.json
+++ b/projects/example-app/tsconfig.es5.app.json
@@ -2,7 +2,6 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/app",
- "target": "es2020",
"types": []
},
"files": ["src/main.ts", "src/polyfills.ts"],
diff --git a/projects/example-app/tslint.json b/projects/example-app/tslint.json
deleted file mode 100644
index 19e8161a..00000000
--- a/projects/example-app/tslint.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [
- true,
- "attribute",
- "app",
- "camelCase"
- ],
- "component-selector": [
- true,
- "element",
- "app",
- "kebab-case"
- ]
- }
-}
diff --git a/tsconfig.json b/tsconfig.json
index 60fe14c6..dcea19d5 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,8 +2,8 @@
"compilerOptions": {
"baseUrl": ".",
"module": "es2020",
- "moduleResolution": "node",
- "target": "es2020",
+ "moduleResolution": "bundler",
+ "target": "ES2022",
"outDir": "/dist/out-tsc",
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
@@ -12,19 +12,22 @@
"declaration": true,
"skipLibCheck": true,
"stripInternal": true,
- "typeRoots": ["node_modules/@types"],
+ "typeRoots": [
+ "node_modules/@types"
+ ],
"lib": [
"es2017",
"dom"
],
"paths": {
- "angular-tree-component": [
+ "@blackbaud/angular-tree-component": [
"dist/angular-tree-component"
],
- "angular-tree-component/*": [
+ "@blackbaud/angular-tree-component/*": [
"dist/angular-tree-component/*"
]
- }
+ },
+ "useDefineForClassFields": false
},
"compileOnSave": false,
"buildOnSave": false,
From 0369cf737ba5c932a518d95c3d23ea1bdeed8d23 Mon Sep 17 00:00:00 2001
From: Blackbaud Sky Build User
Date: Mon, 27 Oct 2025 13:47:51 -0400
Subject: [PATCH 2/7] chore: release 2.0.0-alpha.0 (#9)
---
CHANGELOG.md | 11 +++++++++++
package-lock.json | 4 ++--
package.json | 2 +-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3528ec4d..e2516c2e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,16 @@
# Changelog
+## [2.0.0-alpha.0](https://github.com/blackbaud/angular-tree-component/compare/1.0.0...2.0.0-alpha.0) (2025-10-27)
+
+
+### ⚠ BREAKING CHANGES
+
+* support Angular 20 ([#8](https://github.com/blackbaud/angular-tree-component/issues/8))
+
+### Features
+
+* support Angular 20 ([#8](https://github.com/blackbaud/angular-tree-component/issues/8)) ([b2c9032](https://github.com/blackbaud/angular-tree-component/commit/b2c9032abf3d49042cdb9d716e872d3ade5eec8e))
+
## [1.0.0](https://github.com/blackbaud/angular-tree-component/compare/1.0.0-alpha.0...1.0.0) (2023-09-14)
diff --git a/package-lock.json b/package-lock.json
index b2339766..097ed489 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"license": "MIT",
"dependencies": {
"@angular/animations": "^20.3.7",
diff --git a/package.json b/package.json
index 1867b986..f94a14ce 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"private": true,
"description": "A simple yet powerful tree component for Angular",
"author": "blackbaud",
From f45558e04ae6aa70006083c3db21965a317f5e79 Mon Sep 17 00:00:00 2001
From: John White <750350+johnhwhite@users.noreply.github.com>
Date: Mon, 27 Oct 2025 16:52:17 -0400
Subject: [PATCH 3/7] chore: set deployment environment (#10)
---
.github/workflows/release-please.yml | 3 +++
CHANGELOG.md | 11 -----------
package-lock.json | 4 ++--
package.json | 2 +-
4 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index a7105da9..dc5654d0 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -4,9 +4,12 @@ on:
branches:
- master
+env:
+ RELEASE_PR_PREFIX: 'chore: release'
jobs:
release:
runs-on: ubuntu-latest
+ environment: ${{ startsWith(github.event.head_commit.message, env.RELEASE_PR_PREFIX) && 'npm' || '' }}
steps:
- uses: google-github-actions/release-please-action@v3
id: release
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e2516c2e..3528ec4d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,16 +1,5 @@
# Changelog
-## [2.0.0-alpha.0](https://github.com/blackbaud/angular-tree-component/compare/1.0.0...2.0.0-alpha.0) (2025-10-27)
-
-
-### ⚠ BREAKING CHANGES
-
-* support Angular 20 ([#8](https://github.com/blackbaud/angular-tree-component/issues/8))
-
-### Features
-
-* support Angular 20 ([#8](https://github.com/blackbaud/angular-tree-component/issues/8)) ([b2c9032](https://github.com/blackbaud/angular-tree-component/commit/b2c9032abf3d49042cdb9d716e872d3ade5eec8e))
-
## [1.0.0](https://github.com/blackbaud/angular-tree-component/compare/1.0.0-alpha.0...1.0.0) (2023-09-14)
diff --git a/package-lock.json b/package-lock.json
index 097ed489..b2339766 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "1.0.0",
"license": "MIT",
"dependencies": {
"@angular/animations": "^20.3.7",
diff --git a/package.json b/package.json
index f94a14ce..1867b986 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "1.0.0",
"private": true,
"description": "A simple yet powerful tree component for Angular",
"author": "blackbaud",
From 13057ea145c7be0a4f3aae7f8eadd50560045d0b Mon Sep 17 00:00:00 2001
From: John White <750350+johnhwhite@users.noreply.github.com>
Date: Tue, 28 Oct 2025 09:31:21 -0400
Subject: [PATCH 4/7] chore: set deployment environment (#11)
---
.github/workflows/release-please.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index dc5654d0..56eddab9 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -4,12 +4,10 @@ on:
branches:
- master
-env:
- RELEASE_PR_PREFIX: 'chore: release'
jobs:
release:
runs-on: ubuntu-latest
- environment: ${{ startsWith(github.event.head_commit.message, env.RELEASE_PR_PREFIX) && 'npm' || '' }}
+ environment: "${{ startsWith(github.event.head_commit.message, 'chore: release') && 'npm' || '' }}"
steps:
- uses: google-github-actions/release-please-action@v3
id: release
From 189c6e1e48067573f9743bcee4e4b4caf4775b8a Mon Sep 17 00:00:00 2001
From: Blackbaud Sky Build User
Date: Tue, 28 Oct 2025 09:52:23 -0400
Subject: [PATCH 5/7] chore: release 2.0.0-alpha.0 (#12)
Co-authored-by: John White <750350+johnhwhite@users.noreply.github.com>
---
CHANGELOG.md | 19 +++++++++++++++++++
package-lock.json | 4 ++--
package.json | 2 +-
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3528ec4d..455fac8b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,24 @@
# Changelog
+## [2.0.0-alpha.0](https://github.com/blackbaud/angular-tree-component/compare/v2.0.0-alpha.0...2.0.0-alpha.0) (2025-10-28)
+
+
+### ⚠ BREAKING CHANGES
+
+* support Angular 20 ([#8](https://github.com/blackbaud/angular-tree-component/issues/8))
+
+### Features
+
+* Allow styling option on dragover ([4434ffb](https://github.com/blackbaud/angular-tree-component/commit/4434ffbbc422336b2938b5f7cf3168c117179182))
+* **client/tree-node:** added tree node wrapper component ([fa59efb](https://github.com/blackbaud/angular-tree-component/commit/fa59efb62e4420828aa5de8b7da83acf1320b84e))
+
+
+### Bug Fixes
+
+* **client/node_wrapper:** fix type" ([57495fd](https://github.com/blackbaud/angular-tree-component/commit/57495fdeab423e3ab4e0824e58d7171f28429e38))
+* **client/templates:** fix options input ([81be5ff](https://github.com/blackbaud/angular-tree-component/commit/81be5ff37f4ae0a1dc2edf8c942dc59c3e08e4f9))
+* do not load whole child collection with virtual scroll ([a62fc73](https://github.com/blackbaud/angular-tree-component/commit/a62fc73bde838bc9d1e30f5460e05c5c2ab1b3ef))
+
## [1.0.0](https://github.com/blackbaud/angular-tree-component/compare/1.0.0-alpha.0...1.0.0) (2023-09-14)
diff --git a/package-lock.json b/package-lock.json
index b2339766..097ed489 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"license": "MIT",
"dependencies": {
"@angular/animations": "^20.3.7",
diff --git a/package.json b/package.json
index 1867b986..f94a14ce 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-tree-component",
- "version": "1.0.0",
+ "version": "2.0.0-alpha.0",
"private": true,
"description": "A simple yet powerful tree component for Angular",
"author": "blackbaud",
From 62ae430f6285fe15ada7036228a4b409c64433dd Mon Sep 17 00:00:00 2001
From: John White <750350+johnhwhite@users.noreply.github.com>
Date: Tue, 28 Oct 2025 10:14:35 -0400
Subject: [PATCH 6/7] fix: update package metadata (#13)
---
.github/workflows/release-please.yml | 6 +++++-
projects/angular-tree-component/package.json | 11 +++++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index 56eddab9..f285dbca 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -4,6 +4,10 @@ on:
branches:
- master
+permissions:
+ contents: read
+ id-token: write
+
jobs:
release:
runs-on: ubuntu-latest
@@ -18,7 +22,7 @@ jobs:
pull-request-title-pattern: 'chore: release ${version}'
labels: 'autorelease ${{ github.ref_name }}: pending'
release-labels: 'autorelease ${{ github.ref_name }}: tagged'
- release-as: '2.0.0-alpha.0'
+ release-as: '2.0.0-alpha.1'
prerelease: true
draft-pull-request: true
include-v-in-tag: false
diff --git a/projects/angular-tree-component/package.json b/projects/angular-tree-component/package.json
index 2c5f480a..a35a9f38 100644
--- a/projects/angular-tree-component/package.json
+++ b/projects/angular-tree-component/package.json
@@ -5,7 +5,10 @@
"author": "blackbaud",
"homepage": "https://github.com/blackbaud/angular-tree-component",
"license": "MIT",
- "repository": "https://github.com/blackbaud/angular-tree-component.git",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/blackbaud/angular-tree-component.git"
+ },
"bugs": {
"url": "https://github.com/blackbaud/angular-tree-component/issues"
},
@@ -32,5 +35,9 @@
"mobx": "~4.15.7",
"tslib": "^2.5.0"
},
- "exports": { "./css/angular-tree-component.css": { "style": "./css/angular-tree-component.css" } }
+ "exports": {
+ "./css/angular-tree-component.css": {
+ "style": "./css/angular-tree-component.css"
+ }
+ }
}
From 6f4d96cc90fc35930a2476205e91da0c9bd03202 Mon Sep 17 00:00:00 2001
From: Blackbaud Sky Build User
Date: Tue, 28 Oct 2025 10:19:40 -0400
Subject: [PATCH 7/7] chore: release 2.0.0-alpha.1 (#14)
---
CHANGELOG.md | 7 +++++++
package-lock.json | 4 ++--
package.json | 2 +-
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 455fac8b..be423f39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [2.0.0-alpha.1](https://github.com/blackbaud/angular-tree-component/compare/2.0.0-alpha.0...2.0.0-alpha.1) (2025-10-28)
+
+
+### Bug Fixes
+
+* update package metadata ([#13](https://github.com/blackbaud/angular-tree-component/issues/13)) ([62ae430](https://github.com/blackbaud/angular-tree-component/commit/62ae430f6285fe15ada7036228a4b409c64433dd))
+
## [2.0.0-alpha.0](https://github.com/blackbaud/angular-tree-component/compare/v2.0.0-alpha.0...2.0.0-alpha.0) (2025-10-28)
diff --git a/package-lock.json b/package-lock.json
index 097ed489..1d27d142 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "2.0.0-alpha.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "2.0.0-alpha.1",
"license": "MIT",
"dependencies": {
"@angular/animations": "^20.3.7",
diff --git a/package.json b/package.json
index f94a14ce..62f5646c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-tree-component",
- "version": "2.0.0-alpha.0",
+ "version": "2.0.0-alpha.1",
"private": true,
"description": "A simple yet powerful tree component for Angular",
"author": "blackbaud",