{"version":3,"file":"obelisco-angular-dropdown.mjs","sources":["../../../projects/obelisco-angular/dropdown/o-dropdown-navigation/o-dropdown-navigation.component.ts","../../../projects/obelisco-angular/dropdown/o-dropdown-navigation/o-dropdown-navigation.component.html","../../../projects/obelisco-angular/dropdown/o-dropdown-selection/o-dropdown-selection.component.ts","../../../projects/obelisco-angular/dropdown/o-dropdown-selection/o-dropdown-selection.component.html","../../../projects/obelisco-angular/dropdown/o-dropdown.module.ts","../../../projects/obelisco-angular/dropdown/obelisco-angular-dropdown.ts"],"sourcesContent":["import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { DropdownNavigationItem, Sizes } from 'obelisco-angular/core/models';\n\n@Component({\n  selector: 'o-dropdown-navigation',\n  templateUrl: './o-dropdown-navigation.component.html',\n  styleUrls: ['./o-dropdown-navigation.component.scss'],\n})\nexport class ODropdownNavigationComponent implements OnChanges {\n  @Input() public title!: string;\n  @Input() public iconLeft!: string;\n  @Input() public iconRight!: string;\n  @Input() public isAnimatedIconLeft: boolean = false;\n  @Input() public isAnimatedIconRight: boolean = false;\n  @Input() public dropNavItems!: DropdownNavigationItem[];\n  @Input() public isPositionRight: boolean = false;\n  @Input() public isBordered: boolean = true;\n  @Input() public size?: Sizes = 'lg';\n  @Input() public customClasses: string = '';\n  @Input() public ariaLabel!: string;\n\n  hasChildren: boolean = false;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if ('dropNavItems' in changes) {\n      this.hasChildren = this.dropNavItems.some(\n        (item) => item.children && item.children.length > 0\n      );\n    }\n  }\n\n  getClassNames(): string {\n    const sizeClass = this.size !== 'md' ? ' btn-' + this.size : '';\n    const borderedClass = this.isBordered ? ' btn-dropdown-border' : '';\n    const customClass = this.customClasses ? ' ' + this.customClasses : '';\n    return 'btn' + sizeClass + borderedClass + customClass;\n  }\n\n  public get dropNavItemshasChildren(): boolean {\n    return this.dropNavItems?.some(item => item.children && item.children.length > 0);\n  }\n}\n","<div class=\"dropdown\">\n  <button\n    type=\"button\"\n    class=\"btn btn-dropdown\"\n    [ngClass]=\"getClassNames()\"\n    [attr.data-bs-toggle]=\"'dropdown'\"\n    aria-expanded=\"false\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.data-bs-auto-close]=\"dropNavItemshasChildren ? 'outside' : null\"\n  >\n    <ng-container *ngIf=\"(!iconLeft || iconLeft != 'none') && isPositionRight\">\n      <span\n        class=\"material-symbols-rounded btn-dropdown-icon\"\n        aria-hidden=\"true\"\n        >\n          expand_more\n        </span>\n    </ng-container>\n    <ng-container *ngIf=\"iconLeft && iconLeft != 'none'\">\n      <i *ngIf=\"iconLeft.includes('bx')\" [class]=\"iconLeft\" [class.o-icon]=\"!isAnimatedIconLeft\" [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"></i>\n      <span\n        *ngIf=\"!iconLeft.includes('bx')\"\n        class=\"material-symbols-rounded\"\n        aria-hidden=\"true\"\n        [class.o-icon]=\"!isAnimatedIconLeft\"\n        [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"\n        >{{ iconLeft }}</span\n      >\n    </ng-container>\n    <span class=\"btn-dropdown-text ellipsis-1\" *ngIf=\"title\">{{ title }}</span>\n    <ng-container *ngIf=\"(!iconRight || iconRight != 'none') && !isPositionRight\">\n      <span\n        class=\"material-symbols-rounded btn-dropdown-icon\"\n        aria-hidden=\"true\"\n        >\n          expand_more\n        </span>\n    </ng-container>\n\n    <ng-container *ngIf=\"iconRight && iconRight != 'none'\">\n      <i *ngIf=\"iconRight.includes('bx')\" [class]=\"iconRight\" [class.o-icon]=\"!isAnimatedIconRight\" [class.btn-dropdown-icon]=\"isAnimatedIconRight\"></i>\n      <span\n        *ngIf=\"!iconRight.includes('bx')\"\n        class=\"material-symbols-rounded\"\n        aria-hidden=\"true\"\n        [class.o-icon]=\"!isAnimatedIconRight\"\n        [class.btn-dropdown-icon]=\"isAnimatedIconRight\"\n        >{{ iconRight }}</span\n      >\n    </ng-container>\n  </button>\n  <div\n    class=\"dropdown-menu\"\n    [class.dropdown-menu-end]=\"isPositionRight\"\n    [class.collapse]=\"hasChildren\"\n  >\n    <ng-container *ngFor=\"let item of dropNavItems\">\n      <a\n        *ngIf=\"item.route && !item.children\"\n        class=\"dropdown-item\"\n        [class.disabled]=\"item.isDisabled\"\n        [class.item-danger]=\"item.isItemDanger\"\n        [routerLink]=\"item.route\"\n        [ngClass]=\"item.customClasses\"\n      >\n        <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft }\"></ng-container>\n        <span class=\"item-text\" [class.text-end]=\"item.textPosition == 'right'\">{{ item.text }}</span>\n        <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight }\"></ng-container>\n      </a>\n      <a\n        *ngIf=\"item.link && !item.children\"\n        class=\"dropdown-item\"\n        [class.disabled]=\"item.isDisabled\"\n        [class.item-danger]=\"item.isItemDanger\"\n        [href]=\"item.link\"\n        target=\"_blank\"\n        [ngClass]=\"item.customClasses\"\n      >\n        <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft }\"></ng-container>\n        <span class=\"item-text\" [class.text-end]=\"item.textPosition == 'right'\">{{ item.text }}</span>\n        <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight }\"></ng-container>\n      </a>\n\n      <div *ngIf=\"item.children\" class=\"dropdown sub-dropdown\">\n        <button\n          type=\"button\"\n          class=\"btn btn-dropdown\"\n          data-bs-toggle=\"dropdown\"\n          aria-expanded=\"false\"\n          [ngClass]=\"item.customClasses\"\n        >\n          <ng-container\n            *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft, animated: item.isAnimatedIconLeft }\"\n          ></ng-container>\n          <span class=\"btn-dropdown-text ellipsis-1\" [class.text-end]=\"item.textPosition == 'right'\">{{ item.text }}</span>\n          <ng-container\n            *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight, animated: item.isAnimatedIconRight }\"\n          ></ng-container>\n        </button>\n        <div class=\"dropdown-menu\">\n          <ng-container *ngFor=\"let subitem of item.children\">\n            <a\n              *ngIf=\"subitem.route\"\n              class=\"dropdown-item\"\n              [class.item-danger]=\"subitem.isItemDanger\"\n              [routerLink]=\"subitem.route\"\n              [ngClass]=\"subitem.customClasses\"\n            >\n              <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconLeft }\"></ng-container>\n              <span class=\"item-text\" [class.text-end]=\"subitem.textPosition == 'right'\">{{ subitem.text }}</span>\n              <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconRight }\"></ng-container>\n            </a>\n            <a\n              *ngIf=\"subitem.link\"\n              class=\"dropdown-item\"\n              [class.item-danger]=\"subitem.isItemDanger\"\n              [href]=\"subitem.link\"\n              target=\"_blank\"\n              [ngClass]=\"subitem.customClasses\"\n            >\n              <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconLeft }\"></ng-container>\n              <span class=\"item-text\" [class.text-end]=\"subitem.textPosition == 'right'\">{{ subitem.text }}</span>\n              <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconRight }\"></ng-container>\n            </a>\n          </ng-container>\n        </div>\n      </div>\n    </ng-container>\n  </div>\n</div>\n\n<ng-template #iconTemplate let-icon=\"icon\" let-animated=\"animated\">\n  <ng-container *ngIf=\"icon\">\n    <i *ngIf=\"icon.includes('bx')\" [class]=\"'o-icon ' + icon\" [class.btn-dropdown-icon]=\"animated\"></i>\n    <span\n      *ngIf=\"!icon.includes('bx')\"\n      class=\"material-symbols-rounded o-icon\"\n      aria-hidden=\"true\"\n      [class.btn-dropdown-icon]=\"animated\"\n      >{{ icon }}</span\n    >\n  </ng-container>\n</ng-template>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { DropdownSelectionItem, Sizes } from 'obelisco-angular/core/models';\n\n@Component({\n  selector: 'o-dropdown-selection',\n  templateUrl: './o-dropdown-selection.component.html',\n  styleUrls: ['./o-dropdown-selection.component.scss'],\n})\nexport class ODropdownSelectionComponent {\n  @Input() public dataTarget: string = 'dropdown';\n  @Input() public title!: string;\n  @Input() public isSelectionMultiple: boolean = false;\n  @Input() public iconLeft!: string;\n  @Input() public iconRight!: string;\n  @Input() public isAnimatedIconLeft: boolean = false;\n  @Input() public isAnimatedIconRight: boolean = false;\n  @Input() public dropSelectItems: DropdownSelectionItem[] = [];\n  @Input() public isBordered: boolean = true;\n  @Input() public size!: Sizes;\n  @Input() public customClasses: string = '';\n  @Input() public ariaLabel!: string;\n\n  @Output() public selectedItemChange: EventEmitter<\n    DropdownSelectionItem | DropdownSelectionItem[]\n  > = new EventEmitter();\n\n  public selectedItem!: DropdownSelectionItem;\n  public selectedItems: DropdownSelectionItem[] = [];\n\n  public selectedIndex!: number;\n  public activeIndex!: number;\n  public selectedCheckboxCount!: number;\n\n  constructor() {\n    this.selectedItem = {};\n  }\n\n  public onRadioSelectionChange(item: DropdownSelectionItem, index: number) {\n    this.selectedItem = item;\n    this.selectedItemChange.emit(item);\n    this.selectedIndex = index + 1;\n    this.activeIndex = index;\n  }\n\n  public onCheckboxSelectionChange(item: DropdownSelectionItem) {\n    const itemIndex = this.selectedItems.findIndex(\n      (selectedItem) => selectedItem.id === item.id\n    );\n\n    if (itemIndex !== -1) {\n      this.selectedItems.splice(itemIndex, 1);\n    } else {\n      this.selectedItems.push(item);\n    }\n\n    this.selectedCheckboxCount = this.selectedItems.length;\n    this.selectedItemChange.emit(this.selectedItems);\n  }\n}\n","<div class=\"dropdown dropdown-form\">\n  <button\n    type=\"button\"\n    class=\"btn btn-dropdown\"\n    [class.btn-dropdown-border]=\"isBordered\"\n    [class.btn-dropdown-sm]=\"size == 'sm'\"\n    [class.btn-dropdown-lg]=\"size == 'lg'\"\n    data-toggle=\"collapse\"\n    [attr.data-target]=\"'#' + dataTarget\"\n    [attr.aria-controls]=\"dataTarget\"\n    aria-expanded=\"false\"\n    [attr.aria-label]=\"ariaLabel\"\n    [ngClass]=\"customClasses\"\n  >\n    <ng-container *ngIf=\"iconLeft\">\n      <i *ngIf=\"iconLeft.includes('bx')\" class=\"{{ iconLeft }}\" [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"></i>\n      <span\n        *ngIf=\"!iconLeft.includes('bx')\"\n        class=\"material-symbols-rounded o-icon\"\n        aria-hidden=\"true\"\n        [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"\n        >{{ iconLeft }}</span\n      >\n    </ng-container>\n    <span class=\"btn-dropdown-text\" *ngIf=\"isSelectionMultiple\"\n      >{{ title }} {{ selectedCheckboxCount ? '(' + selectedCheckboxCount + ')' : '' }}</span\n    >\n    <span class=\"btn-dropdown-text\" *ngIf=\"!isSelectionMultiple\">\n      {{ selectedItem!.text ? selectedItem!.text : title }}</span\n    >\n    <ng-container *ngIf=\"iconRight\">\n      <i *ngIf=\"iconRight.includes('bx')\" class=\"{{ iconRight }}\" [class.btn-dropdown-icon]=\"isAnimatedIconRight\"></i>\n      <span\n        *ngIf=\"!iconRight.includes('bx')\"\n        class=\"material-symbols-rounded o-icon\"\n        aria-hidden=\"true\"\n        [class.btn-dropdown-icon]=\"isAnimatedIconRight\"\n        >{{ iconRight }}</span\n      >\n    </ng-container>\n  </button>\n  <div class=\"dropdown-menu dropdown-body collapse\" [id]=\"dataTarget\">\n    <ng-container *ngIf=\"!isSelectionMultiple\">\n      <div class=\"custom-control custom-radio\" *ngFor=\"let item of dropSelectItems; let i = index\">\n        <label class=\"btn btn-chip\" [class.active]=\"i === activeIndex\" [ngClass]=\"item.customClasses\">\n          <input\n            class=\"btn-check\"\n            type=\"radio\"\n            [id]=\"item.id\"\n            [name]=\"item.name\"\n            [value]=\"item.value\"\n            (change)=\"onRadioSelectionChange(item, i)\"\n          />\n          <span class=\"btn-chip-text\">{{ item.text }}</span>\n          <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">done</span>\n        </label>\n      </div>\n    </ng-container>\n\n    <ng-container *ngIf=\"isSelectionMultiple\">\n      <div\n        class=\"custom-control custom-checkbox\"\n        [class.disabled]=\"item.isDisabled\"\n        *ngFor=\"let item of dropSelectItems\"\n        [ngClass]=\"item.customClasses\"\n      >\n        <input\n          class=\"custom-control-input\"\n          type=\"checkbox\"\n          [id]=\"item.id\"\n          [name]=\"item.name\"\n          [value]=\"item.value\"\n          [disabled]=\"item.isDisabled\"\n          (change)=\"onCheckboxSelectionChange(item)\"\n        />\n        <label class=\"custom-control-label\" [for]=\"item.id\"> {{ item.text }}</label>\n      </div>\n    </ng-container>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ODropdownNavigationComponent } from './o-dropdown-navigation/o-dropdown-navigation.component';\nimport { ODropdownSelectionComponent } from './o-dropdown-selection/o-dropdown-selection.component';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n  declarations: [ODropdownNavigationComponent, ODropdownSelectionComponent],\n  imports: [CommonModule, RouterModule],\n  exports: [ODropdownNavigationComponent, ODropdownSelectionComponent]\n})\nexport class ODropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}