UNPKG

swiper

Version:

Most modern mobile touch slider and framework with hardware accelerated transitions

322 lines (278 loc) 8.85 kB
/* swiper.svelte generated by Svelte v3.24.1 */ "use strict"; const { SvelteComponent, assign, attr, binding_callbacks, check_outros, compute_rest_props, create_slot, detach, element, exclude_internal_props, get_spread_update, group_outros, init, insert, safe_not_equal, set_attributes, transition_in, transition_out, update_slot } = require("svelte/internal"); const { onMount, onDestroy, beforeUpdate, afterUpdate, tick } = require("svelte"); const { uniqueClasses } = require("./utils"); const get_default_slot_changes_1 = dirty => ({ data: dirty & /*slideData*/ 32 }); const get_default_slot_context_1 = ctx => ({ data: /*slideData*/ ctx[5] }); const get_default_slot_changes = dirty => ({ data: dirty & /*slideData*/ 32 }); const get_default_slot_context = ctx => ({ data: /*slideData*/ ctx[5] }); // (90:2) {:else} function create_else_block(ctx) { let current; const default_slot_template = /*$$slots*/ ctx[8].default; const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[7], get_default_slot_context_1); return { c() { if (default_slot) default_slot.c(); }, m(target, anchor) { if (default_slot) { default_slot.m(target, anchor); } current = true; }, p(ctx, dirty) { if (default_slot) { if (default_slot.p && dirty & /*$$scope, slideData*/ 160) { update_slot(default_slot, default_slot_template, ctx, /*$$scope*/ ctx[7], dirty, get_default_slot_changes_1, get_default_slot_context_1); } } }, i(local) { if (current) return; transition_in(default_slot, local); current = true; }, o(local) { transition_out(default_slot, local); current = false; }, d(detaching) { if (default_slot) default_slot.d(detaching); } }; } // (84:2) {#if zoom} function create_if_block(ctx) { let div; let div_data_swiper_zoom_value; let current; const default_slot_template = /*$$slots*/ ctx[8].default; const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[7], get_default_slot_context); return { c() { div = element("div"); if (default_slot) default_slot.c(); attr(div, "class", "swiper-zoom-container"); attr(div, "data-swiper-zoom", div_data_swiper_zoom_value = typeof /*zoom*/ ctx[0] === "number" ? /*zoom*/ ctx[0] : undefined); }, m(target, anchor) { insert(target, div, anchor); if (default_slot) { default_slot.m(div, null); } current = true; }, p(ctx, dirty) { if (default_slot) { if (default_slot.p && dirty & /*$$scope, slideData*/ 160) { update_slot(default_slot, default_slot_template, ctx, /*$$scope*/ ctx[7], dirty, get_default_slot_changes, get_default_slot_context); } } if (!current || dirty & /*zoom*/ 1 && div_data_swiper_zoom_value !== (div_data_swiper_zoom_value = typeof /*zoom*/ ctx[0] === "number" ? /*zoom*/ ctx[0] : undefined)) { attr(div, "data-swiper-zoom", div_data_swiper_zoom_value); } }, i(local) { if (current) return; transition_in(default_slot, local); current = true; }, o(local) { transition_out(default_slot, local); current = false; }, d(detaching) { if (detaching) detach(div); if (default_slot) default_slot.d(detaching); } }; } function create_fragment(ctx) { let div; let current_block_type_index; let if_block; let div_class_value; let current; const if_block_creators = [create_if_block, create_else_block]; const if_blocks = []; function select_block_type(ctx, dirty) { if (/*zoom*/ ctx[0]) return 0; return 1; } current_block_type_index = select_block_type(ctx, -1); if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); let div_levels = [ { class: div_class_value = uniqueClasses(`${/*slideClasses*/ ctx[4]}${/*className*/ ctx[2] ? ` ${/*className*/ ctx[2]}` : ""}`) }, { "data-swiper-slide-index": /*virtualIndex*/ ctx[1] }, /*$$restProps*/ ctx[6] ]; let div_data = {}; for (let i = 0; i < div_levels.length; i += 1) { div_data = assign(div_data, div_levels[i]); } return { c() { div = element("div"); if_block.c(); set_attributes(div, div_data); }, m(target, anchor) { insert(target, div, anchor); if_blocks[current_block_type_index].m(div, null); /*div_binding*/ ctx[9](div); current = true; }, p(ctx, [dirty]) { let previous_block_index = current_block_type_index; current_block_type_index = select_block_type(ctx, dirty); if (current_block_type_index === previous_block_index) { if_blocks[current_block_type_index].p(ctx, dirty); } else { group_outros(); transition_out(if_blocks[previous_block_index], 1, 1, () => { if_blocks[previous_block_index] = null; }); check_outros(); if_block = if_blocks[current_block_type_index]; if (!if_block) { if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); if_block.c(); } transition_in(if_block, 1); if_block.m(div, null); } set_attributes(div, div_data = get_spread_update(div_levels, [ (!current || dirty & /*slideClasses, className*/ 20 && div_class_value !== (div_class_value = uniqueClasses(`${/*slideClasses*/ ctx[4]}${/*className*/ ctx[2] ? ` ${/*className*/ ctx[2]}` : ""}`))) && { class: div_class_value }, (!current || dirty & /*virtualIndex*/ 2) && { "data-swiper-slide-index": /*virtualIndex*/ ctx[1] }, dirty & /*$$restProps*/ 64 && /*$$restProps*/ ctx[6] ])); }, i(local) { if (current) return; transition_in(if_block); current = true; }, o(local) { transition_out(if_block); current = false; }, d(detaching) { if (detaching) detach(div); if_blocks[current_block_type_index].d(); /*div_binding*/ ctx[9](null); } }; } function instance($$self, $$props, $$invalidate) { const omit_props_names = ["zoom","virtualIndex","class"]; let $$restProps = compute_rest_props($$props, omit_props_names); let { zoom = undefined } = $$props; let { virtualIndex = undefined } = $$props; let { class: className = undefined } = $$props; let slideEl = null; let slideClasses = "swiper-slide"; let swiper = null; let eventAttached = false; const updateClasses = (_, el, classNames) => { if (el === slideEl) { $$invalidate(4, slideClasses = classNames); } }; const attachEvent = () => { if (!swiper || eventAttached) return; swiper.on("_slideClass", updateClasses); eventAttached = true; }; const detachEvent = () => { if (!swiper) return; swiper.off("_slideClass", updateClasses); eventAttached = false; }; onMount(() => { if (typeof virtualIndex === "undefined") return; $$invalidate( 3, slideEl.onSwiper = _swiper => { swiper = _swiper; attachEvent(); }, slideEl ); attachEvent(); }); afterUpdate(() => { if (!slideEl || !swiper) return; if (swiper.destroyed) { if (slideClasses !== "swiper-slide") { $$invalidate(4, slideClasses = "swiper-slide"); } return; } attachEvent(); }); beforeUpdate(() => { attachEvent(); }); onDestroy(() => { if (!swiper) return; detachEvent(); }); let { $$slots = {}, $$scope } = $$props; function div_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { slideEl = $$value; $$invalidate(3, slideEl); }); } $$self.$$set = $$new_props => { $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)); $$invalidate(6, $$restProps = compute_rest_props($$props, omit_props_names)); if ("zoom" in $$new_props) $$invalidate(0, zoom = $$new_props.zoom); if ("virtualIndex" in $$new_props) $$invalidate(1, virtualIndex = $$new_props.virtualIndex); if ("class" in $$new_props) $$invalidate(2, className = $$new_props.class); if ("$$scope" in $$new_props) $$invalidate(7, $$scope = $$new_props.$$scope); }; let slideData; $$self.$$.update = () => { if ($$self.$$.dirty & /*slideClasses*/ 16) { $: $$invalidate(5, slideData = { isActive: slideClasses.indexOf("swiper-slide-active") >= 0 || slideClasses.indexOf("swiper-slide-duplicate-active") >= 0, isVisible: slideClasses.indexOf("swiper-slide-visible") >= 0, isDuplicate: slideClasses.indexOf("swiper-slide-duplicate") >= 0, isPrev: slideClasses.indexOf("swiper-slide-prev") >= 0 || slideClasses.indexOf("swiper-slide-duplicate-prev") >= 0, isNext: slideClasses.indexOf("swiper-slide-next") >= 0 || slideClasses.indexOf("swiper-slide-duplicate-next") >= 0 }); } }; return [ zoom, virtualIndex, className, slideEl, slideClasses, slideData, $$restProps, $$scope, $$slots, div_binding ]; } class Swiper extends SvelteComponent { constructor(options) { super(); init(this, options, instance, create_fragment, safe_not_equal, { zoom: 0, virtualIndex: 1, class: 2 }); } } exports.default = Swiper;