UNPKG

@blossom-carousel/vue

Version:

A native-scroll-first carousel component for Vue.

2 lines (1 loc) 1.09 kB
(function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o.BlossomCarousel={},o.Vue))})(this,(function(o,e){"use strict";const i={__name:"BlossomCarousel",props:{as:{type:String,default:"div"},repeat:{type:Boolean,default:!1},load:{type:String,default:"conditional"}},setup(s,{expose:u}){const r=s;let t=null;const n=e.shallowRef(null);return u({el:n,prev:()=>t?.prev({align:"center"}),next:()=>t?.next({align:"center"})}),e.onMounted(async()=>{if(!window.matchMedia("(hover: hover) and (pointer: fine)").matches&&r.load!=="always")return;const{Blossom:a}=await import("@blossom-carousel/core");t=a(n.value,{repeat:r.repeat}),t.init()}),e.onBeforeUnmount(()=>{t?.destroy()}),(l,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.as),{ref_key:"root",ref:n,"blossom-carousel":"true"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},512))}};o.BlossomCarousel=i,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));