UNPKG

@blossom-carousel/vue

Version:

A native-scroll-first carousel component for Vue.

2 lines (1 loc) 1.01 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 l=s,t=e.shallowRef(null);u({el:t});let n=null;return e.onMounted(async()=>{if(!window.matchMedia("(hover: hover) and (pointer: fine)").matches&&l.load!=="always")return;const{Blossom:r}=await import("@blossom-carousel/core");n=r(t.value,{repeat:l.repeat}),n.init()}),e.onBeforeUnmount(()=>{n?.destroy()}),(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.as),{ref_key:"root",ref:t,"blossom-carousel":"true"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}};o.BlossomCarousel=i,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));