Features & Fixed for LiveComponent, TwigComponent & other packages
Hi UX'ers!
A beautiful release with a set of features across several packages. 100+ commits, from 19 contributors 🔥 .
TwigComponent
- Make
ComponentAttributestraversable/countable - Fixed lexing some
{# twig comments #}with HTML Twig syntax - Fix various usages of deprecated Twig code
LiveComponent
- Add support for URL binding in
LiveProp - DOM morphing changed from
morphdomtoidiomorph - Allow multiple
LiveListenerattributes on a single method - Requests to LiveComponent are sent as POST by default
- Add method prop to AsLiveComponent to still allow GET requests, usage:
#[AsLiveComponent(method: 'get')] - Add a new
urlReferenceTypeparameter toAsLiveComponent, which allows to
generate different type URL (e.g. absolute) for the component Ajax calls - The
symfony/serializerdependency is now optional - Added a
data-skip-morphattribute to allow skipping morphing of an element
(the element's attributes will be morphed, but its inner HTML will be overwritten
instead of morphed) - Added an entry to the packages'
package.jsonfile so that@symfony/ux-live-component
will appear in the user'simportmap.phpfile if using AssetMapper. This
will allow using the JavaScript from the package without extra setup. - Fixed edge-case rendering bug where a 2nd Ajax request might start before
the 1st finished processing - Fix usage of
{% embed %}with{% block %}in<twig:>components - Fixed
data-loadingnot working when on root element of a component - Fixed error when
classattributes contained a space at start or end - Fixed loading directives being matched in a child component
Autocomplete
- Fixed behavior of Autocomplete when the underlying
selectoroption
elements were modified to hopefully, more reliably, reset the autocomplete
instance. This is particularly important with LiveComponents. - Add support for the
render.loading_moreTom Select Virtual Scroll option (loading_more_text) - Avoid losing the selected options when the Stimulus component is disconnected
and reconnected to the DOM. - Added
tom-select/dist/css/tom-select.bootstrap4.csstoautoimport- this
will cause this to appear in yourcontrollers.jsonfile by default, but disabled
see.
StimulusBundle
- Added Typescript controllers support
ChartJs
- Add support for Chart.js version 4
Full Changelog: v2.13.3...v2.14.0
New Contributors
- @nayodahl made their first contribution in #1316
- @squrious made their first contribution in #1230
- @srich387 made their first contribution in #1367
- @vgaret made their first contribution in #1338
- @hepisec made their first contribution in #1218
- @althaus made their first contribution in #1425
Have fun!