123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- exports.__esModule = true;
- exports.default = void 0;
- var _utils = require("../utils");
- var _info = _interopRequireDefault(require("../info"));
- var _createNamespace = (0, _utils.createNamespace)('tab'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- var _default = createComponent({
- props: {
- dot: Boolean,
- type: String,
- info: [Number, String],
- color: String,
- title: String,
- isActive: Boolean,
- disabled: Boolean,
- scrollable: Boolean,
- activeColor: String,
- inactiveColor: String
- },
- computed: {
- style: function style() {
- var style = {};
- var color = this.color,
- isActive = this.isActive;
- var isCard = this.type === 'card'; // card theme color
- if (color && isCard) {
- style.borderColor = color;
- if (!this.disabled) {
- if (isActive) {
- style.backgroundColor = color;
- } else {
- style.color = color;
- }
- }
- }
- var titleColor = isActive ? this.activeColor : this.inactiveColor;
- if (titleColor) {
- style.color = titleColor;
- }
- return style;
- }
- },
- methods: {
- onClick: function onClick() {
- this.$emit('click');
- },
- genText: function genText() {
- var h = this.$createElement;
- var Text = h("span", {
- "class": bem('text', {
- ellipsis: !this.scrollable
- })
- }, [this.slots() || this.title]);
- if (this.dot || (0, _utils.isDef)(this.info) && this.info !== '') {
- return h("span", {
- "class": bem('text-wrapper')
- }, [Text, h(_info.default, {
- "attrs": {
- "dot": this.dot,
- "info": this.info
- }
- })]);
- }
- return Text;
- }
- },
- render: function render() {
- var h = arguments[0];
- return h("div", {
- "attrs": {
- "role": "tab",
- "aria-selected": this.isActive
- },
- "class": [bem({
- active: this.isActive,
- disabled: this.disabled
- })],
- "style": this.style,
- "on": {
- "click": this.onClick
- }
- }, [this.genText()]);
- }
- });
- exports.default = _default;
|