{"version":3,"file":"moxa-formoxa-mx-chip.mjs","sources":["../../../../libs/formoxa/mx-chip/src/lib/directives/mx-chip-assist.directive.ts","../../../../libs/formoxa/mx-chip/src/lib/directives/mx-chip-is-loading.directive.ts","../../../../libs/formoxa/mx-chip/src/lib/components/mx-chip-dropdown-icon.component.ts","../../../../libs/formoxa/mx-chip/src/lib/components/mx-chip-selection.component.ts","../../../../libs/formoxa/mx-chip/src/lib/directives/mx-chip-selection.directive.ts","../../../../libs/formoxa/mx-chip/src/moxa-formoxa-mx-chip.ts"],"sourcesContent":["import { Directive, Input, booleanAttribute } from '@angular/core';\n\n@Directive({\n  selector: 'mat-chip[mxChipAssist], mat-chip-option[mxChipAssist], mat-chip-row[mxChipAssist]',\n  standalone: true,\n  host: {\n    '[class.mx-chip-assist]': 'mxChipAssist'\n  }\n})\nexport class MxChipAssistDirective {\n  @Input({ transform: booleanAttribute }) mxChipAssist = false;\n}\n","import { Directive, Input, SimpleChanges, booleanAttribute } from '@angular/core';\nimport { MatChip } from '@angular/material/chips';\n\n@Directive({\n  selector: 'mat-chip[mxChipIsLoading], mat-chip-option[mxChipIsLoading], mat-chip-row[mxChipIsLoading]',\n  standalone: true,\n  host: {\n    '[class.mx-loading-chip]': 'mxChipIsLoading'\n  }\n})\nexport class MxChipIsLoadingDirective {\n  @Input({ transform: booleanAttribute }) mxChipIsLoading = false;\n\n  private handleTypeChange() {\n    this.component.disabled = this.mxChipIsLoading;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if ('mxChipIsLoading' in changes) {\n      this.handleTypeChange();\n    }\n  }\n\n  constructor(private component: MatChip) {}\n}\n","import { Component } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n  selector: 'mx-chip-dropdown-icon',\n  imports: [MatIconModule],\n  styleUrls: ['./mx-chip-dropdown-icon.component.scss'],\n  template: ` <mat-icon svgIcon=\"icon:arrow_drop_down\"></mat-icon> `\n})\nexport class MxChipDropdownIconComponent {}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MxChipSelectionOption } from '../models/mx-chip-selection.model';\n\n@Component({\n  selector: 'mx-chip-selection',\n  styleUrls: ['./mx-chip-selection.component.scss'],\n  imports: [AsyncPipe, MatIconModule, OverlayModule],\n  template: `\n    <div class=\"mx-chip-selection__option-wrapper\">\n      @for (option of options; track option) {\n        <div\n          class=\"mx-chip-selection__option\"\n          [class.mx-chip-selection__option--is-selected]=\"option.value === selectedValue\"\n          (click)=\"onClickOption(option.value)\"\n        >\n          {{ option.label }}\n          @if (option.value === selectedValue) {\n            <mat-icon svgIcon=\"icon:done\" color=\"primary\"></mat-icon>\n          }\n        </div>\n      }\n    </div>\n  `\n})\nexport class mxChipSelectionComponent {\n  @Input() options: MxChipSelectionOption[] = [];\n  @Input() selectedValue: string | null = null;\n  @Input() isOverlayOpen = false;\n\n  @Output() changed = new EventEmitter<string>();\n\n  onClickOption(value: string): void {\n    this.changed.emit(value);\n  }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n  ViewContainerRef\n} from '@angular/core';\nimport { MatChipOption } from '@angular/material/chips';\nimport { Subscription } from 'rxjs';\nimport { MxChipDropdownIconComponent } from '../components/mx-chip-dropdown-icon.component';\nimport { mxChipSelectionComponent } from '../components/mx-chip-selection.component';\nimport { MxChipSelectionOption } from '../models/mx-chip-selection.model';\n\n@Directive({\n  selector: 'mat-chip[mxChipSelection], mat-chip-option[mxChipSelection], mat-chip-row[mxChipSelection]',\n  standalone: true,\n  host: {\n    class: 'mx-chip-selection'\n  }\n})\nexport class MxChipSelectionDirective implements OnInit, OnDestroy {\n  @Input() mxChipSelectionOptions: MxChipSelectionOption[] = [];\n  @Input() mxChipSelectionDefaultValue!: string;\n  @Output() onSelectionChanged: EventEmitter<string> = new EventEmitter<string>();\n\n  selectedValue: string | null = null;\n\n  private overlayRef: OverlayRef | null = null;\n  private optionSubscription!: Subscription;\n  private backdropClickSubscription!: Subscription;\n  private component!: MatChipOption;\n\n  constructor(\n    private elementRef: ElementRef,\n    private injector: Injector,\n    private overlay: Overlay,\n    private viewContainerRef: ViewContainerRef,\n    private renderer: Renderer2\n  ) {\n    const elTagName = this.viewContainerRef.element.nativeElement.tagName;\n    if (elTagName.toLowerCase() === 'mat-chip-option') {\n      this.component = injector.get<MatChipOption>(MatChipOption);\n    }\n  }\n\n  @HostListener('click', ['$event']) onClick(event: any): void {\n    this.handleMenuDisplay();\n  }\n\n  ngOnInit(): void {\n    if (this.component) {\n      this.component.selectable = false;\n    }\n    this.addTraillingIcon();\n    this.createOverlayMenu();\n    if (this.mxChipSelectionDefaultValue) {\n      this.applySelectedLabel(this.mxChipSelectionDefaultValue);\n      if (!!this.getSelectedOption(this.mxChipSelectionDefaultValue)) {\n        this.selectedValue = this.mxChipSelectionDefaultValue;\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.optionSubscription) {\n      this.optionSubscription.unsubscribe();\n    }\n    if (this.backdropClickSubscription) {\n      this.backdropClickSubscription.unsubscribe();\n    }\n  }\n\n  private createOverlayMenu(): void {\n    const strategy = this.overlay\n      .position()\n      .flexibleConnectedTo(this.elementRef)\n      .withPositions([{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' }]);\n    this.overlayRef = this.overlay.create({\n      hasBackdrop: true,\n      backdropClass: 'mx-chip-selection__backdrop',\n      positionStrategy: strategy\n    });\n  }\n\n  private handleMenuDisplay() {\n    if (this.overlayRef && this.overlayRef.hasAttached()) {\n      this.overlayRef.detach();\n    } else {\n      const componentPortal = new ComponentPortal<mxChipSelectionComponent>(mxChipSelectionComponent);\n      const componentRef = this.overlayRef?.attach(componentPortal);\n      if (componentRef) {\n        componentRef.instance.options = this.mxChipSelectionOptions;\n        componentRef.instance.selectedValue = this.selectedValue;\n        this.optionSubscription = componentRef.instance.changed.subscribe((data) => {\n          this.onSelectionChanged.emit(data);\n          this.selectedValue = data;\n          this.applySelectedLabel(data);\n          if (this.component) {\n            this.component.selected = true;\n          }\n          this.overlayRef?.detach();\n        });\n\n        if (this.overlayRef) {\n          this.backdropClickSubscription = this.overlayRef.backdropClick().subscribe(() => {\n            this.overlayRef?.detach();\n          });\n        }\n      }\n    }\n  }\n\n  private addTraillingIcon(): void {\n    const componentRef = this.viewContainerRef.createComponent(MxChipDropdownIconComponent);\n    const labelWrap = this.elementRef.nativeElement.querySelector('.mdc-evolution-chip__text-label');\n    this.renderer.appendChild(labelWrap, componentRef.location.nativeElement);\n  }\n\n  private applySelectedLabel(value: string): void {\n    const labelWrap = this.elementRef.nativeElement.querySelector('.mdc-evolution-chip__text-label');\n    const focusIndicator = this.elementRef.nativeElement.querySelector('.mat-mdc-chip-primary-focus-indicator');\n    const textNode = this.renderer.createText(this.getSelectedOption(value)?.label || value);\n\n    const firstChild = labelWrap.firstChild;\n    if (firstChild && firstChild.nodeType === Node.TEXT_NODE) {\n      this.renderer.insertBefore(labelWrap, textNode, firstChild);\n      this.renderer.removeChild(labelWrap, firstChild);\n    } else {\n      this.renderer.insertBefore(labelWrap, textNode, focusIndicator);\n    }\n  }\n\n  private getSelectedOption(value: string): MxChipSelectionOption | undefined {\n    return this.mxChipSelectionOptions.find((option) => option.value === value);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}