I kept the state contract separate from the table implementation and packaged the result as three focused files. Select a file to review it, or use the artifact actions to copy, regenerate, download, or close the output.
Admin bulk actions
3 generated files · updated just now
The component stays presentation-focused, while the hook owns the async lifecycle. That keeps it reusable across product, customer, and order tables without coupling it to one data client.