UNPKG

tdesign-mobile-vue

Version:
76 lines (70 loc) 2.44 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var config = require('../config.js'); var tabs_tabPanelProps = require('./tab-panel-props.js'); var hooks_tnode = require('../hooks/tnode.js'); var hooks_useClass = require('../hooks/useClass.js'); require('lodash/isFunction'); require('lodash/camelCase'); require('lodash/kebabCase'); require('../hooks/render-tnode.js'); require('lodash/isEmpty'); require('lodash/isString'); require('lodash/isObject'); require('../config-provider/useConfig.js'); require('@babel/runtime/helpers/defineProperty'); require('lodash/cloneDeep'); require('../config-provider/context.js'); require('lodash/mergeWith'); require('lodash/merge'); require('lodash/isArray'); require('../_common/js/global-config/mobile/default-config.js'); require('../_common/js/global-config/mobile/locale/zh_CN.js'); require('../_chunks/dep-8d930798.js'); require('@babel/runtime/helpers/typeof'); require('../_chunks/dep-a20a5149.js'); require('dayjs'); var prefix = config["default"].prefix; var name = "".concat(prefix, "-tab-panel"); var _TabPanel = vue.defineComponent({ name: name, props: tabs_tabPanelProps["default"], setup: function setup(props2) { var renderTNodeContent = hooks_tnode.useContent(); var tabPanelClass = hooks_useClass.usePrefixClass("tab-panel"); var tabsClass = hooks_useClass.usePrefixClass("tabs"); var currentValue = vue.inject("currentValue"); var isActive = vue.computed(function () { return currentValue.value === props2.value; }); var tabPanelClasses = vue.computed(function () { return ["".concat(tabPanelClass.value), "".concat(tabsClass.value, "__panel")]; }); var isMount = vue.ref(props2.lazy ? isActive.value : true); vue.watch(isActive, function () { if (isActive.value) { if (!isMount.value) { isMount.value = true; } } else if (props2.destroyOnHide) { isMount.value = false; } }, { immediate: true }); return function () { if (!isMount.value) return null; return vue.withDirectives(vue.createVNode("div", { "class": tabPanelClasses.value }, [renderTNodeContent("default", "panel")]), [[vue.vShow, isActive.value]]); }; } }); exports["default"] = _TabPanel; //# sourceMappingURL=tab-panel.js.map