UNPKG

tdesign-mobile-vue

Version:
91 lines (87 loc) 3.37 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { defineComponent, getCurrentInstance, inject, computed, onUnmounted, createVNode, mergeProps } from 'vue'; import props from './side-bar-item-props.js'; import { Badge } from '../badge/index.js'; import { useTNodeJSX } from '../hooks/tnode.js'; import config from '../config.js'; import { usePrefixClass } from '../hooks/useClass.js'; import '../badge/badge.js'; import '@babel/runtime/helpers/slicedToArray'; import 'lodash/isNumber'; import 'lodash/isString'; import '../badge/props.js'; import '../shared/component.js'; import '../config-provider/useConfig.js'; import 'lodash/isFunction'; import 'lodash/cloneDeep'; import '../config-provider/context.js'; import 'lodash/mergeWith'; import 'lodash/merge'; import 'lodash/isArray'; import '../_common/js/global-config/mobile/default-config.js'; import '../_common/js/global-config/mobile/locale/zh_CN.js'; import '../_chunks/dep-d5364bc4.js'; import '@babel/runtime/helpers/typeof'; import '../_chunks/dep-eb734424.js'; import 'dayjs'; import 'lodash/camelCase'; import 'lodash/kebabCase'; import '../hooks/render-tnode.js'; import 'lodash/isEmpty'; import 'lodash/isObject'; var prefix = config.prefix; var _SideBarItem = defineComponent({ name: "".concat(prefix, "-side-bar-item"), props: props, setup: function setup(props2) { var sideBarItemClass = usePrefixClass("side-bar-item"); var renderTNodeJSX = useTNodeJSX(); var internalInstance = getCurrentInstance(); var proxy = internalInstance.proxy; var sideBarProvide = inject("sideBarProvide", void 0); sideBarProvide.relation(proxy); var isActive = computed(function () { return proxy.value === sideBarProvide.currentValue.value; }); var rootClassName = computed(function () { return [sideBarItemClass.value, _defineProperty({}, "".concat(sideBarItemClass.value, "--active"), isActive.value), _defineProperty({}, "".concat(sideBarItemClass.value, "--disabled"), props2.disabled)]; }); var onClick = function onClick(e) { if (props2.disabled) return; sideBarProvide.onClickItem(proxy.value, props2.label); }; onUnmounted(function () { sideBarProvide.removeRelation(proxy); }); return function () { var renderIconNode = function renderIconNode() { var iconNode = renderTNodeJSX("icon"); if (!iconNode) { return null; } return createVNode("div", { "class": "".concat(sideBarItemClass.value, "__icon") }, [iconNode]); }; return createVNode("div", { "class": rootClassName.value, "onClick": onClick }, [isActive.value && createVNode("div", null, [createVNode("div", { "class": "".concat(sideBarItemClass.value, "__line") }, null), createVNode("div", { "class": "".concat(sideBarItemClass.value, "__prefix") }, null), createVNode("div", { "class": "".concat(sideBarItemClass.value, "__suffix") }, null)]), renderIconNode(), props2.badgeProps ? createVNode(Badge, mergeProps(props2.badgeProps, { "content": props2.label }), null) : createVNode("div", null, [props2.label])]); }; } }); export { _SideBarItem as default }; //# sourceMappingURL=side-bar-item.js.map