<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="todo-item" mode="x-component">

  <template>
    <div ref="todo">
      <x-slot />
      <button v-on..click="remove" type="button">Remove</button>
    </div>
  </template>

  <script petite-vue="true">
    return {
      remove() {
        this.$refs.todo.dispatchEvent(new CustomEvent('removed'));
      },
    }
  </script>

</xsl:template>
</xsl:transform>