UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

68 lines (61 loc) 2.92 kB
import { isVNode as _isVNode, createVNode as _createVNode } from "vue"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { defineComponent, inject } from 'vue'; import classNames from '../_util/classNames'; import PropTypes from '../_util/vue-types'; import { getOptionProps, getComponent } from '../_util/props-util'; import initDefaultProps from '../_util/props-util/initDefaultProps'; import { defaultConfigProvider } from '../config-provider'; import { tuple } from '../_util/type'; function _isSlot(s) { return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s); } export var timeLineItemProps = { prefixCls: PropTypes.string, color: PropTypes.string, dot: PropTypes.any, pending: PropTypes.looseBool, position: PropTypes.oneOf(tuple('left', 'right', '')).def('') }; export default defineComponent({ name: 'ATimelineItem', props: initDefaultProps(timeLineItemProps, { color: 'blue', pending: false }), setup: function setup() { return { configProvider: inject('configProvider', defaultConfigProvider) }; }, render: function render() { var _classNames, _classNames2; var _a, _b; var _getOptionProps = getOptionProps(this), customizePrefixCls = _getOptionProps.prefixCls, _getOptionProps$color = _getOptionProps.color, color = _getOptionProps$color === void 0 ? '' : _getOptionProps$color, pending = _getOptionProps.pending; var getPrefixCls = this.configProvider.getPrefixCls; var prefixCls = getPrefixCls('timeline', customizePrefixCls); var dot = getComponent(this, 'dot'); var itemClassName = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-item"), true), _defineProperty(_classNames, "".concat(prefixCls, "-item-pending"), pending), _classNames)); var dotClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-item-head"), true), _defineProperty(_classNames2, "".concat(prefixCls, "-item-head-custom"), dot), _defineProperty(_classNames2, "".concat(prefixCls, "-item-head-").concat(color), true), _classNames2)); return _createVNode("li", { "class": itemClassName }, [_createVNode("div", { "class": "".concat(prefixCls, "-item-tail") }, null), _createVNode("div", { "class": dotClassName, "style": { borderColor: /blue|red|green|gray/.test(color) ? undefined : color } }, _isSlot(dot) ? dot : { default: function _default() { return [dot]; } }), _createVNode("div", { "class": "".concat(prefixCls, "-item-content") }, [(_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)])]); } });