angularfix
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • Angular
  • AngularJS
  • Typescript
  • HTML
  • CSS
  • Javascript

Friday

Angular2 RC5: Can't bind to 'Property X' since it isn't a known property of 'Child Component'

 4:05 PM     angular, typescript     No comments   

Issue

I have a small Angular2 project based on the Angular2 Seed project that I am trying to upgrade to Angular2 RC5.

My project has a few features, one of them called home. Home component uses a child component called create-report-card-form. I have declared both the home and create-report-card-form components in the home.module (see code below) and get this error:

Unhandled Promise rejection: Template parse errors: Can't bind to 'currentReportCardCount' since it isn't a known property of 'create-report-card-form'.

  1. If 'create-report-card-form' is an Angular component and it has 'currentReportCardCount' input, then verify that it is part of this module.

Project structure

-app
    - app.module.ts
    - app.component.ts
    - +home
        - home.module.ts 
        - home.component.ts
        - home.component.html
        - create-report-card-form.component.ts
        - create-report-card-form.component.html
    - +<other "features">
    - shared
        - shared.module.ts

home.module

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {ReactiveFormsModule} from '@angular/forms';

import { SharedModule } from '../shared/shared.module';
import { DataService } from '../shared/services/index';
import { HomeComponent } from './home.component';
import { CreateReportCardFormComponent } from './create-report-card-form.component';

@NgModule({
    imports: [CommonModule, SharedModule, ReactiveFormsModule],
    declarations: [HomeComponent, CreateReportCardFormComponent],
    exports: [HomeComponent, CreateReportCardFormComponent],
    providers: [DataService]
})

export class HomeModule { }

app.module

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { APP_BASE_HREF } from '@angular/common';
import { RouterModule } from '@angular/router';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { routes } from './app.routes';

import { AboutModule } from './+about/about.module';
import { HomeModule } from './+home/home.module';
import {TestModule} from './+test/test.module';
import {VoteDataEntryModule} from './+vote-data-entry/vote-data-entry.module';
import { SharedModule } from './shared/shared.module';

@NgModule({
  imports: [BrowserModule, HttpModule, RouterModule.forRoot(routes), AboutModule, HomeModule,
    TestModule, VoteDataEntryModule, SharedModule.forRoot()],
  declarations: [AppComponent],
  providers: [{
    provide: APP_BASE_HREF,
    useValue: '<%= APP_BASE %>'
  }],
  bootstrap: [AppComponent]

})

export class AppModule { }

create-report-card-form.component.ts

import { Component, Input, Output, EventEmitter, OnInit} from '@angular/core';
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
// import { Dialog, Dropdown, SelectItem, Header, Footer, Messages, Message } from 'primeng/primeng';
import { SelectItem, Message } from 'primeng/primeng';

import {ReportCard, ReportCardDataSource} from '../shared/index';
import {CREATE_REPORT_CARD_FORM_HEADING, EDIT_REPORT_CARD_FORM_HEADING} from './constants';

@Component({
    moduleId: module.id,
    selector: 'create-report-card-form',
    templateUrl: 'create-report-card-form.component.html'
})
export class CreateReportCardFormComponent implements OnInit {

    @Input() public reportCardDataSourcesItems: SelectItem[];
    @Input() public reportCardYearItems: SelectItem[];
    @Input() errorMessages: Message[];

    @Output() reportCardCreated = new EventEmitter<ReportCard>();
    @Output() editReportCardFormValueChanged = new EventEmitter<ReportCard>();

    public editReportCardForm: FormGroup;
    private selectedReportCardDataSourceIdControl: FormControl;
    private selectedReportCardYearControl: FormControl;

    // TODO: remove this hack for resetting the angular 2 form once a real solution is available (supposedly in RC5)
    private isFormActive: boolean = true;
    private formHeaderString: string = CREATE_REPORT_CARD_FORM_HEADING;
    private formDialogVisible: boolean = false;
    private isCreatingNewReportCard = false;  // false implies that we are updating an existing report card

    constructor(private fb: FormBuilder) {
    }

    configureForm(selectedReportCard: ReportCard, createNewReport: boolean) {
        this.isCreatingNewReportCard = createNewReport;

        this.resetForm();

        this.selectedReportCardDataSourceIdControl.updateValue(selectedReportCard.reportCardDataSource.reportCardSourceId);

        this.selectedReportCardYearControl.updateValue(selectedReportCard.reportCardYear);

        if (createNewReport) {
            this.formHeaderString = CREATE_REPORT_CARD_FORM_HEADING;
        } else {
            // updating an existing report card
            this.formHeaderString = EDIT_REPORT_CARD_FORM_HEADING +
                selectedReportCard.reportCardYear + ' ' + selectedReportCard.reportCardDataSource.reportCardSourceName;
        }

        this.editReportCardForm.valueChanges.subscribe(data => this.onFormValueChanged(data));
    }

    customGroupValidator(reportCardDataSourceIdControl: FormControl, reportCardYearControl: FormControl,
        isCreatingNewReportCard: boolean) {
        return (group: FormGroup): { [key: string]: any } => {

            // missing data error ...
            if (!reportCardDataSourceIdControl.value || !reportCardYearControl.value) {
                return { 'requiredDataError': 'Report card year AND provider must be selected.' };
            }

            // invalid data error ...
            if (isCreatingNewReportCard) {
                if (!reportCardDataSourceIdControl.touched || !reportCardYearControl.touched) {
                    return { 'requiredDataError': 'Report card year AND provider must be selected.' };
                }
            } else {
                if (!reportCardDataSourceIdControl.touched && !reportCardYearControl.touched) {
                    return { 'requiredDataError': 'Report card year OR provider must be selected.' };
                }
            }

            // return null to indicate the form is valid
            return null;
        };
    }

    hideFormDialog() {
        this.formDialogVisible = false;
    }

    showFormDialog() {
        // hide any previous errors
        this.errorMessages = [];
        this.formDialogVisible = true;
    }

    createForm() {
        // by default, configure the form for new report card creation by setting
        // the initial values of both dropdowns to empty string
        this.selectedReportCardDataSourceIdControl = new FormControl('');
        this.selectedReportCardYearControl = new FormControl('');

        this.editReportCardForm = this.fb.group({
            selectedReportCardDataSourceIdControl: this.selectedReportCardDataSourceIdControl,
            selectedReportCardYearControl: this.selectedReportCardYearControl
        }, {
                validator: this.customGroupValidator(this.selectedReportCardDataSourceIdControl, this.selectedReportCardYearControl,
                    this.isCreatingNewReportCard),
                asyncValidator: this.duplicateReportCardValidator.bind(this)
            });
    }

    duplicateReportCardValidator() {
        return new Promise(resolve => {

            if ((this.errorMessages) && this.errorMessages.length === 0) {
                resolve({ uniqueReportCard: true });
            } else {
                resolve(null);
            }
        });
    }

    showError(errorMessages: Message[]) {
        this.errorMessages = errorMessages;
    }

    ngOnInit() {
        this.createForm();
    }

    onEditReportCardFormSubmitted() {

        let newReportCard = this.getReportCard(
            this.selectedReportCardDataSourceIdControl.value,
            this.selectedReportCardYearControl.value,
            this.reportCardDataSourcesItems
        );

        this.reportCardCreated.emit(newReportCard);
    }

    resetForm() {
        this.createForm();
        this.isFormActive = false;
        setTimeout(() => this.isFormActive = true, 0);
    }

    onFormValueChanged(data: any) {
        let newReportCard = this.getReportCard(
            this.selectedReportCardDataSourceIdControl.value,
            this.selectedReportCardYearControl.value,
            this.reportCardDataSourcesItems
        );

        this.editReportCardFormValueChanged.emit(newReportCard);
    }

    private getReportCard(reportCardDataSourceIdString: string, reportCardYearString: string,
        reportCardDataSourceItems: SelectItem[]): ReportCard {

        let selectedReportCardYear: number = Number(reportCardYearString);
        let selectedProviderReportCardId: number = Number(reportCardDataSourceIdString);

        let selectedProviderReportCardName: string = 'Unknown Report Card';

        for (var i = 0; i < this.reportCardDataSourcesItems.length; i++) {
            var element = this.reportCardDataSourcesItems[i];
            if (Number(element.value) === selectedProviderReportCardId) {
                selectedProviderReportCardName = element.label;
                break;
            }
        }

        let reportCard: ReportCard = new ReportCard();

        reportCard.reportCardYear = selectedReportCardYear;

        reportCard.reportCardDataSource = new ReportCardDataSource(
            selectedProviderReportCardId,
            selectedProviderReportCardName
        );

        return reportCard;
    }
}

create-report-card-form.component.html

<p-dialog header={{formHeaderString}} [(visible)]="formDialogVisible" [responsive]="true" showEffect="fade "
    [modal]="true" width="400">
    <form *ngIf="isFormActive" [formGroup]="editReportCardForm" (ngSubmit)="onEditReportCardFormSubmitted()">
        <div class="ui-grid ui-grid-responsive ui-fluid " *ngIf="reportCardDataSourcesItems ">
            <div class="ui-grid-row ">
                <p-dropdown [options]="reportCardDataSourcesItems" formControlName="selectedReportCardDataSourceIdControl" [autoWidth]="true"></p-dropdown>
            </div>
            <div class="ui-grid-row ">
                <p-dropdown [options]="reportCardYearItems" formControlName="selectedReportCardYearControl" [autoWidth]="true"></p-dropdown>
            </div>
            <div class="ui-grid-row ">
                <p-messages [value]="errorMessages"></p-messages>
            </div>
            <footer>
                <div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix ">
                    <button type="submit" pButton icon="fa-check " 
                    [disabled]="!editReportCardForm?.valid" label="Save "></button>
                </div>
            </footer>
        </div>
    </form>
