UNPKG

@cqmcui/cqmcui

Version:

轻量级移动端 Vue2、Vue3 组件库(支持小程序开发)

56 lines (55 loc) 1.88 kB
import { inject, getCurrentInstance, reactive, computed, onUnmounted, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from "vue"; import { c as createComponent } from "./component-81a4c1d0.js"; import { u as useExpose } from "./index-79c5dc33.js"; import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js"; import "../locale/lang"; const { create, componentName } = createComponent("swiper-item"); const _sfc_main = create({ setup(props, { slots }) { const parent = inject("parent"); parent["relation"](getCurrentInstance()); const state = reactive({ offset: 0 }); const classes = computed(() => { const prefixCls = componentName; return { [prefixCls]: true }; }); const style = computed(() => { const style2 = {}; const direction = parent == null ? void 0 : parent.props.direction; if (parent == null ? void 0 : parent.size.value) { style2[direction === "horizontal" ? "width" : "height"] = `${parent == null ? void 0 : parent.size.value}px`; } if (state.offset) { style2["transform"] = `translate${direction === "horizontal" ? "X" : "Y"}(${state.offset}px)`; } return style2; }); const setOffset = (offset) => { state.offset = offset; }; onUnmounted(() => { parent["relation"](getCurrentInstance(), "unmount"); }); useExpose({ setOffset }); return { style, classes }; } }); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("view", { class: normalizeClass(_ctx.classes), style: normalizeStyle(_ctx.style) }, [ renderSlot(_ctx.$slots, "default") ], 6); } const SwiperItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { SwiperItem as default };