{"version":3,"file":"action-sheet.mjs","sources":["../../../../../packages/components/action-sheet/src/action-sheet.vue"],"sourcesContent":["<template>\n  <vc-popup :visible=\"visible\" position=\"bottom\" :round=\"round\" :duration=\"duration\" :close-on-click-overlay=\"closeOnClickOverlay\" @click-overlay=\"clickOverlay\">\n    <view :class=\"['vc-popup-container', round ? 'vc-popup--round' : null]\" :style=\"styled\">\n      <view v-for=\"(item,index) in data\" :key=\"index\" class=\"vc-action-sheet-item vc-hairline--bottom\" @click=\"onSelect(item)\">\n        <view :class=\"['vc-action-sheet--flex', item.disabled ? 'vc-action-sheet--disabled' : 'tap-effect']\">\n          <view class=\"vc-action-sheet-info\">\n            <view class=\"vc-action-sheet__title\" :style=\"{'color': value === item[valueProp] ? color : 'inherit'}\">{{item[textProp]}}</view>\n          </view>\n        </view>\n      </view>\n      <template v-if=\"showCancel\">\n        <view class=\"vc-action-sheet__gap\"></view>\n        <vc-button size=\"large\" :border=\"false\" plain block color=\"#737373\" @click=\"cancel\">{{cancelText}}</vc-button>\n      </template>\n    </view>\n  </vc-popup>\n</template>\n\n<script>\nimport { addUnit } from '../../common/util';\nimport '../style'\n\nexport default {\n  name: 'vc-action-sheet',\n  props: {\n    // 显示开关 - 透传 popup 组件\n    visible: {\n      type: Boolean,\n      default: false,\n    },\n    // 渲染源数据\n    data: {\n      type: Array,\n      default: () => []\n    },\n    // 激活的值\n    value: null,\n    // height 默认自适应，如果内容过多，需要设置高度防止内容过溢出屏幕\n    height: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    // 是否显示圆角 - 透传 popup 组件\n    round: {\n      type: Boolean,\n      default: false,\n    },\n    // 动画时长 ms - 透传 popup 组件\n    duration: {\n      type: Number,\n      default: 300,\n    },\n    // 激活的颜色\n    color: {\n      type: String,\n      default: '#3264DC'\n    },\n    // 是否显示取消按钮 - 透传 popup 组件\n    showCancel: {\n      type: Boolean,\n      default: false,\n    },\n    // 取消按钮文案 - 透传 popup 组件\n    cancelText: {\n      type: String,\n      default: '取消',\n    },\n    // 点击遮罩是否关闭菜单 - 透传 popup 组件\n    closeOnClickOverlay: {\n      type: Boolean,\n      default: true,\n    },\n    // 是否在点击选项后关闭\n    closeOnClickAction: {\n      type: Boolean,\n      default: true,\n    },\n    // 文本属性映射\n    textProp: {\n      type: String,\n      default: 'title',\n    },\n    // 值属性映射\n    valueProp: {\n      type: String,\n      default: 'value',\n    },\n    // 值没有变化时是否触发刷新\n    refresh: {\n      type: Boolean,\n      default: false\n    },\n    // 自定义组件样式\n    customStyle: null\n  },\n  computed: {\n    styled() {\n      let style = '';\n      style += `height: ${addUnit(this.height)};`;\n      style += `color: #252525;`;\n      return style + this.customStyle;\n    },\n  },\n  methods: {\n    onSelect(item) {\n      if (item.disabled) return;\n      if (this.value === item[this.valueProp] && !this.refresh) return;\n      this.$emit('select', item);\n      this.closeOnClickAction && this.close();\n    },\n    clickOverlay() {\n      if (!this.closeOnClickOverlay) return;\n      this.close();\n    },\n    cancel() {\n      this.$emit('cancel');\n      this.$emit('update:visible', false);\n    },\n    close() {\n      this.$emit('close');\n      this.$emit('update:visible', false);\n    },\n  }\n};\n</script>\n"],"names":["__vue2_script","style","addUnit","item"],"mappings":";;;AAsBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,IAEA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA,IAEA,OAAA;AAAA,IAEA,QAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,aAAA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,SAAA;AACA,UAAAC,IAAA;AACA,aAAAA,KAAA,WAAAC,EAAA,KAAA,MAAA,MACAD,KAAA,mBACAA,IAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,SAAAE,GAAA;AACA,MAAAA,EAAA,YACA,KAAA,UAAAA,EAAA,KAAA,cAAA,CAAA,KAAA,YACA,KAAA,MAAA,UAAAA,CAAA,GACA,KAAA,sBAAA,KAAA;IACA;AAAA,IACA,eAAA;AACA,MAAA,CAAA,KAAA,uBACA,KAAA,MAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,WAAA,MAAA,QAAA,GACA,KAAA,MAAA,kBAAA,EAAA;AAAA,IACA;AAAA,IACA,QAAA;AACA,WAAA,MAAA,OAAA,GACA,KAAA,MAAA,kBAAA,EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;"}