</p-dialog>

home.component.ts

import { Component, OnInit, ViewChild } from '@angular/core';
// // import { REACTIVE_FORM_DIRECTIVES } from '@angular/forms';
// import {ROUTER_DIRECTIVES} from '@angular/router';
// import { InputText, Panel, SelectItem, Message, Growl, Dialog, DataTable, Column, Header, Footer, Tooltip } from 'primeng/primeng';
import { Message, SelectItem } from 'primeng/primeng';

import {CreateReportCardFormComponent} from './create-report-card-form.component';
import { ReportCardDataSource, ReportCard, ProviderData, DataService,
   DUPLICATE_REPORT_CARD_MESSAGE } from '../shared/index';
import {ReportCardCommands} from './enums';

/**
 * This class represents the lazy loaded HomeComponent.
 */
@Component({
  moduleId: module.id,
  selector: 'sd-home',
  templateUrl: 'home.component.html',
  styleUrls: ['home.component.css']
  //,directives: [CreateReportCardFormComponent]
})

export class HomeComponent implements OnInit {

  public growlMessages: Message[] = [];
  public createReportCardError: Message[] = [];
  public reportCardDataSourcesItems: SelectItem[] = [{ label: 'Select Provider', value: '' }];
  public reportCardYearItems: SelectItem[] = [{ label: 'Select Year', value: '' }];
  public providerData: ProviderData = new ProviderData();
  public displayReportCardDeleteConfirmation: boolean = false;

  private isCreatingNewReportCard: boolean = true;
  private selectedReportCard: ReportCard;

  @ViewChild(CreateReportCardFormComponent)
  private createReportCardFormComponent: CreateReportCardFormComponent;

  constructor(private dataService: DataService) { }

  ngOnInit() {
    let reportCardDataSources: ReportCardDataSource[] = this.dataService.getReportCardDataSources();

    for (var i = 0; i < reportCardDataSources.length; i++) {
      var element = reportCardDataSources[i];
      this.reportCardDataSourcesItems.push({ label: element.reportCardSourceName, value: element.reportCardSourceId });

      // retrieve data from localStorage if available
      this.providerData = this.dataService.getProviderData();
    }

    // initialize report card years
    const minYear: number = 2000;
    // TODO: maxYear should be sourced from the server by a service
    let maxYear: number = (new Date()).getFullYear();

    for (var i = maxYear; i >= minYear; i--) {
      this.reportCardYearItems.push({ value: i.toString(), label: i.toString() });
    }
  }

  // Returns the index of the report card in providerData.reportCards that has the same reporCardSourceId
  // and reportCardYear as selectedReportCard, or -1 if there is no match.
  indexOf(selectedReportCard: ReportCard): number {
    return this.providerData.reportCards.findIndex(x =>
      x.reportCardDataSource.reportCardSourceId === selectedReportCard.reportCardDataSource.reportCardSourceId &&
      x.reportCardYear === selectedReportCard.reportCardYear);
  }

  onReportCardCreated(newReportCard: ReportCard) {
    if (newReportCard) {

      if ((this.indexOf(newReportCard) > -1)) {
        // attemp to create a duplicate report card; show error
        this.setCreateReportCardFromErrorMessage(DUPLICATE_REPORT_CARD_MESSAGE);
      } else {
        if (this.isCreatingNewReportCard) {
          // save new report card
          this.createReportCardError = [];
          this.createReportCardFormComponent.hideFormDialog();
          this.providerData.reportCards.splice(0, 0, newReportCard);

          this.createReportCardFormComponent.hideFormDialog();

        } else {
          // update existing report card
          let reportCardToUpdateIndex: number = this.indexOf(this.selectedReportCard);

          if (reportCardToUpdateIndex > -1) {
            this.providerData.reportCards[reportCardToUpdateIndex].reportCardDataSource.reportCardSourceId
              = newReportCard.reportCardDataSource.reportCardSourceId;
            this.providerData.reportCards[reportCardToUpdateIndex].reportCardDataSource.reportCardSourceName
              = newReportCard.reportCardDataSource.reportCardSourceName;
            this.providerData.reportCards[reportCardToUpdateIndex].reportCardYear
              = newReportCard.reportCardYear;
          }
        }
        this.dataService.storeProviderData(this.providerData);
        this.isCreatingNewReportCard = true;
        this.clearCreateReportCardFormErrorMessage();
        this.createReportCardFormComponent.hideFormDialog();
      }
    }
  }

  editReportCardFormValueChanged(newReportCard: ReportCard) {
    if (this.indexOf(newReportCard) === -1) {
      // clear duplicate report card error message in 'create report card' dialog
      this.clearCreateReportCardFormErrorMessage();
    } else {
      // set duplicate report card error message
      this.setCreateReportCardFromErrorMessage(DUPLICATE_REPORT_CARD_MESSAGE);
    }
  }

  onAddReportCardButtonClicked() {
    this.isCreatingNewReportCard = true;
    this.createReportCardFormComponent.configureForm(new ReportCard(), this.isCreatingNewReportCard);
    this.createReportCardFormComponent.showFormDialog();
  }

  onReportCardDeleteButtonClicked(reportCard: ReportCard) {
    this.reportCardCommandExecute(reportCard, ReportCardCommands.Delete);
  }

  onReportCardEditButtonClicked(reportCard: ReportCard) {
    this.reportCardCommandExecute(reportCard, ReportCardCommands.EditReportCard);
  }

  onAddVotesRouterLinkClicked(reportCard: ReportCard) {
    this.reportCardCommandExecute(reportCard, ReportCardCommands.EditVotes);
  }

  onReportCardDeleteConfirmButtonClick(isDeleteOk: boolean) {
    if (isDeleteOk) {
      this.providerData.reportCards.splice(this.providerData.selectedReportCardIndex, 1);
      // store updated reportCards in local storage
      this.dataService.storeProviderData(this.providerData);
    }
    this.displayReportCardDeleteConfirmation = false;
  }

  reportCardCommandExecute(reportCard: ReportCard, command: ReportCardCommands) {
    this.providerData.selectedReportCardIndex = this.indexOf(reportCard);
    this.selectedReportCard = reportCard;

    switch (command) {
      case ReportCardCommands.EditVotes:
        this.dataService.storeProviderData(this.providerData);
        break;
      case ReportCardCommands.Delete:
        this.displayReportCardDeleteConfirmation = true;
        break;
      case ReportCardCommands.EditReportCard:
        this.isCreatingNewReportCard = false;
        this.createReportCardFormComponent.configureForm(reportCard, this.isCreatingNewReportCard);
        this.createReportCardFormComponent.showFormDialog();
        break;
      default:
        break;
    }
  }

  private setCreateReportCardFromErrorMessage(message: Message) {
    this.createReportCardError = [];
    this.createReportCardError.push(message);

    this.createReportCardFormComponent.showError(this.createReportCardError);
  }

  private clearCreateReportCardFormErrorMessage() {
    this.createReportCardError = [];
    this.createReportCardFormComponent.showError(this.createReportCardError);
  }
}

home.component.html

<p-growl [value]="growlMessages" sticky="sticky"></p-growl>
<p-dataTable [value]="providerData.reportCards" [paginator]="true" rows="15" [responsive]="true">
  <header>
    <div>
      <h1>Report Cards ({{providerData.reportCards.length}})</h1>
    </div>
    <button type="button" pButton icon="fa-plus" (click)="onAddReportCardButtonClicked()" label="Add" title="Add new report card"></button>
  </header>
  <p-column styleClass="col-button">
    <template let-reportCard="rowData">
      <button type="button" pButton (click)="onReportCardEditButtonClicked(reportCard)" icon="fa-pencil" title="Edit report card"></button>
    </template>
  </p-column>
  <p-column field="reportCardDataSource.reportCardSourceName" header="Report Card" [sortable]="true"></p-column>
  <p-column field="reportCardYear" header="Year" [sortable]="true"></p-column>
  <p-column header="Votes" [sortable]="false">
    <template let-reportCard="rowData">
      {{reportCard.votes.length}}
      <!--<button type="button" pButton icon="fa-pencil-square" (click)="editVotes(reportCard)" title="Edit votes"></button>-->
      <a [routerLink]="['/votes']" (click)="onAddVotesRouterLinkClicked(reportCard)">Edit</a>
    </template>
  </p-column>
  <p-column styleClass="col-button">
    <template let-reportCard="rowData">
      <button type="button" pButton (click)="onReportCardDeleteButtonClicked(reportCard)" icon="fa-trash" title="Delete report card"></button>
    </template>
  </p-column>
</p-dataTable>

<create-report-card-form [currentReportCardCount]="providerData.reportCards.length" [reportCardDataSourcesItems]="reportCardDataSourcesItems"
  [reportCardYearItems]="reportCardYearItems" (reportCardCreated)=onReportCardCreated($event) (editReportCardFormValueChanged)=editReportCardFormValueChanged($event)>
</create-report-card-form>

<p-dialog header="Confirm Deletion" [(visible)]="displayReportCardDeleteConfirmation" modal="modal" showEffect="fade">
  <p>
    Delete the following report card and all related data (<strong>NO undo</strong>)?
  </p>
  <p>
    <strong>{{providerData?.reportCards[providerData.selectedReportCardIndex]?.reportCardDataSource?.reportCardSourceName}}</strong><br/>
    <strong>{{providerData?.reportCards[providerData.selectedReportCardIndex]?.reportCardYear}}</strong>
  </p>
  <footer>
    <div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
      <button type="button" pButton icon="fa-close" (click)="onReportCardDeleteConfirmButtonClick(false)" label="No"></button>
      <button type="button" pButton icon="fa-check" (click)="onReportCardDeleteConfirmButtonClick(true)" label="Yes"></button>
    </div>
  </footer>
