{"version":3,"file":"obliczeniowo-elementary-dropdown-group-select.mjs","sources":["../../../../projects/components/dropdown-group-select/components/dropdown-group-select-item/dropdown-group-select-item.component.ts","../../../../projects/components/dropdown-group-select/components/dropdown-group-select-item/dropdown-group-select-item.component.html","../../../../projects/components/dropdown-group-select/components/dropdown-group-select/dropdown-group-select.component.ts","../../../../projects/components/dropdown-group-select/components/dropdown-group-select/dropdown-group-select.component.html","../../../../projects/components/dropdown-group-select/dropdown-group-select.module.ts","../../../../projects/components/dropdown-group-select/obliczeniowo-elementary-dropdown-group-select.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { RadioItem } from '@obliczeniowo/elementary/radio';\n\nexport interface DropdownGroupSelectItem<T> {\n  id: string;\n  value: string | number;\n  title: string;\n  options: RadioItem[];\n  templateData?: T;\n}\n\n@Component({\n    selector: 'obl-dropdown-group-select-item',\n    templateUrl: './dropdown-group-select-item.component.html',\n    styleUrls: ['./dropdown-group-select-item.component.scss'],\n    standalone: false\n})\nexport class DropdownGroupSelectItemComponent {\n  group = input.required<DropdownGroupSelectItem<any>>();\n\n  getSelected(): string | undefined {\n    const group = this.group().options.find(item => item.id === this.group().value);\n    return group?.text;\n  }\n}\n","@if (group()) {\n  <div class=\"title\">{{ group().title }}</div>\n  <div>{{ getSelected() }}</div>\n}\n","import { Component, EventEmitter, HostBinding, input, Input, Output } from '@angular/core';\nimport { AbstractControl, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';\n\nimport { DragBarComponent } from '@obliczeniowo/elementary/dropdown-select';\nimport { keys } from '@obliczeniowo/elementary/objects';\n\nimport { DropdownGroupSelectItem } from '../dropdown-group-select-item/dropdown-group-select-item.component';\n\n@Component({\n    selector: 'obl-dropdown-group-select',\n    templateUrl: './dropdown-group-select.component.html',\n    styleUrls: ['./dropdown-group-select.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            multi: true,\n            useExisting: DropdownGroupSelectComponent\n        }\n    ],\n    standalone: false\n})\nexport class DropdownGroupSelectComponent {\n  touchedDragbar = false;\n\n  isOpen = false;\n\n  @Input()\n  value: (number | string)[] = [];\n\n  @Input()\n  items: DropdownGroupSelectItem<any>[] = [];\n\n  label = input<string>();\n\n  labelAnimation = input<boolean>(false);\n\n  @Input()\n  @HostBinding('class.disabled') disabled = false;\n\n  @HostBinding('class.error') get error(): ValidationErrors | null {\n    return this.abstractControl && (!this.abstractControl.pristine || this.abstractControl.touched) && this.abstractControl.errors || null;\n  }\n\n  @Output()\n  changed: EventEmitter<DropdownGroupSelectItem<any>[]> = new EventEmitter<DropdownGroupSelectItem<any>[]>();\n\n  protected abstractControl: AbstractControl | undefined;\n\n  onChange = (value: { [key: string]: any }) => { };\n\n  onTouched = () => { };\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    this.abstractControl = control;\n    return null;\n  }\n\n  registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\n  writeValue(ids: { [key: string]: (number | string) | { [key: string]: string | number } }): void {\n    let items = { ...ids };\n    if (items.value) {\n      items = items.value as any;\n    }\n    keys(items).forEach(\n      id => {\n        const selected = this.items.find(item => item.id === id);\n        if (selected) {\n          selected.value = items[id] as string | number;\n        }\n      }\n    );\n    this.onChange(this.items.reduce((prev: any, cur) => (prev[cur.id] = cur.value, prev), {}));\n  }\n\n  registerOnChange(onChange: any): void {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: any): void {\n    this.onTouched = onTouched;\n  }\n\n  close(touched = this.touchedDragbar): void {\n    if (!touched) {\n      this.isOpen = false;\n      this.touchedDragbar = false;\n    } else {\n      this.touchedDragbar = touched;\n    }\n  }\n\n  open(): void {\n    if (!this.isOpen) {\n      this.isOpen = true;\n      this.touchedDragbar = false;\n    }\n  }\n\n  toggle(event: any, touched = this.touchedDragbar): void {\n    if (touched) {\n      return;\n    }\n    event.stopPropagation();\n    this.touchedDragbar = false;\n    this.isOpen = !this.isOpen;\n  }\n\n  onSelect(dragBar: DragBarComponent): void {\n    if (this.disabled) {\n      return;\n    }\n    this.onChange(this.items.reduce((prev: any, cur) => (prev[cur.id] = cur.value, prev), {}));\n  }\n\n  onTouchedDragBar(touched: boolean, element: any): void {\n    this.touchedDragbar = touched;\n    element.parentElement.style.width = 0;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    this.disabled = disabled;\n  }\n}\n","<fieldset\n  class=\"select-content\"\n  [ngClass]=\"{ legend: label() }\"\n  cdkOverlayOrigin\n  #dropDown=\"cdkOverlayOrigin\"\n  #parent\n>\n  @if (label()) {\n    <legend>\n      @if (labelAnimation()) {\n        <obl-type-text [text]=\"label() || ''\"></obl-type-text>\n      } @else {\n        {{ label() }}\n      }\n    </legend>\n  }\n  <div class=\"selected\">\n    @for (group of items; track group.id) {\n      <obl-dropdown-group-select-item\n        [group]=\"group\"\n      ></obl-dropdown-group-select-item>\n    }\n  </div>\n  <obl-expand-button\n    [isOpen]=\"isOpen\"\n    (click)=\"toggle($event, false)\"\n  ></obl-expand-button>\n</fieldset>\n\n<ng-template\n  #dropdownTmpl\n  cdkConnectedOverlay\n  [cdkConnectedOverlayOrigin]=\"dropDown\"\n  [cdkConnectedOverlayOpen]=\"isOpen\"\n  (overlayOutsideClick)=\"toggle($event)\"\n>\n  <div\n    class=\"dropdown-list\"\n    [style.min-width.px]=\"parent.clientWidth\"\n    #list\n    cdkDrag\n  >\n    <obl-drag-bar\n      (onTouched)=\"onTouchedDragBar($event, list)\"\n      (onClose)=\"close(false)\"\n      cdkDragHandle\n      #dragBar\n    ></obl-drag-bar>\n    <div class=\"list\">\n      @for (item of items; track item.id) {\n        <div class=\"item-container\">\n          <obl-radio-group\n            class=\"item\"\n            [options]=\"item.options\"\n            [value]=\"item.value\"\n            [label]=\"item.title\"\n            (changed)=\"item.value = $event; onSelect(dragBar)\"\n            [disabled]=\"disabled\"\n            direction=\"column\"\n          ></obl-radio-group>\n        </div>\n      }\n    </div>\n  </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { RadioModule } from '@obliczeniowo/elementary/radio';\nimport { DropdownSelectModule } from '@obliczeniowo/elementary/dropdown-select';\nimport { ButtonsModule } from '@obliczeniowo/elementary/buttons';\nimport { AnimationsModule } from '@obliczeniowo/elementary/animations';\n\nimport { DropdownGroupSelectItemComponent } from './components/dropdown-group-select-item/dropdown-group-select-item.component';\nimport { DropdownGroupSelectComponent } from './components/dropdown-group-select/dropdown-group-select.component';\n\n@NgModule({\n  declarations: [\n    DropdownGroupSelectComponent,\n    DropdownGroupSelectItemComponent\n  ],\n  imports: [\n    CommonModule,\n    OverlayModule,\n    DragDropModule,\n    DropdownSelectModule,\n    ButtonsModule,\n    RadioModule,\n    AnimationsModule\n  ],\n  exports: [\n    DropdownGroupSelectComponent,\n    DropdownGroupSelectItemComponent\n  ]\n})\nexport class DropdownGroupSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i8.DropdownGroupSelectItemComponent"],"mappings":"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"}