{"version":3,"file":"tstdl-angular-badge.mjs","sources":["../../../../projects/tstdl/angular/badge/source/badge.component.ts","../../../../projects/tstdl/angular/badge/source/badge.component.html","../../../../projects/tstdl/angular/badge/tstdl-angular-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, type OnDestroy, type OnInit, ViewEncapsulation, booleanAttribute, effect, inject, input } from '@angular/core';\nimport { MatRipple } from '@angular/material/core';\nimport { hostClass } from '@tstdl/angular/host-class';\nimport { assertUndefined, isDefined } from '@tstdl/base/utils';\n\nexport const badgeDesigns = ['flat', 'outline', 'flat-outline'] as const;\nexport const badgeColors = ['amber', 'blue', 'cyan', 'emerald', 'fuchsia', 'gray', 'green', 'indigo', 'lime', 'neutral', 'orange', 'pink', 'purple', 'red', 'rose', 'sky', 'stone', 'teal', 'violet', 'yellow'] as const;\nexport const badgeSizes = ['small', 'normal'] as const;\nexport const badgePills = [true, false] as const;\nexport const badgeDots = [true, false] as const;\nexport const badgeSmalls = [true, false] as const;\n\nexport type BadgeDesign = (typeof badgeDesigns)[number];\nexport type BadgeColor = (typeof badgeColors)[number];\nexport type BadgeSize = (typeof badgeSizes)[number];\n\n@Component({\n  selector: 'tsl-badge',\n  templateUrl: './badge.component.html',\n  styleUrl: './badge.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [MatRipple],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    'class': 'tsl-tw',\n    '[class.cursor-pointer]': 'interactive() && !disabled()',\n    '[class.opacity-60]': '!active() && !disabled()',\n    '[class.opacity-40]': 'disabled()',\n  },\n})\nexport class BadgeComponent implements OnInit, OnDestroy {\n  readonly #ripple = inject(MatRipple);\n\n  /** @deprecated Use `design` instead. */\n  readonly style = input<undefined>();\n  readonly design = input<BadgeDesign>('flat');\n  readonly color = input<BadgeColor>('neutral');\n  readonly size = input<BadgeSize>('normal');\n  readonly rounded = input<boolean, boolean | `${boolean}`>(true, { transform: booleanAttribute });\n  readonly pill = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly dot = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly bold = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly interactive = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly active = input<boolean, boolean | `${boolean}`>(true, { transform: booleanAttribute });\n  readonly disabled = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n\n  readonly hostClass = hostClass(() => {\n    const design = this.design();\n    const color = this.color();\n    const size = this.size();\n    const rounded = this.rounded();\n    const pill = this.pill();\n    const bold = this.bold();\n    const dot = this.dot();\n\n    const baseDesignClass = `tsl-badge-${design}`;\n\n    const classes = [\n      baseDesignClass,\n      `${baseDesignClass}-${color}`,\n      (size == 'small') ? 'badge-small' : undefined,\n      (rounded && !pill) ? 'badge-rounded' : undefined,\n      pill ? 'badge-pill' : undefined,\n      bold ? 'badge-bold' : undefined,\n      dot ? `tsl-badge-dot-${this.color()}` : undefined,\n    ];\n\n    return classes.filter(isDefined).join(' ');\n  });\n\n  constructor() {\n    effect(() => (this.#ripple.disabled = (!this.interactive() || this.disabled())));\n    effect(() => assertUndefined(this.style(), 'The badge \"style\" input is deprecated and must not be used. Use \"design\" instead.'));\n  }\n\n  ngOnInit(): void {\n    this.#ripple.ngOnInit();\n  }\n\n  ngOnDestroy(): void {\n    this.#ripple.ngOnDestroy();\n  }\n}\n","@if (dot()) {\n  <div class=\"tsl-badge-dot w-1.5 h-1.5 rounded-full\"></div>\n}\n\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}