| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | import { createVNode as _createVNode } from "vue";import { ref, watch, onMounted, defineComponent } from "vue";import { numericProp, makeRequiredProp, createNamespace } from "../utils/index.mjs";import { Swipe } from "../swipe/index.mjs";import { useExpose } from "../composables/use-expose.mjs";const [name, bem] = createNamespace("tabs");var stdin_default = defineComponent({  name,  props: {    count: makeRequiredProp(Number),    inited: Boolean,    animated: Boolean,    duration: makeRequiredProp(numericProp),    swipeable: Boolean,    lazyRender: Boolean,    currentIndex: makeRequiredProp(Number)  },  emits: ["change"],  setup(props, {    emit,    slots  }) {    const swipeRef = ref();    const onChange = (index) => emit("change", index);    const renderChildren = () => {      var _a;      const Content = (_a = slots.default) == null ? void 0 : _a.call(slots);      if (props.animated || props.swipeable) {        return _createVNode(Swipe, {          "ref": swipeRef,          "loop": false,          "class": bem("track"),          "duration": +props.duration * 1e3,          "touchable": props.swipeable,          "lazyRender": props.lazyRender,          "showIndicators": false,          "onChange": onChange        }, {          default: () => [Content]        });      }      return Content;    };    const swipeToCurrentTab = (index) => {      const swipe = swipeRef.value;      if (swipe && swipe.state.active !== index) {        swipe.swipeTo(index, {          immediate: !props.inited        });      }    };    watch(() => props.currentIndex, swipeToCurrentTab);    onMounted(() => {      swipeToCurrentTab(props.currentIndex);    });    useExpose({      swipeRef    });    return () => _createVNode("div", {      "class": bem("content", {        animated: props.animated || props.swipeable      })    }, [renderChildren()]);  }});export {  stdin_default as default};
 |