🎉 Welcome to the new major version: v3. Upgrade now!

Powerful suite of Blade components for TALL Stack apps.

Upgrade Guide

This page transcribes a conversation between the creator of the TallStackUI - AJ, and you.

First, I owe you an apology. Version 3 took longer than expected, and the main reason is simple: I maintain this library solo. If TallStackUI brings value to your work, please consider sponsoring the project, it makes a real difference in keeping development going.

That said, I love TallStackUI and have no intention of abandoning it. I use it in every Tall Stack project I build, and that's exactly what drove version 3 forward: real needs from real projects shaped into new features.

Now, to the good stuff. Welcome to the TallStackUI 3 upgrade guide! I'm excited to share this major release with you. Version 3 is a significant milestone that brings TailwindCSS v4 support, Laravel 13 compatibility, brand new components, AI-powered development tools, and dozens of enhancements across the board.

Thank you for being part of the TallStackUI community. Your feedback and contributions have been invaluable in shaping this release.

TallStackUI 3 is a big release. Beyond new components, it introduces AI integration, a revamped customization system, and broad compatibility upgrades. Here's what you can expect 👇

👀 Internal:

  • - TailwindCSS v4 support (TailwindCSS v3 dropped).
  • - Laravel 13 support.
  • - Performance improvements across multiple components.
  • - Isolated JS bundles.
  • - Refactored asset controller.
  • - New vendor publishable name: ts-ui .
  • - AI-ready .ai/ documentation directory for AI assistants.

🥳 New Components:

  • - Back to Top
  • - Breadcrumbs
  • - Command Palette
  • - Dial
  • - Kbd

🤖 AI Integration:

  • - .ai/ directory with component instruction files for AI assistants (GitHub Copilot, Claude, Cursor, etc.).
  • - MCP server hosted on the documentation website for real-time component documentation access.
  • - Learn more on the AI documentation page.

🌐 Others:

  • - Dozens of community feature requests addressed.
  • - "Personalization" renamed to "Customization" across the entire library.
  • - New Globals customization concept (flash, square, colorful) - think of them as presets.
  • - New configuration file structure documentation.
  • - New Internal Scoped Customization concept.
  • - New $tsui JavaScript helper.
  • - New TailwindCSS colors added in v4.2 of TailwindCSS
  • - Avatar Component: group and presence indicators.
  • - Button Component: block style.
  • - Card Component: loading effect and events.
  • - Table Component: empty state, highlight, and expandable rows.
  • - Tab Component: centered and route-based tabs.
  • - Layout Component: brand collapsed, sidebar footer, new attributes, and dozens of general improvements.
  • - Dialog and Toast : persistent and colorful modes.
  • - Modal Component: mobile device adaptations.
  • - Form Input Component: better button positioning.
  • - Form Select Styled Component: grouped options, AlpineJS helper, and recycle option.
  • - Form Color Component: exclude specific colors or color steps.
  • - Radio , Checkbox and Toggle : custom color customization individually.
  • - Radio Component: no longer requires explicit value/id.
  • - Pin Component: smart mode with auto-submit.
  • - ThemeSwitch Component: redesigned with simple and only-icons modes, block style for dropdown usage.
  • - Icon Component: custom local icons, raw icons in all icon slots, and fully customized SVG as Blade component.
  • - $tsui.focus() helper: now supports focusing elements based on x-ref .

With the exception of the "Internal" section, all details are described on the respective pages for each component.

Now let's talk about how to upgrade your application from version 2.x to 3. The amount of work will depend on how much customization you've done. If you use TallStackUI "in a basic way", the upgrade should be straightforward.

1. Rename "personalization" to "customization":

The terminology has changed across the entire library: "Soft Personalization" is now "Soft Customization", "Deep Personalization" is now "Deep Customization", and so on. The main facade method has also changed from personalize() to customize() . Update any references in your code accordingly:

use TallStackUi\Facades\TallStackUi;
 
// In AppServiceProvider::boot()
 
TallStackUi::personalize()
TallStackUi::customize()
->alert()
->block('wrapper', 'rounded-full');

If you do not use any personalization/customization features, then just skip this step!

2. Check soft customization keys:

Some soft customization keys may have been renamed for better organization. Before upgrading, review the Soft Customization documentation to verify your keys are up to date. If you do not use Soft Customization, then just skip this step!

3. Redo deep customization:

If you have published TallStackUI Blade files or extended component classes, we recommend that you back up your files, republish the new ones, and reapply your adjustments. Internal changes require fresh files to work properly. If you do not use Deep Customization, then just skip this step!

4. Internal Scoped Customization:

If you used to publish Blade files to customize internal components within other components, this is no longer necessary. Learn about the Internal Scoped Customization: a way to customize internal components without publishing Blade files or changing all components globally.

5. Update TailwindCSS to v4:

TallStackUI 3 requires TailwindCSS v4. Support for TailwindCSS v3 has been discontinued. Follow the official TailwindCSS v4 migration guide to update your project. This is an important step for all users.

6. Update vendor publishable tag:

Important: The vendor publishable tag has been renamed from tallstackui to ts-ui . This affects all php artisan vendor:publish commands. If you have any scripts, CI pipelines, or documentation referencing the old tag name, make sure to update them to use ts-ui instead.

All publishable resources (configuration files, Blade views, etc.) now use the ts-ui tag. The old tallstackui tag will no longer work in version 3.

7. Republish the configuration file:

The TallStackUI configuration file - config/tallstackui.php , contains changes and additions in version 3. Be sure to compare your changes with the new file and synchronize accordingly so that your file has the necessary modifications and additions.

8. Migrate to the $tsui JavaScript helper:

In version 3, all individual JavaScript helpers have been unified into a single global $tsui object. If you use any of the old helpers in your Alpine.js expressions or Blade templates, you must update them:

Before (v2) After (v3)
$modalOpen('name') $tsui.open.modal('name')
$modalClose('name') $tsui.close.modal('name')
$slideOpen('name') $tsui.open.slide('name')
$slideClose('name') $tsui.close.slide('name')
$selectOpen('name') $tsui.open.select('name')
$selectClose('name') $tsui.close.select('name')
$focusOn('id') $tsui.focus('id')

The old JavaScript helpers ($modalOpen , $focusOn , $selectOpen , etc.) are no longer available in version 3. You must migrate all usages to the new helper.

9. Rename environment variable:

The environment variable TALLSTACKUI_AVOID_LAYOUT_REGISTRATION has been renamed to TALLSTACKUI_IGNORE_LAYOUT_REGISTRATION . If you use this variable in your .env file or CI/CD pipelines, make sure to update it. The old variable name will not be recognized in version 3.

10. Component attributes:

Most component attributes remain the same. New attributes have been added to several components (check individual component documentation pages for details). In this regard, you should not have any breaking changes.

11. Update the Composer:

Finally, it's time to update your application to version 3. Edit your composer.json file:

"require": {
"laravel/framework": "^12.0",
"tallstackui/tallstackui": "^2.0",
"tallstackui/tallstackui": "^3.0",
"livewire/livewire": "^4.0",
 
// ...
},

After that, remove the vendor folder and then run this command to reinstall all your dependencies:

composer install

If you notice any inconsistencies with this guide, please help us by reporting as an issue.

Code highlighting provided by Torchlight