{"version":3,"file":"uib-angular-components-badge.mjs","sources":["../../../../libs/angular-components/components/badge/src/lib/models/bade-variant.ts","../../../../libs/angular-components/components/badge/src/lib/models/badge-size.ts","../../../../libs/angular-components/components/badge/src/lib/badge.directive.ts","../../../../libs/angular-components/components/badge/src/lib/badge.module.ts","../../../../libs/angular-components/components/badge/src/uib-angular-components-badge.ts"],"sourcesContent":["export type BadgeVariant = typeof BadgeVariant[keyof typeof BadgeVariant];\nexport const BadgeVariant = {\n  PRIMARY: 'primary',\n  SECONDARY: 'secondary',\n  WARNING: 'warning',\n  DANGER: 'danger',\n} as const;\n","export type BadgeSize = typeof BadgeSize[keyof typeof BadgeSize];\nexport const BadgeSize = {\n  XSMALL: 'xsmall',\n  SMALL: 'small',\n  MEDIUM: 'medium',\n  LARGE: 'large',\n} as const;\n","import { AfterViewInit, Directive, ElementRef, Input, OnChanges, OnDestroy, Renderer2 } from '@angular/core';\nimport { hasChanged, NgChanges } from '@uib/angular/utils';\nimport { BadgeSize, BadgeVariant } from './models';\n\nconst BADGE_SELECTOR = 'uib-badge';\n\n@Directive({\n  selector: 'uib-badge, [uibBadge]',\n})\nexport class BadgeDirective implements AfterViewInit, OnChanges, OnDestroy {\n  private currentClasses: string[] = [];\n  private hostElement: HTMLElement | null = null;\n\n  @Input()\n  public value: string;\n\n  @Input()\n  public uibBadge: string;\n\n  @Input('uibBadgeVariant')\n  public variant: BadgeVariant = BadgeVariant.PRIMARY;\n\n  @Input('uibBadgeSize')\n  public size: BadgeSize = BadgeSize.XSMALL;\n\n  public get hasParent(): boolean {\n    return this.element.nativeElement.tagName.toLowerCase() !== BADGE_SELECTOR;\n  }\n\n  constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {}\n\n  public ngOnChanges(changes: NgChanges<BadgeDirective>): void {\n    if (hasChanged(changes, ['uibBadge', 'value'])) {\n      this.updateValue();\n    }\n    if (hasChanged(changes, ['size', 'variant'])) {\n      this.updateCSSClasses();\n    }\n  }\n\n  public ngAfterViewInit(): void {\n    if (this.hasParent) {\n      this.hostElement = this.createHostElement();\n      this.renderer.appendChild(this.element.nativeElement, this.hostElement);\n      this.renderer.setStyle(this.element.nativeElement, 'position', 'relative');\n    } else {\n      this.hostElement = this.element.nativeElement;\n    }\n    this.updateValue();\n    this.updateCSSClasses();\n  }\n\n  public ngOnDestroy(): void {\n    if (this.hasParent) {\n      this.renderer.removeChild(this.element.nativeElement, this.hostElement);\n      this.renderer.removeStyle(this.element.nativeElement, 'position');\n    }\n    this.hostElement = null;\n  }\n\n  public getValue(): string {\n    return this.value ?? this.uibBadge;\n  }\n\n  private updateValue() {\n    if (this.hostElement) {\n      this.renderer.setProperty(this.hostElement, 'textContent', this.getValue());\n    }\n  }\n\n  private updateCSSClasses() {\n    for (const currentClass of this.currentClasses) {\n      this.renderer.removeClass(this.hostElement, currentClass);\n    }\n    this.currentClasses = [BADGE_SELECTOR, `${BADGE_SELECTOR}--${this.size}`, `${BADGE_SELECTOR}--${this.variant}`];\n    for (const currentClass of this.currentClasses) {\n      this.renderer.addClass(this.hostElement, currentClass);\n    }\n  }\n\n  private createHostElement() {\n    const container = this.renderer.createElement('span') as HTMLSpanElement;\n    this.renderer.setStyle(container, 'position', 'absolute');\n    this.renderer.setStyle(container, 'top', 0);\n    this.renderer.setStyle(container, 'right', 0);\n\n    return container;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeDirective } from './badge.directive';\n\n@NgModule({\n  declarations: [BadgeDirective],\n  exports: [BadgeDirective],\n})\nexport class BadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}