{"version":3,"file":"sebgroup-green-angular-src-lib-dropdown.mjs","sources":["../../../../libs/angular/src/lib/dropdown/dropdown-button.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown-option.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.html","../../../../libs/angular/src/lib/dropdown/dropdown.module.ts","../../../../libs/angular/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n    selector: '[nggDropdownButton]',\n    standalone: false\n})\nexport class NggDropdownButtonDirective {\n  constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n    selector: '[nggDropdownOption]',\n    standalone: false\n})\nexport class NggDropdownOptionDirective {\n  constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewChild,\n} from '@angular/core'\nimport {\n  ControlValueAccessor,\n  NG_VALUE_ACCESSOR,\n  NgControl,\n} from '@angular/forms'\n\nimport type { GdsOption } from '@sebgroup/green-core/components/dropdown/index.js'\n\nimport { GdsDropdown } from '@sebgroup/green-core/components/dropdown/dropdown.component.js'\nimport * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\n\nexport type CompareWith<T = any> = (o1: T, o2: T) => boolean\nexport type SearchFilter<T = any> = (search: string, value: T) => boolean\nexport type DropdownPlacements = 'bottom-start' | 'top-start'\nexport interface DropdownTexts {\n  select?: string\n  selected?: string\n  placeholder?: string\n}\nexport interface DropdownOption<T = any> {\n  label?: string\n  value?: T\n  selected?: boolean\n  heading?: boolean\n  [key: string]: any\n}\n\n/**\n * @deprecated\n * NggDropdown is deprecated in favor of GdsDropdown found in the Core package\n * https://storybook.seb.io/latest/core/?path=/docs/components-dropdown--docs\n */\n@Component({\n    selector: 'ngg-dropdown',\n    templateUrl: 'dropdown.component.html',\n    styleUrls: ['dropdown.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: NggDropdownComponent,\n            multi: true,\n        },\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false\n})\nexport class NggDropdownComponent\n  implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit\n{\n  errorMessage?: string\n  errorMessageObserver?: MutationObserver\n  @Input() id?: string\n  @Input() loop?: boolean = false\n  @Input() display = 'label'\n  @Input() useValue = 'value'\n  @Input() label?: string\n  @Input() valid?: boolean\n  @Input() invalid?: boolean\n  @Input() compareWith?: CompareWith\n  @Input() searchFilter?: SearchFilter\n  @Input() syncPopoverWidth?: boolean\n  @Input() size?: 'small' | 'medium'\n  @Input() hideLabel?: boolean\n  @Input() maxHeight?: number = 500\n  @Input() disableMobileStyles?: boolean\n\n  @Input() set options(value: DropdownOption[] | undefined) {\n    this._options = value\n    this.texts = {\n      ...this.texts,\n      select: this.displayTextByValue(this._value),\n    }\n  }\n  get options(): DropdownOption[] | undefined {\n    return this._options\n  }\n  private _options: DropdownOption[] | undefined\n\n  @Input() set texts(texts: DropdownTexts | undefined) {\n    this._texts = {\n      ...(texts ? texts : {}),\n      select: this.textToDisplay(texts, this._value),\n    }\n  }\n\n  get texts(): DropdownTexts | undefined {\n    return this._texts\n  }\n  private _texts: DropdownTexts | undefined\n\n  //\n  @Input() set multiSelect(value: string | boolean) {\n    this._multiSelect = this.convertToBoolean(value)\n  }\n  get multiSelect(): boolean {\n    return this._multiSelect\n  }\n  private _multiSelect = false\n\n  //\n  @Input() set searchable(value: string | boolean) {\n    this._searchable = this.convertToBoolean(value)\n  }\n  get searchable(): boolean {\n    return this._searchable\n  }\n  private _searchable = false\n\n  //\n  @Input() set value(newValue: any) {\n    if (!this.options) return\n\n    this._value = newValue\n\n    this.texts = {\n      ...this.texts,\n      select: this.displayTextByValue(this._value),\n    }\n  }\n  get value(): any {\n    return this._value\n  }\n  private _value: DropdownOption | DropdownOption[] | undefined\n\n  //\n  get selectedOption() {\n    return Array.isArray(this.value)\n      ? this.value.map((v: any) => this.optionByValue(v))\n      : this.optionByValue(this.value)\n  }\n\n  onChangeFn?: (value: unknown) => void\n  onTouchedFn?: () => void\n\n  @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n  @Output() readonly touched: EventEmitter<boolean> =\n    new EventEmitter<boolean>()\n\n  @ContentChild(NggDropdownOptionDirective)\n  customOption?: NggDropdownOptionDirective\n\n  @ContentChild(NggDropdownButtonDirective)\n  customButton?: NggDropdownButtonDirective\n\n  @ViewChild('formInfo', { static: false }) formInfoContent?: ElementRef\n\n  @ViewChild('gdsDropdown', { static: false }) gdsDropdown?: ElementRef\n\n  public onValueChange: (event: Event) => void = (event) => {\n    const target = event.target as GdsDropdown<DropdownOption>\n    this._value = target.value\n\n    this.texts = {\n      ...this.texts,\n      select: this.displayTextByValue(this._value),\n    }\n\n    this.onChangeFn?.(this.value)\n    this.valueChange.emit(this.value)\n\n    this._cdr.detectChanges()\n  }\n\n  get control(): NgControl | undefined {\n    return this.injector.get(NgControl)\n  }\n\n  constructor(\n    @Inject(Injector) private injector: Injector,\n    private _cdr: ChangeDetectorRef,\n  ) {\n    GdsDropdown.define()\n    DropdownTransStyles.register()\n  }\n\n  ngOnInit(): void {\n    if (!this._value) {\n      if (this.multiSelect)\n        this._value = this.options\n          ?.filter((o) => o.selected === true)\n          ?.map((o) => o[this.useValue])\n      else\n        this._value = this.options?.find((o) => o.selected === true)?.[\n          this.useValue\n        ]\n\n      this.texts = {\n        ...this.texts,\n        select: this.displayTextByValue(this._value),\n      }\n    }\n\n    this.texts = {\n      placeholder: this.texts?.placeholder ?? 'Select',\n      selected: this.texts?.selected ?? 'selected',\n      select: this.displayTextByValue(this._value),\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.formInfoContent) {\n      // Example: observe changes to the formInfoContent element\n      this.errorMessageObserver = new MutationObserver(() => {\n        this.errorMessage = this.formInfoContent?.nativeElement.textContent\n        this._cdr.detectChanges()\n      })\n      this.errorMessageObserver.observe(this.formInfoContent.nativeElement, {\n        childList: true,\n        subtree: true,\n      })\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.errorMessageObserver) {\n      this.errorMessageObserver.disconnect()\n    }\n  }\n\n  writeValue(value: any): void {\n    this.value = value\n    this._cdr.detectChanges()\n  }\n\n  registerOnChange(fn: () => unknown): void {\n    this.onChangeFn = fn\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouchedFn = fn\n  }\n\n  // These adapter functions are used to maintain backwards compatibility with the old interface\n  compareWithAdapter = (o1: any, o2: any) => {\n    const compareFn = this.compareWith || ((a, b) => a === b)\n    return compareFn(o1, o2)\n  }\n  searchFilterAdapter = (q: string, o: GdsOption) => {\n    if (this.searchFilter) return this.searchFilter(q, o.value)\n    else\n      return ((q: string, o: GdsOption) =>\n        o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o)\n  }\n\n  private convertToBoolean(value: string | boolean): boolean {\n    return (\n      value === '' || value === 'true' || value.toString() === 'true' || false\n    )\n  }\n\n  private optionByValue = (value: any) => {\n    return this.options?.find((o) => o[this.useValue] === value)\n  }\n\n  private displayTextByValue = (value: any) => {\n    return this.textToDisplay(this.texts, value)\n  }\n\n  private textToDisplay = (\n    dropdownTexts: DropdownTexts | undefined,\n    value: any,\n  ): string => {\n    if (!Array.isArray(value))\n      return (\n        this.optionByValue(value)?.[this.display] ||\n        (dropdownTexts?.placeholder ?? 'Select')\n      )\n\n    const displayValues = value.map(\n      (v) => this.optionByValue(v)?.[this.display],\n    )\n    return displayValues?.length > 2\n      ? `${displayValues.length} ${dropdownTexts?.selected} `\n      : displayValues?.join(', ') || (dropdownTexts?.placeholder ?? 'Select')\n  }\n}\n","<div class=\"form-group\">\n  <gds-dropdown\n    *nggCoreElement\n    #gdsDropdown\n    [value]=\"value\"\n    [searchable]=\"searchable\"\n    [label]=\"label\"\n    (change)=\"onValueChange($event)\"\n    [multiple]=\"multiSelect\"\n    [invalid]=\"invalid\"\n    [errorMessage]=\"errorMessage\"\n    [compareWith]=\"compareWithAdapter\"\n    [searchFilter]=\"searchFilterAdapter\"\n    [syncPopoverWidth]=\"syncPopoverWidth\"\n    [size]=\"size\"\n    [hideLabel]=\"hideLabel\"\n    [maxHeight]=\"maxHeight\"\n    [disableMobileStyles]=\"disableMobileStyles\"\n  >\n    <span slot=\"message\" #formInfo\n      ><ng-content select=\"[data-form-info]\"></ng-content\n    ></span>\n\n    <span slot=\"trigger\" style=\"display: contents\"\n      ><ng-container\n        *ngTemplateOutlet=\"\n          customButton?.templateRef && selectedOption\n            ? customButton!.templateRef\n            : defaultButton;\n          context: { option: selectedOption }\n        \"\n      ></ng-container\n    ></span>\n\n    <ng-container *ngFor=\"let option of options; let index = index\">\n      <ng-container *ngIf=\"!option.heading; else optionHeading\">\n        <gds-option *nggCoreElement [value]=\"option[useValue]\"\n          ><ng-container\n            *ngTemplateOutlet=\"\n              customOption?.templateRef\n                ? customOption!.templateRef\n                : defaultOption;\n              context: { option: option, index: index }\n            \"\n          ></ng-container\n        ></gds-option>\n      </ng-container>\n      <ng-template #optionHeading>\n        <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n      </ng-template>\n    </ng-container>\n  </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n  <span class=\"ngg-dropdown-default-trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n  {{ display ? option[display] : option.name }}\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport {\n  NggCoreWrapperModule,\n  SCOPE_RESOLVER,\n} from '@sebgroup/green-angular/src/lib/shared'\nimport { getScopedTagName } from '@sebgroup/green-core/scoping'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\nimport { NggDropdownComponent } from './dropdown.component'\n\n/**\n * @deprecated\n * NggDropdown is deprecated in favor of GdsDropdown found in the Core package\n * https://storybook.seb.io/latest/core/?path=/docs/components-dropdown--docs\n */\n@NgModule({\n  declarations: [\n    NggDropdownComponent,\n    NggDropdownOptionDirective,\n    NggDropdownButtonDirective,\n  ],\n  imports: [CommonModule, NggCoreWrapperModule],\n  exports: [\n    NggDropdownComponent,\n    NggDropdownOptionDirective,\n    NggDropdownButtonDirective,\n  ],\n  providers: [\n    {\n      provide: SCOPE_RESOLVER,\n      useValue: { getScopedTagName },\n    },\n  ],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}