{"version":3,"file":"slide.vue2.mjs","sources":["../../../../../../packages/components/slide/src/slide.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToSlide'\n});\n</script>\n<template>\n\t<div ref=\"slide\" :flex=\"flex ? flex : null\" class=\"to-slide\" :class=\"setClass\" @mouseover=\"pause\" @mouseout=\"play\" @touchstart=\"touchstart\" @touchend=\"touchend\" @touchmove=\"touchmove\">\n\t\t<div class=\"to-slide-pic\">\n\t\t\t<ul ref=\"ul\" class=\"to-slide-wrapper\" :style=\"setUlStyle\">\n\t\t\t\t<li ref=\"firstFake\" class=\"to-slide-item\"></li>\n\t\t\t\t<slot></slot>\n\t\t\t\t<li ref=\"lastFake\" class=\"to-slide-item\"></li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-fn\">\n\t\t\t<to-icon value=\"back\" link class=\"to-slide-fn-item type-prev\" @click=\"prev()\"></to-icon>\n\t\t\t<to-icon value=\"next\" link class=\"to-slide-fn-item type-next\" @click=\"next()\"></to-icon>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-page\">\n\t\t\t<span v-for=\"index of length\" :key=\"index\" class=\"to-slide-page-item\" :class=\"{ 'is-on': index === current + 1 }\" @click=\"to(index - 1)\"></span>\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, onMounted, ref, nextTick } from 'vue'\n\n\n\ninterface Props {\n\tmode?: string\n\tautoplay?: boolean\n\tspeed?: number | string\n\tpagerPosition?: string\n\tflex?: boolean\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tautoplay: false,\n\tspeed: 2000,\n\tpagerPosition: '',\n\tflex: false\n})\n\nconst length = ref(0)\nconst current = ref(0)\nconst dis = ref(0)\nconst animate = ref(true)\nconst width = ref(0)\nconst playTimer = ref(null)\nconst startPosition = ref(0)\nconst slide = ref(null)\nconst ul = ref(null)\nconst lastFake = ref(null)\nconst firstFake = ref(null)\nconst ulPosition = computed(() => {\n\treturn (current.value + 1) * width.value * -1\n})\nconst setUlStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tobj.transform = `translateX(${ulPosition.value + dis.value}px)`\n\tif (animate.value) {\n\t\tobj.transition = 'transform 0.3s ease-out'\n\t}\n\tobj.width = `${(length.value + 2) * 100}%`\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.pagerPosition === 'outer') {\n\t\tarr.push(`is-outer`)\n\t}\n\treturn arr\n})\n\nonMounted(() => {\n\tnextTick(() => {\n\t\twidth.value = slide.value.offsetWidth\n\t\tsetLength()\n\t\tlastFake.value.innerHTML = ul.value.querySelector(':nth-child(2)').innerHTML\n\t\tfirstFake.value.innerHTML = ul.value.querySelector(`:nth-child(${length.value + 1})`).innerHTML\n\t\tplay()\n\t\twindow.addEventListener('resize', () => {\n\t\t\tadjust()\n\t\t})\n\t})\n})\n\nfunction play() {\n\tif (!props.autoplay || length.value < 2) {\n\t\treturn\n\t}\n\tplayTimer.value = setInterval(() => {\n\t\tnext()\n\t}, Number(props.speed))\n}\nfunction pause() {\n\tclearInterval(playTimer.value)\n}\nfunction setLength() {\n\tlength.value = ul.value.children.length - 2\n}\nfunction next() {\n\tif (animate.value) {\n\t\tcurrent.value += 1\n\t\tif (current.value === length.value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = 0\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction prev() {\n\tif (animate.value) {\n\t\tcurrent.value -= 1\n\t\tif (current.value === -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = length.value - 1\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction touchstart(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tstartPosition.value = e.touches[0].clientX\n\tanimate.value = false\n}\nfunction touchend() {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tanimate.value = true\n\tif (dis.value > 10) {\n\t\tprev()\n\t\tdis.value = 0\n\t} else if (dis.value < -10) {\n\t\tnext()\n\t\tdis.value = 0\n\t}\n}\nfunction touchmove(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tdis.value = e.touches[0].clientX - startPosition.value\n}\nfunction adjust() {\n\twidth.value = slide.value.offsetWidth\n}\nfunction reset() {\n\tcurrent.value = 0\n}\nfunction to(i: number) {\n\tcurrent.value = i\n}\n\ndefineExpose({\n\treset,\n\tadjust,\n\tprev,\n\tnext\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_Fragment","_renderList"],"mappings":"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"}