</p-dialog>

Solution

<create-report-card-form [currentReportCardCount]="providerData.reportCards.length" ...
                         ^^^^^^^^^^^^^^^^^^^^^^^^

In your HomeComponent template, you are trying to bind to an input on the CreateReportCardForm component that doesn't exist.

In CreateReportCardForm, these are your only three inputs:

@Input() public reportCardDataSourcesItems: SelectItem[];
@Input() public reportCardYearItems: SelectItem[];
@Input() errorMessages: Message[];

Add one for currentReportCardCount and you should be good to go.



Answered By - ABabin
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
This Answer collected from stackoverflow and tested by AngularFix community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0
Newer Post Older Post Home

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Popular Posts

  • Letting items go off the div in a horizontal list
    Issue I am trying to recreate this concept app's home page with html css only....
  • How to use custom global declaration in NextJS 14
    Issue I want to use custom global declaration in NextJS I have a NextJS project i...
  • How to test Input with React Testing Library?
    Issue I am trying to test an input value of Search component via React Testing L...
  • NG5002: Cannot parse expression. @for loop expression must match the pattern "<identifier> of <expression>"
    Issue after migrating to new angular 17 and updating my template, ng serve throws ...
  • How to turn an image darker and blur using CSS?
    Issue I'm learning CSS but I don't know how to blur an image or background! Please...
  • The correct way of using async/await in Angular `ngOnInit`
    Issue I’m currently evaluating the pros ‘n’ cons of replacing Angular’s resp. RxJS’ Observ...
  • Time management library
    Issue This is a broad question, but I want to ask for opinions I'm working wi...
  • I want to dynamically change the content of the form on my page
    Issue I have a Laravel 8 project. I added three new tags to this project.Currently...
  • How to target element by type and class
    Issue I am attempting to create a function using only vanilla JS which will resize fonts i...
  • Typescript generating javascript that doesn't work
    Issue Node is not happy about something in the Javascript that TypeScript is gener...

Labels

