UNPKG

mt-ui-components-vue3

Version:

玛果添实UI组件库(Vue3)

82 lines (81 loc) 3.31 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _antDesignVue = require("ant-design-vue"); var _tabsTypes = require("./tabsTypes"); var _core = require("@vueuse/core"); var _useConfigInject2 = _interopRequireDefault(require("ant-design-vue/es/config-provider/hooks/useConfigInject")); var _index = _interopRequireDefault(require("./style/index.style")); var _classNames2 = _interopRequireDefault(require("ant-design-vue/es/_util/classNames")); var jTabsProps = function jTabsProps() { return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _tabsTypes.tabsProps), {}, { style: { type: Object, default: undefined } }); }; var JTabs = (0, _vue.defineComponent)({ name: 'Tabs', props: jTabsProps(), setup: function setup(props, _ref) { var emit = _ref.emit, slots = _ref.slots, expose = _ref.expose; var renderArr = Object.keys(slots).filter(function (item) { return !['centerExtra'].includes(item); }); var jetTabs = (0, _vue.ref)(); var content = (0, _vue.ref)(); var centerExtraWidth = (0, _vue.ref)(); var _useElementSize = (0, _core.useElementSize)(jetTabs), width = _useElementSize.width; (0, _vue.watch)(width, function () { if (jetTabs.value) { centerExtraWidth.value = jetTabs.value.querySelector('.ant-tabs-nav-wrap').clientWidth - jetTabs.value.querySelector('.ant-tabs-nav-list').clientWidth - 10 + 'px'; content.value = jetTabs.value.querySelector('.ant-tabs-nav-wrap'); } }, { immediate: true }); var _useConfigInject = (0, _useConfigInject2.default)('j-tabs', props), prefixCls = _useConfigInject.prefixCls; var _useStyle = (0, _index.default)(prefixCls), _useStyle2 = (0, _slicedToArray2.default)(_useStyle, 2), wrapSSR = _useStyle2[0], hashId = _useStyle2[1]; var prefixClsValue = prefixCls.value; var rootCls = (0, _classNames2.default)(prefixClsValue, (0, _defineProperty2.default)({}, hashId.value, true)); console.log('renderArr-----', renderArr); return function () { return wrapSSR((0, _vue.createVNode)("div", { "ref": jetTabs, "class": rootCls }, [(0, _vue.createVNode)(_antDesignVue.Tabs, props, { default: function _default(scope) { return slots.default && slots.default({ scope: scope }); } }), content.value && (0, _vue.createVNode)((0, _vue.resolveComponent)("teleport"), { "to": content.value }, { default: function _default() { return [(0, _vue.createVNode)("div", { "class": "center-extra-content", "style": "width: ".concat(centerExtraWidth.value) }, [slots.centerExtra && slots.centerExtra()])]; } })])); }; } }); var _default2 = JTabs; exports.default = _default2;