{"version":3,"file":"usitsdasdesign-dds-ng-footer.mjs","sources":["../../src/app/dds/footer/directives/content.directives.ts","../../src/app/dds/footer/footer/constants.ts","../../src/app/dds/footer/footer/footer.component.ts","../../src/app/dds/footer/footer/footer.component.html","../../src/app/dds/footer/footer.module.ts","../../src/app/dds/footer/usitsdasdesign-dds-ng-footer.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\n\n@Directive({\n  selector: '[contentTop]',\n  standalone: true\n})\nexport class ContentTopDirective {\n  @Input() maxWidth: string;\n  @Input() minWidth: string;\n  @Input() tabletFullWidth: boolean;\n  @Input() mobileFullWidth: boolean;\n\n  constructor() { }\n}\n\n@Directive({\n  selector: '[content]',\n  standalone: true\n})\nexport class ContentDirective {\n  @Input() maxWidth: string;\n  @Input() minWidth: string;\n  @Input() tabletFullWidth: boolean;\n  @Input() mobileFullWidth: boolean;\n\n  constructor() { }\n}\n\n@Directive({\n  selector: '[contentLeft]',\n  standalone: true\n})\nexport class ContentLeftDirective {\n  @Input() maxWidth: string;\n  @Input() minWidth: string;\n  @Input() tabletFullWidth: boolean;\n  @Input() mobileFullWidth: boolean;\n\n  constructor() { }\n}\n\n@Directive({\n  selector: '[contentRight]',\n  standalone: true\n})\nexport class ContentRightDirective {\n  @Input() maxWidth: string;\n  @Input() minWidth: string;\n  @Input() tabletFullWidth: boolean;\n  @Input() mobileFullWidth: boolean;\n\n  constructor() { }\n}\n","export const DEFAULT_ARIA_LABEL = 'footer';\nexport const DEFAULT_ROLE = 'contentinfo';\n","import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnInit,\n  SimpleChanges,\n} from '@angular/core';\nimport { DestroyCtor, DestroyMixin, ResponsivenessCtor, ResponsivenessMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { SearchComponent } from '@usitsdasdesign/dds-ng/search';\nimport { AdditionalClass, Devices, Size } from '@usitsdasdesign/dds-ng/shared';\nimport { ResizeHandlerModule, ResizeHandlerService } from '@usitsdasdesign/dds-ng/shared/resize-handler';\nimport { ContentDirective, ContentLeftDirective, ContentRightDirective, ContentTopDirective } from '../directives/content.directives';\nimport { DEFAULT_ARIA_LABEL, DEFAULT_ROLE } from './constants';\n\nconst FooterBase: DestroyCtor & ResponsivenessCtor = DestroyMixin(ResponsivenessMixin());\n\n@Component({\n  selector: 'dds-footer',\n  templateUrl: './footer.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [CommonModule, ResizeHandlerModule],\n})\nexport class FooterComponent extends FooterBase implements OnInit, OnChanges, AfterContentInit {\n  // HostBinding to apply flex display class\n  @HostBinding(`class.${AdditionalClass.flex}`) displayFlex = true;\n  // HostBinding to apply full width class\n  @HostBinding(`class.${AdditionalClass.fullWidth}`) isFullWidth = true;\n\n  // Input properties\n  @Input() isInverse: boolean | undefined;\n  @Input() customClass: string | undefined;\n  @Input() ariaLabel: string | undefined = DEFAULT_ARIA_LABEL;\n  @Input() role: string | undefined = DEFAULT_ROLE;\n\n  // ContentChild directives\n  @ContentChild(ContentTopDirective) contentTop: ContentTopDirective;\n  @ContentChild(ContentDirective) content: ContentTopDirective;\n  @ContentChild(ContentLeftDirective) contentLeft: ContentTopDirective;\n  @ContentChild(ContentRightDirective) contentRight: ContentTopDirective;\n  @ContentChild(SearchComponent) searchComponent: SearchComponent;\n\n  // Flag to indicate responsiveness\n  isResponsive = true;\n\n  constructor(public elementRef: ElementRef<HTMLElement>, public resizeService: ResizeHandlerService, public cdr: ChangeDetectorRef) {\n    super();\n  }\n\n  public ngOnChanges(changes: SimpleChanges): void {\n    if (changes.isInverse) {\n      this.setInverse();\n    }\n  }\n\n  public ngOnInit(): void {\n    super.ngOnInit();\n    this.cdr.markForCheck();\n  }\n\n  public ngAfterContentInit(): void {\n    this.checkDevice(this.resizeService.getDevice());\n    this.setInverse();\n  }\n\n  // Method to check device type and set size accordingly\n  protected checkDevice(device: Devices): void {\n    const size = device === Devices.desktop ? Size.md : Size.lg;\n\n    if (this.searchComponent) {\n      this.searchComponent.size = size;\n      this.searchComponent.cdr.detectChanges();\n    }\n  }\n\n  // Method to set inverse property on search component\n  private setInverse(): void {\n    if (this.searchComponent) {\n      this.searchComponent.isInverse = this.isInverse;\n      this.searchComponent.cdr.detectChanges();\n    }\n  }\n}\n","<footer class=\"dds-footer {{customClass}}\"\n        [ngClass]=\"{\n          'dds-footer_inverse': isInverse\n        }\"\n        [attr.aria-label]=\"ariaLabel\"\n        [attr.role]=\"role\">\n\n  @if (contentTop) {\n    <div class=\"dds-footer-content-top\"\n         [ngClass]=\"{\n           'dds-footer-content-top_tablet-full-width': contentTop.tabletFullWidth,\n           'dds-footer-content-top_mobile-full-width': contentTop.mobileFullWidth\n          }\"\n         [ngStyle]=\"{\n            maxWidth: contentTop.maxWidth,\n            minWidth: contentTop.minWidth\n          }\">\n      <ng-content select=\"[contentTop]\"></ng-content>\n    </div>\n  }\n\n  @if (contentLeft || contentRight) {\n    <div class=\"dds-footer-container\"\n         [ngClass]=\"{\n     'dds-footer-container_tablet-full-width': contentLeft.tabletFullWidth || contentRight.tabletFullWidth,\n     'dds-footer-container_mobile-full-width': contentLeft.mobileFullWidth || contentRight.mobileFullWidth,\n    }\">\n      @if (contentLeft) {\n        <div class=\"dds-footer-content-left\"\n             [ngClass]=\"{\n    'dds-footer-content-left_tablet-full-width': contentLeft.tabletFullWidth,\n    'dds-footer-content-left_mobile-full-width': contentLeft.mobileFullWidth\n   }\"\n             [ngStyle]=\"{\n     maxWidth: contentLeft.maxWidth,\n     minWidth: contentLeft.minWidth\n   }\">\n          <ng-content select=\"[contentLeft]\"></ng-content>\n        </div>\n      }\n\n      @if (contentRight) {\n        <div class=\"dds-footer-content-right\"\n             [ngClass]=\"{\n            'dds-footer-content-right_tablet-full-width': contentRight.tabletFullWidth,\n            'dds-footer-content-right_mobile-full-width': contentRight.mobileFullWidth\n          }\"\n             [ngStyle]=\"{\n          maxWidth: contentRight.maxWidth,\n          minWidth: contentRight.minWidth\n        }\">\n          <ng-content select=\"[contentRight]\"></ng-content>\n        </div>\n      }\n    </div>\n  }\n\n  @if (content) {\n    <div class=\"dds-footer-content\"\n         [ngClass]=\"{\n     'dds-footer-content_tablet-full-width': content.tabletFullWidth,\n     'dds-footer-content_mobile-full-width': content.mobileFullWidth\n    }\"\n         [ngStyle]=\"{\n      maxWidth: content.maxWidth,\n      minWidth: content.minWidth\n    }\">\n      <ng-content select=\"[content]\"></ng-content>\n    </div>\n  }\n</footer>","import { NgModule } from '@angular/core';\nimport { ContentDirective, ContentLeftDirective, ContentRightDirective, ContentTopDirective } from './directives/content.directives';\nimport { FooterComponent } from './footer/footer.component';\n\n@NgModule({\n  declarations: [],\n  imports: [FooterComponent, ContentTopDirective, ContentDirective, ContentLeftDirective, ContentRightDirective],\n  exports: [FooterComponent, ContentTopDirective, ContentDirective, ContentLeftDirective, ContentRightDirective],\n})\nexport class FooterModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}