@ssgoi/svelte
Version:
Svelte bindings for SSGOI - Native app-like page transitions for Svelte and SvelteKit applications
25 lines (24 loc) • 993 B
JavaScript
import { transition as _transition, } from "@ssgoi/core";
export var transition = function (node, params) {
var callback = _transition({
key: params === null || params === void 0 ? void 0 : params.key,
in: params === null || params === void 0 ? void 0 : params.in,
out: params === null || params === void 0 ? void 0 : params.out,
ref: node,
});
var cleanup = callback(node);
return {
update: function (newParams) {
callback = _transition({
key: newParams === null || newParams === void 0 ? void 0 : newParams.key,
in: newParams === null || newParams === void 0 ? void 0 : newParams.in,
out: newParams === null || newParams === void 0 ? void 0 : newParams.out,
ref: node,
});
cleanup = callback(node);
},
destroy: function () {
cleanup === null || cleanup === void 0 ? void 0 : cleanup();
},
};
};