{"version":3,"file":"vue3-marquee.es-BKEdODnv.js","sources":["../../../node_modules/vue3-marquee/dist/vue3-marquee.es.js"],"sourcesContent":["(function(){\"use strict\";try{if(typeof document!=\"undefined\"){var e=document.createElement(\"style\");e.appendChild(document.createTextNode('.vue3-marquee{display:flex!important;position:relative}.vue3-marquee.horizontal{overflow-x:hidden!important;flex-direction:row!important;width:100%;height:max-content}.vue3-marquee.vertical{overflow-y:hidden!important;flex-direction:column!important;height:100%;width:max-content}.vue3-marquee:hover>.marquee{animation-play-state:var(--pauseOnHover)}.vue3-marquee:active>.marquee{animation-play-state:var(--pauseOnClick)}.vue3-marquee>.marquee{flex:0 0 auto;min-width:var(--min-width);min-height:var(--min-height);z-index:1;animation:var(--orientation) var(--duration) linear var(--delay) var(--loops);animation-play-state:var(--pauseAnimation);animation-direction:var(--direction)}.vue3-marquee.horizontal>.marquee{display:flex;flex-direction:row;align-items:center}.vue3-marquee.vertical>.marquee{display:flex;flex-direction:column;align-items:center}@keyframes scrollX{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes scrollY{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.vue3-marquee>.overlay{position:absolute;width:100%;height:100%}.vue3-marquee>.transparent-overlay{position:absolute;width:100%;height:100%}.vue3-marquee>.overlay:before,.vue3-marquee>.overlay:after{content:\"\";position:absolute;z-index:2}.vue3-marquee.horizontal>.overlay:before,.vue3-marquee.horizontal>.overlay:after{background:linear-gradient(to right,var(--gradient-color));height:100%;width:var(--gradient-length)}.vue3-marquee.vertical>.overlay:before,.vue3-marquee.vertical>.overlay:after{background:linear-gradient(to bottom,var(--gradient-color));height:var(--gradient-length);width:100%}.vue3-marquee.horizontal>.overlay:after{transform:rotate(180deg)}.vue3-marquee.vertical>.overlay:after{transform:rotate(-180deg)}.vue3-marquee>.overlay:before{left:0;top:0}.vue3-marquee.horizontal>.overlay:after{right:0;top:0}.vue3-marquee.vertical>.overlay:after{left:0;bottom:0}')),document.head.appendChild(e)}}catch(a){console.error(\"vite-plugin-css-injected-by-js\",a)}})();\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport { defineComponent, ref, watch, computed, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createCommentVNode, renderSlot, Fragment, renderList } from \"vue\";\nvar vue3Marquee_vue_vue_type_style_index_0_lang = \"\";\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main = defineComponent({\n props: {\n vertical: {\n type: Boolean,\n default: false\n },\n direction: {\n type: String,\n default: \"normal\"\n },\n duration: {\n type: Number,\n default: 20\n },\n delay: {\n type: Number,\n default: 0\n },\n loop: {\n type: Number,\n default: 0\n },\n clone: {\n type: Boolean,\n default: false\n },\n gradient: {\n type: Boolean,\n default: false\n },\n gradientColor: {\n type: Array,\n default: [255, 255, 255]\n },\n gradientWidth: {\n type: String\n },\n gradientLength: {\n type: String\n },\n pauseOnHover: {\n type: Boolean,\n default: false\n },\n pauseOnClick: {\n type: Boolean,\n default: false\n },\n pause: {\n type: Boolean,\n default: false\n },\n animateOnOverflowOnly: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"onComplete\",\n \"onLoopComplete\",\n \"onPause\",\n \"onResume\",\n \"onOverflowDetected\",\n \"onOverflowCleared\"\n ],\n setup(props, { emit }) {\n const cloneAmount = ref(0);\n const minWidth = ref(\"100%\");\n const minHeight = ref(\"100%\");\n const componentKey = ref(0);\n const verticalAnimationPause = ref(false);\n const animateOnOverflowPause = ref(true);\n const containerWidth = ref(0);\n const contentWidth = ref(0);\n const containerHeight = ref(0);\n const contentHeight = ref(0);\n const mouseOverMarquee = ref(false);\n const mouseDownMarquee = ref(false);\n const loopCounter = ref(0);\n const loopInterval = ref(null);\n const gradientLength = ref(\"200px\");\n const ready = ref(false);\n const marqueeContent = ref(null);\n const marqueeOverlayContainer = ref(null);\n const ForcesUpdate = async () => {\n await checkForClone();\n componentKey.value++;\n };\n const checkForClone = async () => {\n if (props.vertical) {\n verticalAnimationPause.value = true;\n }\n setInterval(() => {\n minWidth.value = \"0%\";\n minHeight.value = \"0%\";\n if (marqueeContent.value !== null && marqueeOverlayContainer.value !== null && marqueeContent.value && marqueeOverlayContainer.value) {\n if (props.vertical && \"clientHeight\" in marqueeContent.value && \"clientHeight\" in marqueeOverlayContainer.value) {\n contentHeight.value = marqueeContent.value.clientHeight;\n containerHeight.value = marqueeOverlayContainer.value.clientHeight;\n const localCloneAmount = Math.ceil(containerHeight.value / contentHeight.value);\n cloneAmount.value = props.animateOnOverflowOnly ? 0 : isFinite(localCloneAmount) ? localCloneAmount : 0;\n verticalAnimationPause.value = false;\n return cloneAmount.value;\n } else if (!props.vertical && \"clientWidth\" in marqueeContent.value && \"clientWidth\" in marqueeOverlayContainer.value) {\n contentWidth.value = marqueeContent.value.clientWidth;\n containerWidth.value = marqueeOverlayContainer.value.clientWidth;\n if (props.animateOnOverflowOnly && ready.value) {\n if (contentWidth.value <= containerWidth.value) {\n animateOnOverflowPause.value = true;\n emit(\"onOverflowCleared\");\n } else {\n animateOnOverflowPause.value = false;\n emit(\"onOverflowDetected\");\n }\n return 0;\n }\n const localCloneAmount = Math.ceil(containerWidth.value / contentWidth.value);\n cloneAmount.value = isFinite(localCloneAmount) ? localCloneAmount : 0;\n return cloneAmount.value;\n } else {\n minWidth.value = \"100%\";\n minHeight.value = \"100%\";\n return 0;\n }\n } else {\n minWidth.value = \"100%\";\n minHeight.value = \"100%\";\n return 0;\n }\n }, 100);\n };\n watch(contentWidth, async () => {\n if (props.clone) {\n ForcesUpdate();\n }\n });\n watch(containerWidth, async () => {\n if (props.clone || props.animateOnOverflowOnly) {\n ForcesUpdate();\n }\n });\n watch(() => props.pause, (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (newVal) {\n emit(\"onResume\");\n } else {\n emit(\"onPause\");\n }\n }\n });\n const hoverStarted = () => {\n if (props.pauseOnHover) {\n emit(\"onPause\");\n mouseOverMarquee.value = true;\n }\n };\n const hoverEnded = () => {\n if (props.pauseOnHover) {\n emit(\"onResume\");\n mouseOverMarquee.value = false;\n }\n };\n const mouseDown = () => {\n if (props.pauseOnClick) {\n emit(\"onPause\");\n mouseDownMarquee.value = true;\n }\n };\n const mouseUp = () => {\n if (props.pauseOnClick) {\n emit(\"onResume\");\n mouseDownMarquee.value = false;\n }\n };\n const animationState = computed(() => {\n if (props.pause) {\n return \"paused\";\n }\n if (props.vertical && verticalAnimationPause.value) {\n return \"paused\";\n }\n if (props.animateOnOverflowOnly && animateOnOverflowPause.value) {\n return \"paused\";\n }\n return \"running\";\n });\n const hoverAnimationState = computed(() => {\n if (props.pauseOnHover && (mouseOverMarquee.value || mouseDownMarquee.value)) {\n return \"paused\";\n }\n if (!props.pauseOnHover && animationState.value === \"paused\") {\n return \"paused\";\n }\n return \"running\";\n });\n const clickAnimationState = computed(() => {\n if (props.pauseOnHover && mouseOverMarquee.value) {\n return \"paused\";\n }\n if (props.pauseOnClick && mouseDownMarquee.value) {\n return \"paused\";\n }\n if (!props.pauseOnHover && animationState.value === \"paused\") {\n return \"paused\";\n }\n return \"running\";\n });\n const getCurrentStyle = computed(() => {\n const cssVariables = {\n \"--duration\": `${props.duration}s`,\n \"--delay\": `${props.delay}s`,\n \"--direction\": `${props.direction}`,\n \"--pauseOnHover\": `${hoverAnimationState.value}`,\n \"--pauseOnClick\": `${clickAnimationState.value}`,\n \"--pauseAnimation\": `${animationState.value}`,\n \"--loops\": `${props.loop === 0 ? \"infinite\" : props.loop}`,\n \"--gradient-color\": `rgba(${props.gradientColor[0]}, ${props.gradientColor[1]}, ${props.gradientColor[2]}, 1), rgba(${props.gradientColor[0]}, ${props.gradientColor[1]}, ${props.gradientColor[2]}, 0)`,\n \"--gradient-length\": `${gradientLength.value}`,\n \"--min-width\": `${minWidth.value}`,\n \"--min-height\": `${minHeight.value}`\n };\n const animationStyles = {\n \"--orientation\": \"scrollX\",\n orientation: \"horizontal\"\n };\n if (props.vertical) {\n animationStyles[\"--orientation\"] = \"scrollY\";\n }\n const styles = __spreadValues(__spreadValues({}, cssVariables), animationStyles);\n return styles;\n });\n const showGradient = computed(() => {\n if (props.gradient) {\n return true;\n }\n return false;\n });\n const setupMarquee = async () => {\n if (props.vertical) {\n minHeight.value = \"100%\";\n minWidth.value = \"auto\";\n if (props.animateOnOverflowOnly) {\n console.warn(\"The `animateOnOverflowOnly` prop is not supported for vertical marquees.\");\n }\n } else {\n minHeight.value = \"auto\";\n if (props.animateOnOverflowOnly) {\n minWidth.value = \"auto\";\n } else {\n minWidth.value = \"100%\";\n }\n }\n if (props.gradient) {\n if (props.gradientWidth) {\n console.warn(\"The `gradientWidth` prop has been deprecated and will be removed in a future release. Please use `gradientLength` instead.\");\n gradientLength.value = props.gradientWidth;\n } else if (props.gradientLength) {\n gradientLength.value = props.gradientLength;\n }\n }\n if (props.clone || props.animateOnOverflowOnly) {\n await checkForClone();\n ForcesUpdate();\n ready.value = true;\n } else {\n ready.value = true;\n }\n };\n onMounted(async () => {\n setupMarquee();\n loopInterval.value = setInterval(() => {\n loopCounter.value++;\n if (props.loop !== 0 && loopCounter.value === props.loop) {\n emit(\"onComplete\");\n clearInterval(loopInterval.value);\n }\n emit(\"onLoopComplete\");\n }, props.duration * 1e3);\n });\n onBeforeUnmount(() => {\n clearInterval(loopInterval.value);\n });\n return {\n ready,\n contentWidth,\n containerWidth,\n contentHeight,\n containerHeight,\n loopCounter,\n loopInterval,\n mouseOverMarquee,\n mouseDownMarquee,\n minWidth,\n minHeight,\n animateOnOverflowPause,\n marqueeContent,\n marqueeOverlayContainer,\n componentKey,\n showGradient,\n cloneAmount,\n ForcesUpdate,\n checkForClone,\n setupMarquee,\n getCurrentStyle,\n hoverStarted,\n hoverEnded,\n mouseDown,\n mouseUp\n };\n }\n});\nconst _hoisted_1 = {\n class: \"transparent-overlay\",\n ref: \"marqueeOverlayContainer\",\n \"aria-hidden\": true\n};\nconst _hoisted_2 = {\n class: \"marquee\",\n ref: \"marqueeContent\"\n};\nconst _hoisted_3 = {\n key: 1,\n \"aria-hidden\": true,\n class: \"marquee\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return _ctx.ready ? (openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vue3-marquee\", { vertical: _ctx.vertical, horizontal: !_ctx.vertical }]),\n style: normalizeStyle(_ctx.getCurrentStyle),\n key: _ctx.componentKey,\n onMouseenter: _cache[0] || (_cache[0] = (...args) => _ctx.hoverStarted && _ctx.hoverStarted(...args)),\n onMouseleave: _cache[1] || (_cache[1] = (...args) => _ctx.hoverEnded && _ctx.hoverEnded(...args)),\n onMousedown: _cache[2] || (_cache[2] = (...args) => _ctx.mouseDown && _ctx.mouseDown(...args)),\n onMouseup: _cache[3] || (_cache[3] = (...args) => _ctx.mouseUp && _ctx.mouseUp(...args))\n }, [\n createElementVNode(\"div\", _hoisted_1, null, 512),\n _ctx.showGradient ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n \"aria-hidden\": true,\n class: normalizeClass([\"overlay\", { vertical: _ctx.vertical, horizontal: !_ctx.vertical }])\n }, null, 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"default\")\n ], 512),\n !_ctx.animateOnOverflowOnly || _ctx.animateOnOverflowOnly && !_ctx.animateOnOverflowPause ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.cloneAmount, (num) => {\n return openBlock(), createElementBlock(\"div\", {\n \"aria-hidden\": true,\n class: \"marquee cloned\",\n key: num\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ]);\n }), 128))\n ], 38)) : createCommentVNode(\"\", true);\n}\nvar Vue3Marquee = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nvar index = {\n install(app, options) {\n var _a;\n const name = (_a = options == null ? void 0 : options.name) != null ? _a : \"Vue3Marquee\";\n app.component(name, Vue3Marquee);\n }\n};\nexport { Vue3Marquee, index as default };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","_export_sfc","sfc","props","target","val","_sfc_main","defineComponent","emit","cloneAmount","ref","minWidth","minHeight","componentKey","verticalAnimationPause","animateOnOverflowPause","containerWidth","contentWidth","containerHeight","contentHeight","mouseOverMarquee","mouseDownMarquee","loopCounter","loopInterval","gradientLength","ready","marqueeContent","marqueeOverlayContainer","ForcesUpdate","checkForClone","localCloneAmount","watch","newVal","oldVal","hoverStarted","hoverEnded","mouseDown","mouseUp","animationState","computed","hoverAnimationState","clickAnimationState","getCurrentStyle","cssVariables","animationStyles","showGradient","setupMarquee","onMounted","onBeforeUnmount","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","normalizeClass","normalizeStyle","args","createElementVNode","createCommentVNode","renderSlot","Fragment","renderList","num","Vue3Marquee","index","app","options","_a","name"],"mappings":"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","x_google_ignoreList":[0]}