rishadblack/i-reports
A Laravel package by rishadblack for creating and managing reports with a simple, developer-friendly API. It helps streamline report generation and organization in PHP applications, making it easier to add reporting features without heavy setup.
data-bs-theme is the common pattern), the on-screen report viewer can inherit it automatically instead of forcing you to build a themed report surface or accept a jarring white panel inside a dark UI. That removes a recurring "reports look broken in dark mode" ticket class and a common reason to keep reports behind a separate tab.screen_style with --ir-* CSS variables means theme-aware cell styling is configuration, not custom CSS overrides you maintain against the package's markup. Choosing this package lets you spend design effort on your own design tokens rather than reverse-engineering a report renderer's internals on each upgrade.default_style. That is a sensible product decision (exports are documents, not UI), but it means you must not promise "branded dark exports" downstream; treat export styling as a separate initiative with its own budget.Adopt / upgrade when:
data-bs-theme on the embedding page — the iframe picks it up and reacts live, which is the cheapest possible integration.--ir-* variables with null fallback to default_style give you a safe, layered override model.Look elsewhere or defer when:
default_style.data-bs-theme; on another design system or an older Bootstrap you would be managing theme state and CSS variables yourself, and the value drops sharply.screen_style covers your cases before committing.For executives: This update makes the on-screen report viewer respect the product's light and dark themes automatically. It closes a visible quality gap — reports previously rendered as a bright, off-theme panel for dark-mode users, with one case of unreadable text — and it does so through configuration rather than custom engineering. There is no migration cost, no breaking change, and no new system to operate. The practical outcome: fewer cosmetic defects in customer-facing dashboards, a consistent experience for the growing share of users on dark mode, and no design debt created in our own codebase to achieve it. Scope is deliberately limited to the interactive viewer; exported PDF and Excel files are unchanged, so any expectations about branded exports should be handled as separate work.
For engineering: Small, additive release. The viewer reads data-bs-theme from the embedding page for iframe mode and switches live on change; standalone it defers to the OS preference. Styling is now driven by --ir-* CSS variables via a new screen_style config key, with null per-key fallback to default_style, so existing overrides keep working and our customisations stay upgrade-safe. The dark-mode contrast bug in inline mode is fixed. Print/PDF/Excel paths are untouched and continue to use default_style — no export regressions expected. Recommended action: minor version bump, verify visually in both themes in our embedding context, and add a dark-mode case to the report QA checklist so this doesn't silently regress.
How can I help you explore Laravel packages today?