appolodev/sf-ui-toolbox

Toolbox UI for Symfony

Maintainers

👁 Fredxd

Package info

github.com/AppoloDev/sf-ui-toolbox

Language:Twig

pkg:composer/appolodev/sf-ui-toolbox

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.33 2026-03-23 08:59 UTC

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT f80e4ea95bbf73d73dd2fa954a7ee96abbe4294e

  • Fredxd <frederic.woop@appolo.fr>

README

Shared Twig components, form widgets, Stimulus controllers and HTML layouts for Symfony 8+ / Tailwind CSS 4 projects.

Basé sur shadcn/ui et CVA. Auto-configuré via SFUIToolboxExtension.

Ce que le bundle fournit

Catégorie Contenu
Form themes ThĂšme shadcn complet (inputs, selects, checkboxes, labels, erreurs) + toggle password
Layouts HTML sidebar, auth, auth_split
Composants Twig Button, Badge, Alert, Toast, Dialog, SweetAlert, TableList, Dropdown, SearchBar, Pagination

Stimulus controllers sidebar, dropdown, dialog, dismiss, toggle-password, color-picker
Web components <tom-select> (single + multi-select avec plugins)
CSS TomSelect theming, Pickr overrides

Installation

composer require appolodev/sf-ui-toolbox

Le bundle est auto-découvert. Aucune configuration manuelle n'est nécessaire.

Pour les assets JS, importer les controllers et web components dans votre bundle Stimulus :

import DialogController from '../../../vendor/appolodev/sf-ui-toolbox/assets/js/controllers/dialog_controller.js'
import SidebarController from '../../../vendor/appolodev/sf-ui-toolbox/assets/js/controllers/sidebar_controller.js'
import DismissController from '../../../vendor/appolodev/sf-ui-toolbox/assets/js/controllers/dismiss_controller.js'
import DropdownController from '../../../vendor/appolodev/sf-ui-toolbox/assets/js/controllers/dropdown_controller.js'
import TogglePasswordController from '../../../vendor/appolodev/sf-ui-toolbox/assets/js/controllers/toggle_password_controller.js'

app.register('dialog', DialogController)
app.register('sidebar', SidebarController)
app.register('dismiss', DismissController)
app.register('dropdown', DropdownController)
app.register('toggle-password', TogglePasswordController)

Utilisation rapide

Composants Twig

{# Bouton primary #}
<twig:SFUIToolbox:Generic:Button>Sauvegarder</twig:SFUIToolbox:Generic:Button>

{# Bouton outline small #}
<twig:SFUIToolbox:Generic:Button variant="outline" size="sm">Annuler</twig:SFUIToolbox:Generic:Button>

{# Badge statut #}
<twig:SFUIToolbox:Generic:Badge variant="green" label="Actif" />

{# En-tĂȘte de section #}
<twig:SFUIToolbox:Generic:SectionHeader
 icon="lucide:palette"
 title="Couleurs de marque"
 description="Palette de l'identité visuelle."
/>

Toggle Password

// Dans un FormType
$builder->add('password', PasswordType::class, ['toggle' => true]);

TableList

{% component 'SFUIToolbox:List:TableList' with {pagination: pagination} %}
 {% block table_items %}
 {% for item in pagination %}
 <tr><td>{{ item.name }}</td></tr>
 {% endfor %}
 {% endblock %}
{% endcomponent %}

Documentation complĂšte

La documentation détaillée est dans le dossier docs/ :