{"version":3,"file":"uib-angular-components-multiselect.mjs","sources":["../../../../libs/angular-components/components/multiselect/src/lib/components/select-option/multiselect-option.component.ts","../../../../libs/angular-components/components/multiselect/src/lib/components/select-option/multiselect-option.component.html","../../../../libs/angular-components/components/multiselect/src/lib/multiselect.component.ts","../../../../libs/angular-components/components/multiselect/src/lib/multiselect.component.html","../../../../libs/angular-components/components/multiselect/src/lib/multiselect.module.ts","../../../../libs/angular-components/components/multiselect/src/uib-angular-components-multiselect.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { SelectOptionComponent } from '@uib/angular/components/select';\nimport { isPresent } from '@uib/angular/utils';\n\n@Component({\n  selector: 'uib-multiselect-option',\n  templateUrl: 'multiselect-option.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.uib-select-option]': 'true',\n    '[class.uib-select__option]': 'true',\n    '[class.uib-dropdown__option]': 'true',\n    '[class.is-active]': 'selected',\n    '[class.is-disabled]': 'isDisabled',\n  },\n})\nexport class MultiselectOptionComponent<T = unknown> extends SelectOptionComponent<T> {\n  public override get selected(): boolean {\n    if (isPresent(this.control.value) && isPresent(this.option.value)) {\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      return !!(this.control.value as T[]).find((o) => this.host.identityMatcher?.(o, this.option.value!));\n    }\n    return false;\n  }\n}\n","<uib-checkbox [checked]=\"selected$ | async\" style=\"pointer-events: none;\"></uib-checkbox>\n<span class=\"uib-select-option__content\">\n  <ng-template [uibDynamicView]=\"context.$implicit\">\n  </ng-template>\n</span>\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DataListHost, DATA_LIST_HOST, DATA_LIST_OPTION_TEMPLATE } from '@uib/angular/components/data-list';\nimport { SelectComponent } from '@uib/angular/components/select';\nimport { Pure, UibComponent } from '@uib/angular/core';\nimport { isPresent } from '@uib/angular/utils';\nimport { MultiselectOptionComponent } from './components/select-option/multiselect-option.component';\n\n@UibComponent('multiselect')\n@Component({\n  selector: 'uib-multiselect',\n  templateUrl: 'multiselect.component.html',\n  styleUrls: ['../../../select/src/lib/select.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[attr.role]': '\"combobox\"',\n    '[class.is-open]': 'dropdown.isOpen',\n    '[class.is-disabled]': 'isDisabled',\n  },\n  providers: [\n    {\n      provide: DATA_LIST_HOST,\n      useExisting: forwardRef(() => MultiselectComponent),\n    },\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => MultiselectComponent),\n      multi: true,\n    },\n    {\n      provide: DATA_LIST_OPTION_TEMPLATE,\n      useValue: MultiselectOptionComponent,\n    },\n  ],\n})\nexport class MultiselectComponent<T = unknown> extends SelectComponent implements ControlValueAccessor, DataListHost<T> {\n  public override value: T[] = [];\n\n  public override get computedValue(): string {\n    return this.value.map((o) => this.stringifyTransformer(o)).join(', ');\n  }\n\n  @Pure\n  public override hasValue(value: T[]): boolean {\n    return isPresent(value) && value.length > 0;\n  }\n\n  public override handleOption(option: T): void {\n    if (this.isDisabled) return;\n    let value = Array.isArray(this.value) ? this.value : [];\n    const optionSelected = !!this.value.find((o) => this.identityMatcher(o, option));\n    if (optionSelected) {\n      value = value.filter((o) => !this.identityMatcher(o, option));\n    } else {\n      value = value.concat(option);\n    }\n    this.writeValue(value);\n    this.onChange(value);\n  }\n\n  public reset() {\n    this.writeValue([]);\n    this.onChange([]);\n  }\n\n  public selectAll() {\n    const value = this.dataListAccessor?.getOptions(false) ?? [];\n    this.writeValue(value);\n    this.onChange(value);\n  }\n}\n","<div class=\"uib-dropdown\" [class.is-disabled]=\"isDisabled\">\n  <div\n    class=\"uib-dropdown__select\"\n    tabindex=\"0\"\n    [uibDropdown]=\"dataList\"\n    [uibDropdownOptions]=\"{\n      containerClass: 'uib-select-overlay uib-dropdown__options',\n      placement: 'bottom-start',\n      matchReferenceWidth: true,\n      minHeight: dataListAccessor?.getHeight()\n    }\"\n    (uibDropdownAfterOpen)=\"afterOpen()\"\n    (uibDropdownAfterClose)=\"afterClose()\"\n  >\n    <ng-template [ngIf]=\"hasValue(value)\" [ngIfElse]=\"placeholderTemplate\">\n      <ng-template [uibDynamicView]=\"computedContent\" [uibDynamicViewContext]=\"{ $implicit: value }\"> </ng-template>\n    </ng-template>\n  </div>\n  <div class=\"uib-dropdown__arrow\"></div>\n</div>\n\n<ng-content></ng-content>\n\n<ng-template #placeholderTemplate>\n  <ng-template [uibDynamicView]=\"placeholder\"> </ng-template>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DisabledControllerModule } from '@uib/angular/common';\nimport { CheckboxModule } from '@uib/angular/components/checkbox';\nimport { DataListModule } from '@uib/angular/components/data-list';\nimport { DropdownModule } from '@uib/angular/components/dropdown';\nimport { DynamicViewModule } from '@uib/angular/components/dynamic-view';\nimport { MultiselectOptionComponent } from './components/select-option/multiselect-option.component';\nimport { MultiselectComponent } from './multiselect.component';\n\n@NgModule({\n  imports: [CommonModule, DynamicViewModule, DropdownModule, CheckboxModule],\n  declarations: [MultiselectComponent, MultiselectOptionComponent],\n  exports: [DataListModule, MultiselectComponent, DisabledControllerModule],\n})\nexport class MultiselectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}