{"version":3,"file":"sebgroup-green-angular-src-v-angular-character-countdown.mjs","sources":["../../../../libs/angular/src/v-angular/character-countdown/character-countdown.directive.ts","../../../../libs/angular/src/v-angular/character-countdown/character-countdown.module.ts","../../../../libs/angular/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'\n\n@Directive({\n    selector: '[nggvCharacterCountdown]',\n    standalone: false\n})\nexport class CharacterCountdownDirective {\n  @Input('nggvCharacterCountdown')\n  set maxlength(value: number | undefined) {\n    if (!!value && !Number.isNaN(value)) {\n      this._maxlength = value\n      this.updateContext()\n      if (!this.isViewCreated) {\n        this.viewContainerRef.createEmbeddedView(this.templateRef, this.context)\n        this.isViewCreated = true\n      }\n    } else {\n      if (this.isViewCreated) {\n        this.viewContainerRef.clear()\n        this.isViewCreated = false\n      }\n    }\n  }\n\n  @Input('nggvCharacterCountdownCurrentLength')\n  set currentLength(value: number) {\n    this._currentLength = value ?? 0\n    this.updateContext()\n  }\n\n  private _maxlength: number = Number.MAX_SAFE_INTEGER\n  private _currentLength = 0\n  private isViewCreated = false\n  private context = { charactersLeft: 0 }\n\n  constructor(\n    private readonly viewContainerRef: ViewContainerRef,\n    private readonly templateRef: TemplateRef<any>,\n  ) {}\n\n  updateContext() {\n    this.context.charactersLeft = this.calculateCharactersLeft(\n      this._maxlength,\n      this._currentLength,\n    )\n  }\n\n  calculateCharactersLeft = (max: number, current: number): number =>\n    max - current\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { CharacterCountdownDirective } from './character-countdown.directive'\n\n@NgModule({\n  declarations: [CharacterCountdownDirective],\n  imports: [CommonModule],\n  exports: [CharacterCountdownDirective],\n})\nexport class NggvCharacterCountdownDirectiveModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}