{"version":3,"file":"mayvio-ui-angular.mjs","sources":["../../src/data-grid.component.ts","../../src/datepicker/datepicker.component.ts","../../src/dropdown/dropdown.component.ts","../../src/fileupload/fileupload.component.ts","../../src/modal/modal.component.ts","../../src/theme-toggle/theme-toggle.component.ts","../../src/skeleton/skeleton.component.ts","../../src/toast/toast.service.ts","../../src/toast/toast.component.ts","../../src/accordion/accordion.component.ts","../../src/tabs/tabs.component.ts","../../src/tooltip/tooltip.directive.ts","../../src/badge/badge.component.ts","../../src/avatar/avatar.component.ts","../../src/progress-bar/progress-bar.component.ts","../../src/alert/alert.component.ts","../../src/commandpalette/commandpalette.component.ts","../../src/sidebar/sidebar.component.ts","../../src/notificationcenter/notificationcenter.component.ts","../../src/breadcrumb/breadcrumb.component.ts","../../src/code-snippet.component.ts","../../src/button/button.component.ts","../../src/kpi-card.component.ts","../../src/chart.component.ts","../../src/dashboard-widget.component.ts","../../src/activity-timeline.component.ts","../../src/multiselect/multiselect.component.ts","../../src/input/input.component.ts","../../src/textarea/textarea.component.ts","../../src/checkbox/checkbox.component.ts","../../src/switch/switch.component.ts","../../src/radiogroup/radiogroup.component.ts","../../src/select/select.component.ts","../../src/slider/slider.component.ts","../../src/public-api.ts","../../src/mayvio-ui-angular.ts"],"sourcesContent":["// @ts-nocheck\nimport { Component, Input, OnInit } from \"@angular/core\";\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nexport interface DataGridColumn {\n  key: string;\n  label: string;\n  type: \"number\" | \"string\" | \"date\";\n  sortable: boolean;\n}\n\n/**\n * Angular Component Wrapper for Mayvio UI Data Grid.\n * Usage: `<mayvio-data-grid [initialData]=\"employees\" [columns]=\"gridColumns\"></mayvio-data-grid>`\n */\n@Component({\n  selector: \"mayvio-data-grid\",\n  standalone: true,\n  imports: [CommonModule, FormsModule],\n  template: `\n    <div class=\"data-grid-container\">\n      <!-- Toolbar -->\n      <div class=\"data-grid-toolbar\">\n        <div class=\"data-grid-search\">\n          <input\n            type=\"text\"\n            placeholder=\"Search rows...\"\n            aria-label=\"Search rows\"\n            [(ngModel)]=\"searchQuery\"\n            (input)=\"onSearchChange()\"\n          />\n        </div>\n        <div class=\"data-grid-actions\">\n          <div class=\"dg-dropdown\" [class.open]=\"isColMenuOpen\">\n            <button\n              type=\"button\"\n              class=\"control-btn dg-dropdown-trigger\"\n              aria-haspopup=\"listbox\"\n              [attr.aria-expanded]=\"isColMenuOpen\"\n              (click)=\"toggleColMenu($event)\"\n            >\n              <span class=\"dg-dropdown-label\">Columns</span>\n              <span class=\"dg-dropdown-arrow\">▼</span>\n            </button>\n            <div *ngIf=\"isColMenuOpen\" class=\"dg-dropdown-menu\" role=\"listbox\" aria-label=\"Toggle Columns\">\n              <label *ngFor=\"let col of columns\" class=\"dg-dropdown-item\">\n                <input\n                  type=\"checkbox\"\n                  [checked]=\"isColumnVisible(col.key)\"\n                  (change)=\"toggleColumnVisibility(col.key)\"\n                />\n                <span>{{ col.label }}</span>\n              </label>\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <!-- Table Viewport -->\n      <div class=\"data-grid-wrapper\" role=\"region\" aria-label=\"Data Grid\" tabindex=\"0\">\n        <table class=\"data-grid\" role=\"grid\">\n          <thead>\n            <tr role=\"row\">\n              <ng-container *ngFor=\"let col of columns\">\n                <th\n                  *ngIf=\"isColumnVisible(col.key)\"\n                  scope=\"col\"\n                  [class.sortable]=\"col.sortable\"\n                  [attr.aria-sort]=\"getSortAttr(col)\"\n                  [attr.tabindex]=\"col.sortable ? 0 : -1\"\n                  (click)=\"col.sortable && handleSort(col.key)\"\n                  (keydown.enter)=\"col.sortable && handleSort(col.key)\"\n                  (keydown.space)=\"$event.preventDefault(); col.sortable && handleSort(col.key)\"\n                >\n                  {{ col.label }}\n                  <span *ngIf=\"col.sortable\" class=\"data-grid-sort-icon\" aria-hidden=\"true\">\n                    {{ getSortIcon(col.key) }}\n                  </span>\n                </th>\n              </ng-container>\n            </tr>\n          </thead>\n          <tbody>\n            <tr *ngFor=\"let row of paginatedData\" role=\"row\">\n              <ng-container *ngFor=\"let col of columns\">\n                <td *ngIf=\"isColumnVisible(col.key)\">\n                  <ng-container *ngIf=\"col.key === 'status'; else standardCell\">\n                    <span class=\"dg-badge {{ row[col.key] | lowercase }}\">{{ row[col.key] }}</span>\n                  </ng-container>\n                  <ng-template #standardCell>{{ row[col.key] }}</ng-template>\n                </td>\n              </ng-container>\n            </tr>\n            <tr *ngIf=\"filteredData.length === 0\">\n              <td\n                [attr.colspan]=\"getVisibleColumnsCount()\"\n                style=\"text-align: center; color: var(--text-muted); padding: 32px 16px;\"\n              >\n                No records match the active filters.\n              </td>\n            </tr>\n          </tbody>\n        </table>\n      </div>\n\n      <!-- Pagination footer -->\n      <div class=\"data-grid-pagination\">\n        <div class=\"dg-page-size\">\n          <label for=\"dgPageSizeAngular\">Rows per page:</label>\n          <select\n            id=\"dgPageSizeAngular\"\n            [ngModel]=\"pageSize\"\n            (ngModelChange)=\"onPageSizeChange($event)\"\n          >\n            <option [value]=\"5\">5</option>\n            <option [value]=\"10\">10</option>\n            <option [value]=\"15\">15</option>\n          </select>\n        </div>\n        <div class=\"dg-pagination-info\" aria-live=\"polite\">\n          Showing {{ startRecord }}-{{ endRecord }} of {{ totalRecords }}\n        </div>\n        <div class=\"dg-pagination-controls\">\n          <button\n            type=\"button\"\n            class=\"control-btn dg-pag-btn\"\n            [disabled]=\"currentPage === 1\"\n            (click)=\"goToPage(1)\"\n            aria-label=\"First page\"\n          >\n            «\n          </button>\n          <button\n            type=\"button\"\n            class=\"control-btn dg-pag-btn\"\n            [disabled]=\"currentPage === 1\"\n            (click)=\"goToPage(currentPage - 1)\"\n            aria-label=\"Previous page\"\n          >\n            ‹\n          </button>\n          <div class=\"dg-page-numbers\">\n            <button\n              *ngFor=\"let page of pageNumbers\"\n              type=\"button\"\n              class=\"dg-page-num\"\n              [class.active]=\"page === currentPage\"\n              [attr.aria-label]=\"'Page ' + page\"\n              [attr.aria-current]=\"page === currentPage ? 'page' : null\"\n              (click)=\"goToPage(page)\"\n            >\n              {{ page }}\n            </button>\n          </div>\n          <button\n            type=\"button\"\n            class=\"control-btn dg-pag-btn\"\n            [disabled]=\"currentPage === totalPages\"\n            (click)=\"goToPage(currentPage + 1)\"\n            aria-label=\"Next page\"\n          >\n            ›\n          </button>\n          <button\n            type=\"button\"\n            class=\"control-btn dg-pag-btn\"\n            [disabled]=\"currentPage === totalPages\"\n            (click)=\"goToPage(totalPages)\"\n            aria-label=\"Last page\"\n          >\n            »\n          </button>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: []\n})\nexport class DataGridComponent implements OnInit {\n  @Input() initialData: any[] = [];\n  @Input() columns: DataGridColumn[] = [];\n\n  searchQuery = \"\";\n  currentPage = 1;\n  pageSize = 10;\n  sortCol: string | null = null;\n  sortDir: \"asc\" | \"desc\" = \"asc\";\n  visibleCols: string[] = [];\n  isColMenuOpen = false;\n\n  filteredData: any[] = [];\n  paginatedData: any[] = [];\n  totalPages = 1;\n  startRecord = 0;\n  endRecord = 0;\n  totalRecords = 0;\n  pageNumbers: number[] = [];\n\n  ngOnInit() {\n    this.visibleCols = this.columns.map((c) => c.key);\n    this.updateGrid();\n    \n    // Add close listener for columns dropdown\n    document.addEventListener(\"click\", this.onOutsideClick.bind(this));\n  }\n\n  onOutsideClick(event: Event) {\n    if (this.isColMenuOpen) {\n      const dropdown = document.querySelector(\".dg-dropdown\");\n      if (dropdown && !dropdown.contains(event.target as Node)) {\n        this.isColMenuOpen = false;\n      }\n    }\n  }\n\n  toggleColMenu(event: Event) {\n    event.stopPropagation();\n    this.isColMenuOpen = !this.isColMenuOpen;\n  }\n\n  isColumnVisible(key: string): boolean {\n    return this.visibleCols.includes(key);\n  }\n\n  toggleColumnVisibility(key: string) {\n    if (this.visibleCols.includes(key)) {\n      this.visibleCols = this.visibleCols.filter((k) => k !== key);\n    } else {\n      this.visibleCols = [...this.visibleCols, key];\n    }\n  }\n\n  getVisibleColumnsCount(): number {\n    return this.visibleCols.length;\n  }\n\n  getSortAttr(col: DataGridColumn): string {\n    if (this.sortCol !== col.key) return \"none\";\n    return this.sortDir === \"asc\" ? \"ascending\" : \"descending\";\n  }\n\n  getSortIcon(key: string): string {\n    if (this.sortCol !== key) return \"⇅\";\n    return this.sortDir === \"asc\" ? \"▲\" : \"▼\";\n  }\n\n  handleSort(key: string) {\n    if (this.sortCol === key) {\n      this.sortDir = this.sortDir === \"asc\" ? \"desc\" : \"asc\";\n    } else {\n      this.sortCol = key;\n      this.sortDir = \"asc\";\n    }\n    this.currentPage = 1;\n    this.updateGrid();\n  }\n\n  onSearchChange() {\n    this.currentPage = 1;\n    this.updateGrid();\n  }\n\n  onPageSizeChange(size: any) {\n    this.pageSize = parseInt(size, 10) || 10;\n    this.currentPage = 1;\n    this.updateGrid();\n  }\n\n  goToPage(page: number) {\n    this.currentPage = page;\n    this.updatePagination();\n  }\n\n  updateGrid() {\n    // 1. Search Query Filter\n    const q = this.searchQuery.trim().toLowerCase();\n    if (q) {\n      this.filteredData = this.initialData.filter((row) =>\n        Object.values(row).some((val) => String(val).toLowerCase().includes(q))\n      );\n    } else {\n      this.filteredData = [...this.initialData];\n    }\n\n    // 2. Sorting\n    if (this.sortCol) {\n      const colDef = this.columns.find((c) => c.key === this.sortCol);\n      const isAsc = this.sortDir === \"asc\";\n      const factor = isAsc ? 1 : -1;\n\n      this.filteredData.sort((a, b) => {\n        const valA = a[this.sortCol!];\n        const valB = b[this.sortCol!];\n\n        if (colDef?.type === \"number\") {\n          return (valA - valB) * factor;\n        } else if (colDef?.type === \"date\") {\n          return (new Date(valA).getTime() - new Date(valB).getTime()) * factor;\n        } else {\n          return String(valA).localeCompare(String(valB)) * factor;\n        }\n      });\n    }\n\n    this.updatePagination();\n  }\n\n  updatePagination() {\n    this.totalRecords = this.filteredData.length;\n    this.totalPages = Math.ceil(this.totalRecords / this.pageSize) || 1;\n\n    if (this.currentPage > this.totalPages) {\n      this.currentPage = this.totalPages;\n    }\n\n    this.startRecord = this.totalRecords === 0 ? 0 : (this.currentPage - 1) * this.pageSize + 1;\n    this.endRecord = Math.min(this.currentPage * this.pageSize, this.totalRecords);\n\n    const startIdx = (this.currentPage - 1) * this.pageSize;\n    this.paginatedData = this.filteredData.slice(startIdx, startIdx + this.pageSize);\n\n    this.pageNumbers = Array.from({ length: this.totalPages }, (_, i) => i + 1);\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  HostListener,\n  ElementRef,\n  inject,\n  OnInit,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport 'mayvio-ui/datepicker/css';\n\nconst MONTH_NAMES = [\n  'January',\n  'February',\n  'March',\n  'April',\n  'May',\n  'June',\n  'July',\n  'August',\n  'September',\n  'October',\n  'November',\n  'December',\n];\n\nconst DAY_NAMES = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\ninterface DayObj {\n  date: Date;\n  isCurrentMonth: boolean;\n}\n\n@Component({\n  selector: 'mv-datepicker',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-datepicker\" [class.mv-datepicker--open]=\"isOpen\" [class]=\"className\">\n      <button\n        type=\"button\"\n        class=\"mv-datepicker-trigger\"\n        [class.mv-datepicker-trigger--disabled]=\"disabled\"\n        (click)=\"toggleMenu()\"\n        [disabled]=\"disabled\"\n        [attr.aria-label]=\"value ? 'Selected date: ' + formattedDate : 'Choose date'\"\n      >\n        <span [class.mv-datepicker-placeholder]=\"!value\">\n          {{ formattedDate }}\n        </span>\n        <svg\n          width=\"16\"\n          height=\"16\"\n          viewBox=\"0 0 24 24\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        >\n          <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n          <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\n          <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\n          <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\n        </svg>\n      </button>\n\n      <div class=\"mv-datepicker-popup\" role=\"dialog\" aria-label=\"Calendar\" *ngIf=\"isOpen\">\n        <div class=\"mv-datepicker-header\">\n          <button\n            type=\"button\"\n            class=\"mv-datepicker-nav-btn\"\n            (click)=\"prevMonth($event)\"\n            aria-label=\"Previous month\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            >\n              <polyline points=\"15 18 9 12 15 6\"></polyline>\n            </svg>\n          </button>\n          <div class=\"mv-datepicker-current-month\" aria-live=\"polite\">\n            {{ currentMonthName }} {{ currentYear }}\n          </div>\n          <button\n            type=\"button\"\n            class=\"mv-datepicker-nav-btn\"\n            (click)=\"nextMonth($event)\"\n            aria-label=\"Next month\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            >\n              <polyline points=\"9 18 15 12 9 6\"></polyline>\n            </svg>\n          </button>\n        </div>\n\n        <div class=\"mv-datepicker-grid\" role=\"grid\">\n          <div\n            *ngFor=\"let name of dayNames\"\n            class=\"mv-datepicker-day-name\"\n            role=\"columnheader\"\n            [attr.aria-label]=\"name\"\n          >\n            {{ name }}\n          </div>\n\n          <div\n            *ngFor=\"let dayObj of days; let i = index\"\n            class=\"mv-datepicker-cell\"\n            [class.mv-datepicker-cell--outside-month]=\"!dayObj.isCurrentMonth\"\n            [class.mv-datepicker-cell--selected]=\"isSelected(dayObj.date)\"\n            [class.mv-datepicker-cell--today]=\"isToday(dayObj.date)\"\n            [class.mv-datepicker-cell--disabled]=\"isDisabled(dayObj.date)\"\n            role=\"gridcell\"\n            [attr.aria-selected]=\"isSelected(dayObj.date)\"\n            [attr.aria-disabled]=\"isDisabled(dayObj.date)\"\n            (click)=\"selectDate(dayObj.date)\"\n          >\n            {{ dayObj.date.getDate() }}\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class DatePickerComponent implements OnInit, OnChanges {\n  @Input() value?: Date;\n  @Input() disabled = false;\n  @Input() placeholder = 'Select date';\n  @Input() minDate?: Date;\n  @Input() maxDate?: Date;\n  @Input() className = '';\n\n  @Output() dateChange = new EventEmitter<Date>();\n\n  isOpen = false;\n  viewDate: Date = new Date();\n\n  dayNames = DAY_NAMES;\n  days: DayObj[] = [];\n\n  private el = inject(ElementRef);\n  private cdr = inject(ChangeDetectorRef);\n\n  ngOnInit() {\n    this.viewDate = this.value || new Date();\n    this.generateCalendar();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['value'] && !this.isOpen) {\n      if (this.value) {\n        this.viewDate = new Date(this.value);\n      }\n      this.generateCalendar();\n    }\n  }\n\n  get formattedDate(): string {\n    if (!this.value) return this.placeholder;\n    return `${MONTH_NAMES[this.value.getMonth()]} ${this.value.getDate()}, ${this.value.getFullYear()}`;\n  }\n\n  get currentMonthName(): string {\n    return MONTH_NAMES[this.viewDate.getMonth()];\n  }\n\n  get currentYear(): number {\n    return this.viewDate.getFullYear();\n  }\n\n  generateCalendar() {\n    const year = this.viewDate.getFullYear();\n    const month = this.viewDate.getMonth();\n\n    const daysInMonth = new Date(year, month + 1, 0).getDate();\n    const firstDay = new Date(year, month, 1).getDay();\n    const daysInPrevMonth = new Date(year, month, 0).getDate();\n\n    const newDays: DayObj[] = [];\n\n    for (let i = firstDay - 1; i >= 0; i--) {\n      newDays.push({\n        date: new Date(year, month - 1, daysInPrevMonth - i),\n        isCurrentMonth: false,\n      });\n    }\n\n    for (let i = 1; i <= daysInMonth; i++) {\n      newDays.push({\n        date: new Date(year, month, i),\n        isCurrentMonth: true,\n      });\n    }\n\n    const remainingCells = 42 - newDays.length;\n    for (let i = 1; i <= remainingCells; i++) {\n      newDays.push({\n        date: new Date(year, month + 1, i),\n        isCurrentMonth: false,\n      });\n    }\n\n    this.days = newDays;\n  }\n\n  toggleMenu() {\n    if (this.disabled) return;\n    this.isOpen = !this.isOpen;\n    if (this.isOpen) {\n      this.viewDate = this.value || new Date();\n      this.generateCalendar();\n    }\n    this.cdr.markForCheck();\n  }\n\n  prevMonth(e: Event) {\n    e.stopPropagation();\n    this.viewDate = new Date(this.viewDate.getFullYear(), this.viewDate.getMonth() - 1, 1);\n    this.generateCalendar();\n    this.cdr.markForCheck();\n  }\n\n  nextMonth(e: Event) {\n    e.stopPropagation();\n    this.viewDate = new Date(this.viewDate.getFullYear(), this.viewDate.getMonth() + 1, 1);\n    this.generateCalendar();\n    this.cdr.markForCheck();\n  }\n\n  selectDate(d: Date) {\n    if (this.disabled || this.isDisabled(d)) return;\n\n    this.value = d;\n    this.dateChange.emit(this.value);\n    this.isOpen = false;\n    this.cdr.markForCheck();\n  }\n\n  isToday(d: Date): boolean {\n    const today = new Date();\n    return (\n      d.getDate() === today.getDate() &&\n      d.getMonth() === today.getMonth() &&\n      d.getFullYear() === today.getFullYear()\n    );\n  }\n\n  isSelected(d: Date): boolean {\n    if (!this.value) return false;\n    return (\n      d.getDate() === this.value.getDate() &&\n      d.getMonth() === this.value.getMonth() &&\n      d.getFullYear() === this.value.getFullYear()\n    );\n  }\n\n  isDisabled(d: Date): boolean {\n    if (this.minDate && d < this.minDate) return true;\n    if (this.maxDate && d > this.maxDate) return true;\n    return false;\n  }\n\n  @HostListener('document:mousedown', ['$event.target'])\n  onClickOutside(target: EventTarget | null) {\n    if (this.isOpen && !this.el.nativeElement.contains(target as Node)) {\n      this.isOpen = false;\n      this.cdr.markForCheck();\n    }\n  }\n}\n","import {\n  Component,\n  Directive,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  signal,\n  inject,\n  OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// ─── Shared service to link trigger, menu, and items ──────────────────────────\n// We use a lightweight approach: the parent DropdownComponent holds state,\n// sub-components/directives receive it via injection.\n\n@Component({\n  selector: 'mayvio-dropdown',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<ng-content></ng-content>`,\n  host: { class: 'mv-dropdown', style: 'position:relative;display:inline-block' },\n})\nexport class DropdownComponent implements OnDestroy {\n  @Input() align: 'left' | 'center' | 'right' = 'left';\n\n  private _isOpen = signal(false);\n\n  get isOpen(): boolean {\n    return this._isOpen();\n  }\n\n  private cdr = inject(ChangeDetectorRef);\n\n  toggle() {\n    this._isOpen.update((v) => !v);\n    this.cdr.markForCheck();\n  }\n\n  close() {\n    this._isOpen.set(false);\n    this.cdr.markForCheck();\n  }\n\n  @HostListener('document:click')\n  onDocumentClick() {\n    // Handled separately via trigger interaction\n  }\n\n  ngOnDestroy() {}\n}\n\n// ─── Trigger Directive ────────────────────────────────────────────────────────\n@Directive({\n  selector: '[mvDropdownTrigger]',\n  standalone: true,\n  host: {\n    '[attr.aria-haspopup]': '\"menu\"',\n    '[attr.aria-expanded]': 'dropdown.isOpen',\n  },\n})\nexport class DropdownTriggerDirective {\n  dropdown = inject(DropdownComponent);\n\n  @HostListener('click', ['$event'])\n  onClick(event: MouseEvent) {\n    event.stopPropagation();\n    this.dropdown.toggle();\n  }\n\n  @HostListener('document:click')\n  onDocumentClick() {\n    if (this.dropdown.isOpen) {\n      this.dropdown.close();\n    }\n  }\n}\n\n// ─── Menu Component ───────────────────────────────────────────────────────────\n@Component({\n  selector: 'mayvio-dropdown-menu',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      class=\"mv-dropdown-menu\"\n      [ngClass]=\"{\n        'mv-dropdown-menu--open': dropdown.isOpen,\n        'mv-dropdown-menu--right': dropdown.align === 'right',\n        'mv-dropdown-menu--center': dropdown.align === 'center',\n      }\"\n      role=\"menu\"\n      [attr.aria-hidden]=\"!dropdown.isOpen\"\n    >\n      <ng-content></ng-content>\n    </div>\n  `,\n})\nexport class DropdownMenuComponent {\n  dropdown = inject(DropdownComponent);\n}\n\n// ─── Item Component ───────────────────────────────────────────────────────────\n@Component({\n  selector: 'mayvio-dropdown-item',\n  standalone: true,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <button\n      type=\"button\"\n      class=\"mv-dropdown-item\"\n      [class.mv-dropdown-item--disabled]=\"disabled\"\n      role=\"menuitem\"\n      [disabled]=\"disabled\"\n      (click)=\"onItemClick($event)\"\n    >\n      <ng-content></ng-content>\n    </button>\n  `,\n})\nexport class DropdownItemComponent {\n  @Input() disabled = false;\n  @Output() itemClick = new EventEmitter<void>();\n\n  private dropdown = inject(DropdownComponent);\n\n  onItemClick(event: MouseEvent) {\n    if (this.disabled) return;\n    event.stopPropagation();\n    this.itemClick.emit();\n    this.dropdown.close();\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  ElementRef,\n  ViewChild,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport 'mayvio-ui/fileupload/css';\n\n@Component({\n  selector: 'mv-fileupload',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-fileupload\" [class]=\"className\">\n      <div\n        class=\"mv-fileupload-dropzone\"\n        [class.mv-fileupload-dropzone--drag-active]=\"isDragActive\"\n        [class.mv-fileupload-dropzone--disabled]=\"disabled\"\n        (dragover)=\"onDragOver($event)\"\n        (dragleave)=\"onDragLeave($event)\"\n        (drop)=\"onDrop($event)\"\n        (click)=\"fileInput.click()\"\n      >\n        <svg\n          class=\"mv-fileupload-icon\"\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 24 24\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        >\n          <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path>\n          <polyline points=\"17 8 12 3 7 8\"></polyline>\n          <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"></line>\n        </svg>\n        <div class=\"mv-fileupload-text\">{{ label }}</div>\n        <div class=\"mv-fileupload-hint\" *ngIf=\"hint\">{{ hint }}</div>\n\n        <input\n          #fileInput\n          type=\"file\"\n          class=\"mv-fileupload-input\"\n          [multiple]=\"multiple\"\n          [accept]=\"accept || '*'\"\n          [disabled]=\"disabled\"\n          (change)=\"onFileInputChange($event)\"\n        />\n      </div>\n\n      <div class=\"mv-fileupload-list\" *ngIf=\"files.length > 0\">\n        <div *ngFor=\"let file of files; let i = index\" class=\"mv-fileupload-item\">\n          <div class=\"mv-fileupload-item-info\">\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              style=\"color: var(--mv-color-text-muted); flex-shrink: 0;\"\n            >\n              <path d=\"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"></path>\n              <polyline points=\"13 2 13 9 20 9\"></polyline>\n            </svg>\n            <span class=\"mv-fileupload-item-name\">{{ file.name }}</span>\n            <span class=\"mv-fileupload-item-size\">{{ formatSize(file.size) }}</span>\n          </div>\n          <button\n            type=\"button\"\n            class=\"mv-fileupload-item-remove\"\n            [attr.aria-label]=\"'Remove ' + file.name\"\n            (click)=\"removeFile(i)\"\n            [disabled]=\"disabled\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            >\n              <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n              <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n            </svg>\n          </button>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class FileUploadComponent {\n  @Input() multiple = false;\n  @Input() accept?: string;\n  @Input() maxSize?: number;\n  @Input() disabled = false;\n  @Input() label = 'Drag and drop files here or click to browse';\n  @Input() hint = 'Max file size: 5MB';\n  @Input() className = '';\n\n  @Output() fileChange = new EventEmitter<File[]>();\n\n  @ViewChild('fileInput') fileInputRef!: ElementRef<HTMLInputElement>;\n\n  files: File[] = [];\n  isDragActive = false;\n  private cdr = inject(ChangeDetectorRef);\n\n  onDragOver(e: DragEvent) {\n    e.preventDefault();\n    if (!this.disabled) {\n      this.isDragActive = true;\n      this.cdr.markForCheck();\n    }\n  }\n\n  onDragLeave(e: DragEvent) {\n    e.preventDefault();\n    this.isDragActive = false;\n    this.cdr.markForCheck();\n  }\n\n  onDrop(e: DragEvent) {\n    e.preventDefault();\n    this.isDragActive = false;\n    if (this.disabled) return;\n\n    if (e.dataTransfer?.files && e.dataTransfer.files.length > 0) {\n      this.handleFiles(e.dataTransfer.files);\n    }\n    this.cdr.markForCheck();\n  }\n\n  onFileInputChange(e: Event) {\n    const target = e.target as HTMLInputElement;\n    if (target.files && target.files.length > 0) {\n      this.handleFiles(target.files);\n    }\n    if (this.fileInputRef?.nativeElement) {\n      this.fileInputRef.nativeElement.value = '';\n    }\n  }\n\n  handleFiles(fileList: FileList) {\n    let validFiles = Array.from(fileList);\n\n    if (this.maxSize) {\n      validFiles = validFiles.filter((f) => f.size <= this.maxSize!);\n    }\n\n    if (!this.multiple && validFiles.length > 0) {\n      validFiles = [validFiles[0]];\n    }\n\n    this.files = this.multiple ? [...this.files, ...validFiles] : validFiles;\n    this.fileChange.emit(this.files);\n    this.cdr.markForCheck();\n  }\n\n  removeFile(index: number) {\n    this.files.splice(index, 1);\n    this.files = [...this.files];\n    this.fileChange.emit(this.files);\n    this.cdr.markForCheck();\n  }\n\n  formatSize(bytes: number): string {\n    if (bytes === 0) return '0 B';\n    const k = 1024;\n    const sizes = ['B', 'KB', 'MB', 'GB'];\n    const i = Math.floor(Math.log(bytes) / Math.log(k));\n    return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n  selector: 'mayvio-modal',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      class=\"mv-modal-overlay\"\n      [class.mv-modal-overlay--open]=\"isOpen\"\n      [attr.aria-hidden]=\"!isOpen\"\n      (click)=\"onOverlayClick()\"\n      #overlay\n    >\n      <div\n        class=\"mv-modal\"\n        [ngClass]=\"'mv-modal--' + size + ' ' + className\"\n        role=\"dialog\"\n        aria-modal=\"true\"\n        (click)=\"$event.stopPropagation()\"\n      >\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `,\n})\nexport class ModalComponent {\n  @Input() isOpen = false;\n  @Input() size: 'sm' | 'md' | 'lg' | 'full' = 'md';\n  @Input() className = '';\n  @Input() closeOnOutsideClick = true;\n  @Input() closeOnEscape = true;\n\n  @Output() onClose = new EventEmitter<void>();\n\n  @HostListener('document:keydown.escape')\n  handleEscape() {\n    if (this.isOpen && this.closeOnEscape) {\n      this.onClose.emit();\n    }\n  }\n\n  onOverlayClick() {\n    if (this.closeOnOutsideClick) {\n      this.onClose.emit();\n    }\n  }\n}\n\n@Component({\n  selector: 'mayvio-modal-header',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-modal-header\" [ngClass]=\"className\">\n      <div class=\"mv-modal-title\">\n        <ng-content></ng-content>\n      </div>\n      <button\n        *ngIf=\"showCloseButton\"\n        type=\"button\"\n        class=\"mv-modal-close\"\n        aria-label=\"Close modal\"\n        (click)=\"closeModal()\"\n      >\n        <svg\n          width=\"15\"\n          height=\"15\"\n          viewBox=\"0 0 15 15\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\"\n            fill=\"currentColor\"\n            fill-rule=\"evenodd\"\n            clip-rule=\"evenodd\"\n          ></path>\n        </svg>\n      </button>\n    </div>\n  `,\n})\nexport class ModalHeaderComponent {\n  @Input() showCloseButton = true;\n  @Input() className = '';\n\n  // Inject parent ModalComponent to trigger its close emitter\n  private parentModal = inject(ModalComponent, { optional: true });\n\n  closeModal() {\n    if (this.parentModal) {\n      this.parentModal.onClose.emit();\n    }\n  }\n}\n\n@Component({\n  selector: 'mayvio-modal-body',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-modal-body\" [ngClass]=\"className\">\n      <ng-content></ng-content>\n    </div>\n  `,\n})\nexport class ModalBodyComponent {\n  @Input() className = '';\n}\n\n@Component({\n  selector: 'mayvio-modal-footer',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-modal-footer\" [ngClass]=\"className\">\n      <ng-content></ng-content>\n    </div>\n  `,\n})\nexport class ModalFooterComponent {\n  @Input() className = '';\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  inject,\n  OnInit,\n  PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\n\n@Component({\n  selector: 'mayvio-theme-toggle',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <button\n      type=\"button\"\n      class=\"mv-theme-toggle\"\n      [ngClass]=\"className\"\n      [attr.aria-label]=\"isDark ? 'Switch to light mode' : 'Switch to dark mode'\"\n      (click)=\"toggleTheme()\"\n    >\n      <svg\n        class=\"mv-theme-toggle__icon mv-theme-toggle__icon--sun\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n        stroke-linejoin=\"round\"\n        aria-hidden=\"true\"\n      >\n        <circle cx=\"12\" cy=\"12\" r=\"5\" />\n        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n      </svg>\n      <svg\n        class=\"mv-theme-toggle__icon mv-theme-toggle__icon--moon\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n        stroke-linejoin=\"round\"\n        aria-hidden=\"true\"\n      >\n        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n      </svg>\n    </button>\n  `,\n})\nexport class ThemeToggleComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n  private platformId = inject(PLATFORM_ID);\n\n  @Input() className = '';\n\n  private _theme?: 'light' | 'dark';\n  @Input()\n  set theme(value: 'light' | 'dark' | undefined) {\n    this._theme = value;\n    this.cdr.markForCheck();\n  }\n  get theme(): 'light' | 'dark' | undefined {\n    return this._theme;\n  }\n\n  @Output() themeToggled = new EventEmitter<void>();\n\n  private internalTheme: 'light' | 'dark' = 'light';\n\n  get isDark(): boolean {\n    return (this.theme || this.internalTheme) === 'dark';\n  }\n\n  ngOnInit() {\n    if (this.theme === undefined && isPlatformBrowser(this.platformId)) {\n      const isDark = document.documentElement.classList.contains('dark');\n      this.internalTheme = isDark ? 'dark' : 'light';\n      this.cdr.markForCheck();\n    }\n  }\n\n  toggleTheme() {\n    if (this.themeToggled.observed) {\n      this.themeToggled.emit();\n    } else {\n      if (isPlatformBrowser(this.platformId)) {\n        const root = document.documentElement;\n        if (root.classList.contains('dark')) {\n          root.classList.remove('dark');\n          this.internalTheme = 'light';\n        } else {\n          root.classList.add('dark');\n          this.internalTheme = 'dark';\n        }\n        this.cdr.markForCheck();\n      }\n    }\n  }\n}\n","import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\n\n@Component({\n  selector: 'mv-skeleton',\n  standalone: true,\n  template: `\n    <div\n      [class]=\"hostClass()\"\n      [style.width]=\"hostWidth()\"\n      [style.height]=\"hostHeight()\"\n      aria-busy=\"true\"\n    ></div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonComponent implements OnChanges {\n  @Input() variant: 'text' | 'circle' | 'rect' = 'text';\n  @Input() animation: 'shimmer' | 'pulse' | 'wave' | 'none' = 'shimmer';\n  @Input() width?: string | number;\n  @Input() height?: string | number;\n\n  readonly _variant = signal<'text' | 'circle' | 'rect'>('text');\n  readonly _animation = signal<'shimmer' | 'pulse' | 'wave' | 'none'>('shimmer');\n  readonly _width = signal<string | number | undefined>(undefined);\n  readonly _height = signal<string | number | undefined>(undefined);\n\n  ngOnChanges(): void {\n    this._variant.set(this.variant);\n    this._animation.set(this.animation);\n    this._width.set(this.width);\n    this._height.set(this.height);\n  }\n\n  readonly hostClass = computed(() => {\n    const classes = ['mv-skeleton', `mv-skeleton--${this._variant()}`];\n    if (this._animation() !== 'none') {\n      classes.push(`mv-skeleton--${this._animation()}`);\n    }\n    return classes.join(' ');\n  });\n\n  private formatSize(val?: string | number): string {\n    if (val === undefined || val === null) return '';\n    if (typeof val === 'number') return `${val}px`;\n    return val;\n  }\n\n  readonly hostWidth = computed(() => this.formatSize(this._width()));\n  readonly hostHeight = computed(() => this.formatSize(this._height()));\n}\n","import { Injectable, signal } from '@angular/core';\n\nexport interface ToastItem {\n  id: string;\n  title?: string;\n  message: string;\n  type: 'success' | 'error' | 'warning' | 'info';\n  duration: number;\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ToastService {\n  readonly toasts = signal<ToastItem[]>([]);\n\n  show(message: string, title?: string, type: ToastItem['type'] = 'info', duration = 3000): string {\n    const id = Math.random().toString(36).substring(2, 9);\n    const newToast: ToastItem = { id, message, title, type, duration };\n\n    this.toasts.update((current) => [...current, newToast]);\n\n    if (duration > 0) {\n      setTimeout(() => {\n        this.dismiss(id);\n      }, duration);\n    }\n\n    return id;\n  }\n\n  success(message: string, title?: string, duration?: number): string {\n    return this.show(message, title, 'success', duration);\n  }\n\n  error(message: string, title?: string, duration?: number): string {\n    return this.show(message, title, 'error', duration);\n  }\n\n  warning(message: string, title?: string, duration?: number): string {\n    return this.show(message, title, 'warning', duration);\n  }\n\n  info(message: string, title?: string, duration?: number): string {\n    return this.show(message, title, 'info', duration);\n  }\n\n  dismiss(id: string): void {\n    this.toasts.update((current) => current.filter((t) => t.id !== id));\n  }\n}\n","import { Component, Input, ChangeDetectionStrategy, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastService } from './toast.service';\n\n@Component({\n  selector: 'mv-toast-container',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div class=\"mv-toast-container\" [class]=\"containerClass()\">\n      <div\n        *ngFor=\"let item of service.toasts()\"\n        [class]=\"'mv-toast mv-toast--' + item.type\"\n        role=\"alert\"\n        aria-live=\"assertive\"\n        aria-atomic=\"true\"\n      >\n        <div class=\"mv-toast__content\">\n          <div *ngIf=\"item.title\" class=\"mv-toast__title\">{{ item.title }}</div>\n          <div class=\"mv-toast__message\">{{ item.message }}</div>\n        </div>\n        <button\n          type=\"button\"\n          class=\"mv-toast__close\"\n          (click)=\"service.dismiss(item.id)\"\n          aria-label=\"Dismiss toast\"\n        >\n          ✕\n        </button>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastComponent {\n  @Input() placement: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'top-right';\n\n  readonly service = inject(ToastService);\n\n  containerClass(): string {\n    return `mv-toast-container--${this.placement}`;\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  signal,\n  ChangeDetectorRef,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport interface AccordionItem {\n  id: string;\n  title: string;\n  content: string;\n  disabled?: boolean;\n}\n\n@Component({\n  selector: 'mayvio-accordion',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-accordion\" [ngClass]=\"className\">\n      <div *ngFor=\"let item of items; let i = index\" class=\"mv-accordion__item\">\n        <h3 class=\"mv-accordion__header\">\n          <button\n            type=\"button\"\n            [id]=\"'accordion-header-' + item.id\"\n            class=\"mv-accordion__trigger\"\n            [attr.aria-expanded]=\"isExpanded(item.id)\"\n            [attr.aria-controls]=\"'accordion-content-' + item.id\"\n            [disabled]=\"item.disabled\"\n            (click)=\"toggleItem(item.id)\"\n          >\n            {{ item.title }}\n            <svg\n              class=\"mv-accordion__icon\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <polyline points=\"6 9 12 15 18 9\"></polyline>\n            </svg>\n          </button>\n        </h3>\n        <div\n          [id]=\"'accordion-content-' + item.id\"\n          role=\"region\"\n          [attr.aria-labelledby]=\"'accordion-header-' + item.id\"\n          class=\"mv-accordion__content\"\n          [hidden]=\"!isExpanded(item.id)\"\n        >\n          <div class=\"mv-accordion__content-inner\">\n            {{ item.content }}\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class AccordionComponent {\n  private cdr = inject(ChangeDetectorRef);\n\n  @Input() items: AccordionItem[] = [];\n  @Input() allowMultiple = false;\n  @Input() className = '';\n\n  private internalExpandedIds = signal<string[]>([]);\n  private _expandedIds?: string[];\n\n  @Input()\n  set expandedIds(val: string[] | undefined) {\n    this._expandedIds = val;\n    this.cdr.markForCheck();\n  }\n\n  get expandedIds(): string[] | undefined {\n    return this._expandedIds;\n  }\n\n  @Input()\n  set defaultExpandedIds(val: string[]) {\n    this.internalExpandedIds.set([...val]);\n  }\n\n  @Output() expandedChange = new EventEmitter<string[]>();\n\n  get currentExpandedIds(): string[] {\n    return this._expandedIds !== undefined ? this._expandedIds : this.internalExpandedIds();\n  }\n\n  isExpanded(id: string): boolean {\n    return this.currentExpandedIds.includes(id);\n  }\n\n  toggleItem(id: string): void {\n    const item = this.items.find((i) => i.id === id);\n    if (item?.disabled) return;\n\n    let nextExpandedIds: string[];\n    const isExpanded = this.isExpanded(id);\n\n    if (this.allowMultiple) {\n      if (isExpanded) {\n        nextExpandedIds = this.currentExpandedIds.filter((item) => item !== id);\n      } else {\n        nextExpandedIds = [...this.currentExpandedIds, id];\n      }\n    } else {\n      if (isExpanded) {\n        nextExpandedIds = [];\n      } else {\n        nextExpandedIds = [id];\n      }\n    }\n\n    if (this._expandedIds === undefined) {\n      this.internalExpandedIds.set(nextExpandedIds);\n    }\n\n    this.expandedChange.emit(nextExpandedIds);\n    this.cdr.markForCheck();\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ContentChildren,\n  QueryList,\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  OnDestroy,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nlet nextId = 0;\n\n@Component({\n  selector: 'mv-tab',\n  standalone: true,\n  template: `\n    <div\n      role=\"tabpanel\"\n      [attr.id]=\"'mv-tab-panel-' + id\"\n      [attr.aria-labelledby]=\"'mv-tab-' + id\"\n      class=\"mv-tabs__panel\"\n      [class.mv-tabs__panel--hidden]=\"!active\"\n      [hidden]=\"!active\"\n    >\n      <ng-content></ng-content>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabComponent {\n  @Input() label: string = '';\n  @Input() id: string = `tab-${nextId++}`;\n  @Input() disabled: boolean = false;\n\n  active: boolean = false;\n\n  public cdr = inject(ChangeDetectorRef);\n}\n\n@Component({\n  selector: 'mv-tabs',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div class=\"mv-tabs\" [class]=\"hostClass\">\n      <div class=\"mv-tabs__list\" role=\"tablist\">\n        <button\n          *ngFor=\"let tab of tabs\"\n          type=\"button\"\n          role=\"tab\"\n          [attr.id]=\"'mv-tab-' + tab.id\"\n          [attr.aria-selected]=\"tab.active\"\n          [attr.aria-controls]=\"'mv-tab-panel-' + tab.id\"\n          class=\"mv-tabs__tab\"\n          [class.mv-tabs__tab--active]=\"tab.active\"\n          [class.mv-tabs__tab--disabled]=\"tab.disabled\"\n          [disabled]=\"tab.disabled\"\n          (click)=\"selectTab(tab)\"\n        >\n          {{ tab.label }}\n        </button>\n      </div>\n      <ng-content></ng-content>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsComponent implements AfterContentInit, OnDestroy {\n  @Input() activeId?: string;\n  @Input() hostClass = '';\n\n  @Output() activeIdChange = new EventEmitter<string>();\n\n  @ContentChildren(TabComponent) tabs!: QueryList<TabComponent>;\n\n  private destroy$ = new Subject<void>();\n  private cdr = inject(ChangeDetectorRef);\n\n  ngAfterContentInit(): void {\n    this.tabs.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.updateActiveTab();\n    });\n    this.updateActiveTab();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  ngOnChanges(): void {\n    if (this.tabs) {\n      this.updateActiveTab();\n    }\n  }\n\n  selectTab(tab: TabComponent): void {\n    if (tab.disabled || tab.active) {\n      return;\n    }\n\n    this.tabs.toArray().forEach((t) => {\n      t.active = false;\n      t.cdr.markForCheck();\n    });\n\n    tab.active = true;\n    tab.cdr.markForCheck();\n\n    this.activeIdChange.emit(tab.id);\n  }\n\n  private updateActiveTab(): void {\n    const tabsArray = this.tabs.toArray();\n    if (!tabsArray.length) return;\n\n    let tabToActivate = tabsArray.find((t) => t.id === this.activeId);\n\n    // If no activeId is provided or found, activate the first non-disabled tab\n    if (!tabToActivate) {\n      const activeTab = tabsArray.find((t) => t.active);\n      if (activeTab) {\n        tabToActivate = activeTab;\n      } else {\n        tabToActivate = tabsArray.find((t) => !t.disabled);\n      }\n    }\n\n    if (tabToActivate) {\n      this.selectTab(tabToActivate);\n    }\n  }\n}\n","import {\n  Directive,\n  Input,\n  ElementRef,\n  Renderer2,\n  OnInit,\n  OnDestroy,\n  HostListener,\n  inject,\n} from '@angular/core';\n\n@Directive({\n  selector: '[mvTooltip]',\n  standalone: true,\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n  @Input('mvTooltip') content = '';\n  @Input() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n  @Input() delay = 0;\n\n  private tooltipEl!: HTMLElement;\n  private id = `mv-tooltip-${Math.random().toString(36).substr(2, 9)}`;\n  private timer: ReturnType<typeof setTimeout> | null = null;\n\n  private el = inject(ElementRef);\n  private renderer = inject(Renderer2);\n\n  constructor() {}\n\n  ngOnInit(): void {\n    // Set up host attributes\n    this.renderer.setAttribute(this.el.nativeElement, 'aria-describedby', this.id);\n    this.createTooltip();\n  }\n\n  ngOnDestroy(): void {\n    if (this.timer) clearTimeout(this.timer);\n    if (this.tooltipEl && this.tooltipEl.parentNode) {\n      this.tooltipEl.parentNode.removeChild(this.tooltipEl);\n    }\n  }\n\n  private createTooltip(): void {\n    this.tooltipEl = this.renderer.createElement('div');\n    this.renderer.setAttribute(this.tooltipEl, 'id', this.id);\n    this.renderer.setAttribute(this.tooltipEl, 'role', 'tooltip');\n\n    // Add base classes\n    this.renderer.addClass(this.tooltipEl, 'mv-tooltip');\n    this.renderer.addClass(this.tooltipEl, `mv-tooltip--${this.placement}`);\n\n    const text = this.renderer.createText(this.content);\n    this.renderer.appendChild(this.tooltipEl, text);\n\n    // Append to body or parent (we append next to host element or container)\n    const parent = this.el.nativeElement.parentNode;\n    if (parent) {\n      this.renderer.appendChild(parent, this.tooltipEl);\n    }\n  }\n\n  @HostListener('mouseenter')\n  @HostListener('focus')\n  show(): void {\n    if (this.timer) clearTimeout(this.timer);\n    if (this.delay > 0) {\n      this.timer = setTimeout(() => this.setVisible(true), this.delay);\n    } else {\n      this.setVisible(true);\n    }\n  }\n\n  @HostListener('mouseleave')\n  @HostListener('blur')\n  hide(): void {\n    if (this.timer) clearTimeout(this.timer);\n    this.setVisible(false);\n  }\n\n  private setVisible(visible: boolean): void {\n    if (visible) {\n      this.renderer.addClass(this.tooltipEl, 'mv-tooltip--visible');\n    } else {\n      this.renderer.removeClass(this.tooltipEl, 'mv-tooltip--visible');\n    }\n  }\n}\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n  selector: 'mv-badge',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <span [ngClass]=\"classes\">\n      <ng-content></ng-content>\n    </span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent {\n  @Input() variant: 'success' | 'error' | 'warning' | 'info' = 'info';\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() dot = false;\n  @Input() outline = false;\n\n  get classes() {\n    return {\n      'mv-badge': true,\n      [`mv-badge--${this.variant}`]: true,\n      [`mv-badge--${this.size}`]: true,\n      'mv-badge--dot': this.dot,\n      'mv-badge--outline': this.outline,\n    };\n  }\n}\n","import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n  selector: 'mv-avatar',\n  standalone: true,\n  imports: [NgIf],\n  template: `\n    <span [class]=\"hostClass()\">\n      <img *ngIf=\"_src()\" class=\"mv-avatar__image\" [src]=\"_src()\" [attr.alt]=\"_alt()\" />\n      <span *ngIf=\"!_src() && _initials()\" class=\"mv-avatar__initials\" aria-hidden=\"true\">{{\n        _initials()\n      }}</span>\n    </span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AvatarComponent implements OnChanges {\n  @Input() src = '';\n  @Input() alt = '';\n  @Input() initials = '';\n  @Input() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n  @Input() shape: 'circle' | 'square' = 'circle';\n  @Input() status: 'online' | 'offline' | 'busy' | '' = '';\n\n  readonly _src = signal('');\n  readonly _alt = signal('');\n  readonly _initials = signal('');\n  readonly _size = signal<'sm' | 'md' | 'lg' | 'xl'>('md');\n  readonly _shape = signal<'circle' | 'square'>('circle');\n  readonly _status = signal<'online' | 'offline' | 'busy' | ''>('');\n\n  ngOnChanges(): void {\n    this._src.set(this.src);\n    this._alt.set(this.alt);\n    this._initials.set(this.initials);\n    this._size.set(this.size);\n    this._shape.set(this.shape);\n    this._status.set(this.status);\n  }\n\n  readonly hostClass = computed(() => {\n    const classes = ['mv-avatar', `mv-avatar--${this._size()}`];\n    if (this._shape() === 'square') classes.push('mv-avatar--square');\n    if (this._status()) classes.push(`mv-avatar--${this._status()}`);\n    return classes.join(' ');\n  });\n}\n\n@Component({\n  selector: 'mv-avatar-group',\n  standalone: true,\n  template: `\n    <div [class]=\"hostClass()\">\n      <ng-content></ng-content>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AvatarGroupComponent {\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() limit?: number;\n\n  readonly hostClass = computed(() =>\n    ['mv-avatar-group', `mv-avatar-group--${this.size}`].join(' ')\n  );\n}\n","import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\n\n@Component({\n  selector: 'mv-progress-bar',\n  standalone: true,\n  template: `\n    <div\n      [class]=\"hostClass()\"\n      role=\"progressbar\"\n      [attr.aria-valuemin]=\"0\"\n      [attr.aria-valuemax]=\"_max()\"\n      [attr.aria-valuenow]=\"ariaValueNow()\"\n    >\n      <div\n        [class]=\"\n          _indeterminate()\n            ? 'mv-progress-bar__track mv-progress-bar__track--indeterminate'\n            : 'mv-progress-bar__track'\n        \"\n      >\n        <div class=\"mv-progress-bar__fill\" [style.width]=\"fillWidth()\"></div>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressBarComponent implements OnChanges {\n  @Input() value = 0;\n  @Input() max = 100;\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() indeterminate = false;\n\n  readonly _value = signal<number>(0);\n  readonly _max = signal<number>(100);\n  readonly _size = signal<'sm' | 'md' | 'lg'>('md');\n  readonly _indeterminate = signal<boolean>(false);\n\n  ngOnChanges(): void {\n    this._value.set(this.value);\n    this._max.set(this.max);\n    this._size.set(this.size);\n    this._indeterminate.set(this.indeterminate);\n  }\n\n  readonly hostClass = computed(() => {\n    return `mv-progress-bar mv-progress-bar--${this._size()}`;\n  });\n\n  readonly percentage = computed(() => {\n    if (this._indeterminate()) return undefined;\n    const val = this._value();\n    const maxVal = this._max();\n    return Math.min(100, Math.max(0, (val / maxVal) * 100));\n  });\n\n  readonly fillWidth = computed(() => {\n    const pct = this.percentage();\n    return pct !== undefined ? `${pct}%` : undefined;\n  });\n\n  readonly ariaValueNow = computed(() => {\n    const pct = this.percentage();\n    return pct !== undefined ? this._value() : undefined;\n  });\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n  selector: 'mv-alert',\n  standalone: true,\n  imports: [NgIf],\n  template: `\n    <div *ngIf=\"visible()\" [class]=\"hostClass()\" role=\"alert\">\n      <span class=\"mv-alert__icon\" aria-hidden=\"true\">{{ icon() }}</span>\n      <div class=\"mv-alert__content\">\n        <div *ngIf=\"title\" class=\"mv-alert__title\">{{ title }}</div>\n        <div class=\"mv-alert__message\">\n          <ng-content></ng-content>\n        </div>\n      </div>\n      <button\n        *ngIf=\"dismissible\"\n        class=\"mv-alert__close\"\n        aria-label=\"Dismiss alert\"\n        (click)=\"dismiss()\"\n      >\n        ✕\n      </button>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertComponent {\n  @Input() variant: 'success' | 'error' | 'warning' | 'info' = 'info';\n  @Input() title = '';\n  @Input() dismissible = false;\n  @Output() dismissed = new EventEmitter<void>();\n\n  readonly visible = signal(true);\n  readonly dismissing = signal(false);\n\n  readonly hostClass = computed(() => {\n    const classes = ['mv-alert', `mv-alert--${this.variant}`];\n    if (this.dismissing()) classes.push('mv-alert--dismissing');\n    return classes.join(' ');\n  });\n\n  readonly icon = computed(() => {\n    const icons: Record<string, string> = {\n      success: '✓',\n      error: '✕',\n      warning: '⚠',\n      info: 'ℹ',\n    };\n    return icons[this.variant] ?? 'ℹ';\n  });\n\n  dismiss(): void {\n    this.dismissing.set(true);\n    setTimeout(() => {\n      this.visible.set(false);\n      this.dismissed.emit();\n    }, 250);\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  HostListener,\n  OnInit,\n  OnChanges,\n  SimpleChanges,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { CommandPaletteItemConfig } from 'mayvio-ui/commandpalette';\nimport 'mayvio-ui/commandpalette/css';\n\n@Component({\n  selector: 'mv-commandpalette',\n  standalone: true,\n  imports: [CommonModule, FormsModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      *ngIf=\"isOpen\"\n      class=\"mv-commandpalette-overlay mv-commandpalette-overlay--open\"\n      (click)=\"closePalette()\"\n    >\n      <div\n        class=\"mv-commandpalette\"\n        [class]=\"className\"\n        role=\"dialog\"\n        aria-modal=\"true\"\n        aria-label=\"Command Palette\"\n        (click)=\"$event.stopPropagation()\"\n      >\n        <div class=\"mv-commandpalette-search-wrapper\">\n          <svg\n            class=\"mv-commandpalette-icon\"\n            width=\"20\"\n            height=\"20\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          >\n            <circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n            <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>\n          </svg>\n          <input\n            type=\"text\"\n            class=\"mv-commandpalette-input\"\n            [placeholder]=\"placeholder\"\n            [ngModel]=\"search\"\n            (ngModelChange)=\"onSearchChange($event)\"\n            (keydown)=\"onKeyDown($event)\"\n            #searchInput\n          />\n          <button\n            *ngIf=\"search\"\n            class=\"mv-commandpalette-icon\"\n            style=\"background: none; border: none; cursor: pointer\"\n            (click)=\"onSearchChange('')\"\n            aria-label=\"Clear search\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            >\n              <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n              <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n            </svg>\n          </button>\n        </div>\n\n        <div class=\"mv-commandpalette-list\" role=\"listbox\">\n          <div *ngIf=\"flattenedList.length === 0\" class=\"mv-commandpalette-empty\">\n            {{ emptyText }}\n          </div>\n\n          <ng-container *ngFor=\"let group of groups\">\n            <div *ngIf=\"groupedCommands[group].length > 0\">\n              <div class=\"mv-commandpalette-group\" *ngIf=\"group\">{{ group }}</div>\n\n              <div\n                *ngFor=\"let cmd of groupedCommands[group]\"\n                class=\"mv-commandpalette-item\"\n                role=\"option\"\n                [attr.aria-selected]=\"isSelected(cmd)\"\n                (click)=\"selectCommand(cmd)\"\n                (mouseenter)=\"onMouseEnter(cmd)\"\n              >\n                <div class=\"mv-commandpalette-item-icon\">\n                  <svg\n                    width=\"16\"\n                    height=\"16\"\n                    viewBox=\"0 0 24 24\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    stroke-width=\"2\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                  >\n                    <polyline points=\"9 18 15 12 9 6\"></polyline>\n                  </svg>\n                </div>\n                <div style=\"flex-grow: 1\">{{ cmd.label }}</div>\n                <div *ngIf=\"cmd.shortcut\" style=\"display: flex; gap: 4px;\">\n                  <kbd\n                    *ngFor=\"let key of cmd.shortcut\"\n                    style=\"font-size: 0.75rem; padding: 2px 4px; background: var(--mv-color-bg-subtle); border-radius: var(--mv-radius-sm);\"\n                  >\n                    {{ key }}\n                  </kbd>\n                </div>\n              </div>\n            </div>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class CommandPaletteComponent implements OnInit, OnChanges {\n  @Input() isOpen = false;\n  @Input() commands: CommandPaletteItemConfig[] = [];\n  @Input() placeholder = 'Search commands...';\n  @Input() emptyText = 'No results found.';\n  @Input() className = '';\n\n  @Output() close = new EventEmitter<void>();\n  @Output() commandSelect = new EventEmitter<CommandPaletteItemConfig>();\n\n  search = '';\n  selectedIndex = 0;\n\n  filteredCommands: CommandPaletteItemConfig[] = [];\n  groupedCommands: Record<string, CommandPaletteItemConfig[]> = {};\n  groups: string[] = [];\n  flattenedList: CommandPaletteItemConfig[] = [];\n\n  private cdr = inject(ChangeDetectorRef);\n\n  ngOnInit() {\n    this.updateLists();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['commands'] || changes['isOpen']) {\n      if (changes['isOpen'] && this.isOpen) {\n        this.search = '';\n        this.selectedIndex = 0;\n        document.body.style.overflow = 'hidden';\n        setTimeout(() => {\n          const input = document.querySelector('.mv-commandpalette-input') as HTMLInputElement;\n          if (input) input.focus();\n        });\n      } else if (changes['isOpen'] && !this.isOpen) {\n        document.body.style.overflow = '';\n      }\n      this.updateLists();\n    }\n  }\n\n  @HostListener('window:keydown', ['$event'])\n  onGlobalKeyDown(e: KeyboardEvent) {\n    if (this.isOpen && e.key === 'Escape') {\n      this.closePalette();\n    }\n  }\n\n  closePalette() {\n    this.close.emit();\n  }\n\n  onSearchChange(val: string) {\n    this.search = val;\n    this.selectedIndex = 0;\n    this.updateLists();\n  }\n\n  updateLists() {\n    if (!this.search) {\n      this.filteredCommands = this.commands;\n    } else {\n      const q = this.search.toLowerCase();\n      this.filteredCommands = this.commands.filter((cmd) => cmd.label.toLowerCase().includes(q));\n    }\n\n    this.groupedCommands = { '': [] };\n    this.filteredCommands.forEach((cmd) => {\n      const g = cmd.group || '';\n      if (!this.groupedCommands[g]) this.groupedCommands[g] = [];\n      this.groupedCommands[g].push(cmd);\n    });\n\n    this.groups = Object.keys(this.groupedCommands).sort();\n\n    this.flattenedList = [];\n    this.groups.forEach((g) => {\n      this.flattenedList.push(...this.groupedCommands[g]);\n    });\n\n    this.cdr.markForCheck();\n  }\n\n  onKeyDown(e: KeyboardEvent) {\n    if (this.flattenedList.length === 0) return;\n\n    if (e.key === 'ArrowDown') {\n      e.preventDefault();\n      this.selectedIndex =\n        this.selectedIndex < this.flattenedList.length - 1 ? this.selectedIndex + 1 : 0;\n      this.cdr.markForCheck();\n    } else if (e.key === 'ArrowUp') {\n      e.preventDefault();\n      this.selectedIndex =\n        this.selectedIndex > 0 ? this.selectedIndex - 1 : this.flattenedList.length - 1;\n      this.cdr.markForCheck();\n    } else if (e.key === 'Enter') {\n      e.preventDefault();\n      this.selectCommand(this.flattenedList[this.selectedIndex]);\n    }\n  }\n\n  onMouseEnter(cmd: CommandPaletteItemConfig) {\n    const idx = this.flattenedList.findIndex((c) => c.id === cmd.id);\n    if (idx !== -1) {\n      this.selectedIndex = idx;\n      this.cdr.markForCheck();\n    }\n  }\n\n  isSelected(cmd: CommandPaletteItemConfig): boolean {\n    return this.flattenedList[this.selectedIndex]?.id === cmd.id;\n  }\n\n  selectCommand(cmd: CommandPaletteItemConfig) {\n    this.commandSelect.emit(cmd);\n    this.closePalette();\n  }\n}\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarLinkConfig } from 'mayvio-ui/sidebar';\nimport 'mayvio-ui/sidebar/css';\n\n@Component({\n  selector: 'mv-sidebar',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      class=\"mv-sidebar-overlay\"\n      [class.mv-sidebar-overlay--mobile-open]=\"mobileOpen\"\n      (click)=\"closeMobile()\"\n      aria-hidden=\"true\"\n    ></div>\n\n    <aside\n      class=\"mv-sidebar\"\n      [class.mv-sidebar--collapsed]=\"collapsed\"\n      [class.mv-sidebar--mobile-open]=\"mobileOpen\"\n      [class]=\"className\"\n    >\n      <div class=\"mv-sidebar-header\">\n        <div class=\"mv-sidebar-logo\">{{ title }}</div>\n        <button\n          type=\"button\"\n          class=\"mv-sidebar-toggle\"\n          (click)=\"toggleCollapse()\"\n          [attr.aria-label]=\"collapsed ? 'Expand sidebar' : 'Collapse sidebar'\"\n        >\n          <svg\n            width=\"20\"\n            height=\"20\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          >\n            <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n            <line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>\n          </svg>\n        </button>\n      </div>\n\n      <div class=\"mv-sidebar-content\">\n        <ul class=\"mv-sidebar-nav\">\n          <li *ngFor=\"let link of links\" class=\"mv-sidebar-item\">\n            <a\n              [href]=\"link.href || '#'\"\n              class=\"mv-sidebar-link\"\n              [class.mv-sidebar-link--active]=\"link.active\"\n              (click)=\"onLinkClick($event, link)\"\n            >\n              <div class=\"mv-sidebar-icon\">\n                <!-- Default placeholder icon -->\n                <svg\n                  width=\"20\"\n                  height=\"20\"\n                  viewBox=\"0 0 24 24\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                >\n                  <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n                  <path\n                    d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"\n                  ></path>\n                </svg>\n              </div>\n              <span class=\"mv-sidebar-label\">{{ link.label }}</span>\n            </a>\n          </li>\n        </ul>\n      </div>\n    </aside>\n  `,\n})\nexport class SidebarComponent {\n  @Input() title = 'Mayvio UI';\n  @Input() links: SidebarLinkConfig[] = [];\n  @Input() collapsed = false;\n  @Input() mobileOpen = false;\n  @Input() className = '';\n\n  @Output() linkSelect = new EventEmitter<SidebarLinkConfig>();\n  @Output() toggleCollapseEvent = new EventEmitter<boolean>();\n  @Output() mobileCloseEvent = new EventEmitter<void>();\n\n  toggleCollapse() {\n    this.toggleCollapseEvent.emit(!this.collapsed);\n  }\n\n  closeMobile() {\n    this.mobileCloseEvent.emit();\n  }\n\n  onLinkClick(e: Event, link: SidebarLinkConfig) {\n    if (!link.href) {\n      e.preventDefault();\n    }\n    this.linkSelect.emit(link);\n    if (this.mobileOpen) {\n      this.closeMobile();\n    }\n  }\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  HostListener,\n  ElementRef,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NotificationItemConfig } from 'mayvio-ui/notificationcenter';\nimport 'mayvio-ui/notificationcenter/css';\n\n@Component({\n  selector: 'mv-notification-center',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      class=\"mv-notification\"\n      [class.mv-notification--open]=\"isOpen\"\n      [class]=\"className\"\n      style=\"position: relative; display: inline-block\"\n    >\n      <button\n        type=\"button\"\n        class=\"mv-notification-trigger\"\n        (click)=\"toggleOpen()\"\n        aria-label=\"Notifications\"\n        [attr.aria-expanded]=\"isOpen\"\n      >\n        <svg\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 24 24\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        >\n          <path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\"></path>\n          <path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path>\n        </svg>\n        <span class=\"mv-notification-badge\" *ngIf=\"unreadCount > 0\">{{ unreadCount }}</span>\n      </button>\n\n      <div class=\"mv-notification-popup\" role=\"dialog\" [attr.aria-label]=\"title\" *ngIf=\"isOpen\">\n        <div class=\"mv-notification-header\">\n          <h3 class=\"mv-notification-title\">{{ title }}</h3>\n          <button\n            type=\"button\"\n            class=\"mv-notification-mark-all\"\n            *ngIf=\"unreadCount > 0\"\n            (click)=\"markAllAsRead.emit()\"\n          >\n            {{ markAllText }}\n          </button>\n        </div>\n        <div class=\"mv-notification-list\">\n          <div class=\"mv-notification-empty\" *ngIf=\"notifications.length === 0\">\n            {{ emptyText }}\n          </div>\n\n          <div\n            *ngFor=\"let n of notifications; let i = index\"\n            class=\"mv-notification-item\"\n            [class.mv-notification-item--unread]=\"n.unread\"\n          >\n            <div\n              class=\"mv-notification-item-icon\"\n              [ngClass]=\"'mv-notification-item-icon--' + (n.status || 'info')\"\n            >\n              <ng-container [ngSwitch]=\"n.status\">\n                <svg\n                  *ngSwitchCase=\"'success'\"\n                  width=\"16\"\n                  height=\"16\"\n                  viewBox=\"0 0 24 24\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                >\n                  <polyline points=\"20 6 9 17 4 12\"></polyline>\n                </svg>\n                <svg\n                  *ngSwitchCase=\"'warning'\"\n                  width=\"16\"\n                  height=\"16\"\n                  viewBox=\"0 0 24 24\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                >\n                  <path\n                    d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\n                  ></path>\n                  <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line>\n                  <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"></line>\n                </svg>\n                <svg\n                  *ngSwitchCase=\"'error'\"\n                  width=\"16\"\n                  height=\"16\"\n                  viewBox=\"0 0 24 24\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                >\n                  <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n                  <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line>\n                  <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>\n                </svg>\n                <svg\n                  *ngSwitchDefault\n                  width=\"16\"\n                  height=\"16\"\n                  viewBox=\"0 0 24 24\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                >\n                  <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n                  <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"></line>\n                  <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"></line>\n                </svg>\n              </ng-container>\n            </div>\n            <div class=\"mv-notification-item-content\">\n              <div class=\"mv-notification-item-title\">{{ n.title }}</div>\n              <div class=\"mv-notification-item-desc\" *ngIf=\"n.description\">{{ n.description }}</div>\n              <div class=\"mv-notification-item-time\" *ngIf=\"n.time\">{{ n.time }}</div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class NotificationCenterComponent {\n  @Input() title = 'Notifications';\n  @Input() notifications: NotificationItemConfig[] = [];\n  @Input() markAllText = 'Mark all as read';\n  @Input() emptyText = 'No notifications';\n  @Input() className = '';\n\n  @Output() markAllAsRead = new EventEmitter<void>();\n\n  isOpen = false;\n\n  private el = inject(ElementRef);\n  private cdr = inject(ChangeDetectorRef);\n\n  get unreadCount(): number {\n    return this.notifications.filter((n) => n.unread).length;\n  }\n\n  toggleOpen() {\n    this.isOpen = !this.isOpen;\n    this.cdr.markForCheck();\n  }\n\n  @HostListener('document:mousedown', ['$event.target'])\n  onClickOutside(target: EventTarget | null) {\n    if (this.isOpen && !this.el.nativeElement.contains(target as Node)) {\n      this.isOpen = false;\n      this.cdr.markForCheck();\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, Input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nexport interface BreadcrumbItem {\n  label: string;\n  href?: string;\n  active?: boolean;\n}\n\n@Component({\n  selector: 'mv-breadcrumb',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <nav class=\"mv-breadcrumb\" aria-label=\"Breadcrumb\">\n      <ol class=\"mv-breadcrumb__list\">\n        <li\n          *ngFor=\"let item of _items(); let i = index; let last = last\"\n          class=\"mv-breadcrumb__item\"\n          [class.mv-breadcrumb__item--active]=\"item.active || last\"\n          [attr.aria-current]=\"item.active || last ? 'page' : null\"\n        >\n          <ng-container *ngIf=\"item.href && !(item.active || last); else textOnly\">\n            <a [href]=\"item.href\" class=\"mv-breadcrumb__link\">{{ item.label }}</a>\n          </ng-container>\n          <ng-template #textOnly>\n            <span class=\"mv-breadcrumb__link\">{{ item.label }}</span>\n          </ng-template>\n\n          <span *ngIf=\"!last\" class=\"mv-breadcrumb__separator\" aria-hidden=\"true\">\n            {{ _separator() }}\n          </span>\n        </li>\n      </ol>\n    </nav>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbComponent {\n  @Input() items: BreadcrumbItem[] = [];\n  @Input() separator: string = '/';\n\n  readonly _items = signal<BreadcrumbItem[]>([]);\n  readonly _separator = signal<string>('/');\n\n  ngOnChanges(): void {\n    this._items.set(this.items || []);\n    this._separator.set(this.separator);\n  }\n}\n","// @ts-nocheck\nimport { Component, Input, OnInit, OnChanges, SimpleChanges } from \"@angular/core\";\n\n/**\n * CodeSnippetComponent\n * Angular wrapper component representing the Code Snippet viewer and clipboard actions.\n */\n@Component({\n  selector: \"mayvio-code-snippet\",\n  template: `\n    <div *ngIf=\"availableTabs.length > 0\" class=\"snippet-section\">\n      <div class=\"snippet-tabs\" role=\"tablist\">\n        <button\n          *ngFor=\"let tab of availableTabs\"\n          class=\"snippet-tab\"\n          [class.active]=\"tab === activeTab\"\n          role=\"tab\"\n          [attr.aria-selected]=\"tab === activeTab\"\n          (click)=\"activeTab = tab\"\n          type=\"button\"\n        >\n          {{ tab.toUpperCase() }}\n        </button>\n      </div>\n\n      <div class=\"code-block\">\n        <button\n          class=\"copy-btn\"\n          [class.copied]=\"copied\"\n          (click)=\"copyCode()\"\n          type=\"button\"\n          [attr.aria-label]=\"copied ? 'Copied code' : 'Copy code'\"\n        >\n          <ng-container *ngIf=\"copied\">\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              aria-hidden=\"true\"\n            >\n              <polyline points=\"20 6 9 17 4 12\" />\n            </svg>\n            Copied!\n          </ng-container>\n          <ng-container *ngIf=\"!copied\">\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2\"\n              aria-hidden=\"true\"\n            >\n              <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n              <path\n                d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\n              />\n            </svg>\n            Copy\n          </ng-container>\n        </button>\n        <pre><code>{{ snippets[activeTab] }}</code></pre>\n      </div>\n    </div>\n  `\n})\nexport class CodeSnippetComponent implements OnInit, OnChanges {\n  @Input() snippets: Record<string, string> = {};\n\n  availableTabs: string[] = [];\n  activeTab = \"\";\n  copied = false;\n\n  ngOnInit() {\n    this.updateTabs();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes[\"snippets\"]) {\n      this.updateTabs();\n    }\n  }\n\n  private updateTabs() {\n    if (this.snippets) {\n      this.availableTabs = Object.keys(this.snippets).filter(\n        (k) => this.snippets[k]\n      );\n      if (\n        this.availableTabs.length > 0 &&\n        !this.availableTabs.includes(this.activeTab)\n      ) {\n        this.activeTab = this.availableTabs[0];\n      }\n    } else {\n      this.availableTabs = [];\n      this.activeTab = \"\";\n    }\n  }\n\n  copyCode() {\n    const code = this.snippets[this.activeTab] || \"\";\n    navigator.clipboard.writeText(code).then(() => {\n      this.copied = true;\n      setTimeout(() => (this.copied = false), 2000);\n    });\n  }\n}\n","import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\n\n@Component({\n  selector: 'mv-button',\n  standalone: true,\n  template: `\n    <button [class]=\"hostClass()\" [disabled]=\"_disabled()\">\n      <ng-content></ng-content>\n    </button>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent implements OnChanges {\n  @Input() variant: 'primary' | 'secondary' | 'outline' | 'text' = 'primary';\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() color: 'primary' | 'success' | 'error' | 'warning' = 'primary';\n  @Input() shape: 'rectangle' | 'square' | 'round' = 'rectangle';\n  @Input() disabled = false;\n\n  readonly _variant = signal<'primary' | 'secondary' | 'outline' | 'text'>('primary');\n  readonly _size = signal<'sm' | 'md' | 'lg'>('md');\n  readonly _color = signal<'primary' | 'success' | 'error' | 'warning'>('primary');\n  readonly _shape = signal<'rectangle' | 'square' | 'round'>('rectangle');\n  readonly _disabled = signal<boolean>(false);\n\n  ngOnChanges(): void {\n    this._variant.set(this.variant);\n    this._size.set(this.size);\n    this._color.set(this.color);\n    this._shape.set(this.shape);\n    this._disabled.set(this.disabled);\n  }\n\n  readonly hostClass = computed(() => {\n    const classes = ['mv-button', `mv-button--${this._variant()}`, `mv-button--${this._size()}`];\n    if (this._color() !== 'primary') {\n      classes.push(`mv-button--${this._color()}`);\n    }\n    if (this._shape() !== 'rectangle') {\n      classes.push(`mv-button--${this._shape()}`);\n    }\n    return classes.join(' ');\n  });\n}\n","// @ts-nocheck\nimport { Component, Input, OnInit, ElementRef } from \"@angular/core\";\nimport { initKpiCards } from \"mayvio-ui/scripts/components/kpi-card.js\";\n\n/**\n * KpiCardComponent\n * Angular wrapper component representing the Mayvio UI KPI Card.\n */\n@Component({\n  selector: \"mayvio-kpi-card\",\n  template: `\n    <div class=\"kpi-card {{ className }}\">\n      <div class=\"kpi-card-header\">\n        <span class=\"kpi-card-title\">{{ title }}</span>\n        <span *ngIf=\"icon\" class=\"kpi-card-icon\">{{ icon }}</span>\n      </div>\n      <div class=\"kpi-card-body\">\n        <span\n          class=\"kpi-card-value\"\n          [attr.data-value]=\"value\"\n          [attr.data-duration]=\"duration\"\n          [attr.data-decimals]=\"decimals\"\n          [attr.data-prefix]=\"prefix\"\n          [attr.data-suffix]=\"suffix\"\n        >\n          {{ prefix }}0{{ suffix }}\n        </span>\n        <span *ngIf=\"trend\" class=\"kpi-card-trend {{ trendDirection }}\">\n          {{ trendDirection === \"up\" ? \"↑\" : \"↓\" }} {{ trend }}\n        </span>\n      </div>\n      <div *ngIf=\"footer\" class=\"kpi-card-footer\">{{ footer }}</div>\n    </div>\n  `\n})\nexport class KpiCardComponent implements OnInit {\n  @Input() title = \"\";\n  @Input() value = 0;\n  @Input() icon = \"\";\n  @Input() trend = \"\";\n  @Input() trendDirection: \"up\" | \"down\" = \"up\";\n  @Input() footer = \"\";\n  @Input() duration = 1500;\n  @Input() decimals = 0;\n  @Input() prefix = \"\";\n  @Input() suffix = \"\";\n  @Input() className = \"\";\n\n  constructor(private el: ElementRef) {}\n\n  ngOnInit() {\n    const valNode = this.el.nativeElement.querySelector(\".kpi-card-value\");\n    if (valNode) {\n      initKpiCards(valNode);\n    }\n  }\n}\n","// @ts-nocheck\nimport { Component, Input, OnInit, ElementRef, OnChanges, SimpleChanges } from \"@angular/core\";\nimport { MayvioChart } from \"mayvio-ui/scripts/components/chart.js\";\n\n/**\n * ChartComponent\n * Angular wrapper component representing the SVG-based charts.\n */\n@Component({\n  selector: \"mayvio-chart\",\n  template: `\n    <div class=\"chart-container {{ className }}\">\n      <div *ngIf=\"title\" class=\"chart-header\">\n        <div class=\"chart-title\">{{ title }}</div>\n      </div>\n      <div class=\"canvas-holder\"></div>\n    </div>\n  `\n})\nexport class ChartComponent implements OnInit, OnChanges {\n  @Input() type = \"line\";\n  @Input() data: any = { labels: [], datasets: [] };\n  @Input() options: any = {};\n  @Input() title = \"\";\n  @Input() className = \"\";\n\n  constructor(private el: ElementRef) {}\n\n  ngOnInit() {\n    this.createChart();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (\n      (changes[\"type\"] || changes[\"data\"] || changes[\"options\"]) &&\n      !changes[\"data\"]?.isFirstChange()\n    ) {\n      this.createChart();\n    }\n  }\n\n  private createChart() {\n    const holder = this.el.nativeElement.querySelector(\".canvas-holder\");\n    if (holder) {\n      new MayvioChart(holder, {\n        type: this.type,\n        data: this.data,\n        options: this.options\n      });\n    }\n  }\n}\n","// @ts-nocheck\nimport { Component, Input, OnInit, ElementRef } from \"@angular/core\";\nimport { initDashboardWidgets } from \"mayvio-ui/scripts/components/dashboard-widget.js\";\n\n/**\n * DashboardWidgetComponent\n * Individual card panel inside the grid.\n */\n@Component({\n  selector: \"mayvio-dashboard-widget\",\n  template: `\n    <div *ngIf=\"visible\" [id]=\"id\" class=\"widget\" [class.collapsed]=\"collapsed\">\n      <div class=\"widget-header\">\n        <div class=\"widget-header-left\">\n          <span class=\"widget-drag-handle\" title=\"Drag to rearrange\">☰</span>\n          <h3 class=\"widget-title\">{{ title }}</h3>\n        </div>\n        <div class=\"widget-actions\">\n          <button\n            class=\"widget-btn widget-btn-collapse\"\n            (click)=\"toggleCollapse($event)\"\n            [attr.aria-expanded]=\"!collapsed\"\n            aria-label=\"Collapse widget\"\n            type=\"button\"\n          >\n            ▼\n          </button>\n          <button\n            *ngIf=\"dismissible\"\n            class=\"widget-btn widget-btn-close\"\n            (click)=\"close($event)\"\n            aria-label=\"Close widget\"\n            type=\"button\"\n          >\n            ✕\n          </button>\n        </div>\n      </div>\n      <div class=\"widget-content\">\n        <div class=\"widget-content-inner\">\n          <ng-content></ng-content>\n        </div>\n      </div>\n    </div>\n  `\n})\nexport class DashboardWidgetComponent {\n  @Input() id = \"\";\n  @Input() title = \"\";\n  @Input() collapsed = false;\n  @Input() dismissible = true;\n\n  visible = true;\n\n  toggleCollapse(e: MouseEvent) {\n    e.stopPropagation();\n    this.collapsed = !this.collapsed;\n  }\n\n  close(e: MouseEvent) {\n    e.stopPropagation();\n    this.visible = false;\n  }\n}\n\n/**\n * DashboardWidgetGridComponent\n * Parent container triggering Drag & Drop orchestration.\n */\n@Component({\n  selector: \"mayvio-dashboard-widget-grid\",\n  template: `\n    <div class=\"widget-grid {{ className }}\">\n      <ng-content></ng-content>\n    </div>\n  `\n})\nexport class DashboardWidgetGridComponent implements OnInit {\n  @Input() storageKey = \"mayvio-widget-order\";\n  @Input() className = \"\";\n\n  constructor(private el: ElementRef) {}\n\n  ngOnInit() {\n    const grid = this.el.nativeElement.querySelector(\".widget-grid\");\n    if (grid) {\n      setTimeout(() => {\n        initDashboardWidgets(grid, { storageKey: this.storageKey });\n      }, 0);\n    }\n  }\n}\n","// @ts-nocheck\nimport { Component, Input } from \"@angular/core\";\n\n/**\n * ActivityTimelineItemComponent\n * Individual card inside the timeline tree flow.\n */\n@Component({\n  selector: \"mayvio-activity-timeline-item\",\n  template: `\n    <div class=\"timeline-item {{ className }}\">\n      <div class=\"timeline-badge {{ status }}\" aria-hidden=\"true\"></div>\n      <div class=\"timeline-content\">\n        <div class=\"timeline-header\">\n          <h4 class=\"timeline-title\">{{ title }}</h4>\n          <span *ngIf=\"time\" class=\"timeline-time\">{{ time }}</span>\n        </div>\n        <p *ngIf=\"hasDesc\" class=\"timeline-desc\">\n          <ng-content></ng-content>\n        </p>\n      </div>\n    </div>\n  `\n})\nexport class ActivityTimelineItemComponent {\n  @Input() status: \"primary\" | \"success\" | \"warning\" | \"error\" | \"info\" = \"info\";\n  @Input() time = \"\";\n  @Input() title = \"\";\n  @Input() hasDesc = true;\n  @Input() className = \"\";\n}\n\n/**\n * ActivityTimelineComponent\n * Container representing the vertical status event connector thread.\n */\n@Component({\n  selector: \"mayvio-activity-timeline\",\n  template: `\n    <div class=\"timeline {{ className }}\">\n      <ng-content></ng-content>\n    </div>\n  `\n})\nexport class ActivityTimelineComponent {\n  @Input() className = \"\";\n}\n","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  HostListener,\n  ElementRef,\n  inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport 'mayvio-ui/multiselect/css';\n\nexport interface MultiSelectOption {\n  value: string | number;\n  label: string;\n  disabled?: boolean;\n}\n\n@Component({\n  selector: 'mv-multiselect',\n  standalone: true,\n  imports: [CommonModule],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"mv-multiselect\" [class.mv-multiselect--open]=\"isOpen\" [class]=\"className\">\n      <div\n        class=\"mv-multiselect-trigger\"\n        [class.mv-multiselect-trigger--disabled]=\"disabled\"\n        (click)=\"toggleMenu()\"\n        [attr.tabindex]=\"disabled ? -1 : 0\"\n        (keydown.enter)=\"toggleMenu()\"\n        (keydown.space)=\"toggleMenu(); $event.preventDefault()\"\n      >\n        <ng-container *ngIf=\"selectedOptions.length === 0\">\n          <span class=\"mv-multiselect-placeholder\">{{ placeholder }}</span>\n        </ng-container>\n\n        <ng-container *ngIf=\"selectedOptions.length > 0\">\n          <span\n            *ngFor=\"let opt of selectedOptions\"\n            class=\"mv-badge mv-badge--md mv-badge--default\"\n            style=\"gap: 0.25rem\"\n          >\n            {{ opt.label }}\n            <button\n              type=\"button\"\n              [attr.aria-label]=\"'Remove ' + opt.label\"\n              (click)=\"removeTag($event, opt.value)\"\n              style=\"background: none; border: none; cursor: pointer; padding: 0; display: flex\"\n            >\n              <svg\n                width=\"12\"\n                height=\"12\"\n                viewBox=\"0 0 24 24\"\n                fill=\"none\"\n                stroke=\"currentColor\"\n                stroke-width=\"2\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n              >\n                <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n                <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n              </svg>\n            </button>\n          </span>\n        </ng-container>\n      </div>\n\n      <div class=\"mv-multiselect-menu\" role=\"listbox\" *ngIf=\"isOpen\">\n        <div class=\"mv-multiselect-search\" *ngIf=\"searchable\" (click)=\"$event.stopPropagation()\">\n          <input\n            type=\"text\"\n            class=\"mv-multiselect-search-input\"\n            placeholder=\"Search...\"\n            [value]=\"searchQuery\"\n            (input)=\"onSearch($event)\"\n          />\n        </div>\n\n        <div class=\"mv-multiselect-empty\" *ngIf=\"filteredOptions.length === 0\">\n          {{ emptyText }}\n        </div>\n\n        <div\n          *ngFor=\"let opt of filteredOptions\"\n          class=\"mv-multiselect-option\"\n          [class.mv-multiselect-option--selected]=\"isSelected(opt.value)\"\n          [class.mv-multiselect-option--disabled]=\"opt.disabled\"\n          role=\"option\"\n          [attr.aria-selected]=\"isSelected(opt.value)\"\n          (click)=\"onOptionClick($event, opt)\"\n        >\n          <svg\n            [style.visibility]=\"isSelected(opt.value) ? 'visible' : 'hidden'\"\n            width=\"16\"\n            height=\"16\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          >\n            <polyline points=\"20 6 9 17 4 12\"></polyline>\n          </svg>\n          {{ opt.label }}\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class MultiSelectComponent {\n  @Input() options: MultiSelectOption[] = [];\n  @Input() value: (string | number)[] = [];\n  @Input() disabled = false;\n  @Input() searchable = false;\n  @Input() placeholder = 'Select options...';\n  @Input() emptyText = 'No options found.';\n  @Input() className = '';\n\n  @Output() selectionChange = new EventEmitter<(string | number)[]>();\n\n  isOpen = false;\n  searchQuery = '';\n\n  private el = inject(ElementRef);\n  private cdr = inject(ChangeDetectorRef);\n\n  get selectedOptions(): MultiSelectOption[] {\n    return this.options.filter((opt) => this.value.includes(opt.value));\n  }\n\n  get filteredOptions(): MultiSelectOption[] {\n    if (!this.searchable || !this.searchQuery) {\n      return this.options;\n    }\n    const q = this.searchQuery.toLowerCase();\n    return this.options.filter((opt) => opt.label.toLowerCase().includes(q));\n  }\n\n  isSelected(val: string | number): boolean {\n    return this.value.includes(val);\n  }\n\n  toggleMenu() {\n    if (this.disabled) return;\n    this.isOpen = !this.isOpen;\n    if (!this.isOpen) {\n      this.searchQuery = '';\n    }\n    this.cdr.markForCheck();\n  }\n\n  toggleOption(val: string | number) {\n    const newVal = this.value.includes(val)\n      ? this.value.filter((v) => v !== val)\n      : [...this.value, val];\n\n    this.value = newVal;\n    this.selectionChange.emit(this.value);\n    this.cdr.markForCheck();\n  }\n\n  onOptionClick(event: Event, opt: MultiSelectOption) {\n    event.stopPropagation();\n    if (!opt.disabled) {\n      this.toggleOption(opt.value);\n    }\n  }\n\n  removeTag(event: Event, val: string | number) {\n    event.stopPropagation();\n    this.toggleOption(val);\n  }\n\n  onSearch(event: Event) {\n    const input = event.target as HTMLInputElement;\n    this.searchQuery = input.value;\n    this.cdr.markForCheck();\n  }\n\n  @HostListener('document:mousedown', ['$event.target'])\n  onClickOutside(target: EventTarget | null) {\n    if (this.isOpen && !this.el.nativeElement.contains(target as Node)) {\n      this.isOpen = false;\n      this.searchQuery = '';\n      this.cdr.markForCheck();\n    }\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { InputConfig } from 'mayvio-ui/input';\nimport 'mayvio-ui/input/css';\n\n@Component({\n  selector: 'mv-input',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <input\n      [type]=\"type\"\n      [disabled]=\"disabled\"\n      [attr.aria-invalid]=\"error ? 'true' : null\"\n      [class]=\"'mv-input mv-input--' + size + (error ? ' mv-input--error' : '') + (className ? ' ' + className : '')\"\n      [placeholder]=\"placeholder\"\n      [value]=\"value\"\n      (input)=\"onInput($event)\"\n      (blur)=\"onTouched()\"\n    />\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => InputComponent),\n      multi: true,\n    },\n  ],\n})\nexport class InputComponent implements ControlValueAccessor, InputConfig {\n  @Input() type = 'text';\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() error = false;\n  @Input() disabled = false;\n  @Input() placeholder = '';\n  @Input() className = '';\n\n  value = '';\n\n  onChange = (val: string) => {};\n  onTouched = () => {};\n\n  onInput(event: Event) {\n    const val = (event.target as HTMLInputElement).value;\n    this.value = val;\n    this.onChange(val);\n  }\n\n  writeValue(value: string): void {\n    this.value = value || '';\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation, ElementRef, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { TextareaConfig } from 'mayvio-ui/textarea';\nimport 'mayvio-ui/textarea/css';\n\n@Component({\n  selector: 'mv-textarea',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <textarea\n      #textarea\n      [disabled]=\"disabled\"\n      [attr.aria-invalid]=\"error ? 'true' : null\"\n      [class]=\"'mv-textarea' + (error ? ' mv-textarea--error' : '') + (className ? ' ' + className : '')\"\n      [placeholder]=\"placeholder\"\n      [value]=\"value\"\n      [style.overflow]=\"autoResize ? 'hidden' : null\"\n      [style.resize]=\"autoResize ? 'none' : null\"\n      (input)=\"onInput($event)\"\n      (blur)=\"onTouched()\"\n    ></textarea>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TextareaComponent),\n      multi: true,\n    },\n  ],\n})\nexport class TextareaComponent implements ControlValueAccessor, TextareaConfig {\n  @Input() error = false;\n  @Input() disabled = false;\n  @Input() autoResize = false;\n  @Input() placeholder = '';\n  @Input() className = '';\n\n  @ViewChild('textarea', { static: true }) textareaRef!: ElementRef<HTMLTextAreaElement>;\n\n  value = '';\n\n  onChange = (val: string) => {};\n  onTouched = () => {};\n\n  onInput(event: Event) {\n    const val = (event.target as HTMLTextAreaElement).value;\n    this.value = val;\n    this.onChange(val);\n    this.handleAutoResize();\n  }\n\n  handleAutoResize() {\n    if (this.autoResize && this.textareaRef?.nativeElement) {\n      this.textareaRef.nativeElement.style.height = 'auto';\n      this.textareaRef.nativeElement.style.height = this.textareaRef.nativeElement.scrollHeight + 'px';\n    }\n  }\n\n  writeValue(value: string): void {\n    this.value = value || '';\n    setTimeout(() => this.handleAutoResize(), 0);\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation, ViewChild, ElementRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { CheckboxConfig } from 'mayvio-ui/checkbox';\nimport 'mayvio-ui/checkbox/css';\n\n@Component({\n  selector: 'mv-checkbox',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <label [class]=\"'mv-checkbox-wrapper' + (disabled ? ' mv-checkbox-wrapper--disabled' : '') + (error ? ' mv-checkbox-wrapper--error' : '') + (className ? ' ' + className : '')\">\n      <input\n        #inputRef\n        type=\"checkbox\"\n        class=\"mv-checkbox-input\"\n        [disabled]=\"disabled\"\n        [checked]=\"checked\"\n        (change)=\"onChangeEvent($event)\"\n        (blur)=\"onTouched()\"\n      />\n      <div class=\"mv-checkbox-control\" aria-hidden=\"true\">\n        <svg class=\"mv-checkbox-icon\" viewBox=\"0 0 15 15\">\n          <ng-container *ngIf=\"indeterminate; else checkIcon\">\n            <path d=\"M4 7.5H11\" stroke-width=\"2\" />\n          </ng-container>\n          <ng-template #checkIcon>\n            <path d=\"M3.5 7.5L6 10L11.5 4\" stroke-width=\"2\" />\n          </ng-template>\n        </svg>\n      </div>\n      <span *ngIf=\"label\" class=\"mv-checkbox-label\">{{ label }}</span>\n    </label>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CheckboxComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CheckboxComponent implements ControlValueAccessor, CheckboxConfig, OnChanges {\n  @Input() label?: string;\n  @Input() error = false;\n  @Input() disabled = false;\n  @Input() indeterminate = false;\n  @Input() checked = false;\n  @Input() className = '';\n\n  @ViewChild('inputRef') inputRef!: ElementRef<HTMLInputElement>;\n\n  onChange = (val: boolean) => {};\n  onTouched = () => {};\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['indeterminate'] && this.inputRef) {\n      this.inputRef.nativeElement.indeterminate = this.indeterminate;\n    }\n  }\n\n  onChangeEvent(event: Event) {\n    const val = (event.target as HTMLInputElement).checked;\n    this.checked = val;\n    this.onChange(val);\n  }\n\n  writeValue(value: boolean): void {\n    this.checked = !!value;\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { SwitchConfig } from 'mayvio-ui/switch';\nimport 'mayvio-ui/switch/css';\n\n@Component({\n  selector: 'mv-switch',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <label [class]=\"'mv-switch-wrapper' + (disabled ? ' mv-switch-wrapper--disabled' : '') + (className ? ' ' + className : '')\">\n      <input\n        type=\"checkbox\"\n        class=\"mv-switch-input\"\n        [disabled]=\"disabled\"\n        [checked]=\"checked\"\n        (change)=\"onChangeEvent($event)\"\n        (blur)=\"onTouched()\"\n      />\n      <div class=\"mv-switch-control\" aria-hidden=\"true\">\n        <div class=\"mv-switch-thumb\"></div>\n      </div>\n      <span *ngIf=\"label\" class=\"mv-switch-label\">{{ label }}</span>\n    </label>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SwitchComponent),\n      multi: true,\n    },\n  ],\n})\nexport class SwitchComponent implements ControlValueAccessor, SwitchConfig {\n  @Input() label?: string;\n  @Input() disabled = false;\n  @Input() checked = false;\n  @Input() className = '';\n\n  onChange = (val: boolean) => {};\n  onTouched = () => {};\n\n  onChangeEvent(event: Event) {\n    const val = (event.target as HTMLInputElement).checked;\n    this.checked = val;\n    this.onChange(val);\n  }\n\n  writeValue(value: boolean): void {\n    this.checked = !!value;\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { RadioGroupConfig, RadioOption } from 'mayvio-ui/radiogroup';\nimport 'mayvio-ui/radiogroup/css';\n\n@Component({\n  selector: 'mv-radiogroup',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div \n      [class]=\"'mv-radiogroup ' + (orientation === 'horizontal' ? 'mv-radiogroup--horizontal' : '') + (className ? ' ' + className : '')\"\n      role=\"radiogroup\"\n    >\n      <label \n        *ngFor=\"let opt of options; let i = index\"\n        [class]=\"'mv-radio-wrapper ' + (disabled || opt.disabled ? 'mv-radio-wrapper--disabled ' : '') + (error ? 'mv-radio-wrapper--error' : '')\"\n      >\n        <input\n          type=\"radio\"\n          class=\"mv-radio-input\"\n          [name]=\"name\"\n          [value]=\"opt.value\"\n          [checked]=\"value === opt.value\"\n          [disabled]=\"disabled || opt.disabled\"\n          (change)=\"onChangeEvent(opt.value)\"\n          (blur)=\"onTouched()\"\n        />\n        <div class=\"mv-radio-control\" aria-hidden=\"true\">\n          <div class=\"mv-radio-icon\"></div>\n        </div>\n        <span class=\"mv-radio-label\">{{ opt.label }}</span>\n      </label>\n    </div>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioGroupComponent),\n      multi: true,\n    },\n  ],\n})\nexport class RadioGroupComponent implements ControlValueAccessor, RadioGroupConfig {\n  @Input() orientation: 'vertical' | 'horizontal' = 'vertical';\n  @Input() name = 'radiogroup_' + Math.random().toString(36).substr(2, 9);\n  @Input() error = false;\n  @Input() disabled = false;\n  @Input() options: RadioOption[] = [];\n  @Input() className = '';\n\n  value?: string;\n\n  onChange = (val: string) => {};\n  onTouched = () => {};\n\n  onChangeEvent(val: string) {\n    if (this.disabled) return;\n    this.value = val;\n    this.onChange(val);\n  }\n\n  writeValue(value: string): void {\n    this.value = value;\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { SelectConfig } from 'mayvio-ui/select';\nimport 'mayvio-ui/select/css';\n\nexport interface SelectOption {\n  label: string;\n  value: string;\n  disabled?: boolean;\n}\n\n@Component({\n  selector: 'mv-select',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div class=\"mv-select-wrapper\">\n      <select\n        [disabled]=\"disabled\"\n        [class]=\"'mv-select mv-select--' + size + (error ? ' mv-select--error' : '') + (className ? ' ' + className : '')\"\n        [attr.aria-invalid]=\"error ? 'true' : null\"\n        [value]=\"value\"\n        (change)=\"onChangeEvent($event)\"\n        (blur)=\"onTouched()\"\n      >\n        <option *ngFor=\"let opt of options\" [value]=\"opt.value\" [disabled]=\"opt.disabled\">\n          {{ opt.label }}\n        </option>\n      </select>\n      <div class=\"mv-select-icon\">\n        <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n          <path d=\"M4.18179 6.18181C4.35753 6.00608 4.64245 6.00608 4.81819 6.18181L7.49999 8.86362L10.1818 6.18181C10.3575 6.00608 10.6424 6.00608 10.8182 6.18181C10.9939 6.35755 10.9939 6.64247 10.8182 6.81821L7.81819 9.81821C7.73379 9.9026 7.61934 9.95001 7.49999 9.95001C7.38064 9.95001 7.26618 9.9026 7.18179 9.81821L4.18179 6.81821C4.00605 6.64247 4.00605 6.35755 4.18179 6.18181Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path>\n        </svg>\n      </div>\n    </div>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SelectComponent),\n      multi: true,\n    },\n  ],\n})\nexport class SelectComponent implements ControlValueAccessor, SelectConfig {\n  @Input() size: 'sm' | 'md' | 'lg' = 'md';\n  @Input() error = false;\n  @Input() disabled = false;\n  @Input() options: SelectOption[] = [];\n  @Input() className = '';\n\n  value?: string;\n\n  onChange = (val: string) => {};\n  onTouched = () => {};\n\n  onChangeEvent(event: Event) {\n    const val = (event.target as HTMLSelectElement).value;\n    this.value = val;\n    this.onChange(val);\n  }\n\n  writeValue(value: string): void {\n    this.value = value;\n  }\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { Component, ChangeDetectionStrategy, Input, forwardRef, ViewEncapsulation, ViewChild, ElementRef, HostListener, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { SliderConfig } from 'mayvio-ui/slider';\nimport 'mayvio-ui/slider/css';\n\n@Component({\n  selector: 'mv-slider',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div \n      [class]=\"'mv-slider-wrapper ' + (disabled ? 'mv-slider-wrapper--disabled ' : '') + className\"\n      (pointerdown)=\"onPointerDown($event)\"\n    >\n      <div class=\"mv-slider-track\" #trackRef>\n        <div class=\"mv-slider-range\" [style.width]=\"percentage + '%'\"></div>\n      </div>\n      <div\n        class=\"mv-slider-thumb\"\n        [style.left]=\"percentage + '%'\"\n        role=\"slider\"\n        [attr.tabindex]=\"disabled ? -1 : 0\"\n        [attr.aria-valuemin]=\"min\"\n        [attr.aria-valuemax]=\"max\"\n        [attr.aria-valuenow]=\"value\"\n        [attr.aria-disabled]=\"disabled\"\n        (keydown)=\"onKeyDown($event)\"\n        (blur)=\"onTouched()\"\n      ></div>\n    </div>\n  `,\n  styleUrls: [],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SliderComponent),\n      multi: true,\n    },\n  ],\n})\nexport class SliderComponent implements ControlValueAccessor, SliderConfig, OnInit {\n  @Input() value = 0;\n  @Input() min = 0;\n  @Input() max = 100;\n  @Input() step = 1;\n  @Input() disabled = false;\n  @Input() className = '';\n\n  @ViewChild('trackRef') trackRef!: ElementRef<HTMLDivElement>;\n\n  private isDragging = false;\n\n  get percentage() {\n    return ((this.value - this.min) / (this.max - this.min)) * 100;\n  }\n\n  ngOnInit() {\n    this.value = Math.max(this.min, Math.min(this.value, this.max));\n  }\n\n  onChange = (val: number) => {};\n  onTouched = () => {};\n\n  writeValue(value: number): void {\n    if (value !== undefined && value !== null) {\n      this.value = Math.max(this.min, Math.min(value, this.max));\n    }\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  private updateValue(clientX: number) {\n    if (this.disabled || !this.trackRef) return;\n    const rect = this.trackRef.nativeElement.getBoundingClientRect();\n    const percent = Math.min(Math.max((clientX - rect.left) / rect.width, 0), 1);\n    const rawValue = percent * (this.max - this.min) + this.min;\n    \n    let newValue = Math.round(rawValue / this.step) * this.step;\n    newValue = Math.min(Math.max(newValue, this.min), this.max);\n\n    if (newValue !== this.value) {\n      this.value = newValue;\n      this.onChange(newValue);\n    }\n  }\n\n  onPointerDown(e: PointerEvent) {\n    if (this.disabled) return;\n    this.isDragging = true;\n    const el = e.currentTarget as HTMLElement;\n    el.setPointerCapture(e.pointerId);\n    this.updateValue(e.clientX);\n  }\n\n  @HostListener('pointermove', ['$event'])\n  onPointerMove(e: PointerEvent) {\n    if (!this.isDragging) return;\n    this.updateValue(e.clientX);\n  }\n\n  @HostListener('pointerup', ['$event'])\n  @HostListener('pointercancel', ['$event'])\n  onPointerUp(e: PointerEvent) {\n    if (!this.isDragging) return;\n    this.isDragging = false;\n    const el = e.currentTarget as HTMLElement;\n    if (el && el.releasePointerCapture) {\n      // It might be document, so only call if exists\n      try { el.releasePointerCapture(e.pointerId); } catch(e) {}\n    }\n  }\n\n  onKeyDown(e: KeyboardEvent) {\n    if (this.disabled) return;\n    let newValue = this.value;\n    if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n      newValue = Math.min(this.value + this.step, this.max);\n    } else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n      newValue = Math.max(this.value - this.step, this.min);\n    }\n    \n    if (newValue !== this.value) {\n      this.value = newValue;\n      this.onChange(newValue);\n    }\n  }\n}\n","export * from './data-grid.component';\nexport * from './datepicker/index';\nexport * from './dropdown/index';\nexport * from './multiselect/index';\nexport * from './fileupload/index';\nexport * from './modal/index';\n\nexport * from './theme-toggle/index';\nexport * from './skeleton/index';\nexport * from './toast/index';\nexport * from './accordion/index';\nexport * from './tabs/index';\nexport * from './tooltip/index';\nexport * from './badge/index';\nexport * from './avatar/index';\nexport * from './progress-bar/index';\nexport * from './alert/index';\nexport * from './commandpalette/index';\nexport * from './sidebar/index';\nexport * from './notificationcenter/index';\nexport * from './input/index';\nexport * from './textarea/index';\nexport * from './checkbox/index';\nexport * from './switch/index';\nexport * from './radiogroup/index';\nexport * from './select/index';\nexport * from './slider/index';\nexport * from './breadcrumb/index';\nexport * from './code-snippet.component';\nexport * from './button/index';\n\nexport * from './kpi-card.component';\nexport * from './chart.component';\nexport * from './dashboard-widget.component';\nexport * from './activity-timeline.component';\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { DataGridComponent } from './data-grid.component';\nimport { DatePickerComponent } from './datepicker/index';\nimport {\n  DropdownComponent,\n  DropdownTriggerDirective,\n  DropdownMenuComponent,\n  DropdownItemComponent,\n} from './dropdown/index';\nimport { FileUploadComponent } from './fileupload/index';\nimport {\n  ModalComponent,\n  ModalHeaderComponent,\n  ModalBodyComponent,\n  ModalFooterComponent,\n} from './modal/index';\n\nimport { ThemeToggleComponent } from './theme-toggle/index';\nimport { SkeletonComponent } from './skeleton/index';\nimport { ToastComponent } from './toast/index';\nimport { AccordionComponent } from './accordion/index';\nimport { TabsComponent, TabComponent } from './tabs/index';\nimport { TooltipDirective } from './tooltip/index';\nimport { BadgeComponent } from './badge/index';\nimport { AvatarComponent, AvatarGroupComponent } from './avatar/index';\nimport { ProgressBarComponent } from './progress-bar/index';\nimport { AlertComponent } from './alert/index';\nimport { CommandPaletteComponent } from './commandpalette/index';\nimport { SidebarComponent } from './sidebar/index';\nimport { NotificationCenterComponent } from './notificationcenter/index';\nimport { BreadcrumbComponent } from './breadcrumb/index';\nimport { CodeSnippetComponent } from './code-snippet.component';\nimport { ButtonComponent } from './button/index';\n\nimport { KpiCardComponent } from './kpi-card.component';\nimport { ChartComponent } from './chart.component';\nimport {\n  DashboardWidgetComponent,\n  DashboardWidgetGridComponent,\n} from './dashboard-widget.component';\nimport {\n  ActivityTimelineComponent,\n  ActivityTimelineItemComponent,\n} from './activity-timeline.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormsModule,\n    DataGridComponent,\n    DatePickerComponent,\n    DropdownComponent,\n    DropdownTriggerDirective,\n    DropdownMenuComponent,\n    DropdownItemComponent,\n    FileUploadComponent,\n    ModalComponent,\n    ModalHeaderComponent,\n    ModalBodyComponent,\n    ModalFooterComponent,\n    ThemeToggleComponent,\n    SkeletonComponent,\n    ToastComponent,\n    AccordionComponent,\n    TabsComponent,\n    TabComponent,\n    TooltipDirective,\n    BadgeComponent,\n    AlertComponent,\n    AvatarComponent,\n    AvatarGroupComponent,\n    ProgressBarComponent,\n    CommandPaletteComponent,\n    SidebarComponent,\n    NotificationCenterComponent,\n    BreadcrumbComponent,\n    CodeSnippetComponent,\n    ButtonComponent,\n    KpiCardComponent,\n    ChartComponent,\n    DashboardWidgetComponent,\n    DashboardWidgetGridComponent,\n    ActivityTimelineComponent,\n    ActivityTimelineItemComponent,\n  ],\n  exports: [\n    DataGridComponent,\n    DatePickerComponent,\n    DropdownComponent,\n    DropdownTriggerDirective,\n    DropdownMenuComponent,\n    DropdownItemComponent,\n    FileUploadComponent,\n    ModalComponent,\n    ModalHeaderComponent,\n    ModalBodyComponent,\n    ModalFooterComponent,\n    ThemeToggleComponent,\n    SkeletonComponent,\n    ToastComponent,\n    AccordionComponent,\n    TabsComponent,\n    TabComponent,\n    TooltipDirective,\n    BadgeComponent,\n    AlertComponent,\n    AvatarComponent,\n    AvatarGroupComponent,\n    ProgressBarComponent,\n    CommandPaletteComponent,\n    SidebarComponent,\n    NotificationCenterComponent,\n    BreadcrumbComponent,\n    CodeSnippetComponent,\n    ButtonComponent,\n    KpiCardComponent,\n    ChartComponent,\n    DashboardWidgetComponent,\n    DashboardWidgetGridComponent,\n    ActivityTimelineComponent,\n    ActivityTimelineItemComponent,\n    FormsModule,\n  ],\n})\nexport class MayvioUIModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}