@varlet/ui
Version:
A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.
53 lines (52 loc) • 1.65 kB
JavaScript
import { computed, defineComponent, ref } from "vue";
import VarSwipeItem from "../swipe-item/index.mjs";
import { createNamespace } from "../utils/components.mjs";
import { props } from "./props.mjs";
import { useLists, useTabsItems } from "./provide.mjs";
const { name, n, classes } = createNamespace("tab-item");
import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue";
function __render__(_ctx, _cache) {
const _component_var_swipe_item = _resolveComponent("var-swipe-item");
return _openBlock(), _createBlock(_component_var_swipe_item, {
class: _normalizeClass(_ctx.classes(_ctx.n(), [!_ctx.current, _ctx.n("--inactive")])),
"var-tab-item-cover": ""
}, {
default: _withCtx(() => [
_renderSlot(_ctx.$slots, "default")
]),
_: 3
/* FORWARDED */
}, 8, ["class"]);
}
const __sfc__ = defineComponent({
name,
components: { VarSwipeItem },
props,
setup(props2) {
const current = ref(false);
const name2 = computed(() => props2.name);
const { index, bindTabsItems } = useTabsItems();
const { bindLists } = useLists();
const tabItemProvider = {
index,
name: name2,
current: computed(() => current.value),
setCurrent
};
bindTabsItems(tabItemProvider);
bindLists(tabItemProvider);
function setCurrent(value) {
current.value = value;
}
return {
current,
n,
classes
};
}
});
__sfc__.render = __render__;
var stdin_default = __sfc__;
export {
stdin_default as default
};