tipowerup/ti-theme-toolkit
Shared PHP + frontend toolkit for TastyIgniter themes. Build a custom theme with minimal PHP via AbstractThemeServiceProvider, plus palettes, field schema, widgets, Livewire auth/contact/newsletter components, dark mode, and Tailwind/Vite/Alpine presets.
AbstractThemeServiceProvider, igniter:theme-vendor-publish), making it a perfect fit for projects leveraging this framework. It abstracts away repetitive theme boilerplate (e.g., dark mode, color systems, Livewire components) while enforcing consistency across themes.ColorHelper, BannerManager, and BaseSchema are loosely coupled, allowing selective adoption (e.g., use only the Tailwind preset or dark mode store).ThemePayloadResolver bridges server-side theme data with client-side CSS variables seamlessly..d.ts files ensure zero-cost TypeScript support, a significant advantage for teams using modern JS tooling.AbstractThemeServiceProvider acts as a drop-in replacement for custom providers.docs/migration-from-v0.md suggests a clear path for upgrading legacy themes, though this introduces technical debt risk if the package’s API evolves (currently in 0.x).0.x implies breaking changes are likely. The TPM must:
composer.json (e.g., "tipowerup/ti-theme-toolkit": "0.5.0").ThemePayloadResolver changes in 0.5.0).igniter:theme-vendor-publish, main.theme.activated event) may complicate multi-framework projects or future migrations.Adoption Strategy:
API Stability:
1.0.0? Will a major version bump require theme code changes?ThemePayloadResolver) that could break if TastyIgniter’s internals change?Performance:
<html style> injection for CSS variables impact critical rendering path (CRP) performance? Should this be precomputed or cached?Security:
ThemePayloadResolver if theme data is maliciously crafted?Login, Contact)?Testing:
Team Skills:
main.theme.activated), and asset pipelines..d.ts types, and simplifies asset pipelines.New Themes:
AbstractThemeServiceProvider and follow the 6-step quickstart (README). Minimal boilerplate (~50 lines PHP).Login, Contact) and override only when necessary.Existing Themes:
AbstractThemeServiceProvider and adopt the BaseSchema for theme customization.Legacy Systems:
| Component | Compatibility Notes |
|---|---|
| PHP 8.2+ | Required. No major issues expected for Laravel 10/11. |
| TastyIgniter 4.0+ | Hard dependency. Lower versions may need polyfills or manual adjustments. |
| Livewire 3.0+ | Shared components are Livewire 3.x optimized. |
| Tailwind CSS 3.0+ | Preset works with Tailwind v3/v4. v4 requires updated config (handled by preset). |
| Vite 5.0+ | Node 18+ required. Teams on older Node may need to upgrade. |
| Alpine.js 3.0+ | Dark mode store is Alpine 3.x compatible. |
| TypeScript | Full support via .d.ts files. No build step required. |
Backend First:
ServiceProvider with AbstractThemeServiceProvider.BaseSchema.ThemePayloadResolver and color system.Frontend Integration:
tailwind.config.js).Livewire Components:
Asset Pipeline:
package.json scripts (build, dev).igniter:theme-vendor-publish).Testing:
LoginForm) are maintained by the package.How can I help you explore Laravel packages today?