{"version":3,"file":"verben-ng-ui-src-lib-components-chip.mjs","sources":["../../../projects/verben-ng-ui/src/lib/components/chip/chip.component.ts","../../../projects/verben-ng-ui/src/lib/components/chip/chip.component.html","../../../projects/verben-ng-ui/src/lib/components/chip/chip.module.ts","../../../projects/verben-ng-ui/src/lib/components/chip/verben-ng-ui-src-lib-components-chip.ts"],"sourcesContent":["import {\n  AfterContentInit,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  OnInit,\n  Output,\n  QueryList,\n  Self,\n  TemplateRef,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { ChipChangeEvent } from './ChipChangeEvent';\nimport { SharedModule } from 'verben-ng-ui/src/lib/components/shared';\nimport { TemplateDirective } from 'verben-ng-ui/src/lib/components/shared';\nimport { SvgModule } from 'verben-ng-ui/src/lib/components/svg';\n\n@Component({\n  selector: 'verben-chip',\n  standalone: true,\n  imports: [CommonModule, SharedModule, FormsModule, SvgModule],\n  templateUrl: './chip.component.html',\n  styleUrl: './chip.component.css',\n})\nexport class ChipComponent\n  implements ControlValueAccessor, OnInit, AfterContentInit\n{\n  // INPUTS\n  @Input() width: string = '100%';\n  @Input() placeholder: string = '';\n  @Input() max?: number;\n  @Input() styleClass: string = '';\n  @Input() separator: string = ',';\n  @Input() disabled: boolean = false;\n  @Input() required: boolean = false;\n  @Input() invalidMessage?: string;\n  @Input() errorPosition: string = '';\n\n  // OUTPUTS\n  @Output() onChange: EventEmitter<ChipChangeEvent> = new EventEmitter();\n  // @Output() onClear: EventEmitter<Event> = new EventEmitter();\n\n  onItemChange: (value: any) => void = () => {};\n  onTouched: () => void = () => {};\n  isInvalid: boolean = false;\n\n  //TEMPLATING\n  @ContentChildren(TemplateDirective) templates!: QueryList<TemplateDirective>;\n  @HostBinding('class.focused') isFocused = false;\n  isInputFocused = false;\n\n  @HostListener('focus') onFocus() {\n    this.isFocused = true;\n  }\n\n  @HostListener('blur') onBlur() {\n    this.isFocused = false;\n  }\n\n  onInputFocus() {\n    this.isFocused = true;\n  }\n\n  onInputBlur() {\n    this.isFocused = false;\n  }\n\n  itemTemplate: TemplateRef<any> | null = null;\n\n  chips: string[] = [];\n  chipInput: string = '';\n\n  constructor(@Self() private ngControl: NgControl) {\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this; // Assign this component as the value accessor\n      this.ngControl?.statusChanges?.subscribe((status) => {\n        this.isInvalid = this.ngControl.touched\n          ? status === 'INVALID' && this.ngControl.touched\n          : false;\n      });\n    }\n  }\n\n  ngOnInit(): void {}\n  ngAfterContentInit(): void {\n    this.templates.forEach((templateDirective) => {\n      if (templateDirective.vTemplate === 'item') {\n        this.itemTemplate = templateDirective.template;\n      }\n    });\n  }\n\n  onKeyDown(event: KeyboardEvent): void {\n    if (this.disabled) {\n      return;\n    }\n    const inputValue = (event.target as HTMLInputElement).value;\n    // Check for 'Enter' key or custom separator\n    if (event.key === 'Enter' || event.key == this.separator) {\n      event.preventDefault();\n      this.addChips(inputValue);\n    }\n\n    // Handle 'Backspace' key when input is empty\n    if (\n      event.key === 'Backspace' &&\n      inputValue.length === 0 &&\n      this.chips.length > 0\n    ) {\n      this.removeLastChip();\n    }\n  }\n\n  addChips(inputValue: string): void {\n    if (this.disabled) {\n      return;\n    }\n    // Split by separator and trim each part\n    const values = inputValue\n      .split(this.separator)\n      .map((value) => value.trim());\n\n    values.forEach((value) => {\n      if (value.length > 0) {\n        if (this.max && this.chips.length == this.max) {\n          return;\n        }\n        this.chips.push(value); // Add chip\n      }\n    });\n    if (this.isInvalid) {\n      this.isInvalid = false;\n    }\n\n    this.chipInput = ''; // Clear input\n    this.onTouched();\n    this.onChange.emit({ value: this.chips });\n  }\n\n  removeChip(index: number, event: Event): void {\n    if (this.disabled) {\n      return;\n    }\n    this.chips.splice(index, 1);\n    if (this.chips.length == 0) {\n      if (this.required == true) {\n        this.isInvalid = true;\n      }\n    }\n    this.onTouched();\n    this.onChange.emit({ originalEvent: event, value: this.chips });\n  }\n\n  removeLastChip(): void {\n    if (this.disabled) {\n      return;\n    }\n    this.chips.pop(); // Remove the last chip\n    if (this.chips.length == 0) {\n      if (this.required == true) {\n        this.isInvalid = true;\n      }\n    }\n    this.onTouched();\n    this.onChange.emit({ originalEvent: event, value: this.chips });\n  }\n\n  // clearSelection(event: Event) {\n  //   if (this.disabled) {\n  //     return;\n  //   }\n  //   this.chips = [];\n  //   if (this.required == true) {\n  //     this.isInvalid = true;\n  //   }\n  //   this.onTouched();\n  //   this.onChange.emit({ originalEvent: event, value: this.chips });\n  // }\n\n  writeValue(obj: string[]): void {\n    this.chips = obj;\n    this.onTouched();\n    this.onChange.emit({ value: this.chips });\n  }\n  registerOnChange(fn: any): void {\n    this.onItemChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  get placeholderState(): string | undefined {\n    return this.chips && this.chips.length == 0 ? this.placeholder : '';\n  }\n}\n","<div [ngClass]=\"styleClass\" [style.width]=\"width\"\n  [ngClass]=\"{'right-error': errorPosition == 'right', 'left-error': errorPosition == 'left', 'top-error': errorPosition == 'top'}\"\n  class=\"chip\">\n  <div [class.focused]=\"isFocused\" [ngClass]=\"{'ng-invalid': isInvalid, 'disabled': disabled}\" (focus)=\"onFocus()\"\n    (blur)=\"onBlur()\" tabindex=\"0\" class=\"chip-content-input verben-input flex\">\n    <div class=\"chip-main-content\">\n      <div class=\"default-item flex\">\n        <!-- <div class=\"dropdown-label place-holder\" *ngIf=\"this.chips.length == 0\">{{placeholder}}</div> -->\n        <div *ngIf=\"chips && this.chips.length > 0\" class=\"chips-container flex\">\n          <span *ngFor=\"let item of chips; index as i\" class=\"item-chip flex\">\n            <ng-container *ngIf=\"itemTemplate; else defaultItem\">\n              <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n            </ng-container>\n            <ng-template #defaultItem>\n              <span>{{item}}</span>\n            </ng-template>\n            <verben-svg (click)=\"removeChip(i, $event);\" icon=\"close-circle-full\" [width]=\"15\"\n              [height]=\"15\"></verben-svg>\n            <!-- <svg (click)=\"removeChip(i, $event);\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\">\n              <path\n                d=\"M5.00065 9.33333C7.30184 9.33333 9.16732 7.46785 9.16732 5.16667C9.16732 2.86548 7.30184 1 5.00065 1C2.69946 1 0.833984 2.86548 0.833984 5.16667C0.833984 7.46785 2.69946 9.33333 5.00065 9.33333Z\"\n                stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n              <path d=\"M6.25 3.91797L3.75 6.41797\" stroke=\"currentColor\" stroke-linecap=\"round\"\n                stroke-linejoin=\"round\" />\n              <path d=\"M3.75 3.91797L6.25 6.41797\" stroke=\"currentColor\" stroke-linecap=\"round\"\n                stroke-linejoin=\"round\" />\n            </svg> -->\n          </span>\n        </div>\n      </div>\n    </div>\n    <div class=\"input-container\">\n      <input [disabled]=\"this.max != null && chips && this.chips.length == max\" (keydown)=\"onKeyDown($event)\"\n        [placeholder]=\"placeholderState\" [(ngModel)]=\"chipInput\" (focus)=\"onInputFocus()\" (blur)=\"onInputBlur()\"\n        class=\"chip-input\" />\n    </div>\n  </div>\n  <div *ngIf=\"this.isInvalid && this.invalidMessage\" class=\"verben-error-message error-message\">{{invalidMessage}}\n  </div>\n</div>","import { forwardRef, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChipComponent } from './chip.component';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule } from 'verben-ng-ui/src/lib/components/shared';\n\n@NgModule({\n  declarations: [],\n  imports: [ChipComponent],\n  exports: [ChipComponent],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ChipComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => ChipComponent),\n      multi: true,\n    },\n  ],\n})\nexport class ChipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MA4Ba,aAAa,CAAA;AAgDI,IAAA,SAAA,CAAA;;IA5CnB,KAAK,GAAW,MAAM,CAAC;IACvB,WAAW,GAAW,EAAE,CAAC;AACzB,IAAA,GAAG,CAAU;IACb,UAAU,GAAW,EAAE,CAAC;IACxB,SAAS,GAAW,GAAG,CAAC;IACxB,QAAQ,GAAY,KAAK,CAAC;IAC1B,QAAQ,GAAY,KAAK,CAAC;AAC1B,IAAA,cAAc,CAAU;IACxB,aAAa,GAAW,EAAE,CAAC;;AAG1B,IAAA,QAAQ,GAAkC,IAAI,YAAY,EAAE,CAAC;;AAGvE,IAAA,YAAY,GAAyB,MAAK,GAAG,CAAC;AAC9C,IAAA,SAAS,GAAe,MAAK,GAAG,CAAC;IACjC,SAAS,GAAY,KAAK,CAAC;;AAGS,IAAA,SAAS,CAAgC;IAC/C,SAAS,GAAG,KAAK,CAAC;IAChD,cAAc,GAAG,KAAK,CAAC;IAEA,OAAO,GAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;IAEqB,MAAM,GAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;IAED,YAAY,GAA4B,IAAI,CAAC;IAE7C,KAAK,GAAa,EAAE,CAAC;IACrB,SAAS,GAAW,EAAE,CAAC;AAEvB,IAAA,WAAA,CAA4B,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAC9C,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,MAAM,KAAI;AAClD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO;sBACnC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;sBAC9C,KAAK,CAAC;AACZ,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,QAAQ,MAAW;IACnB,kBAAkB,GAAA;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,iBAAiB,KAAI;AAC3C,YAAA,IAAI,iBAAiB,CAAC,SAAS,KAAK,MAAM,EAAE;AAC1C,gBAAA,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC;aAChD;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;AACD,QAAA,MAAM,UAAU,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;;AAE5D,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;YACxD,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC3B;;AAGD,QAAA,IACE,KAAK,CAAC,GAAG,KAAK,WAAW;YACzB,UAAU,CAAC,MAAM,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EACrB;YACA,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;AAED,IAAA,QAAQ,CAAC,UAAkB,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;;QAED,MAAM,MAAM,GAAG,UAAU;AACtB,aAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhC,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACvB,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,gBAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;oBAC7C,OAAO;iBACR;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC3C;IAED,UAAU,CAAC,KAAa,EAAE,KAAY,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACjE;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACjE;;;;;;;;;;;;AAcD,IAAA,UAAU,CAAC,GAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC3C;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;AAED,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACrE;wGA5KU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAuBP,iBAAiB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDpC,4iFAwCM,EAAA,MAAA,EAAA,CAAA,2vEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhBM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,SAAS,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIjD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,aAAa,EAAA,UAAA,EACX,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,4iFAAA,EAAA,MAAA,EAAA,CAAA,2vEAAA,CAAA,EAAA,CAAA;;0BAoDhD,IAAI;yCA5CR,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAQ6B,SAAS,EAAA,CAAA;sBAA5C,eAAe;uBAAC,iBAAiB,CAAA;gBACJ,SAAS,EAAA,CAAA;sBAAtC,WAAW;uBAAC,eAAe,CAAA;gBAGL,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO,CAAA;gBAIC,MAAM,EAAA,CAAA;sBAA3B,YAAY;uBAAC,MAAM,CAAA;;;MEpCT,UAAU,CAAA;wGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAV,UAAU,EAAA,OAAA,EAAA,CAfX,aAAa,CAAA,EAAA,OAAA,EAAA,CACb,aAAa,CAAA,EAAA,CAAA,CAAA;AAcZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAbV,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAbS,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAeZ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAjBtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;ACtBD;;AAEG;;;;"}