diff --git a/.changeset/resizemirror-destroy-listener.md b/.changeset/resizemirror-destroy-listener.md new file mode 100644 index 00000000..37544258 --- /dev/null +++ b/.changeset/resizemirror-destroy-listener.md @@ -0,0 +1,5 @@ +--- +'@shopify/draggable': patch +--- + +Fix `ResizeMirror` not registering its `mirror:destroy` listener in `attach()`. The listener was removed in `detach()` but never bound, so the internal `mirror` reference was never cleared between drags. The companion `Snappable` plugin already binds both `mirror:created` and `mirror:destroy`; this restores symmetry. diff --git a/src/Plugins/ResizeMirror/ResizeMirror.ts b/src/Plugins/ResizeMirror/ResizeMirror.ts index 0a79705a..70601c6a 100644 --- a/src/Plugins/ResizeMirror/ResizeMirror.ts +++ b/src/Plugins/ResizeMirror/ResizeMirror.ts @@ -61,6 +61,7 @@ export default class ResizeMirror extends AbstractPlugin { attach() { this.draggable .on('mirror:created', this.onMirrorCreated) + .on('mirror:destroy', this.onMirrorDestroy) .on('drag:over', this.onDragOver) .on('drag:over:container', this.onDragOver); }