{{-- format-ignore-start --}}
@props([
'totalRecords' => null,
'pageSize' => 25,
'style' => 'arrows',
'showTotal' => true,
'showPageNumber' => true,
'showTotalPages' => false,
'defaultPage' => 1,
'table' => null,
'label' => __("bladewind::bladewind.pagination_label"),
'nonce' => config('bladewind.script.nonce', null),
])
@php
$showTotal = parseBladewindVariable($showTotal);
$showPageNumber = parseBladewindVariable($showPageNumber);
$showTotalPages = parseBladewindVariable($showTotalPages);
$defaultPage = parseBladewindVariable($defaultPage, 'int');
$style = (!in_array($style, ['arrows', 'dropdown', 'numbers'])) ? 'arrows' : $style;
$total_pages = ceil($totalRecords/$pageSize);
$defaultPage = (is_numeric($defaultPage) && $defaultPage > 0 && $defaultPage <= $total_pages) ? $defaultPage : 1;
$inactive_css = "opacity-30 hover:opacity-30 !hover:border-gray-500/50";
$active_css = "!border-primary-500 dark:!border-dark-400";
$default_button_css = "!border-gray-200 dark:!border-dark-600 hover:!border-gray-400 dark:hover:!border-dark-500";
$next_button_status_css = ($defaultPage == $total_pages) ? $inactive_css : $default_button_css;
$prev_button_status_css = ($defaultPage == 1) ? $inactive_css : $default_button_css;
$to = $pageSize*$defaultPage;
$to = ($to > $totalRecords) ? $totalRecords : $to;
$from = $to - ($pageSize-1);
$from = ($to == $totalRecords) ? 1 : $from;
$prev_page = $defaultPage-1;
$next_page = $defaultPage+1;
$prev_page = ($prev_page <= 0) ? 0 : $defaultPage-1;
@endphp
{{-- format-ignore-end --}}
@if(!empty($totalRecords) && !empty($table))