.d.ts .htaccess .net .net-5 .net-6.0 .net-8.0 .net-core 2-way-object-databinding 2d 3d 3d-model 3d-modelling 960.gs a2hs aar abortcontroller abp abp-framework absolute abstract abstract-class accelerator access-control-allow-origin access-token accessibility accordion ace-editor acfpro ack acronym action actioncable actionsheet active-directory adal adb adblock addeventlistener adfs adjustment adminlte admob adobe-brackets adonis.js adonisjs-ace ads adsense advanced-custom-fields advertisement-server adyen aes aframe ag-grid ag-grid-angular ag-grid-ng2 ag-grid-react aggregation agm agm-core agm-map agora-web-sdk-ng agora.io airbrake airplay airtable ajax ajax.net ajsf ajv alert alexa-skill alexa-skills-kit algebraic-data-types algolia algorithm alias alignment alpine.js alt alt-attribute altbeacon alter amazon-cloudformation amazon-cloudfront amazon-cognito amazon-dynamodb amazon-dynamodb-streams amazon-ec2 amazon-ecr amazon-elastic-beanstalk amazon-glacier amazon-iam amazon-rds amazon-s3 amazon-sns amazon-sqs amazon-vpc amazon-web-services amcharts amcharts4 amcharts5 amp-html ampersand amplify amplifyjs amplitude-analytics analytics anchor anchor-scroll anchor-solana android android-10.0 android-11 android-12 android-app-bundle android-appcompat android-build android-chrome android-dark-theme android-emulator android-espresso android-gradle-plugin android-intent android-location android-night-mode android-permissions android-sdk-tools android-softkeyboard android-spannable android-sqlite android-studio android-studio-4.2 android-toast android-tv android-vibration android-view android-webview androidx angle angular angular-abstract-control angular-activatedroute angular-akita angular-animations angular-auth-oidc-client angular-auxiliary-routes angular-binding angular-bootstrap angular-bootstrap-calendar angular-breadcrumb angular-broadcast angular-builder angular-cache angular-calendar angular-cdk angular-cdk-drag-drop angular-cdk-overlay angular-cdk-virtual-scroll angular-changedetection angular-chart angular-chosen angular-cli angular-cli-v6 angular-cli-v8 angular-cli-v9 angular-compiler angular-compiler-cli angular-component-life-cycle angular-component-router angular-components angular-config angular-content-projection angular-controller angular-controlvalueaccessor angular-cookies angular-custom-validators angular-dart angular-datatables angular-date-format angular-daterangepicker angular-decorator angular-dependency-injection angular-devkit angular-di angular-directive angular-dom-sanitizer angular-dragdrop angular-dynamic-components angular-dynamic-forms angular-e2e angular-elements angular-errorhandler angular-eslint angular-event-emitter angular-factory angular-file-upload angular-filters angular-flex-layout angular-fontawesome angular-formbuilder angular-formly angular-forms angular-fullstack angular-google-maps angular-gridster2 angular-guards angular-highcharts angular-http angular-http-interceptors angular-httpclient angular-httpclient-interceptors angular-hybrid angular-i18n angular-in-memory-web-api angular-inheritance angular-injector angular-input angular-ivy angular-jest angular-json angular-kendo angular-language-service angular-lazyloading angular-leaflet-directive angular-library angular-lifecycle-hooks angular-load-children angular-local-storage angular-localize angular-maps angular-material angular-material-15 angular-material-5 angular-material-6 angular-material-7 angular-material-datetimepicker angular-material-paginator angular-material-stepper angular-material-table angular-material-theming angular-material2 angular-migration angular-mock angular-module angular-module-federation angular-moment angular-nativescript angular-ng-class angular-ng-if angular-ngfor angular-ngmodel angular-ngmodelchange angular-ngrx-data angular-ngselect angular-nvd3 angular-oauth2-oidc angular-observable angular-output angular-package-format angular-pipe angular-promise angular-providers angular-pwa angular-reactive-forms angular-renderer angular-renderer2 angular-resolver angular-resource angular-route-guards angular-router angular-router-events angular-router-guards angular-router-params angular-routerlink angular-routing angular-schema-form angular-schematics angular-seed angular-service-worker angular-services angular-signals angular-slickgrid angular-social-login angular-socket-io angular-spectator angular-ssr angular-standalone-components angular-state-managmement angular-storybook angular-strap angular-structural-directive angular-template angular-template-form angular-template-variable angular-test angular-testing-library angular-theming angular-toastr angular-tour-of-heroes angular-transfer-state angular-translate angular-tree-component angular-trix angular-ui angular-ui-bootstrap angular-ui-grid angular-ui-modal angular-ui-router angular-ui-router-extras angular-ui-select angular-ui-tree angular-ui-typeahead angular-unit-test angular-universal angular-upgrade angular-validation angular-validator angular-webpack angular10 angular11 angular12 angular13 angular14 angular14upgrade angular15 angular16 angular17 angular2-animation angular2-aot angular2-changedetection angular2-cli angular2-components angular2-custom-pipes angular2-databinding angular2-decorators angular2-di angular2-directives angular2-form-validation angular2-formbuilder angular2-forms angular2-google-maps angular2-guards angular2-highcharts angular2-hostbinding angular2-http angular2-material angular2-meteor angular2-modules angular2-moment angular2-nativescript angular2-ngcontent angular2-ngmodel angular2-observables angular2-pipe angular2-providers angular2-router angular2-router3 angular2-routing angular2-select angular2-services angular2-styleguide angular2-template angular2-testing angular2-toaster angular2-ui-bootstrap angular2-universal angular2viewencapsulation angular4 angular4-aot angular4-forms angular4-router angular5 angular6 angular7 angular8 angular9 angularbuild angulardraganddroplists angularfire angularfire2 angularjs angularjs-1.5 angularjs-1.6 angularjs-authentication angularjs-bindings angularjs-bootstrap angularjs-compile angularjs-components angularjs-controller angularjs-controlleras angularjs-digest angularjs-directive angularjs-e2e angularjs-filter angularjs-forms angularjs-google-maps angularjs-http angularjs-interpolate angularjs-log angularjs-material angularjs-module angularjs-ng-change angularjs-ng-checked angularjs-ng-class angularjs-ng-click angularjs-ng-disabled angularjs-ng-form angularjs-ng-href angularjs-ng-if angularjs-ng-init angularjs-ng-model angularjs-ng-repeat angularjs-ng-route angularjs-ng-show angularjs-ng-switch angularjs-ng-transclude angularjs-ng-value angularjs-ngmock angularjs-nvd3-directives angularjs-orderby angularjs-q angularjs-resource angularjs-routing angularjs-scope angularjs-select angularjs-service angularjs-slider angularjs-templates angularjs-timeout angularjs-track-by angularjs-validation angularjs-watch angulartics animate-on-scroll animate.css animated animation anime.js annotations anonymous anonymous-function ansible ant-design-pro ant-media-server antd antialiasing antora antplus antv any aos.js aot apache apache-echarts apache-fop apache-kafka apache-spark apache-superset apache-zeppelin apache2 apex apexcharts api api-design api-gateway api-key apk apollo apollo-angular apollo-client apollo-server app-initializer app-router app-service-environment app-store appbar appdata appearance append appendchild appery.io appium appium-android apple-app-site-association apple-m1 apple-push-notifications applepay applepay-web applepayjs application-server apply aptana arabic arcgis-js-api architecture argument-passing arguments aria-role arima arquero array-filter array-merge array-reduce array-splice arraybuffer arraylist arrayobject arrayofarrays arrays arrow-functions arrow-keys article asar ascii asp-net-core-spa-services asp.net asp.net-ajax asp.net-core asp.net-core-2.0 asp.net-core-2.1 asp.net-core-3.1 asp.net-core-6.0 asp.net-core-7.0 asp.net-core-8 asp.net-core-css-isolation asp.net-core-identity asp.net-core-mvc asp.net-core-razor-pages asp.net-core-signalr asp.net-core-webapi asp.net-identity asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5 asp.net-web-api asp.net-web-api-routing asp.net-web-api2 aspect-ratio aspnetboilerplate aspnetcore-environment assets assign astro astrojs async-await async-pipe asynchronous asynchronous-javascript atom-editor attachment attr attributes audio audio-streaming audiocontext audiotrack augmented-reality auth-guard auth0 auth0-connection authentication authority authorization authorize.net autocomplete autofill autofocus autogrow automated-tests automatic-ref-counting automation automation-testing autonumeric.js autoplay autoprefixer autoresize autosize autosuggest avatar avif awk aws-amplify aws-amplify-cli aws-amplify-vue aws-api-gateway aws-appsync aws-cdk aws-cdk-typescript aws-chatbot aws-cloudformation aws-cloudformation-custom-resource aws-code-deploy aws-codeartifact aws-codebuild aws-codepipeline aws-lambda aws-sam aws-sdk aws-sdk-js aws-secrets-manager aws-security-group aws-serverless aws-ssm aws-step-functions aws-userpools axes axios axis-labels azure azure-active-directory azure-ad-b2c azure-ad-b2c-custom-policy azure-ad-graph-api azure-ad-msal azure-api-management azure-application-insights azure-application-insights-profiler azure-appservice azure-blob-storage azure-cdn azure-cosmosdb azure-cosmosdb-sqlapi azure-devops azure-devops-extensions azure-devops-rest-api azure-functions azure-maps azure-notificationhub azure-pipelines azure-pipelines-yaml azure-signalr azure-static-web-app azure-static-website-hosting azure-storage azure-virtual-machine azure-virtual-network azure-web-app-service b2b babel-jest babel-loader babel-plugin-react-css-modules babeljs back back-button backbone-events backbone.js backdrop backend background background-clip background-color background-image background-size backstage badge bamboo banner bar-chart barcode-scanner base-tag base58 base64 base64url bash basic-authentication batch-file batch-processing bazel bdd bearer-token beautifulsoup beego behaviorsubject bem bigcartel bigint biginteger binance binance-api-client binary bind binding bing bing-maps bitbucket bitbucket-pipelines bitmap blade blazor blazor-hybrid blazor-server-side blazor-webassembly blazorise blending blob block blockchain blockly blockquote blogdown blogger blogs bluebird bluetooth bluetooth-lowenergy blur bnf body-parser boilerplate bokeh bold boolean boolean-logic boost-propertytree bootbox bootstrap-3 bootstrap-4 bootstrap-5 bootstrap-5.1 bootstrap-accordion bootstrap-cards bootstrap-carousel bootstrap-datepicker bootstrap-datetimepicker bootstrap-icons bootstrap-modal bootstrap-popover bootstrap-select bootstrap-table bootstrap-tags-input bootstrap-vue bootstrap5-modal border border-box border-image border-radius border-spacing botframework bottomnavigationview bower box box-shadow brain.js braintree branch breadcrumbs break breakpoints brightcove brightness broadcast browser browser-cache browser-detection browser-history browser-support browser-sync browser-tab browserstack bryntum-scheduler brython bubble-sort buffer build build-automation build-definition build-error build.gradle builtwith bull.js bullmq bulma bun bundler bundling-and-minification button buttonclick buttongroup buybutton.js c c# c#-4.0 c++ cache-control caching cakephp calc calculation calculator calendar calendly call callback callkit callstack camelcasing camera camera-api canactivate canactivatechild candeactivate cannon.js canvas capacitor capacitor-plugin capitalization capitalize capslock captcha caption capture capturestream capturing-group carbon-design-system card caret cargo carousel carriage-return cart cas case casting catalyst cdn cell center centering centos cgi cgi-bin chai chai-as-promised chakra-ui chalk change-detector-ref character character-encoding chart.js chart.js2 chartjs-2.6.0 chartjs-plugin-zoom charts chat chatbot checkbox checked checkmarx checkout cheerio child-process children chinese-locale chm choicesjs chord chrome-custom-tabs chrome-extension-manifest-v3 chromium chron chunking cicd circular-dependency citations cjk ckeditor ckeditor4.x ckeditor5 claims-authentication clasp class class-attributes class-names class-transformer class-validator classname clean-architecture clearfix clerk click clickable client client-side client-side-attacks client-side-validation clip clip-path clipboard clipping clock clone clonenode cloning closures cloud cloud-foundry cloudflare cloudinary cmd cocoapods code-coverage code-formatting code-generation code-injection code-push code-reuse code-signing code-translation codegen codehooks.io codeigniter codeigniter-3 codeigniter-restserver codelyzer codenameone codepen codesandbox coding-style coffeescript col collapsable collapse collation collect collections colon color-blending color-picker color-scheme color-space colors column-chart column-count column-width combinelatest combo-chart combobox cometchat command-line command-line-interface comments commonjs communication comobject compare comparison compass compass-sass compatibility compilation compile-time compiler-errors compiler-options compiler-warnings complextype component-store components compound-operator computed-properties computer-science computer-vision concatenation concatmap concurrently conditional conditional-compilation conditional-formatting conditional-operator conditional-rendering conditional-statements conditional-types config config.json configuration confirm confirm-dialog conflict connect-four connectivity console console.log constants constraint-validation-api constructor constructor-overloading contact contact-form-7 container-queries containers contains content-management-system content-security-policy content-type contenteditable contentproperty context-api contextmenu contextpath continuous-integration contrast contravariance controller controlvalueaccessor conventions converters cookies copy copy-constructor copy-paste cordova cordova-2.0.0 cordova-3 cordova-android cordova-ios cordova-plugin-advanced-http cordova-plugin-fcm cordova-plugin-firebasex cordova-plugin-proguard cordova-plugins core-js core-web-vitals correlation cors cors-anywhere couchdb countdown covariance cpanel cpu cpu-word crash create-react-app createcontext createelement createjs cron cropperjs cross-browser cross-domain cross-origin-read-blocking cross-origin-resource-policy cross-platform cross-window-scripting crt crud cryptography cryptojs cs50 csp csproj csrf csrf-token css css-animations css-calc css-cascade css-content css-counter css-filters css-float css-functions css-gradients css-grid css-houdini css-hyphens css-import css-in-js css-layer css-loader css-mask css-modules css-multicolumn-layout css-position css-print css-reset css-selectors css-shapes css-specificity css-sprites css-tables css-transforms css-transitions css-variables cssnano cssom csv cucumber cucumberjs cufon cumulative-layout-shift cups curl currency currency-formatting currency-pipe currying cursor curve custom-attributes custom-build custom-button custom-component custom-controls custom-cursor custom-data-attribute custom-directive custom-domain custom-element custom-font custom-post-type custom-type customization customvalidator cypress cypress-component-test-runner cypress-conditional-testing cypress-cucumber-preprocessor cypress-each d3-dag d3.js d3tree daisyui danfojs dangerouslysetinnerhtml darkmode dart dart-html dart-sass dashboard data-binding data-conversion data-retrieval data-structures data-transform data-uri data-visualization database database-migration dataframe datagrid datalist datasource datatable datatables date date-fns date-format date-formatting date-pipe date-range datepicker daterangepicker datetime datetime-format datetimepicker dayjs days deadline-timer debian debounce debouncing debugging decentralized-applications decimal decimalformat deck.gl declaration declarative declarative-programming declare decoder decoding decorator deep-copy deep-linking deeplink default default-value deferred deferred-loading defineproperty definitelytyped definition delay delegates deno denodb dependencies dependency-injection dependency-management deploying deployment deprecated descendant deserialization design-patterns desktop desktop-application destructuring details-tag detection dev-to-production developer-tools development-environment devexpress devextreme devextreme-angular device device-detection device-orientation devise devops devtools dexie dexiejs dhtml dhtmlx diagonal diagram dialog dictionary diff difference digital-ocean digital-signature dijit.layout directive directory directory-structure dirpagination disable disabled-control disabled-input discord discord.js discriminated-union dispatch display displayobject displaytag disqus distinct-values divi divi-theme divider division django django-admin django-celery django-crispy-forms django-csrf django-extensions django-filter django-forms django-models django-rest-framework django-templates django-views django-weasyprint django-webpack-loader djangocms-text-ckeditor dji-sdk dns docfx docker docker-compose docker-swarm dockerfile doctype document document-ready documentation dojo dom dom-events dom-manipulation dom-to-image domain-driven-design domain-name domdocument domparser dompdf donut-chart dotenv dotnetnuke download drag drag-and-drop draggable drake draw drawimage drawing drizzle drop-down-menu dropdown dropdownbox dropshadow dropzone.js drupal dry dspace dt dto duplicates durandal duration dwr dx-data-grid dynamic dynamic-arrays dynamic-data dynamic-html dynamic-import dynamic-programming dynamic-routing dynamic-values dynamically-generated dynamicgridview dynamics-crm dynamics-marketing dynamodb-queries e-commerce e2e e2e-testing each eager-loading easeljs easy-peasy echarts echo eclipse ecma ecmascript-2016 ecmascript-2017 ecmascript-2019 ecmascript-2020 ecmascript-5 ecmascript-6 ecmascript-next editor editorconfig editorjs effect effects ej2-gantt ej2-syncfusion ejs el-plus elastic-stack elasticsearch electron electron-builder electron-forge electron-packager element element-plus element-ui elementor elementref elementtree elixir elk ellipse ellipsis elm elysiajs emacs email email-attachments email-confirmation email-formats email-templates email-validation embed embedded-fonts ember.js emitter emmet emoji emojione emotion empty-list emulation encapsulation encoding encryption end-to-end endpoint enjoyhint enter enterprise entities entity entity-framework entity-framework-core enums environment environment-variables enzyme eos epub equivalent erase erb error-handling es6-class es6-module-loader es6-modules es6-promise esbuild escaping escpos eslint eslint-config-airbnb eslintrc esmodules esri esri-maps ethereum euro event-binding event-driven event-handling event-listener event-loop event-propagation eventemitter events eventstoredb excel excel-addins excel-formula excel-online excel-web-addins excel4node exceljs exception execcommand exif-js expand expandable-table expansion expo expo-sqlite export export-to-csv export-to-excel express express-handlebars express-session extend extending extends external external-js external-url extjs extract fabricjs facade facebook facebook-comments facebook-graph-api facebook-ios-sdk facebook-javascript-sdk facebook-login facebook-opengraph facebook-sharer facebook-social-plugins facelets factory factory-pattern fade fadein failed-installation faker.js fallback fancybox farsi fast-xml-parser fastapi fastcgi fastify fastlane faunadb favicon fetch fetch-api ffmpeg fido figma figure file file-io file-link file-not-found file-structure file-upload fileapi filelist filenames filepath filereader files-app filesaver.js filesystems filetree filter filtering final find findall findelement fingerprint firebase firebase-admin firebase-analytics firebase-app-check firebase-authentication firebase-cli firebase-cloud-messaging firebase-console firebase-dynamic-links firebase-extensions firebase-hosting firebase-notifications firebase-realtime-database firebase-security firebase-storage firebase-tools firebaseui firebug fireflysemantics-slice firefox firefox-addon firefox-addon-webextensions firefox-developer-tools firefox4 firewall fixed fixed-length-array fixed-width fixtures flash flask flask-autoindex flask-cors flask-mail flask-restful flask-socketio flask-sqlalchemy flask-wtforms flatpickr flex3 flexbox flexdashboard flexslider flextable flicker flickity flickr flip floating-action-button flowbite flower fluent-ui fluentui-react fluentvalidation fluid fluid-layout flutter flutter-test flutter-web flying-saucer focus folium font-awesome font-awesome-4 font-awesome-5 font-awesome-6 font-face font-family font-size fonts footer for-in-loop for-loop foreach foreground-service foregroundnotification foreignobject forgerock forgot-password fork-join form-control form-data form-fields form-submit form-verification formarray format formatdatetime formatting formbuilder formgroups formik formio formmail forms formula forward-reference forwarding foundation foundry-slate fp-ts fpm fragment framer-motion frameset frameworks freemarker freeze freshjs froala frontend frontpage fs full-width fullcalendar fullcalendar-3 fullcalendar-4 fullcalendar-5 fullcalendar-6 fullcalendar-scheduler fullscreen function function-call function-parameter functional-programming fusioncharts fxml gallery game-development gantt-chart garbage-collection gatsby gatsby-plugin-mdx gauge gcloud gdi+ generator generic-function generic-type-argument generic-type-parameters generics geojson geolocation geometry geonames geoserver gesture get getattribute getcomputedstyle getdate getelementbyid getelementsbyclassname getelementsbytagname getimagesize getter getter-setter getuikit getusermedia getvalue gherkin ghost-blog gif gis git git-bash git-diff git-husky gitbook github github-actions github-api github-flavored-markdown github-pages gitignore gitlab gitlab-ci gitlab-ci-runner global global-variables glyphicons gmail gmail-api go go-echo gojs golden-layout google-admin-sdk google-ads-api google-analytics google-analytics-4 google-analytics-api google-api google-api-java-client google-api-js-client google-app-engine google-apps-marketplace google-apps-script google-authentication google-calendar-api google-chrome google-chrome-console google-chrome-devtools google-chrome-extension google-chrome-headless google-chrome-warning google-cloud-build google-cloud-firestore google-cloud-functions google-cloud-platform google-cloud-pubsub google-cloud-scheduler google-cloud-sql google-cloud-storage google-cloud-vertex-ai google-colaboratory google-compute-engine google-developer-tools google-dfp google-diff-match-patch google-docs google-docs-api google-drive-api google-finance-api google-font-api google-fonts google-forms google-geolocation google-index google-login google-map-react google-maps google-maps-api-3 google-maps-autocomplete google-maps-markers google-material-icons google-oauth google-one-tap google-pagespeed google-places-api google-play google-play-billing google-play-console google-play-services google-plus google-plus-signin google-reviews google-roads-api google-search google-secret-manager google-sheets google-signin google-street-view google-street-view-static-api google-tag-manager google-text-to-speech google-translate google-visualization google-web-designer google-webfonts google-workspace googleplacesautocomplete gps gradient gradle grammar graph graphical-logo graphics graphql graphql-codegen graphql-js graphql-mutation graphviz gravatar gravity grayscale greasemonkey grecaptcha grep grid grid-layout gridstack gridster gridview groovy group-by grouping grpc grpc-js grpc-node grpc-web gruntjs gsap gsub gtag.js gtk gtk3 guard guid guidewire gulp gulp-imagemin gulp-sass gulp-typescript gulp-uglify gun gutenberg-blocks gwt h2 hamburger-menu hammer.js hana handle handlebars.js handsontable hapi hapijs hardhat hardware hash hash-location-strategy hashbang hashmap hashtag hbs hdiv hdpi header headless-cms headless-ui heads-up-notifications heatmap heic height helmet.js helper heroku heuristics hex hibernate hidden hide hierarchy highcharts highcharts-gantt higher-order-components higher-order-functions highlight highlight.js highlighting histogram history history.js hls.js home-button hono hook hook-woocommerce horizontal-alignment horizontal-scrolling host hosting hot-module-replacement hot-reload hotkeys hover href hsl htdocs html html-agility-pack html-content-extraction html-datalist html-email html-encode html-entities html-frames html-framework-7 html-head html-heading html-helper html-imports html-injections html-input html-lists html-parsing html-pdf html-rendering html-sanitizing html-select html-table html-tbody html-templates html-to-pdf html-validation html-webpack-plugin html.actionlink html2canvas html2pdf html4 html5-audio html5-canvas html5-draggable html5-filesystem html5-history html5-template html5-video htmlcollection htmlelements htmllint htmlspecialchars htmltools htmlunit htmx http http-accept-language http-delete http-equiv http-error http-get http-headers http-live-streaming http-options-method http-parameters http-patch http-post http-proxy http-proxy-middleware http-status-code-400 http-status-code-401 http-status-code-404 http-status-code-405 http-status-code-415 http-status-code-500 http-status-code-503 http-status-codes http2 httpbackend httpclient httpcontext httpcookie httpexception httpinterceptor httprequest httpresponse https httpserver httpwebrequest httpwebresponse httr huawei-mobile-services hugo husky hybrid-mobile-app hybris hydration hyperledger-composer hyperledger-fabric hyperlink hyperscript hyphen hyphenation i18next ibeacon icecast ico icon-fonts icons id3 ide identityserver3 identityserver4 idioms idp ienumerable if-statement ifc iframe iframe-resizer ignite-ui iife iis iis-10 iis-7 iis-7.5 iis-8 iisnode image image-cropper image-gallery image-processing image-resizing image-scaling image-size image-slider imagemap imagepicker imageset imaskjs imei imgur immutability immutable.js implements import import-from-excel importerror in-app-purchase inappbrowser include increment indentation index-signature indexeddb indexing indexof inertiajs inference infinite-scroll influxdb info information-visualization infragistics inheritance init initialization initializer inject injectable injection-tokens inline inline-styles inline-svg inner-classes innerhtml innertext input input-mask input-type-file inputbox inputevent inquirer insert inspect instagram installation instance instanceof integer integration intellij-idea intellisense interact.js intercept interceptor interface internationalization internet-explorer internet-explorer-11 internet-explorer-6 internet-explorer-7 internet-explorer-8 internet-radio interpolation intersection intersection-observer intersection-types intl-tel-input intrinsicattributes intro.js invariance inversion-of-control invisible-recaptcha invokescript ion-checkbox ion-content ion-grid ion-infinite-scroll ion-item ion-menu ion-radio-group ion-range-slider ion-segment ion-select ion-slides ion-toggle ionic ionic-appflow ionic-cli ionic-cordova ionic-enterprise-auth ionic-framework ionic-native ionic-native-http ionic-plugins ionic-popover ionic-popup ionic-react ionic-storage ionic-tabs ionic-v1 ionic-view ionic-vue ionic-webview ionic2 ionic2-calendar ionic3 ionic4 ionic5 ionic6 ionic7 ionicons ios ios-camera ios-permissions ios-simulator ios10 ios11 ios13 ios15 ip ipad ipc ipcmain ipconfig ipcrenderer iphone iphone-standalone-web-app ipython isnull iso8601 isodate istanbul itemcontainerstyle iter-ops iteration iterm2 itext itext7 itfoxtec-identity-saml2 itms-90809 itunes-search-api ivy jackson jaeger jakarta-ee jar jasmin jasmine jasmine-marbles jasmine-ts jasmine2.0 java java-8 javafx javafx-8 javascript javascript-debugger javascript-decorators javascript-framework javascript-import javascript-marked javascript-objects javascript-proxy jaws-screen-reader jdl jeditorpane jekyll jenkins jenkins-pipeline jersey jest-dom jest-preset-angular jestjs jhipster jinja2 jinja2-cli jira jira-rest-api jodit joi join joomla jose jpa jpeg jquery jquery-animate jquery-autocomplete jquery-deferred jquery-events jquery-lazyload jquery-masonry jquery-mobile jquery-plugins jquery-select2 jquery-selectors jquery-terminal jquery-ui jquery-ui-button jquery-ui-datepicker jquery-ui-dialog jquery-ui-draggable jquery-ui-menu jquery-ui-selectable jquery-ui-slider jquery-ui-sortable jquery-validate jqxgrid js-routes js-scrollintoview js-xlsx js-yaml jsbarcode jsbundling-rails jscompress jscontext jsdoc jsdom jsencrypt jsf jsf-2 jsfiddle jsgrid jshint json json-api json-ld json-schema-validator json-server json.net json2html json5 jsoneditor jsonidentityinfo jsonp jsonplaceholder jsonschema jsoup jsp jsp-tags jspdf jspdf-autotable jspsych jsrender jsreport jss jstl jstree jsx jszip jtable junit jupyter jupyter-notebook justify jvectormap jwplayer jwt kable kableextra karma-coverage karma-jasmine karma-mocha karma-runner kebab-case kendo-chart kendo-combobox kendo-datepicker kendo-dropdown kendo-grid kendo-ui kendo-ui-angular2 kendo-upload kepler.gl keras kestrel key key-bindings key-value keyboard keyboard-events keyboard-navigation keyboard-shortcuts keycloak keycloak-js keycloak-rest-api keycloak-services keycode keydown keyframe keyof keypress keyup keyword kibana-4 kill kill-process kineticjs knex.js knitr knockout.js koa koa-bodyparser kong konva konvajs kotlin kramdown kubernetes kubernetes-ingress label labels lagom lambda lan lang language-design language-lawyer language-server-protocol laravel laravel-4 laravel-5 laravel-5.3 laravel-5.8 laravel-8 laravel-9 laravel-blade laravel-breeze laravel-livewire laravel-passport laravel-sanctum laravel-snappy laravel-validation lastpass late-binding latex layer layout lazy-initialization lazy-loading leaderboard leaflet leaflet-geoman leaflet.draw less lets-encrypt letter-spacing lexicaljs libphonenumber libraries lifecycle ligature lightbox lightbox2 lightgallery lighthouse limit line line-breaks line-height line-through linear-gradients linechart linefeed linkedin-api linksys linq linq-to-sql lint lint-staged linter linux liquid liskov-substitution-principle list listbox listener listitem listjs listobject listpicker listview lit lit-element lit-html literals live live-streaming livereload liveserver load load-balancing load-order loader loading local local-storage localdate locale localhost localization localnotification location-href lodash logentries logging logic login login-page login-system logout logstash long-press loopback loopbackjs loops lottie lowercase lucid lumen luxon lxml lynx m3u m3u8 mac-address macos macos-big-sur macos-catalina macos-high-sierra macos-monterey macros magento magento2 magnific-popup mailchimp-api-v3.0 mailto makestyles mako manifest manifest.json many-to-many map mapbox mapbox-gl mapbox-gl-js mapped-types mapper mapping maps margin margins markdown markerclusterer markup marp marpit marquee mask masking masonry master-detail master-pages mat mat-autocomplete mat-card mat-datepicker mat-dialog mat-drawer mat-error mat-expansion-panel mat-form-field mat-icon mat-input mat-list mat-option mat-pagination mat-select mat-sidenav mat-slider mat-stepper mat-tab mat-table match material-components material-components-web material-design material-design-lite material-dialog material-icons material-table material-ui materialbutton materialize math math-functions mathematical-expressions mathjax mathml matter.js maven max maxlength mcu md-autocomplete md-select mdbootstrap mdc-components mddialog mean mean-stack meanjs measurement mechanize media media-queries mediastream megamenu memoization memoized-selectors memory memory-leaks memory-management mention menu menubar menuitem mercurius merge mergemap mern mesh message meta meta-tags metadata metamask metaplex meteor meteor-blaze methods metrics metro-bundler micro-frontend microservices microsoft-edge microsoft-graph-api microsoft-identity-platform microsoft-teams microsoft-web-deploy middleware midi migration mikro-orm milvus mime mime-message mime-types mindmap minesweeper minify minimist minio minmax miragejs mithril.js mix-blend-mode mixins mjml mkdocs mobile mobile-angular-ui mobile-application mobile-browser mobile-development mobile-safari mobile-website mobx mobx-react mobx-state-tree mocha-webpack mocha.js mocking mod-rewrite modal-dialog modal-sheet modal-window modalviewcontroller model model-binding model-view-controller model-viewer modifier modular-design module moment-timezone momentjs monaco-editor mongodb mongodb-query mongoid mongoose mongoose-middleware mongoose-schema monorepo monospace monthcalendar moodle mootools mosaic motorola mouse-cursor mouseevent mousehover mouseleave mousemove mouseover mousewheel moving-average mozilla mp3 mp4 mpd mpdf mpmediaquery mqtt ms-access ms-office ms-word msal msal-angular msal.js msbuild msgpack mudblazor mui5 muipickersutilsprovider multer multer-gridfs-storage multer-s3 multi-level multi-page-application multi-select multi-tenant multi-user multidimensional-array multiline multipage multipart multipartfile multipartform-data multiple-columns multiple-inheritance multiple-instances multiplication mutable mutation-observers mvvm mvw mxgraph mysql mysqli namecheap namespaces naming-conventions nan nanoid narrowing native native-base native-web-component nativescript nativescript-angular nativescript-plugin nativescript-telerik-ui nativescript-vue nav nav-pills navbar navigateurl navigation navigation-drawer navigationbar navigationcontroller navigator nebular nedb nest nest-commander nested nested-json nested-lists nested-loops nested-object nestjs nestjs-config nestjs-jwt nestjs-swagger netbeans netlify netsuite network-efficiency new-operator new-project new-window newline newsletter next next-auth next-images next-link next.js next.js13 next.js14 nextjs-dynamic-routing nextjs-image nexus nexus-js nexus-prisma nfc nft ng ng-animate ng-apexcharts ng-bootstrap ng-build ng-class ng-component-outlet ng-container ng-content ng-controller ng-deep ng-dialog ng-file-upload ng-filter ng-flow ng-grid ng-hide ng-image-compress ng-map ng-messages ng-mocks ng-modal ng-modules ng-multiselect-dropdown ng-options ng-otp-input ng-packagr ng-pattern ng-repeat ng-required ng-select ng-show ng-storage ng-style ng-submit ng-switch ng-tags-input ng-template ng-upgrade ng-view ng-zorro-antd ng2-bootstrap ng2-charts ng2-redux ng2-smart-table ng2-translate ngb-datepicker ngcordova ngfor nginfinitescroll nginx nginx-cache nginx-config nginx-location nginx-reverse-proxy ngmock ngmodel ngonchanges ngondestroy ngoninit ngresource ngrok ngroute ngrx ngrx-component-store ngrx-data ngrx-effects ngrx-entity ngrx-reducers ngrx-router-store ngrx-selectors ngrx-store ngrx-store-4.0 ngtable ngtemplateoutlet ngu-carousel ngx-admin ngx-bootstrap ngx-bootstrap-modal ngx-bootstrap-popover ngx-charts ngx-chips ngx-cookie-service ngx-datatable ngx-daterangepicker-material ngx-drag-drop ngx-echarts ngx-extended-pdf-viewer ngx-formly ngx-image-cropper ngx-international-phone-number ngx-leaflet ngx-mask ngx-monaco-editor ngx-mydatepicker ngx-pagination ngx-paypal ngx-quill ngx-restangular ngx-socket-io ngx-spinner ngx-swiper-wrapper ngx-toastr ngx-translate ngx-translate-multi-http-loader ngx-ui-loader ngxs nightwatch.js nl2br nlp noborder node-commander node-config node-fetch node-gyp node-modules node-red node-redis node-sass node-sqlite3 node-streams node-webkit node.js node.js-addon node.js-connect nodelist nodemailer nodemon nodes noise nokogiri nomachine-nx nominatim normalization normalize-css noscript nosql notepad++ notifications notify nouislider npm npm-build npm-install npm-link npm-live-server npm-package npm-publish npm-run npm-scripts npm-start npm-update npm-version npm-vulnerabilities npx nrwl nrwl-nx nsattributedstring nsstring nuget null null-check nullable number-formatting numbers nuxt.js nuxt3 nuxtjs3 nvd3.js nvda nvm nwjs nx-devkit nx-workspace nx.dev nyc oak oauth oauth-2.0 obfuscation object object-destructuring object-fit object-literal object-position object-property objective-c objloader observable observers ocelot odata odometer odoo odoo-13 odoo-15 oembed office-addins office-app office-js office-scripts office365 offline offline-caching offset ohif oidc-client okhttp okta on-screen-keyboard onbeforeunload onblur onchange onclick onclicklistener one-trust onedrive onerror onesignal onfocus onhover onload onmousedown onmouseover onsen-ui onsubmit oop opacity opayo open-telemetry openapi openapi-generator opencart opencart2.3 opencv opendatasoft openid openid-connect openlayers openlayers-5 openlayers-6 openstreetmap opentype-svg-font openvidu openweathermap opera operating-system operators opine optgroup optimization option option-type optional optional-chaining optional-parameters options oracle oracle-apex orchardcms orchardcore org-mode orientation-changes orm orphan out outdir outline outlook outlook-2010 outlook-2016 output overflow overlap overlapping overlay overloading overriding owasp owl-carousel owl-carousel-2 owl-date-time p-dropdown p-table p2p p5.js pack package package-info package-managers package.json pact padding page-break page-break-before page-layout page-load-time page-refresh pageload pageobjects pagespeed pagespeed-insights pagination paginator paging paint palantir-foundry palindrome pandas pandas-styles pandoc pane panel pannellum panning panzoom papaparse paragraph parallax parallel-processing parameter-passing parameters parcel parceljs parent parent-child parse-platform parseint parsel parsing partial partial-classes partial-views partials particles particles.js pass-by-reference pass-by-value passport-azure-ad passport-jwt passport-local passport.js password-protection passwords patch patch-package patchvalue path pattern-matching payment-gateway payment-method paypal pdf pdf-form pdf-generation pdf-viewer pdf.js pdfjs-dist pdfmake peer-dependencies peerjs pelco penetration-testing percentage performance perl permalinks permissions permutation perspective pg-promise phantom-types phantomjs phaser phaser-framework phaserjs phoenix-framework phone-call phonegap phonegap-build phonegap-plugins photo photography php phpmailer phppresentation phpstorm phpstorm-2017.1 physics-engine picasa pick picklist picture-element picturefill pie-chart pikaday pinchzoom ping pinia pinterest pipe pipeline pipes-filters pixel pixi.js pkce pkgdown placeholder plaintext play-billing-library playframework playframework-2.0 playwright playwright-test playwright-typescript plesk plot plotly plotly-dash plotly-express plotly-python plotly.js plsql plugins plyr.js pm2 png pnp-js pnpm pointer-events pointers pokeapi polling polyfills polyglot-markup polygon polymer polymorphism popover populate popup popupwindow port portfolio porting portrait position positional-operator positioning post postcss postcss-cli poster postgis postgresql postgresql-9.5 postman pouchdb power-automate power-automate-desktop powerbi powerbi-embedded powerpoint powershell powershell-core pre pre-commit-hook pre-rendering precompile predicate preflight preg-match preg-replace preload preloader preloading preprocessor prerender prestashop prestashop-1.7 prettier pretty-print prettytable preventdefault preview primefaces primeflex primeicons primeng primeng-calendar primeng-datatable primeng-dialog primeng-dropdowns primeng-menu primeng-table primeng-tree primeng-turbotable primereact primevue printing printing-web-page printthis prism.js prisma prisma-graphql prisma-orm prisma2 prismic.io privacy private private-constructor processing product production production-environment profiler progress progress-bar progressive-enhancement progressive-web-apps proj project projection promise prompt prop properties property-binding proportions protected proto protocol-buffers protocol-relative prototype prototype-chain prototypejs protractor provider proxy pseudo-class pseudo-element public publish publishing pug pull-to-refresh pulumi punycode puppeteer pure-css pure-function push push-notification pushstate pushy put putimagedata pwa pygments pyodide pyqt pyqt5 pyscript pyscripter pyside2 python python-2.7 python-3.x python-requests python-requests-html python-sphinx pythonanywhere q qlabel qr-code qt qtextedit qtstylesheets qtwebkit quarkus quarkus-rest-client quarto quasar quasar-framework query-builder query-optimization query-parameters query-string queryparam queryselector queue quill quote quotes r r-markdown rabbitmq race-condition rack rackspace radial-gradients radio radio-button radio-group radix-ui radzen railway ramda.js random range rapidapi rasa raspberry-pi rating razor razor-pages razorpay react-18 react-admin react-animated react-big-calendar react-bootstrap react-bootstrap-nav react-chartjs react-chartjs-2 react-class-based-component react-component react-context react-create-app react-css-modules react-custom-hooks react-data-table-component react-datepicker react-dnd react-dom react-dom-server react-dropdown-tree-select react-dropzone react-error-boundary react-fiber react-flow react-forms react-forwardref react-functional-component react-google-charts react-google-recaptcha react-hoc react-hook-form react-hooks react-hooks-testing-library react-i18next react-icons react-infinite-scroll-component react-jsx react-konva react-leaflet react-leaflet-v3 react-map-gl react-material react-mui react-native react-native-android react-native-drawer react-native-firebase react-native-flatlist react-native-gesture-handler react-native-navigation react-native-reanimated react-native-reanimated-v2 react-native-sqlite-storage react-native-stylesheet react-native-testing-library react-native-textinput react-navigation react-navigation-bottom-tab react-navigation-drawer react-navigation-stack react-navigation-v6 react-oauth react-otp-input react-pdf react-phone-input-2 react-phone-number-input react-player react-props react-proptypes react-query react-redux react-rendering react-router react-router-dom react-scripts react-select react-slick react-spring react-state react-state-management react-testing-library react-three-drei react-tooltip react-transition-group react-tsx react-typescript react-usecallback react-usememo reactive reactive-forms reactive-programming reactivex reactjs reactstrap readfile readme readonly real-time real-time-updates reason recaptcha recaptcha-v3 recharts recoiljs record recursion recursive-datastructures redaction redcap redirect redis redoc redocly reduce reducers redux redux-devtools redux-logger redux-observable redux-persist redux-reducers redux-saga redux-thunk redux-toolkit ref refactoring reference referrals referrer-policy reflect-metadata reflection reflow refresh refresh-token regex regex-lookarounds regexp-replace region rel relationship relative-path relative-url release reload remix-auth-socials remix-run remix.run remove-if removing-whitespace rename render renderer rendering renovate reorderlist repeat repeating-linear-gradient replace replaysubject reporting-services request request-headers requestanimationframe require required requiredfieldvalidator requirejs rerender rescript reselect reserved-words reset reset-password resharper resizable resize resolve resources response response-headers responsive responsive-design responsive-design-view responsive-images responsiveness rest rest-parameters restangular restapi restart restful-authentication restrict restructuredtext retina-display return return-type return-value reusability reveal.js reverse reverse-engineering reverse-proxy rgba rgl rich-text-editor richtext rider right-to-left ringcentral riot.js robotframework roboto role-based roles rollup rollup-plugin-postcss rollupjs roman-numerals roslyn rotatetransform rotation round-slider rounded-corners route-provider routeparams router router-outlet routerlink routerlinkactive routes routing row row-height rows rss rstudio rsuite rtcpeerconnection rtk-query rtmp rtos rtsp ruby ruby-characters ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-5 ruby-on-rails-7 rules run-configuration runtime runtime-configuration runtime-error rust rvest rx-angular rxfire rxjs rxjs-filter rxjs-fromevent rxjs-marbles rxjs-observables rxjs-pipeable-operators rxjs-subscriptions rxjs5 rxjs6 rxjs7 safari safe-navigation-operator sails.js salesforce salesforce-communities salesforce-marketing-cloud saml samsung-galaxy samsung-smart-tv sanctum sandbox sanitization sanitizer sap-commerce-cloud sap-fiori sapui5 sass sass-loader sass-maps sass-variables saucelabs save savefiledialog scale scaling scheduled-tasks scheduler schema scope scoping scrapy screen screen-capture screen-orientation screen-readers screen-scraping script script-src script-tag scripting scroll scroll-paging scroll-snap scrollbar scroller scrollmagic scrollspy scrolltop scrolltrigger scrollview scss-functions scss-lint scss-mixins sdk search search-engine search-form searchbar sections secure-coding security sed seek segment select select-options selected selectedindex selectinput selection selection-api selectionmodel selectize.js selector selectors-api selenium selenium-chromedriver selenium-ide selenium-iedriver selenium-webdriver selenium-webdriver-python self-destruction semantic-html semantic-markup semantic-ui semantic-ui-react semantics sencha-touch-2 send sendbeacon sendgrid sendmail sendmessage seo separation-of-concerns sequelize-cli sequelize-typescript sequelize.js sequential serialization serve server server-sent-events server-side-includes server-side-rendering serverless serverless-architecture serverless-framework serverless-framework-step-functions service service-worker servicenow servlets session session-cookies session-storage session-timeout set setattribute setinterval setstate setter settimeout settings sfu sgml sh sha256 shadcnui shader shadow shadow-dom shadow-root shaka shallow-copy shape shape-outside shapes share share-open-graph shared-directory shared-libraries shared-module sharepoint sharepoint-2013 sharepoint-online sharp sheetjs shell shiny shinybs shinyjqui shop shopify shopify-api shopizer shopping-cart shopware6 shortcut shoutcast show show-hide showmodaldialog shuffle siblings side-effects sidebar sidenav sigma.js sign sign-in-with-apple signalr signalr-hub signalr.client signals signature signaturepad sim-card simplemodal sinatra single-page-application single-sign-on single-spa single-spa-angular singleton singularitygs sinon sip sitedesign size sizing skeleton-css-boilerplate skeleton-ui skiasharp slice slick slick.js slickgrid slickgriduniversal slide slider slideshow sliding-tile-puzzle slim slim-4 slim-lang smart-table smartcontracts smil smooth-scrolling smtp smtpjs snackbar snap snapshot-testing snipcart soap social-authentication social-media socialsharing-plugin socket-timeout-exception socket.io socket.io-client sockets sockjs soft-hyphen solana solana-web3js solaris solid-js sonarlint sonarqube sorting soundcloud source-code-protection source-maps spa-template space spaces spacing spartacus-storefront speaker special-characters specifications spectator speech speech-synthesis spfx spfx-extension spinner splash-screen splidejs split splitter spotify spotlight spread spread-syntax spreadjs spring spring-batch spring-boot spring-boot-security spring-cloud spring-cloud-gateway spring-data spring-data-jpa spring-form spring-mvc spring-restcontroller spring-security spring-security-oauth2 spring-security-rest spring-security-saml2 spring-thymeleaf spring-webflux sprite spy spyon sql sql-like sql-server sqlalchemy sqlite squarespace squirrel.windows src srcset ssh2-sftp ssl ssl-certificate ssrs-2012 stack stack-navigator stack-trace stackblitz stacking-context standards startup state state-machine static static-files static-site-generation static-typing static-web-apps statistics status stenciljs step stepper sticky sticky-footer stomp stoppropagation stopwatch storage store storefront storybook str-replace strapi stream streamable.com streaming streaming-video streamlit strict strictnullchecks strikethrough string string-concatenation string-formatting string-interpolation string-literals stringify strip stripe-payments stripes stroke stroke-dasharray strokeshadow strong-typing strpos struct structured-clone struts-1 struts2 stryker style-dictionary styled-components styled-system stylelint styles stylesheet styling stylus stylus-pen subclassing subdirectory subject subject-observer sublime-text-plugin sublimetext sublimetext2 sublimetext3 submenu submit subpixel subscribe subscript subscription substring subtitle sudo sudoku suitescript sum summary-tag summernote supabase supabase-js superscript supertest survey susy-compass svelte svelte-3 svelte-component svelte-store svelte-transition sveltekit svg svg-animate svg-defs svg-filters svg-map svg-morphing svg.js sw-precache swagger swagger-ui sweetalert sweetalert2 swift swiftui swing swipe swipe.js swiper swiper.js swiperjs switch-statement switching switchmap swr symbols symfony symfony-flex symfony4 symfony5 syncfusion synchronization syntax syntax-error syntax-highlighting systemjs t4 tabindex tablecelleditor tablecellrenderer tableheader tablelayout tablet tabmenu tabs tabular tabulator tags tailwind-3 tailwind-css tailwind-elements tailwind-in-js tailwind-ui tampermonkey tanstack tanstackreact-query task tauri tcl tcp tcpdf teamcity teams-toolkit tedious tel telegram telegram-bot telerik telerik-mvc template-engine template-literals templatebinding templates tempus-dominus-datetimepicker tensorflow tensorflow.js tensorflowjs-converter terminal terminology ternary-operator testbed testcafe testing testing-library text text-align text-alignment text-cursor text-decorations text-editor text-extraction text-files text-indent text-size text-to-speech textarea textbox textcolor textfield textinput textnode textout textselection textual textview tfs themes theming thermal-printer thickness thingsboard this this-keyword three.js throttling throw thumbnails thymeleaf tic-tac-toe tiktok tilt time time-series time-tracking timeago timeout timepicker timer timestamp timezone timezone-offset tint tinymce tinymce-4 tinymce-5 tinymce-plugins tippyjs tiptap title tkinter toast toast-ui-image-editor toastr toggle togglebutton toggleswitch token tomcat tomcat9 tone.js toolbars tooltip top-level-await tornado tostring touch touch-event touchableopacity touchmove traffic trail trailing-whitespace transactions transform transition transitions translate translation transloco transparency transparent transpiler transpose travis-ci tree tree-shaking tree-traversal treemap treesitter treetableview treeview tri-state-logic triangle triggers trim trpc.io truetype truncate truncation try-catch ts-check ts-jest ts-loader ts-node ts-node-dev tsc tsconfig tsconfig-paths tsd tslint tsserver tsx tsyringe tumblr tumblr-html tumblr-themes tuples turborepo twa tween twig twilio twilio-api twilio-conversations twilio-video twitter twitter-bootstrap twitter-bootstrap-2 twitter-bootstrap-3 twitter-bootstrap-4 twitter-card two-way-binding txt type-alias type-assertion type-conversion type-declaration type-definition type-erasure type-hinting type-inference type-level-computation type-narrowing type-only-import-export type-parameter type-safety typeahead typeahead.js typechecking typedjs typeerror typeface.js typeform typegoose typegraphql typeguards typemoq typeof typeorm types typescript typescript-5 typescript-class typescript-compiler-api typescript-conditional-types typescript-declarations typescript-decorator typescript-eslint typescript-eslintparser typescript-generics typescript-mixins typescript-module-resolution typescript-namespace typescript-never typescript-types typescript-typings typescript-utility typescript1.5 typescript1.6 typescript1.8 typescript2.0 typescript2.2 typescript2.4 typescript2.9 typescript3.0 typescript4.0 typetraits typing typo3 typo3-10.x typography typoscript ubuntu ubuntu-16.04 ubuntu-20.04 udp uglifyjs ui-automation ui-calendar ui-grid ui-scroll ui-select ui-testing ui-toolkit ui.bootstrap uiactionsheet uialertcontroller uibinder uicomponents uikit uint uint8array uiscrollview uiswitch uiview uiwebview ultrawingrid umd uncaught-exception undefined underline underscore.js undertow unexpected-token unhandled-promise-rejection unicode unicode-string unified.js union union-types unique-values unit-testing units-of-measurement unity-game-engine universal unlink unsafe-inline unsubscribe unused-variables updates upgrade upload uploader uppercase uri uri.js url url-parameters url-parsing url-redirection url-rewriting url-routing url-scheme urllib2 urlsearchparams urql usability use-case use-context use-effect use-reducer use-ref use-state usefaketimers user-agent user-controls user-event user-experience user-input user-interface user-permissions user-roles userchrome.css userscripts utc utf utf-8 uuid uwp uwsgi v-autocomplete v-data-table v-for v-slider v-slot vaadin vaadin-flow vaadin14 vagrant validation validationerror valuechangelistener vanilla-extract var variable-assignment variable-fonts variable-length variables variadic-functions variadic-tuple-types variance vb.net vba vbscript vector-graphics vega vega-embed vega-lite velo vendor-prefix vercel version version-control versioning vertical-alignment vertical-scrolling vetur video video-codecs video-processing video-streaming video.js videogular videogular2 view view-transitions-api viewchild viewport viewport-units vim vimeo vimium virtual-dom virtualscroll virus vis.js vis.js-network visibility visible visual-studio visual-studio-2010 visual-studio-2012 visual-studio-2013 visual-studio-2015 visual-studio-2017 visual-studio-2019 visual-studio-2022 visual-studio-code visual-studio-cordova visual-studio-monaco visual-testing visual-web-developer vite vitepress vitest vlc vmware vmware-clarity voiceover void vpc vs-web-site-project vscode-debugger vscode-extensions vscode-jsconfig vscode-settings vsto vue-class-components vue-cli vue-cli-3 vue-component vue-composition-api vue-data vue-i18n vue-mixin vue-property-decorator vue-props vue-router vue-router4 vue-script-setup vue-test-utils vue-transitions vue-typescript vue.js vuejs-transition vuejs2 vuejs3 vuejs3-composition-api vuelidate vuepress vuetify.js vuetifyjs3 vueuse vuex vuex4 w3.css w3c w3c-validation wai-aria wait walkthrough wallet-connect war warnings was watch watch-face-api wav waveform wcag wcag2.0 wcag2.1 wcf wear-os weasyprint weather-api web web-accessibility web-applications web-audio-api web-chat web-component web-config web-crawler web-deployment web-deployment-project web-development-server web-frameworks web-frontend web-hosting web-inspector web-notifications web-parts web-performance web-scraping web-scraping-language web-services web-site-project web-sql web-standards web-storage web-technologies web-vitals web-worker web.xml web3 web3js webapi webapi2 webassembly webauthn webbrowser-control webcam webclient webcodecs webdatarocks webdeploy-3.5 webdriver webflow webfonts webforms webgl webgpu webhooks webintents webix webkit webkit-animation weblogic webmethod webp webpack webpack-2 webpack-4 webpack-5 webpack-bundle-analyzer webpack-config webpack-dev-server webpack-file-loader webpack-hmr webpack-html-loader webpack-module-federation webpack-style-loader webpage-screenshot webrtc websecurity webserver websocket webspeech-api webstorm webusb webview webview2 webvtt weebly week-number wget wgsl whatsapp while-loop white-labelling whitelist whitespace widget width wildwebdeveloper window window-resize window.location windows windows-10 windows-7 windows-8.1 windows-authentication windows-server-2008 windows-subsystem-for-linux winforms winston winui-3 wireless wix wkhtmltopdf wkwebview wkwebviewconfiguration woff woff2 wonderpush woocommerce woocommerce-theming woothemes word-break word-cloud word-count word-spacing word-wrap wordpress wordpress-gutenberg wordpress-rest-api wordpress-theming worker worker-loader workflow workspace wow.js wpbakery wpf wrapper ws wsh wsl-2 wso2 wso2-identity-server wso2-micro-integrator wtforms wysiwyg x-editable x-xsrf-token xaml xampp xaringan xcode xcode12 xcodebuild xhtml xhtml-1.0-strict xhtml-1.1 xhtml2pdf xliff xlsx xml xml-namespaces xml-parsing xml.etree xmlhttprequest xng-breadcrumb xor xpath xslt xss xstate xtermjs yahoo-mail yaml yarn-v2 yarn-workspaces yarnpkg yarnpkg-v2 yaxis yeoman yeoman-generator yeoman-generator-angular yii2 yii2-advanced-app youtube youtube-api youtube-data-api youtube-iframe-api ytdl yui yup z-index zend-form zend-framework zend-framework2 zendesk zigzag zingchart zip zipalign zipkin zod zoho zone zone.js zonejs zooming zsh zurb-foundation zustand

Copyright © angularfix