1.0.1 • Published 2 years ago

@motekar/alpinejs-super-teleport v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Alpine.js Super Teleport

A supercharged version of x-teleport for Alpine.js

The built-in x-teleport directive allows you to transport part of your Alpine template to another part of the DOM on the page entirely.

This plugin takes it into another level. You could not only append to an element, but also prepend, put it before or after, or even replace the element.

Example

<body>
    <div x-data="{ count: 1 }" id="a">
        <button @click="count++">Inc</button>
        <template x-super-teleport="#b">
            <p><span>Append (default): </span><span x-text="count"></span></p>
        </template>
        <template x-super-teleport.prepend="#b">
            <p><span>Prepend: </span><span x-text="count"></span></p>
        </template>
        <template x-super-teleport.before="#b">
            <p><span>Before: </span><span x-text="count + 1"></span></p>
        </template>
        <template x-super-teleport.after="#b">
            <p><span>After: </span><span x-text="count + 2"></span></p>
        </template>
        <template x-super-teleport.replace="#c">
            <p><span>Replace: </span><span x-text="count + 3"></span></p>
        </template>
    </div>
    <div id="b">
        <p>Original DIV content</p>
    </div>
    <div id="c">This DIV will be gone</div>
</body>

Installation

CDN

<script defer src="//unpkg.com/@motekar/alpinejs-super-teleport"></script>

<script defer src="//unpkg.com/alpinejs@3"></script>

NPM/Yarn

npm i -D @motekar/alpinejs-super-teleport

yarn add -D @motekar/alpinejs-super-teleport

Then you can register the plugin.

import Alpine from 'alpinejs'
import superTeleport from '@motekar/alpinejs-super-teleport'

Alpine.plugin(superTeleport)

window.Alpine = Alpine

Alpine.start()