{"version":3,"file":"sebgroup-green-angular-src-lib-modal.mjs","sources":["../../../../libs/angular/src/lib/modal/modal-footer.directive.ts","../../../../libs/angular/src/lib/modal/modal-header.directive.ts","../../../../libs/angular/src/lib/modal/modal.component.ts","../../../../libs/angular/src/lib/modal/modal.component.html","../../../../libs/angular/src/lib/modal/modal.module.ts","../../../../libs/angular/src/lib/modal/sebgroup-green-angular-src-lib-modal.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core'\n\n@Directive({\n    selector: '[nggModalFooter]',\n    standalone: false\n})\nexport class NggModalFooterDirective {\n  constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Directive, ViewContainerRef } from '@angular/core'\n\n@Directive({\n    selector: '[nggModalHeader]',\n    standalone: false\n})\nexport class NggModalHeaderDirective {\n  constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import {\n  animate,\n  group,\n  query,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations'\nimport {\n  ConfigurableFocusTrap,\n  ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y'\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewChild,\n} from '@angular/core'\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\n\nimport { NggModalFooterDirective } from './modal-footer.directive'\nimport { NggModalHeaderDirective } from './modal-header.directive'\n\nexport type ModalType = 'default' | 'slideout' | 'takeover'\ntype Size = 'sm' | 'md' | 'lg'\n\n/**\n * @deprecated use <gds-dialog> from green-core instead.\n */\n@Component({\n  selector: 'ngg-modal',\n  styleUrls: ['./modal.component.scss'],\n  templateUrl: './modal.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('modalAnimation', [\n      transition(':enter', [\n        query('aside', style({ transform: 'translateX(100%)' }), {\n          optional: true,\n        }),\n        query('.backdrop, [role=dialog]', style({ opacity: '0' }), {\n          optional: true,\n        }),\n        group([\n          query(\n            'aside',\n            animate(\n              '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n              style({ transform: 'translateX(0)' }),\n            ),\n            { optional: true },\n          ),\n          query(\n            '.backdrop, [role=dialog]',\n            animate(\n              '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n              style({ opacity: '1' }),\n            ),\n            { optional: true },\n          ),\n        ]),\n      ]),\n      transition(':leave', [\n        query('aside', style({ transform: 'translateX(0)' }), {\n          optional: true,\n        }),\n        group([\n          query(\n            'aside',\n            animate(\n              '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n              style({ transform: 'translateX(100%)' }),\n            ),\n            { optional: true },\n          ),\n          query(\n            '.backdrop, [role=dialog]',\n            animate(\n              '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n              style({ opacity: '0' }),\n            ),\n            { optional: true },\n          ),\n        ]),\n      ]),\n    ]),\n  ],\n  standalone: false,\n})\nexport class NggModalComponent implements OnDestroy, OnInit {\n  @Input() public modalType?: ModalType\n  @Input() public header?: string\n  @Input() public closeText = 'Close Modal'\n  @Input() public confirmLabel?: string\n  @Input() public dismissLabel?: string\n  @Input() public size?: Size\n  @Input() public hideHeader?: boolean\n  @Input() public hideFooter?: boolean\n  @Input() public disableBodyScroll?: boolean = true\n  @Input() public get trapFocus(): boolean | undefined {\n    return this._trapFocus\n  }\n  public set trapFocus(value: boolean | undefined) {\n    this._trapFocus = value\n\n    if (value) {\n      if (this._isOpen) {\n        this.enableFocusTrap()\n      }\n    } else {\n      this.disableFocusTrap()\n    }\n  }\n\n  @Input()\n  public get isOpen(): boolean | undefined {\n    return this._isOpen\n  }\n  public set isOpen(value: boolean | undefined) {\n    this._isOpen = value\n\n    if (value) {\n      if (this.trapFocus) {\n        this.enableFocusTrap()\n      }\n\n      if (this.disableBodyScroll) {\n        disableBodyScroll(this.ref.nativeElement, {\n          allowTouchMove: (el) => {\n            // Allow touchmove for elements inside modal, its required for scroll to work on iOS devices\n            return this.ref.nativeElement.contains(el)\n          },\n        })\n      }\n    } else {\n      this.disableFocusTrap()\n      if (this.disableBodyScroll) {\n        enableBodyScroll(this.ref.nativeElement)\n      }\n    }\n  }\n\n  @Output() public isOpenChange: EventEmitter<boolean> =\n    new EventEmitter<boolean>()\n  @Output() public closed: EventEmitter<MouseEvent> =\n    new EventEmitter<MouseEvent>()\n  @Output() public confirm: EventEmitter<MouseEvent> =\n    new EventEmitter<MouseEvent>()\n  @Output() public dismiss: EventEmitter<MouseEvent> =\n    new EventEmitter<MouseEvent>()\n\n  @HostBinding('class.open') get open() {\n    return this.isOpen\n  }\n  @ViewChild('backdrop') private backdropRef?: ElementRef<HTMLInputElement>\n  @ContentChild(NggModalHeaderDirective)\n  public modalHeaderContent?: NggModalHeaderDirective\n  @ContentChild(NggModalFooterDirective)\n  public modalFooterContent?: NggModalFooterDirective\n\n  public guid = ''\n\n  private _isOpen?: boolean\n  private _trapFocus?: boolean\n  private configurableFocusTrap: ConfigurableFocusTrap\n\n  constructor(\n    private ref: ElementRef<HTMLElement>,\n    private configurableFocusTrapFactory: ConfigurableFocusTrapFactory,\n  ) {\n    this.configurableFocusTrap = this.configurableFocusTrapFactory.create(\n      this.ref.nativeElement,\n    )\n  }\n\n  ngOnInit(): void {\n    this.guid = globalThis.crypto.randomUUID()\n\n    if (this._isOpen && this.trapFocus) this.enableFocusTrap()\n    else this.disableFocusTrap()\n  }\n\n  public handleCloseClick(event: MouseEvent) {\n    this.closeModal(event)\n  }\n\n  public handleBackdropClick(event: MouseEvent) {\n    if (event.target == this.backdropRef?.nativeElement) this.closeModal(event)\n  }\n\n  public handleDismiss(event: MouseEvent) {\n    this.dismiss.emit(event)\n  }\n\n  public handleConfirm(event: MouseEvent) {\n    this.confirm.emit(event)\n  }\n\n  private closeModal(event: MouseEvent) {\n    if (this.closed.observers.length > 0) {\n      this.closed.emit(event)\n    } else {\n      this.isOpen = false\n      this.isOpenChange.emit(this.isOpen)\n    }\n  }\n\n  private enableFocusTrap() {\n    if (this.configurableFocusTrap) {\n      this.configurableFocusTrap.enabled = true\n      this.configurableFocusTrap.focusInitialElementWhenReady()\n    }\n  }\n\n  private disableFocusTrap() {\n    if (this.configurableFocusTrap) {\n      this.configurableFocusTrap.enabled = false\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.configurableFocusTrap?.destroy()\n    enableBodyScroll(this.ref.nativeElement)\n  }\n}\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: '[ngg-modal-header]',\n  styleUrls: ['./modal.component.scss'],\n  template: `\n    <h3 data-testid=\"modal-header-text\">{{ header }}</h3>\n    <button\n      data-testid=\"modal-close-button\"\n      class=\"gds-close\"\n      [attr.aria-label]=\"closeText\"\n      (click)=\"this.handleClose($event)\"\n    >\n      <i></i>\n    </button>\n  `,\n  standalone: false,\n})\nexport class NggModalHeaderComponent {\n  @Input() header?: string\n  @Input() closeText?: string\n  @Output() closed: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>()\n\n  handleClose(event: MouseEvent) {\n    this.closed.emit(event)\n  }\n}\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: '[ngg-modal-body]',\n  styleUrls: ['./modal.component.scss'],\n  template: `<ng-content></ng-content>`,\n  standalone: false,\n})\nexport class NggModalBodyComponent {}\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: '[ngg-modal-footer]',\n  styleUrls: ['./modal.component.scss'],\n  template: `\n    <button\n      data-testid=\"modal-dismiss-button\"\n      *ngIf=\"dismissLabel\"\n      class=\"gds-button secondary\"\n      (click)=\"this.handleDismiss($event)\"\n    >\n      {{ dismissLabel }}\n    </button>\n    <button\n      data-testid=\"modal-confirm-button\"\n      *ngIf=\"confirmLabel\"\n      class=\"gds-button primary\"\n      (click)=\"this.handleConfirm($event)\"\n    >\n      {{ confirmLabel }}\n    </button>\n  `,\n  standalone: false,\n})\nexport class NggModalFooterComponent {\n  @Input() dismissLabel?: string\n  @Input() confirmLabel?: string\n  @Output() dismiss: EventEmitter<MouseEvent> = new EventEmitter()\n  @Output() confirm: EventEmitter<MouseEvent> = new EventEmitter()\n\n  handleDismiss(event: MouseEvent) {\n    this.dismiss.emit(event)\n  }\n\n  handleConfirm(event: MouseEvent) {\n    this.confirm.emit(event)\n  }\n}\n","<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n  <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n    <aside\n      data-testid=\"modal\"\n      *ngSwitchCase=\"'slideout'\"\n      role=\"dialog\"\n      [attr.aria-modal]=\"trapFocus ? true : false\"\n      [attr.aria-describedby]=\"'modal-header-' + guid\"\n      [class]=\"'gds-modal gds-modal--slide-out'\"\n      [class.small]=\"size === 'sm'\"\n      [class.medium]=\"size === 'md'\"\n      [class.large]=\"size === 'lg'\"\n      [class.entered]=\"isOpen\"\n    >\n      <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n    </aside>\n    <main\n      data-testid=\"modal\"\n      *ngSwitchCase=\"'takeover'\"\n      role=\"dialog\"\n      [attr.aria-modal]=\"trapFocus ? true : false\"\n      [attr.aria-describedby]=\"'modal-header-' + guid\"\n      [class]=\"'gds-modal gds-modal--take-over'\"\n      [class.entered]=\"isOpen\"\n      [class.small]=\"size === 'sm'\"\n      [class.medium]=\"size === 'md'\"\n      [class.large]=\"size === 'lg'\"\n    >\n      <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n    </main>\n    <section\n      data-testid=\"modal\"\n      *ngSwitchDefault\n      role=\"dialog\"\n      [attr.aria-modal]=\"trapFocus ? true : false\"\n      [attr.aria-describedby]=\"'modal-header-' + guid\"\n      [class]=\"'gds-modal gds-modal--dialog'\"\n      [class.small]=\"size === 'sm'\"\n      [class.medium]=\"size === 'md'\"\n      [class.large]=\"size === 'lg'\"\n      [class.entered]=\"isOpen\"\n    >\n      <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n    </section>\n    <ng-template #contentTemplate>\n      <ng-container *ngIf=\"!hideHeader\">\n        <header\n          *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n          ngg-modal-header\n          [attr.id]=\"'modal-header-' + guid\"\n          data-testid=\"modal-header\"\n          [header]=\"header\"\n          [closeText]=\"closeText\"\n          (closed)=\"this.handleCloseClick($event)\"\n        ></header>\n      </ng-container>\n      <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n        <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n      </div>\n      <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n        <footer\n          *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n          ngg-modal-footer\n          data-testid=\"modal-footer\"\n          [dismissLabel]=\"dismissLabel\"\n          [confirmLabel]=\"confirmLabel\"\n          (dismiss)=\"this.handleDismiss($event)\"\n          (confirm)=\"this.handleConfirm($event)\"\n        ></footer>\n      </ng-container>\n    </ng-template>\n    <ng-template #headerContentTemplate>\n      <header data-testid=\"modal-header\" [attr.id]=\"'modal-header-' + guid\">\n        <ng-content select=\"[nggModalHeader]\"></ng-content>\n      </header>\n    </ng-template>\n    <ng-template #bodyContentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n    <ng-template #footerContentTemplate>\n      <footer data-testid=\"modal-footer\">\n        <ng-content select=\"[nggModalFooter]\"></ng-content>\n      </footer>\n    </ng-template>\n    <div\n      #backdrop\n      data-testid=\"modal-backdrop\"\n      class=\"backdrop entered\"\n      (click)=\"this.handleBackdropClick($event)\"\n      [attr.aria-hidden]=\"true\"\n    ></div>\n  </div>\n</ng-container>\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { NggModalFooterDirective } from './modal-footer.directive'\nimport { NggModalHeaderDirective } from './modal-header.directive'\nimport {\n  NggModalBodyComponent,\n  NggModalComponent,\n  NggModalFooterComponent,\n  NggModalHeaderComponent,\n} from './modal.component'\n\nconst DECLARATIONS = [\n  NggModalComponent,\n  NggModalHeaderComponent,\n  NggModalBodyComponent,\n  NggModalFooterComponent,\n  NggModalHeaderDirective,\n  NggModalFooterDirective,\n]\n\nconst EXPORTS = [\n  NggModalComponent,\n  NggModalHeaderDirective,\n  NggModalFooterDirective,\n]\n\n/**\n * @deprecated use the dialog from green-core instead.\n */\n@NgModule({\n  imports: [A11yModule, CommonModule],\n  exports: EXPORTS,\n  declarations: DECLARATIONS,\n})\nexport class NggModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}