
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
@tylertech/forge-extended-angular
Advanced tools
Angular wrapper components for Tyler Forge™ Extended Web Components with full TypeScript support, Angular Forms integration, and tree-shakable modules.
Angular doesn't natively recognize custom elements without CUSTOM_ELEMENTS_SCHEMA, which removes type safety and IDE support. This library provides:
ControlValueAccessor for formControl, formControlName, and ngModelCUSTOM_ELEMENTS_SCHEMA required@tylertech/forge-extended-angular | Angular | @tylertech/forge-extended |
|---|---|---|
^2.0.0 | >=20.0.0 < 22.0.0 | ^1.2.1 |
^1.0.0 | >=19.0.0 < 21.0.0 | ^1.0.0 |
Install both the core Forge extended components and the Angular adapter:
npm install @tylertech/forge-extended @tylertech/forge-extended-angular
Note:
@tylertech/forge-extendedis a peer dependency and must be installed alongside this package.
import { Component } from '@angular/core';
import { ForgeQuantityFieldModule } from '@tylertech/forge-extended-angular';
@Component({
selector: 'app-root',
standalone: true,
imports: [ForgeQuantityFieldModule],
template: `<forge-quantity-field [value]="5"></forge-quantity-field>`
})
export class AppComponent {}
Import component modules directly in your standalone components:
import { Component } from '@angular/core';
import { ForgeQuantityFieldModule } from '@tylertech/forge-extended-angular';
@Component({
selector: 'app-example',
standalone: true,
imports: [ForgeQuantityFieldModule],
template: `
<forge-quantity-field
[value]="quantity"
(valueChange)="onQuantityChange($event)">
</forge-quantity-field>
`
})
export class ExampleComponent {
quantity = 5;
onQuantityChange(value: number): void {
this.quantity = value;
}
}
For traditional NgModule-based applications, import the component modules in your Angular module:
import { NgModule } from '@angular/core';
import { ForgeQuantityFieldModule } from '@tylertech/forge-extended-angular';
@NgModule({
imports: [
ForgeQuantityFieldModule,
// ... other modules
]
})
export class AppModule { }
Then use the component in your templates:
<forge-quantity-field
[value]="quantity"
(valueChange)="onQuantityChange($event)">
</forge-quantity-field>
The adapter library provides ControlValueAccessor support for form-enabled components.
Standalone example:
import { Component } from '@angular/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { ForgeQuantityFieldModule } from '@tylertech/forge-extended-angular';
@Component({
selector: 'app-example',
standalone: true,
imports: [ReactiveFormsModule, ForgeQuantityFieldModule],
template: `
<forge-quantity-field [formControl]="quantityControl"></forge-quantity-field>
`
})
export class ExampleComponent {
quantityControl = new FormControl(5);
}
NgModule example:
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { ForgeQuantityFieldModule } from '@tylertech/forge-extended-angular';
@NgModule({
imports: [
ReactiveFormsModule,
ForgeQuantityFieldModule
]
})
export class FeatureModule { }
import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';
@Component({
selector: 'app-example',
template: `
<forge-quantity-field [formControl]="quantityControl"></forge-quantity-field>
`
})
export class ExampleComponent {
quantityControl = new FormControl(5);
}
This library provides Angular wrappers for all Forge extended components:
| Component | Module | Description |
|---|---|---|
<forge-app-launcher> | ForgeAppLauncherModule | Application launcher with navigation |
<forge-app-launcher-link> | ForgeAppLauncherLinkModule | Link items for app launcher |
<forge-busy-indicator> | ForgeBusyIndicatorModule | Loading indicator overlay |
<forge-confirmation-dialog> | ForgeConfirmationDialogModule | Confirmation dialog component |
<forge-multi-select-header> | ForgeMultiSelectHeaderModule | Multi-select table header |
<forge-profile-link> | ForgeProfileLinkModule | User profile link component |
<forge-quantity-field> | ForgeQuantityFieldModule | Numeric input with increment/decrement |
<forge-responsive-toolbar> | ForgeResponsiveToolbarModule | Responsive toolbar container |
<forge-theme-toggle> | ForgeThemeToggleModule | Light/dark theme toggle |
<forge-user-profile> | ForgeUserProfileModule | User profile dropdown |
Each component is exported as a standalone Angular module that you can import individually for tree-shaking.
Apache 2.0 - See LICENSE for details.
FAQs
Forge components adapter library for Angular
We found that @tylertech/forge-extended-angular demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.