{"version":3,"file":"usitsdasdesign-dds-ng-spinner.mjs","sources":["../../src/app/dds/spinner/spinner/constants.ts","../../src/app/dds/spinner/spinner/spinner.component.ts","../../src/app/dds/spinner/spinner/spinner.component.html","../../src/app/dds/spinner/spinner.module.ts","../../src/app/dds/spinner/usitsdasdesign-dds-ng-spinner.ts"],"sourcesContent":["import { ThemeClassesMap, ThemeMapEnum } from '@usitsdasdesign/dds-ng/core/theme';\nimport { SpinnerThemes } from '@usitsdasdesign/dds-ng/shared';\n\nexport const THICKNESS = '4px';\n\nexport const themeClassesMap: ThemeClassesMap = {\n  [ThemeMapEnum.Themes]: {\n    [SpinnerThemes.green]: 'dds-spinner_green',\n    [SpinnerThemes.dark]: 'dds-spinner_dark',\n    [SpinnerThemes.blue]: 'dds-spinner_blue',\n    [SpinnerThemes.danger]: 'dds-spinner_danger',\n    [SpinnerThemes.gray]: 'dds-spinner_gray',\n  },\n};\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { DestroyCtor, DestroyMixin, I18nCtor, I18nMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { ThemeClassesMap, ThemeModule } from '@usitsdasdesign/dds-ng/core/theme';\nimport { AdditionalClass, SpinnerThemes } from '@usitsdasdesign/dds-ng/shared';\nimport { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config';\nimport { I18nModule, I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n';\nimport { THICKNESS, themeClassesMap } from './constants';\n\nconst SpinnerBase: DestroyCtor & I18nCtor = DestroyMixin(I18nMixin());\n\n@Component({\n  selector: 'dds-spinner',\n  templateUrl: './spinner.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: true,\n  imports: [CommonModule, ThemeModule, I18nModule],\n})\nexport class SpinnerComponent extends SpinnerBase {\n  // Host binding to add a CSS class to the host element\n  @HostBinding('class') class = AdditionalClass.flex;\n\n  // Input properties to customize the spinner component\n  @Input() theme: SpinnerThemes | string | undefined = this.ddsConfig.getConfig().theme;\n  @Input() thickness: string | undefined = THICKNESS;\n  @Input() size: string | undefined;\n  @Input() customClass: string | undefined;\n  @Input() isInverse: boolean | undefined;\n\n  // Theme configuration map\n  public themeConfig: ThemeClassesMap = themeClassesMap;\n  // Aria label for accessibility\n  public ariaLabel: string;\n\n  // Constructor to inject dependencies\n  constructor(public cdr: ChangeDetectorRef, public i18n: I18nService, private ddsConfig: DdsConfigService) {\n    super();\n  }\n\n  // Method to set internationalization texts\n  protected setI18nTexts(translation: ITranslation): void {\n    this.ariaLabel = translation.SPINNER?.A11Y?.ARIA_LABEL || '';\n    this.cdr.detectChanges();\n  }\n}\n","<div [ngStyle]=\"{'width': size, 'height': size}\"\n     [theme]=\"theme\"\n     [ddsTheme]=\"themeConfig\"\n     [ngClass]=\"{'dds-spinner_inverse': isInverse}\"\n     data-qa=\"spinner\"\n     aria-busy=\"true\"\n     aria-live=\"polite\"\n     [attr.aria-label]=\"ariaLabel\"\n     role=\"alert\"\n     class=\"dds-spinner {{customClass}}\">\n  <svg class=\"dds-spinner__circle\"\n       viewBox=\"25 25 50 50\">\n    <circle [style.stroke-width]=\"thickness\"\n            class=\"dds-spinner__line\"\n            cx=\"50\"\n            cy=\"50\"\n            r=\"20\"\n            fill=\"none\"\n            stroke-miterlimit=\"10\"></circle>\n  </svg>\n</div>","import { NgModule } from '@angular/core';\nimport { SpinnerComponent } from './spinner/spinner.component';\n\n@NgModule({\n  declarations: [],\n  imports: [SpinnerComponent],\n  exports: [SpinnerComponent],\n})\nexport class SpinnerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}