{"version":3,"file":"uni-component-tw.mjs","sources":["../../../projects/uni-component-tw/src/lib/uni-article/uni-article.component.ts","../../../projects/uni-component-tw/src/lib/uni-article/uni-article.component.html","../../../projects/uni-component-tw/src/lib/uni-header/uni-header.component.ts","../../../projects/uni-component-tw/src/lib/uni-header/uni-header.component.html","../../../projects/uni-component-tw/src/lib/uni-led/uni-led.component.ts","../../../projects/uni-component-tw/src/lib/uni-led/uni-led.component.html","../../../projects/uni-component-tw/src/lib/uni-login-modal/uni-login-modal.component.ts","../../../projects/uni-component-tw/src/lib/uni-login-modal/uni-login-modal.component.html","../../../projects/uni-component-tw/src/lib/uni-pie-chart/uni-pie-chart.component.ts","../../../projects/uni-component-tw/src/lib/uni-pie-chart/uni-pie-chart.component.html","../../../projects/uni-component-tw/src/lib/uni-side-menu/uni-side-menu.component.ts","../../../projects/uni-component-tw/src/lib/uni-side-menu/uni-side-menu.component.html","../../../projects/uni-component-tw/src/public-api.ts","../../../projects/uni-component-tw/src/uni-component-tw.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\n\r\n@Component({\r\n  selector: 'uni-article',\r\n  standalone: true,\r\n  imports: [CommonModule, DxButtonModule, FaIconComponent],\r\n  templateUrl: './uni-article.component.html',\r\n  styleUrls: ['./uni-article.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNIArticleComponent {\r\n  /* Inputs */\r\n  readonly color = input.required<string>(); // Colore di base dell'articolo\r\n  readonly title = input<string>(); // Titolo opzionale dell'articolo\r\n  readonly icon = input<IconDefinition>(); // Icona opzionale per l'intestazione\r\n  readonly initialIsOpen = input<boolean | undefined>(); // Stato iniziale di apertura\r\n  readonly headerCloseButton = input<boolean>(false); // Se mostrare il button per chiudere article\r\n\r\n  /* Variables */\r\n  isOpen = signal<boolean>(this.initialIsOpen() ?? true);\r\n  isHeader = computed(() => this.icon() || this.title() || this.headerCloseButton());\r\n\r\n  /* ----------------------- Metodi --------------------------- */\r\n  protected toggleIsOpen(): void {\r\n    // Inverte lo stato di apertura/chiusura\r\n    this.isOpen.update((val) => !val);\r\n  }\r\n}\r\n","<article\n  class=\"uni_article flex h-full flex-col rounded border-2 p-4\"\n  [style.backgroundColor]=\"color() + '26'\"\n  [style.borderColor]=\"color() + '33'\">\n  <!-- Title -->\n  @if (isHeader()) {\n    <div class=\"uni_article_header flex items-center gap-4\" [ngClass]=\"{ 'mb-4': isOpen() }\">\n      <!-- Icona nella testata, se presente -->\n      @if (icon(); as icon) {\n        <fa-icon class=\"uni-article-header-icon\" [icon]=\"icon\"></fa-icon>\n      }\n\n      <!-- Titolo nella testata, se presente -->\n      @if (title(); as title) {\n        <h5 class=\"uni_article_header_title truncate uppercase\">{{ title }}</h5>\n      }\n\n      <!-- Bottone per aprire/chiudere l'articolo, se presente -->\n      @if (headerCloseButton()) {\n        <dx-button\n          class=\"uni_article_header_button ml-auto\"\n          [icon]=\"isOpen() ? 'close' : 'expandform'\"\n          (onClick)=\"toggleIsOpen()\">\n        </dx-button>\n      }\n    </div>\n  }\n\n  <!-- Contenuto dell'articolo, visibile solo se aperto -->\n  @if (isOpen()) {\n    <ng-content></ng-content>\n  }\n</article>\n\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\n\r\n@Component({\r\n  selector: 'uni-header',\r\n  standalone: true,\r\n  imports: [CommonModule, DxButtonModule],\r\n  templateUrl: './uni-header.component.html',\r\n  styleUrls: ['./uni-header.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNIHeaderComponent {\r\n  /* Input */\r\n  title = input.required<string>();\r\n  version = input.required<string>();\r\n  pathBrandLogo = input.required<string>();\r\n  pathAppLogo = input<string | undefined>(undefined);\r\n  sideMenu = input<boolean>(false);\r\n\r\n  /* Output */\r\n  evtToggleMenu = output<true>();\r\n}\r\n","<header class=\"fixed top-0 left-0 z-999 w-full p-4 backdrop-blur-xl backdrop-opacity-100\">\r\n  <div\r\n    class=\"dark:bg-dx-dark-600/50 flex h-15 items-center gap-4 rounded bg-sky-600/50 p-2 text-white\">\r\n    <!-- app logo  -->\r\n    @if (pathAppLogo(); as pathAppLogo) {\r\n      <img class=\"aspect-square h-full\" [src]=\"pathAppLogo\" alt=\"App logo\" />\r\n    }\r\n\r\n    <!-- info  -->\r\n    <div class=\"flex flex-1 flex-col overflow-hidden\">\r\n      <p class=\"truncate text-xl font-semibold uppercase\">{{ title() }}</p>\r\n      <p class=\"text-xs opacity-75\">{{ version() }}</p>\r\n    </div>\r\n\r\n    <!-- brand logo  -->\r\n    <img class=\"h-9/10 overflow-hidden\" [src]=\"pathBrandLogo()\" alt=\"Brand logo\" />\r\n\r\n    <!-- button menu  -->\r\n    @if (sideMenu()) {\r\n      <dx-button [icon]=\"'menu'\" (onClick)=\"evtToggleMenu.emit(true)\"></dx-button>\r\n    }\r\n  </div>\r\n</header>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\nexport enum LedStatus {\r\n  OK,\r\n  WARNING,\r\n  ERROR,\r\n}\r\n\r\n@Component({\r\n  selector: 'uni-led',\r\n  imports: [CommonModule],\r\n  templateUrl: './uni-led.component.html',\r\n  styleUrls: ['./uni-led.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNILedComponent {\r\n  /* Inputs */\r\n  public status = input.required<LedStatus | null | undefined>();\r\n  public label = input.required<string>();\r\n\r\n  /* Enum */\r\n  protected readonly LED_STATUS = LedStatus;\r\n}\r\n","<div class=\"flex items-center gap-1\">\r\n  <div\r\n    class=\"led\"\r\n    [ngClass]=\"{\r\n      ok: status() === LED_STATUS.OK,\r\n      warning: status() === LED_STATUS.WARNING,\r\n      error: status() === LED_STATUS.ERROR,\r\n    }\"></div>\r\n  <p class=\"truncate uppercase\">{{ label() }}</p>\r\n  <ng-content></ng-content>\r\n</div>\r\n","import { CommonModule, Location } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DxButtonModule, DxPopupModule, DxTextBoxModule } from 'devextreme-angular';\r\nimport { UNIAuthService, UNIToastService, UNITranslateService } from 'uni-service';\r\n\r\nexport type LoginForm = {\r\n  username: string;\r\n  password: string;\r\n};\r\n\r\n@Component({\r\n  selector: 'uni-login-modal',\r\n  standalone: true,\r\n  imports: [CommonModule, DxPopupModule, ReactiveFormsModule, DxTextBoxModule, DxButtonModule],\r\n  templateUrl: './uni-login-modal.component.html',\r\n  styleUrls: ['./uni-login-modal.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNILoginModalComponent {\r\n  /* Service */\r\n  readonly router = inject(Router);\r\n  readonly location = inject(Location);\r\n  readonly authService = inject(UNIAuthService);\r\n  readonly toastService = inject(UNIToastService);\r\n  readonly translateService = inject(UNITranslateService);\r\n\r\n  /* Input & output */\r\n  visibile = input<boolean>(true);\r\n  routeHome = input<string>();\r\n  enableGoBack = input.required<boolean>();\r\n\r\n  /* Form */\r\n  public readonly loginForm = new FormGroup<{ [K in keyof LoginForm]: FormControl<LoginForm[K]> }>({\r\n    username: new FormControl('', { nonNullable: true, validators: Validators.required }),\r\n    password: new FormControl('', { nonNullable: true, validators: Validators.required }),\r\n  });\r\n\r\n  /* ------------------------ Methods ------------------------ */\r\n  public login(): void {\r\n    this.authService.login$(this.loginForm.getRawValue()).subscribe(() => {\r\n      if (this.routeHome()) this.router.navigate([this.routeHome]);\r\n    });\r\n  }\r\n\r\n  public logout(): void {\r\n    this.authService.logout$().subscribe();\r\n  }\r\n\r\n  public onHiding(): void {\r\n    if (this.enableGoBack()) this.location.back();\r\n  }\r\n}\r\n","<dx-popup\n[wrapperAttr]=\"{ id: 'loginPopup' }\"\n[width]=\"'40%'\"\n[minWidth]=\"400\"\n[maxWidth]=\"700\"\n[height]=\"500\"\n[visible]=\"visibile()\"\n[showTitle]=\"true\"\n[title]=\"'Login'\"\n[dragEnabled]=\"false\"\n[showCloseButton]=\"true\"\n[hideOnOutsideClick]=\"false\"\n(onHiding)=\"onHiding()\">\n<section>\n  <img src=\"../../../assets/images/logo/logo_trasparente.png\" alt=\"Logo\" />\n  <p>UNITEC</p>\n  @if (authService.user(); as user) {\n    <div>Utente: {{ user.username }}</div>\n    <dx-button\n      id=\"logoutButton\"\n      stylingMode=\"contained\"\n      [text]=\"'Logout'\"\n      (onClick)=\"logout()\"></dx-button>\n  } @else {\n    <form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\n      <dx-text-box\n        [placeholder]=\"'User'\"\n        stylingMode=\"outlined\"\n        formControlName=\"username\"\n        [inputAttr]=\"{ 'aria-label': 'User' }\"></dx-text-box>\n      <dx-text-box\n        [placeholder]=\"'Password'\"\n        mode=\"password\"\n        stylingMode=\"outlined\"\n        formControlName=\"password\"\n        [inputAttr]=\"{ 'aria-label': 'Password' }\"></dx-text-box>\n      <dx-button\n        id=\"loginSubmitButton\"\n        stylingMode=\"contained\"\n        [text]=\"'Login'\"\n        [useSubmitBehavior]=\"true\"\n        [disabled]=\"loginForm.invalid\"></dx-button>\n    </form>\n  }\n</section>\n</dx-popup>\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { DxPieChartModule } from 'devextreme-angular/ui/pie-chart';\r\nimport { PieChartType } from 'devextreme/viz/pie_chart_types';\r\n\r\nexport type ChartDataSource = {\r\n  name: string;\r\n  value: number | undefined;\r\n  color: string;\r\n};\r\n\r\n@Component({\r\n  selector: 'uni-pie-chart',\r\n  standalone: true,\r\n  imports: [CommonModule, DxPieChartModule],\r\n  templateUrl: './uni-pie-chart.component.html',\r\n  styleUrls: ['./uni-pie-chart.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNIPieChartComponent {\r\n  /* Input & output */\r\n  chartDataSource = input.required<ChartDataSource[]>();\r\n  chartPercentage = input<number | undefined>(undefined);\r\n  chartType = input<PieChartType>('pie');\r\n  chartDiameter = input<number>(1);\r\n  chartInnerRadius = input<number>(0.7);\r\n  tooltipIsEnabled = input<boolean>(true);\r\n  legendPosition = input<'right' | 'left' | 'top' | 'bottom' | 'none'>('none');\r\n  legendWithValue = input<boolean>(false);\r\n  legendGap = input<string>('12px');\r\n  uom = input<string>('');\r\n\r\n  /* Variables */\r\n  paletteColor = computed(() => this.chartDataSource().map((data) => data.color));\r\n  gridColumn = computed(() => {\r\n    switch (this.legendPosition()) {\r\n      case 'right':\r\n        return '1fr min-content';\r\n      case 'left':\r\n        return 'min-content 1fr';\r\n      default:\r\n        return '1fr';\r\n    }\r\n  });\r\n  gridRow = computed(() => {\r\n    switch (this.legendPosition()) {\r\n      case 'top':\r\n        return 'min-content 1fr';\r\n      case 'bottom':\r\n        return '1fr min-content';\r\n      default:\r\n        return '1fr';\r\n    }\r\n  });\r\n\r\n  /* ----------------------- Constructor & lifecycle --------------------------- */\r\n  constructor() {\r\n    this.customizeTooltip = this.customizeTooltip.bind(this);\r\n  }\r\n\r\n  /* -----------------------Methods--------------------------- */\r\n  /* Funzione usata per personalizzare i tooltips del grafico */\r\n  public customizeTooltip(pointInfo: { argumentText: string; valueText: string }) {\r\n    const { argumentText, valueText } = pointInfo;\r\n    return {\r\n      text: `${argumentText}<br/>${valueText} ${this.uom()}`,\r\n      color: 'rgba(149, 157, 165, 0.5)',\r\n    };\r\n  }\r\n}\r\n","<div\n  class=\"container-pie-chart\"\n  [style.display]=\"legendPosition() === 'none' ? 'block' : 'grid'\"\n  [style.gridTemplateRows]=\"gridRow()\"\n  [style.gridTemplateColumns]=\"gridColumn()\">\n  <div\n    [style.order]=\"legendPosition() === 'top' || legendPosition() === 'left' ? 1 : 0\"\n    style=\"position: relative; height: 100%; width: 100%; overflow: hidden\">\n    <dx-pie-chart\n      style=\"height: 100%; width: 100%; overflow: hidden\"\n      [type]=\"chartType()\"\n      [dataSource]=\"chartDataSource()\"\n      resolveLabelOverlapping=\"shift\"\n      [palette]=\"paletteColor()\"\n      [diameter]=\"chartDiameter()\"\n      [innerRadius]=\"chartInnerRadius()\"\n      [redrawOnResize]=\"true\"\n      [series]=\"{\n        argumentField: 'name',\n        valueField: 'value',\n        label: { visible: false },\n      }\"\n      [legend]=\"{ visible: false }\"\n      [tooltip]=\"{ enabled: tooltipIsEnabled(), customizeTooltip: customizeTooltip }\">\n    </dx-pie-chart>\n\n    @if (chartPercentage() !== undefined) {\n      <div class=\"pie-percentage-value\">{{ chartPercentage() }}%</div>\n    }\n  </div>\n\n  @if (legendPosition() !== 'none') {\n    <ul\n      class=\"container-legend\"\n      [style.flexDirection]=\"\n        legendPosition() === 'top' || legendPosition() === 'bottom' ? 'row' : 'column'\n      \"\n      [style.gap]=\"legendGap()\">\n      @for (item of chartDataSource(); track $index) {\n        <li>\n          <span class=\"square\" [style.backgroundColor]=\"item.color\"></span>\n          {{ legendWithValue() ? item.name + ' ' + item.value + ' ' + uom() : item.name }}\n        </li>\n      }\n    </ul>\n  }\n</div>\n\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  HostListener,\r\n  inject,\r\n  input,\r\n  output,\r\n  signal,\r\n} from '@angular/core';\r\nimport { RouterLink, RouterLinkActive } from '@angular/router';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport {\r\n  faArrowRightFromBracket,\r\n  faArrowRightToBracket,\r\n  faBell,\r\n  faLanguage,\r\n  faMoon,\r\n  faSun,\r\n  faUser,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { DxSwitchModule } from 'devextreme-angular/ui/switch';\r\nimport { ValueChangedEvent as SelectBoxValueChangedEvent } from 'devextreme/ui/select_box_types';\r\nimport { ValueChangedEvent as SwitchValueChangedEvent } from 'devextreme/ui/switch_types';\r\nimport { UNILoaderService, UNITranslatePipe, UNITranslateService, User } from 'uni-service';\r\n\r\nexport type MenuItem = {\r\n  id: number;\r\n  icon: IconDefinition;\r\n  label: string;\r\n  path: string;\r\n  badge?: boolean;\r\n  visible?: boolean;\r\n  disabled?: boolean;\r\n};\r\n\r\nexport type MenuInteraction = {\r\n  id: number;\r\n  data:\r\n    | { type: 'button'; icon: IconDefinition; onClick: (...args: any) => void }\r\n    | {\r\n        type: 'select';\r\n        combos: { id: number; code: string; description: string }[];\r\n        value: number | null;\r\n        onValueChanged: (itemSelected: SelectBoxValueChangedEvent) => void;\r\n      };\r\n  label: string;\r\n  class?: string;\r\n  visible?: boolean;\r\n  disabled?: boolean;\r\n};\r\n\r\n@Component({\r\n  selector: 'uni-side-menu',\r\n  standalone: true,\r\n  imports: [\r\n    CommonModule,\r\n    RouterLink,\r\n    RouterLinkActive,\r\n    DxButtonModule,\r\n    DxSelectBoxModule,\r\n    DxSwitchModule,\r\n    UNITranslatePipe,\r\n    FaIconComponent,\r\n    NgOptimizedImage,\r\n  ],\r\n  templateUrl: './uni-side-menu.component.html',\r\n  styleUrls: ['./uni-side-menu.component.scss', '../style.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UNISideMenuComponent {\r\n  /* Service */\r\n  private readonly elementRef = inject(ElementRef);\r\n  protected readonly translateService = inject(UNITranslateService);\r\n  private readonly loaderService = inject(UNILoaderService);\r\n\r\n  /* Input */\r\n  public readonly pathUnitecLogo = input.required<string>();\r\n  public readonly menuItems = input<MenuItem[]>([]);\r\n  public readonly menuInteractions = input<MenuInteraction[]>([]);\r\n  public readonly user = input.required<User | null | undefined>();\r\n  public readonly onLogin = input<() => void>();\r\n  public readonly onLogout = input<() => void>();\r\n\r\n  /* Output */\r\n  protected readonly evtToggleMenu = output<false>();\r\n\r\n  /* Variables */\r\n  protected readonly darkMode = signal<boolean>(localStorage.getItem('uni-theme') === 'dark');\r\n\r\n  /* Icons */\r\n  protected readonly ICON = {\r\n    USER: faUser,\r\n    LOGIN: faArrowRightToBracket,\r\n    LOGOUT: faArrowRightFromBracket,\r\n    LIGHT_MODE: faSun,\r\n    DARK_MODE: faMoon,\r\n    LANGUAGE: faLanguage,\r\n    NOTIFICATION: faBell,\r\n  };\r\n\r\n  /* ---------------------- Host listener ---------------------- */\r\n  @HostListener('document:click', ['$event'])\r\n  protected onClickOutside(event: Event): void {\r\n    const targetElement = event.target as HTMLElement;\r\n\r\n    if (\r\n      !this.elementRef.nativeElement.contains(targetElement) &&\r\n      !targetElement.classList.contains('dx-icon')\r\n    ) {\r\n      this.evtToggleMenu.emit(false);\r\n    }\r\n  }\r\n\r\n  /* ---------------------- Methods ---------------------- */\r\n  protected updateTheme(e: SwitchValueChangedEvent): void {\r\n    this.loaderService.show();\r\n    localStorage.setItem('uni-theme', e.value ? 'dark' : 'light');\r\n    window.location.reload();\r\n  }\r\n\r\n  protected updateLocale(e: SelectBoxValueChangedEvent): void {\r\n    this.loaderService.show();\r\n    this.translateService.setLocale(e.value);\r\n    window.location.reload();\r\n  }\r\n\r\n  protected onLoginOrLogout(): void {\r\n    const user = this.user();\r\n    const onLogin = this.onLogin();\r\n    const onLogout = this.onLogout();\r\n\r\n    if (user && onLogout) {\r\n      onLogout();\r\n    } else if (!user && onLogin) {\r\n      onLogin();\r\n    }\r\n  }\r\n\r\n  // protected goToLogin(): void {\r\n  //   this.evtToggleMenu.emit(false);\r\n  //   this.router.navigate(['login']);\r\n  // }\r\n\r\n  // protected logout(): void {\r\n  //   this.authService.logout$().subscribe(() => {\r\n  //     const firstItem = this.menuItems().find((item) => item.visible && !item.disabled);\r\n  //     this.evtToggleMenu.emit(false);\r\n  //     this.router.navigate([firstItem?.path ?? 'login']);\r\n  //   });\r\n  // }\r\n}\r\n","<aside\r\n  class=\"dark:bg-dx-dark-600/50 flex h-screen w-[80vw] max-w-[300px] flex-col gap-6 overflow-hidden rounded-l bg-sky-600/50 p-4 shadow backdrop-blur-xl\">\r\n  <!-- user  -->\r\n  <div class=\"flex w-full items-center gap-4\">\r\n    <div class=\"flex flex-1 gap-2\">\r\n      @if (user(); as user) {\r\n        <fa-icon [icon]=\"ICON.USER\"></fa-icon>\r\n        <span class=\"flex-1 truncate\">{{ user.username }}</span>\r\n      }\r\n    </div>\r\n    <dx-button [icon]=\"'close'\" (onClick)=\"evtToggleMenu.emit(false)\"></dx-button>\r\n  </div>\r\n\r\n  <div class=\"flex flex-1 flex-col overflow-x-hidden overflow-y-auto\">\r\n    <!-- menu  -->\r\n    @if (menuItems().length) {\r\n      <ul class=\"flex min-h-fit flex-col gap-2\">\r\n        @for (item of menuItems(); track item.id) {\r\n          @if (item.visible !== false) {\r\n            <li>\r\n              <a\r\n                class=\"flex h-10 items-center gap-2 rounded p-2 !text-white\"\r\n                [ngClass]=\"{\r\n                  'border border-red-500/60 bg-red-500/40 shadow-inner hover:bg-red-500/60':\r\n                    !!item.badge,\r\n                  'hover:bg-sky-600/50 dark:hover:bg-zinc-600/50': !item.disabled && !item.badge,\r\n                  'cursor-not-allowed !opacity-25': item.disabled,\r\n                }\"\r\n                [routerLink]=\"item.disabled ? null : item.path\"\r\n                [routerLinkActive]=\"\r\n                  item.badge ? 'bg-red-500/60' : 'dark:bg-zinc-600/50 bg-sky-600/50'\r\n                \"\r\n                (click)=\"evtToggleMenu.emit(false)\">\r\n                <fa-icon class=\"basis-6\" [icon]=\"item.icon\"></fa-icon>\r\n                <span class=\"flex-1 truncate\">{{ item.label }}</span>\r\n                @if (item.badge) {\r\n                  <div\r\n                    class=\"menu-item-notification center h-6 w-6 animate-pulse rounded bg-red-500 shadow-inner\">\r\n                    <fa-icon [icon]=\"ICON.NOTIFICATION\"></fa-icon>\r\n                  </div>\r\n                }\r\n              </a>\r\n            </li>\r\n          }\r\n        }\r\n      </ul>\r\n    }\r\n\r\n    @if (menuInteractions().length) {\r\n      <hr class=\"my-4 h-px border-0 bg-sky-200 dark:bg-gray-600\" />\r\n      <ul class=\"flex min-h-fit flex-col gap-2\">\r\n        @for (item of menuInteractions(); track item.id) {\r\n          @if (item.data.type === 'button') {\r\n            <li class=\"item-setting-button\">\r\n              <button\r\n                type=\"button\"\r\n                class=\"dx-theme-material-typography flex h-12 w-full items-center gap-2 rounded p-4\"\r\n                [class]=\"item.class\"\r\n                (click)=\"item.data.onClick()\">\r\n                <fa-icon class=\"basis-6\" [icon]=\"item.data.icon\"></fa-icon>\r\n                <span class=\"flex-1 truncate\">{{ item.label }}</span>\r\n              </button>\r\n            </li>\r\n          } @else if (item.data.type === 'select') {\r\n            <li\r\n              class=\"flex h-12 items-center gap-4 rounded bg-sky-600/50 p-3 shadow dark:bg-zinc-600/50\">\r\n              <span class=\"truncate\">{{ item.label }}</span>\r\n              <dx-select-box\r\n                class=\"flex-1 basis-30\"\r\n                valueExpr=\"id\"\r\n                displayExpr=\"description\"\r\n                [items]=\"item.data.combos\"\r\n                [value]=\"item.data.value\"\r\n                stylingMode=\"underlined\"\r\n                placeholder=\"\"\r\n                (onValueChanged)=\"item.data.onValueChanged($event)\"></dx-select-box>\r\n            </li>\r\n          }\r\n        }\r\n      </ul>\r\n    }\r\n\r\n    <!-- setting  -->\r\n    <hr class=\"my-4 h-px border-0 bg-sky-200 dark:bg-gray-600\" />\r\n    <ul class=\"flex min-h-fit flex-col gap-2\">\r\n      <li\r\n        class=\"flex h-16 items-center gap-2 rounded bg-sky-600/50 p-4 text-white shadow dark:bg-zinc-600/50\">\r\n        <fa-icon class=\"basis-6\" [icon]=\"darkMode() ? ICON.DARK_MODE : ICON.LIGHT_MODE\"></fa-icon>\r\n        <span class=\"flex-1 truncate\">{{ 'lblDarkMode' | translate }}</span>\r\n        <dx-switch [value]=\"darkMode()\" (onValueChanged)=\"updateTheme($event)\"></dx-switch>\r\n      </li>\r\n      <li\r\n        class=\"flex h-16 items-center gap-2 rounded bg-sky-600/50 p-4 text-white shadow dark:bg-zinc-600/50\">\r\n        <fa-icon class=\"basis-6\" [icon]=\"ICON.LANGUAGE\"></fa-icon>\r\n        <span class=\"flex-1 truncate\">{{ 'lblLanguage' | translate }}</span>\r\n        <dx-select-box\r\n          class=\"basis-30\"\r\n          [items]=\"translateService.translateInfo()?.localesSupported ?? []\"\r\n          [value]=\"translateService.translateInfo()?.locale\"\r\n          stylingMode=\"underlined\"\r\n          (onValueChanged)=\"updateLocale($event)\"></dx-select-box>\r\n      </li>\r\n\r\n      <!-- User | null | undefined -->\r\n      @if (user() !== undefined) {\r\n        <li>\r\n          <button\r\n            class=\"flex w-full items-center gap-2 rounded border border-white p-4 text-white shadow transition duration-300 ease-in-out hover:bg-white hover:text-gray-800\"\r\n            (click)=\"onLoginOrLogout()\">\r\n            <fa-icon [icon]=\"user() ? ICON.LOGOUT : ICON.LOGIN\"></fa-icon>\r\n            <span class=\"flex-1 truncate\">{{\r\n              (user() ? 'lblLogout' : 'lblLogin') | translate\r\n            }}</span>\r\n          </button>\r\n        </li>\r\n      }\r\n    </ul>\r\n  </div>\r\n\r\n  <!-- logo  -->\r\n  <div class=\"mt-auto flex content-end border-b border-white\">\r\n    <img\r\n      class=\"mb-1 ml-auto h-8 w-min\"\r\n      [ngSrc]=\"pathUnitecLogo()\"\r\n      alt=\"Brand logo\"\r\n      [height]=\"32\"\r\n      [width]=\"88\" />\r\n  </div>\r\n</aside>\r\n","/*\r\n * Public API Surface of uni-component-tw\r\n */\r\n\r\nexport * from './lib/uni-article/uni-article.component';\r\nexport * from './lib/uni-header/uni-header.component';\r\nexport * from './lib/uni-led/uni-led.component';\r\nexport * from './lib/uni-login-modal/uni-login-modal.component';\r\nexport * from './lib/uni-pie-chart/uni-pie-chart.component';\r\nexport * from './lib/uni-side-menu/uni-side-menu.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","DxButtonModule","i3"],"mappings":"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"}