====== Alpine.js ====== * https://alpinejs.dev/ * https://github.com/alpinejs/alpine/ AlpineJs permet de créer/gérer des composants falicement avec Javascript sans se lancer dans une SPA, très léger (<10ko gzippé et minifié) et n'utilise pas de DOM virtuel. Sa syntaxe est similaire à VueJS. C'est un bon outil pour remplacer jQuery et moins complexe que VueJs / React / Angular. Présentation des principes d'AlpineJs : https://codewithhugo.com/alpine-tips/ * [[https://www.weblogin.fr/blog/119-alpinejs-le-framework-js-entre-jquery-et-vuejs|AlpineJS le framework JS entre JQuery et VueJS]] * [[https://laravel-news.com/alpine-js-intersect-persist-trap|New Alpine.js Plugins: Intersect, Persist, and Trap]] * [[https://alpinejs.dev/plugins/intersect|Intersect plugin]] attribute to an element with a callback that should be ran whenever that element "intersects" with the user's viewport. * [[https://alpinejs.dev/plugins/persist|Persist plugin]] provides a new magic method for integrating your Alpine dataset with localStorage. * The [[https://alpinejs.dev/plugins/trap|Trap plugin]] provides a simple way to "trap" focus inside elements like modals and and other dialogue elements. Trapping focus is very beneficial for users using screen readers or navigating via keyboard in general. * [[https://www.alpinetoolbox.com/|alpinetoolbox]] quick start, examples, tools are all open source and built using Alpine.js and mostly [[informatique/web/tailwind_css|Tailwind CSS]]. * [[https://github.com/alpine-collective/awesome|alpine-collective / awesome]] pour une curation de ressources sur AlpineJs * Quelques composants https://js.hyperui.dev dont un datepicker * https://alpine-ajax.js.org/ Fourni un raccourci pour charger dynamiquement du HTML dans un élément du DOM à partir d'un appel Ajax * [[https://github.com/markmead/alpinejs-component|alpinejs-component]] permet de gérer des composants réutilisables. * le tag ''x-component'' est modifiable. Voir la PR/MR https://github.com/markmead/alpinejs-component/pull/28