@blossom-carousel/svelte
Version:
A native-scroll-first carousel component for Svelte.
34 lines (33 loc) • 1.23 kB
JavaScript
import "svelte/internal/disclose-version";
import "svelte/internal/flags/legacy";
import * as e from "svelte/internal/client";
import { onMount as g, onDestroy as v } from "svelte";
function b(l, t) {
const p = e.legacy_rest_props(t, [
"children",
"$$slots",
"$$events",
"$$legacy"
]), c = e.legacy_rest_props(p, ["as", "load", "repeat"]);
e.push(t, !1);
let d = e.prop(t, "as", 8, "div"), m = e.prop(t, "load", 8, "conditional"), f = e.prop(t, "repeat", 8, !1), a = e.mutable_source(), o;
g(async () => {
if (e.get(a)) {
if (!window.matchMedia("(hover: hover) and (pointer: fine)").matches && m() !== "always")
return;
const { Blossom: s } = await import("@blossom-carousel/core");
o = s(e.get(a), { repeat: f() }), o.init();
}
}), v(() => {
o == null || o.destroy();
}), e.init();
var n = e.comment(), u = e.first_child(n);
e.element(u, d, !1, (r, s) => {
e.bind_this(r, (h) => e.set(a, h), () => e.get(a)), e.attribute_effect(r, () => ({ "blossom-carousel": "true", ...c }));
var i = e.comment(), _ = e.first_child(i);
e.slot(_, t, "default", {}, null), e.append(s, i);
}), e.append(l, n), e.pop();
}
export {
b as BlossomCarousel
};