Salary Grade Explorer
A comprehensive, backend-driven administrative utility for LGU employee portals and HRIS managers. Enables employees to explore standardization grade steps, simulate voluntary deductions/additions, and visualize a printable itemized salary statement.
Interactive Demo
Toggle different grades, steps, and optional deductions to observe a simulated backend API round-trip calculation with realistic loading states.
LGU Salary Standard Scale
Browse active Salary Standardization Law grade steps and basic wages.
| Grade | Base (Step 1) | Max (Step 8) | Step Selector |
|---|---|---|---|
| SG 01 | ₱13,000 | ₱14,428 | |
| SG 02 | ₱13,975 | ₱15,510 | |
| SG 03 | ₱15,023 | ₱16,673 | |
| SG 04 | ₱16,150 | ₱17,924 | |
| SG 05 | ₱17,361 | ₱19,268 | |
| SG 06 | ₱18,663 | ₱20,713 | |
| SG 07 | ₱20,063 | ₱22,267 | |
| SG 08 | ₱21,568 | ₱23,937 | |
| SG 09 | ₱23,185 | ₱25,732 | |
| SG 10 | ₱24,924 | ₱27,662 | |
| SG 11 | ₱26,793 | ₱29,736 | |
| SG 12 | ₱28,803 | ₱31,967 | |
| SG 13 | ₱30,963 | ₱34,364 | |
| SG 14 | ₱33,285 | ₱36,941 | |
| SG 15 | ₱35,782 | ₱39,712 | |
| SG 16 | ₱38,465 | ₱42,690 | |
| SG 17 | ₱41,350 | ₱45,892 | |
| SG 18 | ₱44,452 | ₱49,335 | |
| SG 19 | ₱47,785 | ₱53,034 | |
| SG 20 | ₱51,369 | ₱57,012 | |
| SG 21 | ₱55,222 | ₱61,288 | |
| SG 22 | ₱59,364 | ₱65,885 | |
| SG 23 | ₱63,816 | ₱70,826 | |
| SG 24 | ₱68,602 | ₱76,138 |
Interactive Additions
Voluntary Deductions
Payroll Itemized Statement
Gross Earnings
Government & Simulation Deductions
This payroll preview maps SG 11 Step 1 dynamically. Always cross-reference with official LGU accounting audits.
Installation
Install the component using the shadcn CLI.
pnpm dlx shadcn@latest add https://micto-ui-kit.misangono.net/r/micto/salary-grade-explorer.jsonBackend-Driven Integration
How to connect the component to React Query and a standard backend calculation API.
import { SalaryGradeExplorer } from "@/components/micto/salary-grade-explorer";
import { useQuery } from "@tanstack/react-query";
import { useState } from "react";
export default function EmployeeSalaryPortal() {
const [grade, setGrade] = useState(11);
const [step, setStep] = useState(1);
const [additions, setAdditions] = useState<string[]>([]);
const [deductions, setDeductions] = useState<string[]>([]);
// 100% backend-driven audit pipeline!
const { data: payroll, isLoading } = useQuery({
queryKey: ["payroll", grade, step, additions, deductions],
queryFn: async () => {
const res = await fetch("/api/payroll/calculate", {
method: "POST",
body: JSON.stringify({ grade, step, additions, deductions }),
});
return res.json();
},
});
return (
<SalaryGradeExplorer
employeeName="Nehry Dedoro"
position="Lead Systems Developer"
activeGrade={grade}
activeStep={step}
payrollResult={payroll}
isLoading={isLoading}
onSelectionChange={(g, s, add, ded) => {
setGrade(g);
setStep(s);
setAdditions(add);
setDeductions(ded);
}}
/>
);
}Properties Reference
Configure the explorer component with the following properties.
| Prop | Type | Default | Description |
|---|---|---|---|
| employeeName | string | "Nehry Dedoro" | The name of the employee rendered on the payslip. |
| position | string | "Lead Systems Developer" | The official employee designation/position. |
| payrollResult | object | undefined | The calculated payroll breakdown (gross, statutory deductions, net) returned by the backend. |
| onSelectionChange | function | undefined | Callback triggered when a user changes grade, step, or checks custom simulated loans/allowances. |
| isLoading | boolean | false | Activates a premium loading overlay during asynchronous API calls/calculations. |