20 lines
795 B
JavaScript
20 lines
795 B
JavaScript
if (htmx.version && !htmx.version.startsWith("1.")) {
|
|
console.warn("WARNING: You are using an htmx 1 extension with htmx " + htmx.version +
|
|
". It is recommended that you move to the version of this extension found on https://htmx.org/extensions")
|
|
}
|
|
htmx.defineExtension('alpine-morph', {
|
|
isInlineSwap: function (swapStyle) {
|
|
return swapStyle === 'morph';
|
|
},
|
|
handleSwap: function (swapStyle, target, fragment) {
|
|
if (swapStyle === 'morph') {
|
|
if (fragment.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
Alpine.morph(target, fragment.firstElementChild);
|
|
return [target];
|
|
} else {
|
|
Alpine.morph(target, fragment.outerHTML);
|
|
return [target];
|
|
}
|
|
}
|
|
}
|
|
});
|