rafyakbar/arasy-theme
Arasy Theme is a Laravel theme package by rafyakbar that provides ready-made Blade layouts, views, and UI components to quickly style your application. Install via Composer, publish the assets, and customize templates for a polished look with minimal setup.
Architecture fit
html-prefixed WebKit selectors and .fi-sidebar-nav. The generic "organize and apply themes" framing in the description should not be read as a general-purpose theming framework.Integration feasibility
composer require, php artisan vendor:publish --tag=arasy-theme-assets, npm run build, php artisan filament:assets, php artisan view:clear. A single frontend-capable engineer can evaluate it in a day and ship a pilot in a sprint.!important from scrollbar declarations.Technical risk
.fi-sidebar-nav, .dark, html-prefixed scrollbar selectors). Filament minor releases have historically reshuffled internal markup; theme packages that track internals break on upgrade.::-webkit-scrollbar is Chromium/WebKit-only. Firefox needs scrollbar-width/scrollbar-color; the release notes do not confirm these ship. Stakeholder demos on Firefox are a live failure mode.Key questions
--arasy-scrollbar-thumb or equivalent) documented as a stable public contract we can override?::-webkit-scrollbar rules that previously lost to !important and will now win?vendor:publish overwrite rather than merge local overrides?Stack fit
Migration path
composer.json.rafyakbar/arasy-theme should be pinned to an exact or narrowly-caret version so an unrelated composer update cannot silently change scrollbar geometry or colors. Treat theme bumps as intentional, reviewable PRs.composer.json/composer.lock and capture the CSS we would need to reintroduce if we remove the package. This is a two-file rollback — keep it that simple.Panel::viteTheme() stylesheet. We lose upstream fixes but eliminate the supply-chain and continuity risks. Given the cosmetic scope, this is a legitimate outcome, not a failure.Compatibility
.dark). Custom dark-mode wiring breaks the adaptive scrollbar colors silently.::-webkit-scrollbar rules; after !important removal, specificity decides who wins. Any global rule we wrote earlier may now override the package, or vice versa.Sequencing
Maintenance
vendor/. All divergence lives in our own theme stylesheet so it survives composer update and stays mergeable against future upstream releases.Support
Scaling
Failure modes
| Failure | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Dark-mode scrollbars become invisible (regression of the v1.2.0 fix) | Medium | Low–Medium (visible quality defect) | Automated dark-mode screenshot check |
| Filament upgrade renames internal classes; theme partially stops applying | Medium-High over 12 months | Low (degrades to default styling) | Re-verify on every Filament bump; pin both packages together |
Specificity conflict with our own CSS after !important removal |
Medium at upgrade | Medium (confusing, hard to diagnose) | Audit global scrollbar rules before rollout |
| Firefox renders differently than Chromium | High if not checked | Low–Medium (demo embarrassment) | Cross-browser baseline before stakeholder demo |
| Stale asset cache makes the change appear broken | High | Low (support noise) | Cache-busted build, private-window verification |
| Package abandoned / incompatible with future Filament | Medium over 18–24 months | Low (remove and inline the CSS) | Pre-planned fork/inline exit |
vendor:publish overwrites local asset overrides |
Low–Medium | Low | Keep overrides in app theme files, never in published vendor paths |
Ramp-up
TPM bottom line: technically low-cost and low-risk to try, but the value is cosmetic and the dependency is unproven (0 stars, single maintainer, internal-selector coupling). Recommended posture: time-boxed pilot in one internal Filament v5 panel, pinned version, visual baselines captured, with a pre-agreed fallback to inline the CSS into our own theme if the pilot reveals cascade friction or if dependency governance balks. Do not fund this as a design-system initiative and do not let it appear on a roadmap as a feature.
How can I help you explore Laravel packages today?