{"version":3,"file":"cell.mjs","sources":["../../../../../packages/components/cell/src/cell.vue"],"sourcesContent":["<template>\n  <view :class=\"['vc-cell', `vc-cell-${size}`, isBorder ? 'vc-hairline--bottom' : null, disabled ? 'vc-cell--disabled' : null, customClasses]\" :style=\"wrapperStyled\" :hover-class=\"cellHoverClass\" :hover-stay-time=\"200\" @click=\"onClick\">\n    <view :class=\"['vc-cell__title', titleClasses]\" :style=\"titleStyled\">\n      <template v-if=\"title\">{{title}}</template>\n      <slot v-else name=\"title\"></slot>\n    </view>\n    <view class=\"vc-cell__right\" :style=\"rightStyled\">\n      <view :class=\"['vc-cell__value', textClasses]\" :style=\"textStyled\">\n        <template v-if=\"text\">{{text}}</template>\n        <slot v-else name=\"text\"></slot>\n      </view>\n      <view v-if=\"isLink\" class=\"vc-cell__right-icon\">\n        <!-- slot 命名 right-icon 不支持？？？ -->\n        <slot name=\"icon\"><vc-icon name=\"arrow-right\" /></slot>\n      </view>\n      <slot name=\"extra\"></slot>\n    </view>\n  </view>\n</template>\n\n<script>\nimport { addUnit } from '../../common/util';\nimport { cellKey } from '@vitamin/tokens'\nimport '../style'\n\nexport default {\n  name: 'vc-cell',\n  inject: {\n    parent: {\n      from: cellKey,\n      default: null\n    }\n  },\n  props: {\n    // 左侧标题\n    title: null,\n    // 右侧文本内容\n    text: null,\n    // 左侧标题宽度，不设置默认为铺满\n    titleWidth: {\n      type: [String, Number],\n      default: 80\n    },\n    // 高度\n    height: {\n      type: [Number, String],\n      default: 'auto'\n    },\n    // 是否链接样式，开启右侧图标\n    isLink: {\n      type: Boolean,\n      default: false,\n    },\n    // 尺寸\n    size: {\n      type: String,\n      default: 'normal',\n      validator(value) {\n        return ['normal', 'small', 'mini', 'large'].includes(value);\n      }\n    },\n    // 当 isLink 为 true 可设置高亮颜色\n    isLinkActive: {\n      type: Boolean,\n      default: false\n    },\n    // 高亮颜色\n    linkActiveColor: null,\n    // 底部边框线\n    border: null,\n    // 禁用状态 - 样式，禁用点击交互\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    // 微信 view 标签的 hover-class\n    hoverClass: {\n      type: [String, null],\n      default: 'vc-cell-hover-class'\n    },\n    // 自定义组件类 class\n    customClass: null,\n    // 自定义左侧标题类 class\n    titleClass: null,\n    // 自定义右侧文本类 class\n    textClass: null,\n    // 自定义组件样式\n    customStyle: null,\n    // 自定义左侧标题样式\n    titleStyle: null,\n    // 自定义右侧文本样式\n    textStyle: null\n  },\n  computed: {\n    wrapperStyled() {\n      let style = '';\n      const lineHeight = this.height === 'auto' ? 'auto' : this.height + 'px';\n      style += `height: ${lineHeight};`;\n      return style + (this.customStyle ?? '') + (this.parent?.customStyle ?? '');\n    },\n    titleStyled() {\n      let style = '';\n      if (this.titleWidth) {\n        style += `min-width: ${addUnit(this.titleWidth)};`;\n      } else {\n        style += 'flex: 1;';\n      }\n      return style + (this.titleStyle ?? '') + (this.parent?.titleStyle ?? '');\n    },\n    rightStyled() {\n      return Number(this.titleWidth) === 0 ? '' : 'flex: 1;';\n    },\n    textStyled() {\n      let style = '';\n      if (this.isLinkActive && this.linkActiveColor) {\n        style += `color: ${this.linkActiveColor};`;\n      }\n      return style + (this.textStyle ?? '') + (this.parent?.textStyle ?? '');\n    },\n    customClasses() {\n      return (this.customClass ?? '') + (this.parent?.customClass ?? '');\n    },\n    titleClasses() {\n      return (this.titleClass ?? '') + (this.parent?.titleClass ?? '');\n    },\n    textClasses() {\n      return (this.textClass ?? '') + (this.parent?.textClass ?? '');\n    },\n    isBorder() {\n      return this.border === null ? this.parent?.border : this.border;\n    },\n    cellHoverClass() {\n      return this.isLink ? this.hoverClass : null;\n    }\n  },\n  methods: {\n    onClick(evt) {\n      if (this.disabled) return;\n      this.$emit('click', evt);\n    },\n  }\n};\n</script>\n"],"names":["__vue2_script","cellKey","value","style","lineHeight","_a","_c","_b","addUnit","evt"],"mappings":"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"}