Hi @sansic, I've been using Livewire 2 for about 2 years now and only just started looking at Livewire 3, so I'm gonna be honest and say my suggestion is an educated guess based on what your saying in the thread.
Here why I believe the below does not work.
<x-button wire:click="$dispatch('action', { items: @js($items) })">...</x-button>
I believe it is because your made a Laravel blade component not a Livewire child component and your passing Livewire to it.
When you pass the $attributes across it simply does not know what to do with wire:click etc...They only work in Livewire components.
I'd suggest you make a Livewire child component then add it to your parent view. If you need to pass values to the child from the parent you can do something like this if you need to.
<livewire:child-view-name :$items />
I hope the above helps.