{"version":3,"file":"animax-design-system.mjs","sources":["../../../projects/ui/src/buttons/button/button.component.ts","../../../projects/ui/src/buttons/icon-button/icon-button.component.ts","../../../projects/ui/src/layout/badge/badge.component.ts","../../../projects/ui/src/forms/select/select.component.ts","../../../projects/ui/src/forms/input/input.component.ts","../../../projects/ui/src/forms/checkbox/checkbox.component.ts","../../../projects/ui/src/forms/switch/switch.component.ts","../../../projects/ui/src/forms/radio/radio-group.component.ts","../../../projects/ui/src/forms/date/date-picker.component.ts","../../../projects/ui/src/data/table/animax-table.component.ts","../../../projects/ui/src/overlay/modal/modal.component.ts","../../../projects/ui/src/overlay/tooltip/tooltip.component.ts","../../../projects/ui/src/feedback/loader/loader.component.ts","../../../projects/ui/src/feedback/alert/alert.component.ts","../../../projects/ui/src/feedback/progress/progress-bar.component.ts","../../../projects/ui/src/public-api.ts","../../../projects/ui/src/animax-design-system.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input, HostBinding } from '@angular/core';\n\ntype ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';\ntype ButtonSize    = 'sm' | 'md' | 'lg';\ntype ButtonType    = 'button' | 'submit' | 'reset';\n\n@Component({\n  standalone: true,\n  selector: 'animax-button',\n  imports: [CommonModule],\n  styles: [`\n    :host { display:inline-block; }\n\n    .animax-btn {\n      --btn-bg: var(--ads-primary, #0a66c2);\n      --btn-fg: var(--ads-on-primary, #fff);\n      --btn-bg-hover: color-mix(in srgb, var(--btn-bg), black 8%);\n      --btn-bg-active: color-mix(in srgb, var(--btn-bg), black 16%);\n      --btn-border: transparent;\n\n      appearance: none;\n      user-select: none;\n      border: 1px solid var(--btn-border);\n      background: var(--btn-bg);\n      color: var(--btn-fg);\n      border-radius: var(--ads-radius, 8px);\n      font-weight: 600;\n      line-height: 1;\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      cursor: pointer;\n      transition: background-color .15s ease, border-color .15s ease, transform .02s ease;\n    }\n\n    .animax-btn:focus-visible { outline: 2px solid color-mix(in srgb, var(--btn-bg), white 40%); outline-offset: 2px; }\n    .animax-btn:hover:not(:disabled) { background: var(--btn-bg-hover); }\n    .animax-btn:active:not(:disabled) { background: var(--btn-bg-active); transform: translateY(1px); }\n    .animax-btn:disabled { opacity:.6; cursor:not-allowed; }\n\n    /* sizes */\n    .sm  { padding: 8px 12px;  font-size: 12px; }\n    .md  { padding: 10px 16px; font-size: 14px; }\n    .lg  { padding: 12px 20px; font-size: 16px; }\n\n    /* variants mapped to tokens */\n    .primary  { --btn-bg: var(--ads-primary, #0a66c2); --btn-fg: var(--ads-on-primary, #fff); }\n    .secondary{\n      --btn-bg: var(--ads-surface, #111827);\n      --btn-fg: var(--ads-text, #e5e7eb);\n      --btn-border: color-mix(in srgb, var(--btn-bg), white 15%);\n    }\n    .ghost {\n      --btn-bg: transparent;\n      --btn-fg: var(--ads-primary, #0a66c2);\n      --btn-border: color-mix(in srgb, var(--ads-primary, #0a66c2), white 60%);\n    }\n    .danger { --btn-bg: var(--ads-danger, #dc2626); --btn-fg: #fff; }\n\n    /* loading spinner */\n    .spinner {\n      width: 1em; height: 1em; border-radius: 50%;\n      border: 2px solid color-mix(in srgb, currentColor, transparent 70%);\n      border-top-color: currentColor;\n      animation: spin .8s linear infinite;\n    }\n    @keyframes spin { to { transform: rotate(360deg); } }\n\n    .icon {\n      width: 1.1em; height: 1.1em; display:inline-flex; align-items:center; justify-content:center;\n    }\n  `],\n  template: `\n    <button\n      class=\"animax-btn {{variant}} {{size}}\"\n      [disabled]=\"disabled || loading\"\n      [attr.type]=\"type\"\n      [attr.aria-busy]=\"loading\"\n      [attr.aria-disabled]=\"disabled || loading ? true : null\">\n\n      <span *ngIf=\"loading\" class=\"spinner\" aria-hidden=\"true\"></span>\n\n      <span *ngIf=\"iconLeft && !loading\" class=\"icon\" [innerHTML]=\"iconLeft\"></span>\n\n      <ng-content></ng-content>\n\n      <span *ngIf=\"iconRight && !loading\" class=\"icon\" [innerHTML]=\"iconRight\"></span>\n    </button>\n  `\n})\nexport class AnimaxButtonComponent {\n  /** visual */\n  @Input() variant: ButtonVariant = 'primary';\n  @Input() size: ButtonSize = 'md';\n\n  /** behavior */\n  @Input() disabled = false;\n  @Input() loading  = false;\n  @Input() type: ButtonType = 'button';\n\n  /** opcional: inline SVGs (como string) */\n  @Input() iconLeft?: string;\n  @Input() iconRight?: string;\n\n  /** tema da página (facilita theming por host) */\n  @HostBinding('class.animax-theme-base') base = true;\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n  selector: 'animax-button',\n  standalone: true,\n  imports: [CommonModule],\n  host: { 'role': 'button' },\n  template: `\n    <button\n      type=\"button\"\n      class=\"ui-icon-btn\"\n      [attr.aria-label]=\"ariaLabel || label || 'icon button'\"\n      [disabled]=\"disabled\"\n      (click)=\"clicked.emit($event)\">\n      <span class=\"ui-icon\" aria-hidden=\"true\"><ng-content></ng-content></span>\n    </button>\n  `,\n  styles: [`\n    .ui-icon-btn {\n      display: inline-flex; align-items: center; justify-content: center;\n      width: 36px; height: 36px; border-radius: 50%;\n      border: none; background: #e7eef6; color: #0a66c2;\n      cursor: pointer; transition: filter .15s ease-in-out;\n    }\n    .ui-icon-btn:hover { filter: brightness(.96); }\n    .ui-icon-btn:disabled { opacity: .6; cursor: not-allowed; }\n    .ui-icon { font-size: 18px; line-height: 1; }\n  `]\n})\nexport class AnimaxIconButtonComponent {\n  @Input() ariaLabel?: string;\n  @Input() label?: string;\n  @Input() disabled = false;\n  @Output() clicked = new EventEmitter<MouseEvent>();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'animax-badge',\n  standalone: true,\n  imports: [CommonModule],\n  template: `<span class=\"ui-badge\" [class.primary]=\"variant==='primary'\" [class.success]=\"variant==='success'\" [class.warning]=\"variant==='warning'\">{{ label }}</span>`,\n  styles: [`\n    .ui-badge { display:inline-block; padding:4px 8px; border-radius:8px; font-size:12px; font-weight:600; background:#e5e7eb; color:#111827; }\n    .ui-badge.primary { background:#0a66c2; color:#fff; }\n    .ui-badge.success { background:#16a34a; color:#fff; }\n    .ui-badge.warning { background:#d97706; color:#fff; }\n  `]\n})\nexport class AnimaxBadgeComponent {\n  @Input() label = '';\n  @Input() variant: 'default'|'primary'|'success'|'warning' = 'default';\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, forwardRef, Input, signal } from '@angular/core';\nimport {\n  ControlValueAccessor,\n  FormsModule,\n  NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nexport interface UiOption<T = any> {\n  label: string;\n  value: T;\n  disabled?: boolean;\n}\n\ntype Size = 'sm' | 'md' | 'lg';\n\n@Component({\n  selector: 'animax-select',\n  standalone: true,\n  imports: [CommonModule, FormsModule],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => AnimaxSelectComponent),\n      multi: true,\n    },\n  ],\n  template: `\n    <label *ngIf=\"label\" class=\"ui-label\">{{ label }}</label>\n\n    <div class=\"ui-wrap\"\n         [class.ui-disabled]=\"disabled\"\n         [class.ui-invalid]=\"invalid\"\n         [attr.data-size]=\"size\">\n      <select class=\"ui-select\"\n              [disabled]=\"disabled\"\n              [ngModel]=\"value()\"\n              (ngModelChange)=\"onChange($event)\">\n        <option *ngIf=\"placeholder\" [ngValue]=\"undefined\" disabled selected hidden>\n          {{ placeholder }}\n        </option>\n\n        <option *ngFor=\"let opt of normalizedOptions\"\n                [ngValue]=\"opt.value\"\n                [disabled]=\"opt.disabled\">\n          {{ opt.label }}\n        </option>\n      </select>\n      <span class=\"ui-caret\" aria-hidden=\"true\">▾</span>\n    </div>\n\n    <small class=\"ui-hint\" *ngIf=\"hint\">{{ hint }}</small>\n  `,\n  // CSS puro usando os tokens do Animax (var(--ads-*))\n  styles: [`\n    :host { display: inline-block; width: 100%; }\n    :host-context(.ads-theme-base) { /* garante que herdamos tokens */ }\n\n    .ui-label {\n      display: block;\n      margin: 0 0 6px;\n      font-weight: 600;\n      color: var(--ads-text);\n    }\n\n    .ui-wrap {\n      position: relative;\n      display: inline-flex;\n      align-items: center;\n      width: 100%;\n      background: var(--ads-surface);\n      color: var(--ads-text);\n      border: 1px solid var(--ads-border, color-mix(in oklab, var(--ads-text), transparent 85%));\n      border-radius: var(--ads-radius, 10px);\n      transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;\n    }\n\n    .ui-wrap:hover:not(.ui-disabled) {\n      border-color: color-mix(in oklab, var(--ads-text), transparent 70%);\n    }\n\n    .ui-wrap.ui-disabled {\n      opacity: .6;\n      cursor: not-allowed;\n    }\n\n    .ui-wrap.ui-invalid {\n      border-color: var(--ads-danger, #dc2626);\n      box-shadow: 0 0 0 2px color-mix(in oklab, var(--ads-danger), transparent 70%);\n    }\n\n    .ui-select {\n      appearance: none;\n      -webkit-appearance: none;\n      background: transparent;\n      color: inherit;\n      border: 0;\n      outline: 0;\n      width: 100%;\n      padding: 10px 36px 10px 12px; /* espaço pro caret */\n      border-radius: inherit;\n      font: inherit;\n      line-height: 1.25;\n    }\n\n    .ui-select:focus-visible {\n      box-shadow: 0 0 0 3px color-mix(in oklab, var(--ads-primary), transparent 75%);\n      border-radius: inherit;\n    }\n\n    .ui-caret {\n      position: absolute;\n      right: 10px;\n      pointer-events: none;\n      opacity: .7;\n    }\n\n    .ui-hint {\n      display: block;\n      margin-top: 6px;\n      color: var(--ads-muted, #6b7280);\n      font-size: .875rem;\n    }\n\n    /* tamanhos */\n    .ui-wrap[data-size=\"sm\"] .ui-select { padding: 6px 30px 6px 10px; font-size: .875rem; }\n    .ui-wrap[data-size=\"md\"] .ui-select { padding: 10px 36px 10px 12px; font-size: 1rem; }\n    .ui-wrap[data-size=\"lg\"] .ui-select { padding: 14px 42px 14px 14px; font-size: 1.0625rem; }\n  `]\n})\nexport class AnimaxSelectComponent<T = any> implements ControlValueAccessor {\n  /** Texto acima do select */\n  @Input() label?: string;\n  /** Placeholder exibido como primeira opção oculta */\n  @Input() placeholder?: string;\n  /** Texto auxiliar abaixo */\n  @Input() hint?: string;\n  /** Desabilita o controle */\n  @Input() disabled = false;\n  /** Estado inválido (para exibir borda/realce de erro) */\n  @Input() invalid = false;\n  /** Tamanho visual */\n  @Input() size: Size = 'md';\n\n  /** Aceita UiOption<T>[] **ou** string[]  */\n  @Input() set options(value: Array<UiOption<T> | string>) {\n    this.normalizedOptions = (value ?? []).map((it) =>\n      typeof it === 'string' ? { label: it, value: it as unknown as T } : it\n    );\n  }\n  /** Opções normalizadas */\n  normalizedOptions: UiOption<T>[] = [];\n\n  // valor interno usando signal (compat Angular 16+)\n  private _value = signal<T | undefined>(undefined);\n  value = this._value.asReadonly();\n\n  private onChangeFn: (v: T | undefined) => void = () => {};\n  private onTouchedFn: () => void = () => {};\n\n  // CVA\n  writeValue(v: T | undefined): void { this._value.set(v); }\n  registerOnChange(fn: (v: T | undefined) => void): void { this.onChangeFn = fn; }\n  registerOnTouched(fn: () => void): void { this.onTouchedFn = fn; }\n  setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n  onChange(v: T | undefined) {\n    this._value.set(v);\n    this.onChangeFn(v);\n    this.onTouchedFn();\n  }\n}","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n  selector: 'animax-input',\n  standalone: true,\n  imports: [CommonModule, FormsModule],\n  template: `\n    <label *ngIf=\"label\" class=\"ui-label\">{{ label }}</label>\n    <input\n      class=\"ui-input\"\n      [type]=\"type\"\n      [placeholder]=\"placeholder\"\n      [disabled]=\"disabled\"\n      [(ngModel)]=\"value\"\n      (ngModelChange)=\"changed.emit($event)\"\n    />\n    <small class=\"ui-hint\" *ngIf=\"hint\">{{ hint }}</small>\n    <small class=\"ui-error\" *ngIf=\"error\">{{ error }}</small>\n  `,\n  styles: [`\n    .ui-label { display:block; margin-bottom: 6px; font-weight:500; }\n    .ui-input {\n      width:100%; border:1px solid #d1d5db; border-radius: 8px; padding: 8px 12px;\n      outline: none;\n    }\n    .ui-input:focus { border-color:#0a66c2; box-shadow: 0 0 0 3px rgba(10,102,194,.15); }\n    .ui-hint { color:#6b7280; }\n    .ui-error { color:#dc2626; }\n  `]\n})\nexport class AnimaxInputComponent {\n  @Input() label?: string;\n  @Input() placeholder?: string;\n  @Input() hint?: string;\n  @Input() error?: string;\n  @Input() type: 'text'|'email'|'password' = 'text';\n  @Input() disabled = false;\n\n  @Input() value: string = '';\n  @Output() changed = new EventEmitter<string>();\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-checkbox', standalone:true, imports:[CommonModule], template:`\n<label class=\"animax-checkbox\"><input type=\"checkbox\" [checked]=\"checked\" (change)=\"toggle($event)\"><span>{{label}}</span></label>` })\nexport class AnimaxCheckboxComponent { @Input() label='Aceito os termos'; @Input() checked=false; @Output() checkedChange=new EventEmitter<boolean>();\n  toggle(e:Event){ this.checked=(e.target as HTMLInputElement).checked; this.checkedChange.emit(this.checked); } }\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n  selector: 'animax-switch',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <button type=\"button\" class=\"ui-switch\" [attr.aria-pressed]=\"checked\" (click)=\"toggle()\" [disabled]=\"disabled\">\n      <span class=\"knob\" [attr.data-on]=\"checked\"></span>\n    </button>\n  `,\n  styles: [`\n    .ui-switch { width:42px; height:24px; border-radius:999px; border:none; background:#e5e7eb; position:relative; padding:2px; cursor:pointer; }\n    .ui-switch[aria-pressed=\"true\"] { background:#0a66c2; }\n    .ui-switch:disabled { opacity:.6; cursor:not-allowed; }\n    .knob { position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left .15s ease-in-out; }\n    .knob[data-on=\"true\"] { left:20px; }\n  `]\n})\nexport class AnimaxSwitchComponent {\n  @Input() checked = false;\n  @Input() disabled = false;\n  @Output() checkedChange = new EventEmitter<boolean>();\n  toggle(){ this.checked = !this.checked; this.checkedChange.emit(this.checked); }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface UiRadioOption<T=any> { label: string; value: T; disabled?: boolean; }\n\n@Component({\n  selector: 'animax-radio-group',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <fieldset class=\"ui-radio-group\">\n      <legend *ngIf=\"label\">{{ label }}</legend>\n      <label *ngFor=\"let opt of options\" class=\"item\">\n        <input type=\"radio\" [name]=\"name\" [value]=\"opt.value\" [checked]=\"value===opt.value\"\n               (change)=\"select(opt.value)\" [disabled]=\"opt.disabled || disabled\">\n        <span>{{ opt.label }}</span>\n      </label>\n    </fieldset>\n  `,\n  styles: [`\n    .ui-radio-group { display:flex; gap:12px; flex-wrap:wrap; border:0; padding:0; }\n    .ui-radio-group .item { display:inline-flex; gap:6px; align-items:center; }\n    legend { font-weight:600; margin-bottom:6px; }\n  `]\n})\nexport class AnimaxRadioGroupComponent<T=any> {\n  @Input() label?: string;\n  @Input() name = 'ui-radio';\n  @Input() options: UiRadioOption<T>[] = [];\n  @Input() value?: T;\n  @Input() disabled = false;\n  @Output() valueChange = new EventEmitter<T>();\n\n  select(v: T){ this.value = v; this.valueChange.emit(v); }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\n\n@Component({\n  selector: 'animax-date-picker',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n  <div class=\"animax-date\">\n    <label *ngIf=\"label\" class=\"animax-label\">{{label}}</label>\n    <div class=\"field\" (click)=\"toggle()\" [class.open]=\"open\">\n      <input class=\"animax-input display\" [value]=\"displayValue\" readonly [placeholder]=\"placeholder\"/>\n      <button class=\"animax-btn icon\" type=\"button\" aria-label=\"Abrir calendário\">📅</button>\n    </div>\n\n    <div class=\"panel\" *ngIf=\"open\" #panel>\n      <div class=\"panel-header\">\n        <button type=\"button\" class=\"nav\" (click)=\"prevMonth()\">‹</button>\n        <div class=\"month\">{{ monthNames[currentMonth] }} {{ currentYear }}</div>\n        <button type=\"button\" class=\"nav\" (click)=\"nextMonth()\">›</button>\n      </div>\n\n      <div class=\"weekdays\">\n        <span *ngFor=\"let d of week\">{{d}}</span>\n      </div>\n\n      <div class=\"grid\">\n        <button\n          *ngFor=\"let day of calendarDays\"\n          type=\"button\"\n          class=\"cell\"\n          [class.muted]=\"day.muted\"\n          [class.selected]=\"isSelected(day.date)\"\n          (click)=\"select(day.date)\">\n          {{ day.date.getDate() }}\n        </button>\n      </div>\n    </div>\n  </div>\n  `,\n  styles: [`\n    :host { display:block; }\n    .field { display:flex; gap:8px; align-items:center; position:relative; }\n    .field .display { flex:1; cursor:pointer; }\n    .field .icon { padding:8px 10px; }\n    .panel {\n      margin-top: 8px; background: var(--ads-surface); color: var(--ads-text);\n      border-radius: var(--ads-radius); box-shadow: var(--ads-shadow); padding: 12px;\n      width: 280px; z-index: 20;\n    }\n    .panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom: 8px; }\n    .nav { background: transparent; color: var(--ads-text); border: 1px solid rgba(255,255,255,.15);\n           border-radius: 8px; padding: 4px 8px; cursor: pointer; }\n    .month { font-weight:700; }\n    .weekdays { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; color: var(--ads-muted); font-size:12px; margin: 6px 0; text-align:center; }\n    .grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:6px; }\n    .cell {\n      background: var(--ads-surface-2); color: var(--ads-text);\n      border: 1px solid rgba(255,255,255,.06); border-radius: 8px; padding: 6px 0;\n    }\n    .cell:hover { box-shadow: var(--ads-ring); }\n    .cell.muted { opacity: .45; }\n    .cell.selected { outline: 2px solid var(--ads-accent); }\n  `]\n})\nexport class AnimaxDatePickerComponent implements OnInit {\n  @Input() label?: string;\n  @Input() placeholder = 'Selecione uma data';\n  @Input() value?: Date | null;\n  @Output() valueChange = new EventEmitter<Date | null>();\n\n  open = false;\n  currentYear: number = new Date().getFullYear();\n  currentMonth: number = new Date().getMonth();\n  calendarDays: { date: Date, muted: boolean }[] = [];\n\n  week = ['D','S','T','Q','Q','S','S'];\n  monthNames = ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'];\n\n  @ViewChild('panel') panelRef?: ElementRef<HTMLDivElement>;\n\n  ngOnInit() { this.buildCalendar(); }\n\n  toggle(){ this.open = !this.open; }\n  @HostListener('document:click', ['$event'])\n  closeOnOutside(e: MouseEvent){\n    if(!this.open) return;\n    const panel = this.panelRef?.nativeElement;\n    const within = panel?.contains(e.target as Node) || (e.target as HTMLElement).closest('animax-date-picker');\n    if(!within) this.open = false;\n  }\n\n  buildCalendar() {\n    const firstDay = new Date(this.currentYear, this.currentMonth, 1);\n    const start = new Date(firstDay);\n    const startDay = start.getDay(); // 0 dom .. 6 sab\n    start.setDate(start.getDate() - startDay);\n\n    this.calendarDays = [];\n    for(let i=0;i<42;i++){\n      const d = new Date(start);\n      d.setDate(start.getDate() + i);\n      const muted = d.getMonth() !== this.currentMonth;\n      this.calendarDays.push({ date: d, muted });\n    }\n  }\n  prevMonth(){ if(this.currentMonth===0){ this.currentMonth=11; this.currentYear--; } else this.currentMonth--; this.buildCalendar(); }\n  nextMonth(){ if(this.currentMonth===11){ this.currentMonth=0; this.currentYear++; } else this.currentMonth++; this.buildCalendar(); }\n\n  select(d: Date){ this.value = new Date(d.getFullYear(), d.getMonth(), d.getDate()); this.valueChange.emit(this.value); this.open=false; }\n  isSelected(d: Date){ return !!this.value && d.toDateString() === this.value.toDateString(); }\n\n  get displayValue(){\n    if(!this.value) return '';\n    const dd = String(this.value.getDate()).padStart(2,'0');\n    const mm = String(this.value.getMonth()+1).padStart(2,'0');\n    const yyyy = this.value.getFullYear();\n    return `${dd}/${mm}/${yyyy}`;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nexport interface AnimaxColumn { key: string; label: string; width?: string; sortable?: boolean; align?: 'left'|'center'|'right'; }\ntype Row = Record<string, any>;\n\n@Component({\n  selector: 'animax-table',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n  <div class=\"table-wrapper animax-surface\">\n    <table>\n      <thead>\n        <tr>\n          <th *ngFor=\"let c of columns\"\n              [style.width]=\"c.width || 'auto'\"\n              [class.clickable]=\"c.sortable\"\n              (click)=\"c.sortable && toggleSort(c.key)\">\n            <span>{{c.label}}</span>\n            <span class=\"sort\" *ngIf=\"c.sortable\">\n              <span [class.active]=\"sort?.key===c.key && sort?.dir==='asc'\">▲</span>\n              <span [class.active]=\"sort?.key===c.key && sort?.dir==='desc'\">▼</span>\n            </span>\n          </th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr *ngFor=\"let row of sortedData; let i = index\" [class.striped]=\"striped && i % 2 === 1\">\n          <td *ngFor=\"let c of columns\" [class.right]=\"c.align==='right'\" [class.center]=\"c.align==='center'\">\n            {{ row[c.key] }}\n          </td>\n        </tr>\n        <tr *ngIf=\"sortedData.length === 0\">\n          <td [attr.colspan]=\"columns.length\" class=\"empty\">Sem dados</td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n  `,\n  styles: [`\n    .table-wrapper { padding: 12px; }\n    table { width:100%; border-collapse: collapse; }\n    thead th {\n      text-align: left; color: var(--ads-muted); font-weight: 700; padding: 10px 8px;\n      position: sticky; top: 0; background: var(--ads-surface);\n      border-bottom: 1px solid rgba(255,255,255,.08);\n    }\n    thead th.clickable { cursor: pointer; user-select: none; }\n    thead th .sort { margin-left: 6px; font-size: 10px; opacity: .6; }\n    thead th .sort .active { opacity: 1; color: var(--ads-accent); }\n    tbody td { padding: 10px 8px; border-bottom: 1px solid rgba(255,255,255,.06); color: var(--ads-text); }\n    tbody tr.striped td { background: var(--ads-surface-2); }\n    td.right { text-align: right; } td.center { text-align: center; }\n    .empty { text-align: center; color: var(--ads-muted); padding: 24px 0; }\n  `]\n})\nexport class AnimaxTableComponent {\n  @Input() columns: AnimaxColumn[] = [];\n  @Input() data: Row[] = [];\n  @Input() striped = true;\n\n  sort: { key: string, dir: 'asc'|'desc' } | null = null;\n\n  get sortedData(){\n    if(!this.sort) return this.data;\n    const { key, dir } = this.sort;\n    return [...this.data].sort((a,b)=>{\n      const av = a[key]; const bv = b[key];\n      if(av == null && bv == null) return 0;\n      if(av == null) return dir==='asc' ? -1 : 1;\n      if(bv == null) return dir==='asc' ? 1 : -1;\n      if(typeof av === 'number' && typeof bv === 'number') return dir==='asc' ? av-bv : bv-av;\n      return dir==='asc' ? String(av).localeCompare(String(bv)) : String(bv).localeCompare(String(av));\n    });\n  }\n\n  toggleSort(key: string){\n    if(this.sort?.key !== key){ this.sort = { key, dir: 'asc' }; return; }\n    this.sort = { key, dir: this.sort.dir === 'asc' ? 'desc' : 'asc' };\n  }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-modal', standalone:true, imports:[CommonModule], template:`\n<div *ngIf=\"open\" class=\"animax-backdrop\" (click)=\"backdropClose ? close() : null\">\n  <div class=\"animax-modal\" (click)=\"$event.stopPropagation()\">\n    <div class=\"head\"><div>{{title}}</div><button class=\"animax-btn\" (click)=\"close()\">Fechar</button></div>\n    <div class=\"body\"><ng-content></ng-content></div>\n    <div class=\"foot\" *ngIf=\"showFooter\"><button class=\"animax-btn\" (click)=\"confirm.emit()\">Confirmar</button></div>\n  </div>\n</div>` })\nexport class AnimaxModalComponent {\n  @Input() open=false; @Output() openChange=new EventEmitter<boolean>();\n  @Input() title='Modal'; @Input() backdropClose=true; @Input() showFooter=false;\n  @Output() confirm=new EventEmitter<void>(); close(){ this.open=false; this.openChange.emit(false); }\n}\n","import { Component, Input, HostListener } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-tooltip', standalone:true, imports:[CommonModule], template:`\n<span class=\"animax-tooltip\"><ng-content></ng-content><span *ngIf=\"show\" class=\"bubble\" [attr.data-pos]=\"position\">{{text}}</span></span>` })\nexport class AnimaxTooltipComponent { @Input() text='Tooltip'; @Input() position:'top'|'bottom'='top'; @Input() trigger:'hover'|'click'='hover'; show=false;\n  @HostListener('mouseenter') enter(){ if(this.trigger==='hover') this.show=true; }\n  @HostListener('mouseleave') leave(){ if(this.trigger==='hover') this.show=false; }\n  @HostListener('click') click(){ if(this.trigger==='click') this.show=!this.show; } }\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-loader', standalone:true, imports:[CommonModule],\ntemplate:`<div class=\"animax-loader\" [style.width.px]=\"size\" [style.height.px]=\"size\"></div>` })\nexport class AnimaxLoaderComponent { @Input() size=40; }\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-alert', standalone:true, imports:[CommonModule], template:`\n<div class=\"animax-alert\" [ngClass]=\"variant\"><ng-content></ng-content></div>` })\nexport class AnimaxAlertComponent { @Input() variant:'info'|'success'|'warning'|'danger'='info'; }\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({ selector:'animax-progress', standalone:true, imports:[CommonModule],\ntemplate:`<div class=\"animax-progress\"><div class=\"bar\" [style.width.%]=\"clamped\"></div></div>` })\nexport class AnimaxProgressBarComponent implements OnChanges {\n  @Input() value=0; clamped=0; ngOnChanges(){ this.clamped=Math.max(0,Math.min(100,this.value)); }\n}\n","// Buttons\nexport { AnimaxButtonComponent as AnimaxButtonComponent } from './buttons/button/button.component';\nexport { AnimaxIconButtonComponent as AnimaxIconButtonComponent } from './buttons/icon-button/icon-button.component';\n\n// Layout\nexport { AnimaxBadgeComponent as AnimaxBadgeComponent } from './layout/badge/badge.component';\n\n// Forms\nexport { AnimaxSelectComponent as AnimaxSelectComponent } from './forms/select/select.component';\nexport { AnimaxInputComponent as AnimaxInputComponent } from './forms/input/input.component';\nexport { AnimaxCheckboxComponent } from './forms/checkbox/checkbox.component';\nexport { AnimaxSwitchComponent as AnimaxSwitchComponent } from './forms/switch/switch.component';\nexport { AnimaxRadioGroupComponent as AnimaxRadioGroupComponent } from './forms/radio/radio-group.component';\nexport { AnimaxDatePickerComponent as AnimaxDatePickerComponent } from './forms/date/date-picker.component';\n\n// Data\nexport { AnimaxTableComponent } from './data/table/animax-table.component';\n\n// Overlay\nexport { AnimaxModalComponent as AnimaxModalComponent } from './overlay/modal/modal.component';\nexport { AnimaxTooltipComponent as AnimaxTooltipComponent } from './overlay/tooltip/tooltip.component';\n\nexport { AnimaxLoaderComponent as AnimaxLoaderComponent } from './feedback/loader/loader.component';\nexport { AnimaxAlertComponent as AnimaxAlertComponent } from './feedback/alert/alert.component';\nexport { AnimaxProgressBarComponent as AnimaxProgressBarComponent} from './feedback/progress/progress-bar.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}