Skeleton
A placeholder element that displays a loading state with an animated background.
Loading...
<div class="flex items-center space-x-4"> <twig:Skeleton class="h-12 w-12 rounded-full" /> <div class="space-y-2"> <twig:Skeleton class="h-4 w-[250px]" /> <twig:Skeleton class="h-4 w-[200px]" /> </div> </div>
Installation
Ensure the Symfony UX Toolkit is installed in your Symfony app:
$ composer require --dev symfony/ux-toolkit
Then, run the following command to install the component and its dependencies:
$ bin/console ux:install skeleton --kit shadcn
The UX Toolkit is not mandatory to install a component. You can install it manually by following the next steps:
- Copy the following file(s) into your Symfony app:
templates/components/Skeleton.html.twig<div class="{{ 'animate-pulse rounded-full bg-muted ' ~ attributes.render('class')|tailwind_merge }}" {{ attributes }} ></div>
- If necessary, install the following Composer dependencies:
$ composer require tales-from-a-dev/twig-tailwind-extra:^1.0.0
- And the most important, enjoy!
Usage
<div class="flex items-center space-x-4"> <twig:Skeleton class="h-12 w-12 rounded-full" /> <div class="space-y-2"> <twig:Skeleton class="h-4 w-[250px]" /> <twig:Skeleton class="h-4 w-[200px]" /> </div> </div>
Examples
User
Loading...
<div class="flex items-center space-x-4"> <twig:Skeleton class="h-12 w-12 rounded-full" /> <div class="space-y-2"> <twig:Skeleton class="h-4 w-[250px]" /> <twig:Skeleton class="h-4 w-[200px]" /> </div> </div>
Card
Loading...
<div class="space-y-3"> <twig:Skeleton class="h-[125px] w-[250px] rounded-lg" /> <div class="space-y-2"> <twig:Skeleton class="h-4 w-[250px]" /> <twig:Skeleton class="h-4 w-[200px]" /> </div> </div>