{"version":3,"file":"onepoint-yap-dashboard-components-card.mjs","sources":["../../../../projects/onepoint-yap/dashboard/components/card/card.component.ts","../../../../projects/onepoint-yap/dashboard/components/card/card.component.html","../../../../projects/onepoint-yap/dashboard/components/card/card-header.component.html","../../../../projects/onepoint-yap/dashboard/components/card/card.module.ts","../../../../projects/onepoint-yap/dashboard/components/card/onepoint-yap-dashboard-components-card.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  InjectionToken,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nexport type YapCardStatus = 'selected' | 'unselected';\n\nconst OVERLAY_POSITIONS: ConnectedPosition[] = [\n  {\n    originX: 'start',\n    originY: 'bottom',\n    overlayX: 'start',\n    overlayY: 'top'\n  },\n  {\n    originX: 'end',\n    originY: 'bottom',\n    overlayX: 'end',\n    overlayY: 'top'\n  },\n  {\n    originX: 'start',\n    originY: 'top',\n    overlayX: 'start',\n    overlayY: 'bottom'\n  },\n  {\n    originX: 'end',\n    originY: 'top',\n    overlayX: 'end',\n    overlayY: 'bottom'\n  }\n];\n\nconst YAP_CARD_ICON = new InjectionToken<YapCardIconDirective>('yap-card-icon');\n@Directive({\n  selector: `yap-card-icon, [yap-card-icon], [yapCardIcon]`,\n  providers: [{ provide: YAP_CARD_ICON, useExisting: YapCardIconDirective }]\n})\nexport class YapCardIconDirective {\n  @HostBinding('class') class = 'o-yap-card-icon';\n}\n\n/**\n * Title of a card, needed as it's used as a selector in the API.\n */\n@Directive({\n  selector: `yap-card-title, [o-yap-card-title], [yapCardTitle]`\n})\nexport class YapCardTitleDirective {\n  @HostBinding('class') class = 'o-yap-card-title';\n}\n\n/**\n * Subtitle of a card, needed as it's used as a selector in the API.\n */\n@Directive({\n  selector: `yap-card-subtitle, [yap-card-subtitle], [yapCardSubtitle]`\n})\nexport class YapCardSubtitleDirective {\n  @HostBinding('class') class = 'yap-card-subtitle';\n}\n\nconst YAP_CARD_MENU = new InjectionToken<YapCardMenuDirective>('yap-card-menu');\n@Directive({\n  selector: 'yap-card-menu',\n  exportAs: 'yapCardMenu',\n  providers: [{ provide: YAP_CARD_MENU, useExisting: YapCardMenuDirective }]\n})\nexport class YapCardMenuDirective {\n  @HostBinding('class') class = 'o-yap-card-menu';\n  @Output() readonly closeMenu$ = new EventEmitter<boolean>();\n  closeMenu(): void {\n    this.closeMenu$.emit(true);\n  }\n}\n\n@Component({\n  selector: 'yap-card',\n  templateUrl: 'card.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YapCardComponent {\n  @HostBinding('class') class = 'yap-card';\n  @HostListener('click') _selectCard() {\n    this.selected = !this.selected;\n    this._status = this.selected ? 'selected' : 'unselected';\n    this.statusChange.emit(this._status);\n  }\n\n  @Output() statusChange = new EventEmitter<YapCardStatus>();\n  @HostBinding('class.yap-card-selected')\n  @Input()\n  get selected(): boolean {\n    return this._selected;\n  }\n  set selected(value: boolean) {\n    if (value !== this._selected) {\n      this._selected = value;\n      this._status = value ? 'selected' : 'unselected';\n    }\n  }\n  protected _selected: boolean = false;\n  protected _status: YapCardStatus = 'unselected';\n}\n\n@Component({\n  selector: 'yap-card-header',\n  templateUrl: 'card-header.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YapCardHeaderComponent implements AfterContentInit, OnDestroy {\n  @ViewChild('trigger') trigger!: ElementRef<HTMLButtonElement>;\n  @ViewChild('menuList') menuList!: ElementRef;\n  selectedItem?: Element | null;\n  @HostBinding('class') class = 'o-yap-card-header-wrapper';\n  @ContentChildren(YAP_CARD_MENU, { descendants: true }) _menuChildren!: QueryList<YapCardMenuDirective>;\n  @ContentChildren(YAP_CARD_ICON, { descendants: true }) _iconChildren!: QueryList<YapCardIconDirective>;\n  readonly overlayPositions = OVERLAY_POSITIONS;\n\n  @Input() marker = true;\n\n  get menuOpen(): boolean {\n    return this._menuOpen;\n  }\n  focusChild() {\n    setTimeout(() => {\n      this.menuList?.nativeElement?.children[0].children[0].firstElementChild.focus();\n      this.selectedItem = this.menuList?.nativeElement?.children[0].children[0].firstElementChild;\n    }, 10);\n  }\n  set menuOpen(value: boolean) {\n    this._menuOpen = value;\n  }\n  protected _menuOpen: boolean = false;\n\n  private menuSub?: Subscription;\n  private childrensSub: Subscription = new Subscription();\n\n  constructor(private _detect: ChangeDetectorRef) {}\n\n  onArrowUp() {\n    const lastElement = this.menuList?.nativeElement?.children[0].children[0].lastElementChild;\n    if (this.selectedItem?.previousElementSibling) {\n      this.selectedItem = this.selectedItem?.previousElementSibling;\n    } else {\n      this.selectedItem = lastElement;\n    }\n    const focusElement = this.selectedItem as HTMLButtonElement;\n    const focusChildrenElement = this.selectedItem?.children[0] as HTMLButtonElement;\n    const focusSecondChildElement = this.selectedItem?.children[0].children[0] as HTMLButtonElement;\n    if (focusChildrenElement) {\n      focusChildrenElement.focus();\n    }\n    if (focusSecondChildElement) {\n      focusSecondChildElement.focus();\n    }\n    focusElement.focus();\n  }\n\n  onArrowDown() {\n    const firstElement = this.menuList?.nativeElement?.children[0].children[0].firstElementChild;\n    if (this.selectedItem?.nextElementSibling) {\n      this.selectedItem = this.selectedItem?.nextElementSibling;\n    } else {\n      this.selectedItem = firstElement;\n    }\n    const focusElement = this.selectedItem as HTMLButtonElement;\n    const focusChildrenElement = this.selectedItem?.children[0] as HTMLButtonElement;\n    const focusSecondChildElement = this.selectedItem?.children[0].children[0] as HTMLButtonElement;\n    if (focusChildrenElement) {\n      focusChildrenElement.focus();\n    }\n    if (focusSecondChildElement) {\n      focusSecondChildElement.focus();\n    }\n    focusElement.focus();\n  }\n\n  closeToEscape() {\n    this.menuOpen = false;\n    this.trigger.nativeElement.focus();\n  }\n\n  ngAfterContentInit(): void {\n    // after init it subscribes closeMenu$ if there's a menu\n    const firstMenu = this._menuChildren.get(0);\n    this.manageMenuCloseSubscription(firstMenu);\n    // after each change of template it subscribes at the new first menu\n    this.childrensSub.add(\n      this._menuChildren.changes.subscribe((menus: QueryList<YapCardMenuDirective>) => {\n        const menu = menus.get(0);\n        this.manageMenuCloseSubscription(menu);\n        this._detect.detectChanges();\n      })\n    );\n    this.childrensSub.add(\n      this._iconChildren.changes.subscribe(() => {\n        this._detect.detectChanges();\n      })\n    );\n  }\n  ngOnDestroy(): void {\n    this.menuSub?.unsubscribe();\n    this.childrensSub.unsubscribe();\n  }\n\n  private manageMenuCloseSubscription(menu: YapCardMenuDirective | undefined): void {\n    if (!menu) {\n      this.menuSub?.unsubscribe();\n      return;\n    }\n    this.menuSub = menu.closeMenu$.subscribe(() => {\n      this.menuOpen = false;\n      this._detect.detectChanges();\n    });\n  }\n}\n","<div class=\"o-yap-card\">\n  <ng-content></ng-content>\n</div>\n","<div class=\"o-yap-card-header\">\n  <div *ngIf=\"marker\" class=\"o-yap-card-header__marker\"></div>\n  <ng-container *ngIf=\"_iconChildren?.length\">\n    <div class=\"o-yap-card-header__icon-wrapper\">\n      <ng-content select=\"yap-card-icon, [o-yap-card-icon], [yapCardIcon]\"></ng-content>\n    </div>\n  </ng-container>\n\n  <div class=\"o-yap-card-header__title-wrapper\">\n    <ng-content select=\"yap-card-title, yap-card-subtitle\"></ng-content>\n  </div>\n\n  <ng-container *ngIf=\"_menuChildren?.length\">\n    <button\n      aria-controls=\"btn_actions\"\n      [attr.aria-expanded]=\"menuOpen\"\n      type=\"button\"\n      class=\"a-btn a-btn--icon-only -circle -size-sm o-yap-card-menu-trigger\"\n      (click)=\"focusChild(); menuOpen = true; $event.stopPropagation()\"\n      [yapTooltip]=\"infoTooltip\"\n      yapTooltipPosition=\"bottom\"\n      aria-describedby=\"infoTooltip_cardHeader\"\n      [class.active]=\"menuOpen\"\n      cdkOverlayOrigin\n      #trigger\n    >\n      <yap-icon iconSvg=\"more_vertical\" [width]=\"18\" [height]=\"18\"></yap-icon>\n      <span class=\"u-visually-hidden\"> Autres actions </span>\n    </button>\n\n    <ng-template\n      cdkConnectedOverlay\n      [cdkConnectedOverlayOrigin]=\"trigger\"\n      [cdkConnectedOverlayOpen]=\"menuOpen\"\n      [cdkConnectedOverlayHasBackdrop]=\"true\"\n      [cdkConnectedOverlayPositions]=\"overlayPositions\"\n      cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n      (backdropClick)=\"menuOpen = false\"\n    >\n      <div\n        class=\"o-yap-card-menu-wrapper\"\n        aria-labelledby=\"btn_actions\"\n        #menuList\n        (keydown.arrowUp)=\"onArrowUp()\"\n        (keydown.arrowDown)=\"onArrowDown()\"\n        (keydown.escape)=\"closeToEscape()\"\n      >\n        <ng-content\n          select=\"yap-card-menu, [o-yap-card-menu], [yapCardMenu]\"\n          cdkTrapFocus\n          [cdkTrapFocusAutoCapture]=\"true\"\n        ></ng-content>\n      </div>\n    </ng-template>\n  </ng-container>\n</div>\n\n<ng-template #infoTooltip>\n  <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_cardHeader\">\n    <span class=\"m-tooltip__text\"> Autres actions </span>\n  </div>\n</ng-template>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { YapIconModule, YapOverlayModule } from '@onepoint-yap/dashboard';\nimport {\n  YapCardComponent,\n  YapCardHeaderComponent,\n  YapCardIconDirective,\n  YapCardMenuDirective,\n  YapCardSubtitleDirective,\n  YapCardTitleDirective\n} from './card.component';\n\nconst YAP_CARD_COMPONENTS = [\n  YapCardComponent,\n  YapCardIconDirective,\n  YapCardTitleDirective,\n  YapCardSubtitleDirective,\n  YapCardMenuDirective,\n  YapCardHeaderComponent\n];\n\n@NgModule({\n  imports: [CommonModule, YapIconModule, OverlayModule, YapOverlayModule],\n  declarations: [...YAP_CARD_COMPONENTS],\n  exports: [...YAP_CARD_COMPONENTS]\n})\nexport class YapCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}