Download the PHP package impulsephp/ui without Composer
On this page you can find all versions of the php package impulsephp/ui. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download impulsephp/ui
More information about impulsephp/ui
Files in impulsephp/ui
Package ui
Short Description A comprehensive UI component provider for ImpulsePHP, offering pre-built components to rapidly design and develop modern web application interfaces
License MIT
Informations about the package ui
ImpulsePHP UI
impulsephp/ui fournit une bibliothèque de composants d’interface réutilisables pour ImpulsePHP, avec des stories de démonstration intégrées et des helpers pour accélérer le prototypage d’interfaces.
Fonctionnalités principales
- Composants UI pour formulaires, navigation, notifications et widgets d'interface.
- Stories intégrées (dossier
src/Story) pour parcourir et tester visuellement les composants. - Intégration avec
impulsephp/translationetimpulsephp/validator. - Assets CSS fournis dans
public/css/ui.css.
Nouveautés récentes
UIHeatmapComponent: possibilité de choisir une couleur principale (Tailwind) ou de fournir une palette hex; les stories proposent désormais un contrôlecolor.UIBreadcrumbComponent: les items peuvent contenir duhtmlbrut ou un{ component, props, slot }pour insérer, par exemple, un<select>dans un segment de breadcrumb.UITooltipComponent: support d'un soulignement en tirets configurable (underline,underlineColor) et améliorations pour hover/click/focus.UIDataTableComponent: chevrons de tri affichés pour la colonne triée et rendu SVG côté serveur pour fiabilité visuelle.UITreeViewComponent: meilleure alignement des labels enfants sous le label parent.- Certaines stories ont été enrichies pour faciliter les tests (variants, contrôles de couleur/position etc.).
Prérequis
- PHP 8.2 ou supérieur
impulsephp/core- (optionnel)
impulsephp/translationetimpulsephp/validatorpour fonctionnalités additionnelles
Installation
Si votre application n’utilise pas l’auto-découverte de composer, enregistrez manuellement le provider Impulse\\UI\\UIProvider.
Provider
Au démarrage, UIProvider :
- enregistre l’espace de noms
Impulse\\UI\\Component\\; - ajoute
src/Storyaux chemins scannés parimpulsephp/story; - ajoute
public/css/ui.cssà la configuration CSS ; - enregistre le namespace de traduction
ui; - vérifie la présence du validateur et du traducteur dans le conteneur.
Composants et organisation
Les composants sont rangés sous src/Component/ par famille : Form/, Navigation/, Notification/, Interface/.
Exemples notables : UIInputComponent, UIButtonComponent, UISelectComponent, UIModalComponent, UIDataTableComponent, UIDrawerComponent, UITooltipComponent, UIPopoverComponent, UIHeatmapComponent, UIBreadcrumbComponent, UITreeViewComponent, UISidebarComponent, etc.
Stories et contrôles
Les stories fournissent des arguments de base (getBaseArgs) et des variants() pour tester les variantes visuelles. Pour faciliter l'ajout de contrôles (dropdowns) dans les stories, la convention suivante est autorisée dans les stories :
- fournir un argument sous la forme
[defaultValue, allowedValuesArray]pour indiquer au UI explorer qu'il y a un contrôle avec des options. Exemple :['side' => ['right', ['left','right']]].
Le loader de story ne transmettra que la defaultValue au composant lors du rendu, évitant d'envoyer le tableau allowedValues en tant que valeur d'état côté serveur.
Exemples d'utilisation
Rendre un composant dans une story :
Assets JS (engine)
Le répertoire js/ contient l'engine JS du package. Pour construire l'artefact :
Le package.json inclut des scripts utiles : build, watch et test.
Tests
Tests unitaires et smoke tests se trouvent dans tests/. Pour exécuter les smoke tests du package UI :
Traductions
Les fichiers de traduction sont disponibles dans translations/en et translations/fr et chargés sous le namespace ui. Exemple :
Contribution et développement
Pour contribuer :
- Ouvrez une branche dédiée.
- Ajoutez des tests pour les comportements modifiés.
- Vérifiez les styles Tailwind si vous ajoutez des classes dynamiques (pré-déclarez les classes utilisées pour éviter leur purge).
Licence
MIT