orbiq-neural-ui-kit 1.1.17 → 1.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12531,7 +12531,7 @@ class NeuralDataTableComponent {
12531
12531
  <div class="flex items-center justify-between px-4 py-3 bg-white">
12532
12532
  <!-- Left: Title & Info -->
12533
12533
  <div class="flex items-center gap-3">
12534
- <h2 class="text-lg font-semibold text-ink-gray-9">{{ title() }}</h2>
12534
+ <h2 class="text-[15px] font-semibold text-ink-gray-9">{{ title() }}</h2>
12535
12535
  </div>
12536
12536
 
12537
12537
  <!-- Right: Actions Toolbar -->
@@ -12540,14 +12540,14 @@ class NeuralDataTableComponent {
12540
12540
 
12541
12541
  <!-- Built-in Actions Group (Clean, no background) -->
12542
12542
  <div class="flex items-center gap-0.5">
12543
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Vista" (click)="onViewChange.emit('report')">
12544
- <i class="lucide-list size-[18px]" style="stroke-width: 1.5px;"></i>
12543
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Vista" (click)="onViewChange.emit('report')">
12544
+ <i class="lucide-list size-4" style="stroke-width: 1.5px;"></i>
12545
12545
  </button>
12546
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Filtrar" (click)="onFilterClick.emit()">
12547
- <i class="lucide-filter size-[18px]" style="stroke-width: 1.5px;"></i>
12546
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Filtrar" (click)="onFilterClick.emit()">
12547
+ <i class="lucide-filter size-4" style="stroke-width: 1.5px;"></i>
12548
12548
  </button>
12549
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Orden" (click)="onSortChangeClick.emit()">
12550
- <i class="lucide-arrow-up-down size-[18px]" style="stroke-width: 1.5px;"></i>
12549
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Orden" (click)="onSortChangeClick.emit()">
12550
+ <i class="lucide-arrow-up-down size-4" style="stroke-width: 1.5px;"></i>
12551
12551
  </button>
12552
12552
  </div>
12553
12553
 
@@ -12555,27 +12555,27 @@ class NeuralDataTableComponent {
12555
12555
 
12556
12556
  <div class="flex items-center gap-0.5">
12557
12557
  <!-- Search Icon -->
12558
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Buscar" (click)="onSearchClick.emit()">
12559
- <i class="lucide-search size-[18px]" style="stroke-width: 1.5px;"></i>
12558
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Buscar" (click)="onSearchClick.emit()">
12559
+ <i class="lucide-search size-4" style="stroke-width: 1.5px;"></i>
12560
12560
  </button>
12561
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Actualizar" (click)="onRefreshClick.emit()">
12562
- <i class="lucide-refresh-cw size-[18px]" style="stroke-width: 1.5px;"></i>
12561
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Actualizar" (click)="onRefreshClick.emit()">
12562
+ <i class="lucide-refresh-cw size-4" style="stroke-width: 1.5px;"></i>
12563
12563
  </button>
12564
12564
 
12565
12565
  <!-- Dynamic Custom Actions -->
12566
12566
  @for (action of visibleCustomActions(); track action.id) {
12567
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors disabled:opacity-50"
12567
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors disabled:opacity-50"
12568
12568
  [title]="action.label"
12569
12569
  [disabled]="action.disabled"
12570
12570
  (click)="onCustomActionClick.emit(action.id)">
12571
- <i [class]="action.icon + ' size-[18px]'" style="stroke-width: 1.5px;"></i>
12571
+ <i [class]="action.icon + ' size-4'" style="stroke-width: 1.5px;"></i>
12572
12572
  </button>
12573
12573
  }
12574
12574
 
12575
12575
  @if (overflowCustomActions().length > 0) {
12576
12576
  <neural-dropdown [options]="overflowDropdownOptions()" (onSelect)="onCustomActionDropdownSelect($event)" [hasTriggerSlot]="true" placement="bottom-end">
12577
- <button trigger class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Más acciones">
12578
- <i class="lucide-more-horizontal size-[18px]" style="stroke-width: 1.5px;"></i>
12577
+ <button trigger class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Más acciones">
12578
+ <i class="lucide-more-horizontal size-4" style="stroke-width: 1.5px;"></i>
12579
12579
  </button>
12580
12580
  </neural-dropdown>
12581
12581
  }
@@ -12583,13 +12583,34 @@ class NeuralDataTableComponent {
12583
12583
 
12584
12584
  <div class="w-px h-4 bg-outline-gray-2 mx-1.5"></div>
12585
12585
 
12586
+ <!-- Pagination Controls (List Mode) -->
12587
+ <div class="flex items-center gap-0.5 text-sm text-ink-gray-7 font-medium mr-2">
12588
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(1)" title="Primera página">
12589
+ <i class="lucide-chevrons-left size-3.5" style="stroke-width: 1.5px;"></i>
12590
+ </button>
12591
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(page() - 1)" title="Anterior">
12592
+ <i class="lucide-chevron-left size-3.5" style="stroke-width: 1.5px;"></i>
12593
+ </button>
12594
+
12595
+ <span class="px-2 min-w-[70px] text-center text-xs opacity-80">{{ page() }} <span class="text-ink-gray-4 mx-1">/</span> {{ totalPages() }}</span>
12596
+
12597
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(page() + 1)" title="Siguiente">
12598
+ <i class="lucide-chevron-right size-3.5" style="stroke-width: 1.5px;"></i>
12599
+ </button>
12600
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(totalPages())" title="Última página">
12601
+ <i class="lucide-chevrons-right size-3.5" style="stroke-width: 1.5px;"></i>
12602
+ </button>
12603
+ </div>
12604
+
12605
+ <div class="w-px h-4 bg-outline-gray-2 mr-1.5"></div>
12606
+
12586
12607
  <!-- Settings, Help and External Actions -->
12587
12608
  <div class="flex items-center gap-0.5">
12588
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Configurar columnas" (click)="isPreferencesOpen.set(true)">
12589
- <i class="lucide-columns size-[18px]" style="stroke-width: 1.5px;"></i>
12609
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Configurar columnas" (click)="isPreferencesOpen.set(true)">
12610
+ <i class="lucide-columns size-4" style="stroke-width: 1.5px;"></i>
12590
12611
  </button>
12591
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Ayuda / Información" (click)="onHelpClick.emit()">
12592
- <i class="lucide-help-circle size-[18px]" style="stroke-width: 1.5px;"></i>
12612
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Ayuda / Información" (click)="onHelpClick.emit()">
12613
+ <i class="lucide-help-circle size-4" style="stroke-width: 1.5px;"></i>
12593
12614
  </button>
12594
12615
 
12595
12616
  <ng-content select="[header-actions]"></ng-content>
@@ -12597,7 +12618,7 @@ class NeuralDataTableComponent {
12597
12618
 
12598
12619
  <div class="ms-1.5">
12599
12620
  <!-- + Nuevo Button -->
12600
- <neural-button variant="solid" theme="gray" size="sm" icon="lucide-plus" [iconLeft]="true" class="!px-3 !h-8 !text-[12px]" (click)="onNewClick.emit()">
12621
+ <neural-button variant="solid" theme="gray" size="sm" icon="lucide-plus" [iconLeft]="true" class="!px-3 !h-7 !text-[11px]" (click)="onNewClick.emit()">
12601
12622
  {{ newLabel() }}
12602
12623
  </neural-button>
12603
12624
  </div>
@@ -12628,7 +12649,7 @@ class NeuralDataTableComponent {
12628
12649
  }
12629
12650
  @for (col of visibleColumns(); track col.key; let first = $first; let last = $last) {
12630
12651
  <th
12631
- class="px-4 py-1.5 text-[13px] font-medium text-ink-gray-6 bg-surface-gray-1 border-0 align-middle hover:text-ink-gray-9 cursor-pointer transition-colors"
12652
+ class="px-4 py-1.5 text-xs font-medium text-ink-gray-6 bg-surface-gray-1 border-0 align-middle hover:text-ink-gray-9 cursor-pointer transition-colors"
12632
12653
  [style.width]="col.width || 'auto'"
12633
12654
  [style.border-top-left-radius]="!selectable() && first ? '8px' : '0'"
12634
12655
  [style.border-bottom-left-radius]="!selectable() && first ? '8px' : '0'"
@@ -12657,7 +12678,7 @@ class NeuralDataTableComponent {
12657
12678
  }
12658
12679
  @for (col of visibleColumns(); track col.key; let last = $last) {
12659
12680
  <td
12660
- class="px-4 py-3 text-[13px] font-normal text-ink-gray-8 border-b border-outline-gray-1 group-last:border-b-0"
12681
+ class="px-4 py-2 text-xs font-normal text-ink-gray-8 border-b border-outline-gray-1 group-last:border-b-0"
12661
12682
  [class.truncate]="!wrapLines()"
12662
12683
  [class.whitespace-nowrap]="!wrapLines()"
12663
12684
  >
@@ -12672,8 +12693,8 @@ class NeuralDataTableComponent {
12672
12693
  <tr>
12673
12694
  <td [attr.colspan]="visibleColumns().length" class="h-64 border-0 p-0">
12674
12695
  <div class="absolute inset-0 flex flex-col items-center justify-center p-6 text-center">
12675
- <h3 class="text-[15px] font-bold text-ink-gray-8 mb-1">{{ emptyStateTitle() }}</h3>
12676
- <p class="text-[13px] text-ink-gray-5 mb-4 max-w-md">{{ emptyStateDesc() }}</p>
12696
+ <h3 class="text-sm font-bold text-ink-gray-8 mb-1">{{ emptyStateTitle() }}</h3>
12697
+ <p class="text-xs text-ink-gray-5 mb-4 max-w-md">{{ emptyStateDesc() }}</p>
12677
12698
  <ng-content select="[empty-actions]"></ng-content>
12678
12699
  </div>
12679
12700
  </td>
@@ -12682,35 +12703,6 @@ class NeuralDataTableComponent {
12682
12703
  </tbody>
12683
12704
  </table>
12684
12705
  </div>
12685
-
12686
- <!-- Footer / Pagination Area -->
12687
- <div class="flex items-center justify-between px-4 py-3 border-t border-outline-gray-2 bg-white">
12688
- <!-- Left Footer -->
12689
- <div class="text-[13px] text-ink-gray-5">
12690
- <!-- Espacio para contadores de selección -->
12691
- </div>
12692
-
12693
- <!-- Right Footer: Pagination & Settings -->
12694
- <div class="flex items-center gap-4">
12695
- <div class="flex items-center gap-0.5 text-sm text-ink-gray-7 font-medium">
12696
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(1)" title="Primera página">
12697
- <i class="lucide-chevrons-left size-3.5" style="stroke-width: 1.5px;"></i>
12698
- </button>
12699
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(page() - 1)" title="Anterior">
12700
- <i class="lucide-chevron-left size-3.5" style="stroke-width: 1.5px;"></i>
12701
- </button>
12702
-
12703
- <span class="px-2 min-w-[70px] text-center">{{ page() }} <span class="text-ink-gray-4 mx-1">/</span> {{ totalPages() }}</span>
12704
-
12705
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(page() + 1)" title="Siguiente">
12706
- <i class="lucide-chevron-right size-3.5" style="stroke-width: 1.5px;"></i>
12707
- </button>
12708
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(totalPages())" title="Última página">
12709
- <i class="lucide-chevrons-right size-3.5" style="stroke-width: 1.5px;"></i>
12710
- </button>
12711
- </div>
12712
- </div>
12713
- </div>
12714
12706
  }
12715
12707
 
12716
12708
  @if (viewMode() === 'form') {
@@ -12787,7 +12779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12787
12779
  <div class="flex items-center justify-between px-4 py-3 bg-white">
12788
12780
  <!-- Left: Title & Info -->
12789
12781
  <div class="flex items-center gap-3">
12790
- <h2 class="text-lg font-semibold text-ink-gray-9">{{ title() }}</h2>
12782
+ <h2 class="text-[15px] font-semibold text-ink-gray-9">{{ title() }}</h2>
12791
12783
  </div>
12792
12784
 
12793
12785
  <!-- Right: Actions Toolbar -->
@@ -12796,14 +12788,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12796
12788
 
12797
12789
  <!-- Built-in Actions Group (Clean, no background) -->
12798
12790
  <div class="flex items-center gap-0.5">
12799
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Vista" (click)="onViewChange.emit('report')">
12800
- <i class="lucide-list size-[18px]" style="stroke-width: 1.5px;"></i>
12791
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Vista" (click)="onViewChange.emit('report')">
12792
+ <i class="lucide-list size-4" style="stroke-width: 1.5px;"></i>
12801
12793
  </button>
12802
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Filtrar" (click)="onFilterClick.emit()">
12803
- <i class="lucide-filter size-[18px]" style="stroke-width: 1.5px;"></i>
12794
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Filtrar" (click)="onFilterClick.emit()">
12795
+ <i class="lucide-filter size-4" style="stroke-width: 1.5px;"></i>
12804
12796
  </button>
12805
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Orden" (click)="onSortChangeClick.emit()">
12806
- <i class="lucide-arrow-up-down size-[18px]" style="stroke-width: 1.5px;"></i>
12797
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Orden" (click)="onSortChangeClick.emit()">
12798
+ <i class="lucide-arrow-up-down size-4" style="stroke-width: 1.5px;"></i>
12807
12799
  </button>
12808
12800
  </div>
12809
12801
 
@@ -12811,27 +12803,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12811
12803
 
12812
12804
  <div class="flex items-center gap-0.5">
12813
12805
  <!-- Search Icon -->
12814
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Buscar" (click)="onSearchClick.emit()">
12815
- <i class="lucide-search size-[18px]" style="stroke-width: 1.5px;"></i>
12806
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Buscar" (click)="onSearchClick.emit()">
12807
+ <i class="lucide-search size-4" style="stroke-width: 1.5px;"></i>
12816
12808
  </button>
12817
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Actualizar" (click)="onRefreshClick.emit()">
12818
- <i class="lucide-refresh-cw size-[18px]" style="stroke-width: 1.5px;"></i>
12809
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Actualizar" (click)="onRefreshClick.emit()">
12810
+ <i class="lucide-refresh-cw size-4" style="stroke-width: 1.5px;"></i>
12819
12811
  </button>
12820
12812
 
12821
12813
  <!-- Dynamic Custom Actions -->
12822
12814
  @for (action of visibleCustomActions(); track action.id) {
12823
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors disabled:opacity-50"
12815
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors disabled:opacity-50"
12824
12816
  [title]="action.label"
12825
12817
  [disabled]="action.disabled"
12826
12818
  (click)="onCustomActionClick.emit(action.id)">
12827
- <i [class]="action.icon + ' size-[18px]'" style="stroke-width: 1.5px;"></i>
12819
+ <i [class]="action.icon + ' size-4'" style="stroke-width: 1.5px;"></i>
12828
12820
  </button>
12829
12821
  }
12830
12822
 
12831
12823
  @if (overflowCustomActions().length > 0) {
12832
12824
  <neural-dropdown [options]="overflowDropdownOptions()" (onSelect)="onCustomActionDropdownSelect($event)" [hasTriggerSlot]="true" placement="bottom-end">
12833
- <button trigger class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Más acciones">
12834
- <i class="lucide-more-horizontal size-[18px]" style="stroke-width: 1.5px;"></i>
12825
+ <button trigger class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Más acciones">
12826
+ <i class="lucide-more-horizontal size-4" style="stroke-width: 1.5px;"></i>
12835
12827
  </button>
12836
12828
  </neural-dropdown>
12837
12829
  }
@@ -12839,13 +12831,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12839
12831
 
12840
12832
  <div class="w-px h-4 bg-outline-gray-2 mx-1.5"></div>
12841
12833
 
12834
+ <!-- Pagination Controls (List Mode) -->
12835
+ <div class="flex items-center gap-0.5 text-sm text-ink-gray-7 font-medium mr-2">
12836
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(1)" title="Primera página">
12837
+ <i class="lucide-chevrons-left size-3.5" style="stroke-width: 1.5px;"></i>
12838
+ </button>
12839
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(page() - 1)" title="Anterior">
12840
+ <i class="lucide-chevron-left size-3.5" style="stroke-width: 1.5px;"></i>
12841
+ </button>
12842
+
12843
+ <span class="px-2 min-w-[70px] text-center text-xs opacity-80">{{ page() }} <span class="text-ink-gray-4 mx-1">/</span> {{ totalPages() }}</span>
12844
+
12845
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(page() + 1)" title="Siguiente">
12846
+ <i class="lucide-chevron-right size-3.5" style="stroke-width: 1.5px;"></i>
12847
+ </button>
12848
+ <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(totalPages())" title="Última página">
12849
+ <i class="lucide-chevrons-right size-3.5" style="stroke-width: 1.5px;"></i>
12850
+ </button>
12851
+ </div>
12852
+
12853
+ <div class="w-px h-4 bg-outline-gray-2 mr-1.5"></div>
12854
+
12842
12855
  <!-- Settings, Help and External Actions -->
12843
12856
  <div class="flex items-center gap-0.5">
12844
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Configurar columnas" (click)="isPreferencesOpen.set(true)">
12845
- <i class="lucide-columns size-[18px]" style="stroke-width: 1.5px;"></i>
12857
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Configurar columnas" (click)="isPreferencesOpen.set(true)">
12858
+ <i class="lucide-columns size-4" style="stroke-width: 1.5px;"></i>
12846
12859
  </button>
12847
- <button class="flex items-center justify-center size-8 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Ayuda / Información" (click)="onHelpClick.emit()">
12848
- <i class="lucide-help-circle size-[18px]" style="stroke-width: 1.5px;"></i>
12860
+ <button class="flex items-center justify-center size-7 rounded-md hover:bg-surface-gray-1 text-ink-gray-6 hover:text-ink-gray-9 transition-colors" title="Ayuda / Información" (click)="onHelpClick.emit()">
12861
+ <i class="lucide-help-circle size-4" style="stroke-width: 1.5px;"></i>
12849
12862
  </button>
12850
12863
 
12851
12864
  <ng-content select="[header-actions]"></ng-content>
@@ -12853,7 +12866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12853
12866
 
12854
12867
  <div class="ms-1.5">
12855
12868
  <!-- + Nuevo Button -->
12856
- <neural-button variant="solid" theme="gray" size="sm" icon="lucide-plus" [iconLeft]="true" class="!px-3 !h-8 !text-[12px]" (click)="onNewClick.emit()">
12869
+ <neural-button variant="solid" theme="gray" size="sm" icon="lucide-plus" [iconLeft]="true" class="!px-3 !h-7 !text-[11px]" (click)="onNewClick.emit()">
12857
12870
  {{ newLabel() }}
12858
12871
  </neural-button>
12859
12872
  </div>
@@ -12884,7 +12897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12884
12897
  }
12885
12898
  @for (col of visibleColumns(); track col.key; let first = $first; let last = $last) {
12886
12899
  <th
12887
- class="px-4 py-1.5 text-[13px] font-medium text-ink-gray-6 bg-surface-gray-1 border-0 align-middle hover:text-ink-gray-9 cursor-pointer transition-colors"
12900
+ class="px-4 py-1.5 text-xs font-medium text-ink-gray-6 bg-surface-gray-1 border-0 align-middle hover:text-ink-gray-9 cursor-pointer transition-colors"
12888
12901
  [style.width]="col.width || 'auto'"
12889
12902
  [style.border-top-left-radius]="!selectable() && first ? '8px' : '0'"
12890
12903
  [style.border-bottom-left-radius]="!selectable() && first ? '8px' : '0'"
@@ -12913,7 +12926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12913
12926
  }
12914
12927
  @for (col of visibleColumns(); track col.key; let last = $last) {
12915
12928
  <td
12916
- class="px-4 py-3 text-[13px] font-normal text-ink-gray-8 border-b border-outline-gray-1 group-last:border-b-0"
12929
+ class="px-4 py-2 text-xs font-normal text-ink-gray-8 border-b border-outline-gray-1 group-last:border-b-0"
12917
12930
  [class.truncate]="!wrapLines()"
12918
12931
  [class.whitespace-nowrap]="!wrapLines()"
12919
12932
  >
@@ -12928,8 +12941,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12928
12941
  <tr>
12929
12942
  <td [attr.colspan]="visibleColumns().length" class="h-64 border-0 p-0">
12930
12943
  <div class="absolute inset-0 flex flex-col items-center justify-center p-6 text-center">
12931
- <h3 class="text-[15px] font-bold text-ink-gray-8 mb-1">{{ emptyStateTitle() }}</h3>
12932
- <p class="text-[13px] text-ink-gray-5 mb-4 max-w-md">{{ emptyStateDesc() }}</p>
12944
+ <h3 class="text-sm font-bold text-ink-gray-8 mb-1">{{ emptyStateTitle() }}</h3>
12945
+ <p class="text-xs text-ink-gray-5 mb-4 max-w-md">{{ emptyStateDesc() }}</p>
12933
12946
  <ng-content select="[empty-actions]"></ng-content>
12934
12947
  </div>
12935
12948
  </td>
@@ -12938,35 +12951,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
12938
12951
  </tbody>
12939
12952
  </table>
12940
12953
  </div>
12941
-
12942
- <!-- Footer / Pagination Area -->
12943
- <div class="flex items-center justify-between px-4 py-3 border-t border-outline-gray-2 bg-white">
12944
- <!-- Left Footer -->
12945
- <div class="text-[13px] text-ink-gray-5">
12946
- <!-- Espacio para contadores de selección -->
12947
- </div>
12948
-
12949
- <!-- Right Footer: Pagination & Settings -->
12950
- <div class="flex items-center gap-4">
12951
- <div class="flex items-center gap-0.5 text-sm text-ink-gray-7 font-medium">
12952
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(1)" title="Primera página">
12953
- <i class="lucide-chevrons-left size-3.5" style="stroke-width: 1.5px;"></i>
12954
- </button>
12955
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() === 1" (click)="onPageChange.emit(page() - 1)" title="Anterior">
12956
- <i class="lucide-chevron-left size-3.5" style="stroke-width: 1.5px;"></i>
12957
- </button>
12958
-
12959
- <span class="px-2 min-w-[70px] text-center">{{ page() }} <span class="text-ink-gray-4 mx-1">/</span> {{ totalPages() }}</span>
12960
-
12961
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(page() + 1)" title="Siguiente">
12962
- <i class="lucide-chevron-right size-3.5" style="stroke-width: 1.5px;"></i>
12963
- </button>
12964
- <button class="p-1 hover:bg-surface-gray-2 rounded text-ink-gray-5 hover:text-ink-gray-8 disabled:opacity-30 disabled:hover:bg-transparent" [disabled]="page() >= totalPages()" (click)="onPageChange.emit(totalPages())" title="Última página">
12965
- <i class="lucide-chevrons-right size-3.5" style="stroke-width: 1.5px;"></i>
12966
- </button>
12967
- </div>
12968
- </div>
12969
- </div>
12970
12954
  }
12971
12955
 
12972
12956
  @if (viewMode() === 'form') {