first
This commit is contained in:
170
node_modules/vant/es/share-sheet/index.js
generated
vendored
Normal file
170
node_modules/vant/es/share-sheet/index.js
generated
vendored
Normal file
@ -0,0 +1,170 @@
|
||||
import _extends from "@babel/runtime/helpers/esm/extends";
|
||||
// Utils
|
||||
import { createNamespace } from '../utils'; // Mixins
|
||||
|
||||
import { popupMixinProps } from '../mixins/popup'; // Components
|
||||
|
||||
import Popup from '../popup';
|
||||
var PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];
|
||||
|
||||
var _createNamespace = createNamespace('share-sheet'),
|
||||
createComponent = _createNamespace[0],
|
||||
bem = _createNamespace[1],
|
||||
t = _createNamespace[2];
|
||||
|
||||
export default createComponent({
|
||||
props: _extends({}, popupMixinProps, {
|
||||
title: String,
|
||||
duration: String,
|
||||
cancelText: String,
|
||||
description: String,
|
||||
getContainer: [String, Function],
|
||||
options: {
|
||||
type: Array,
|
||||
default: function _default() {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
overlay: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
closeOnPopstate: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
safeAreaInsetBottom: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
closeOnClickOverlay: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
}),
|
||||
methods: {
|
||||
onCancel: function onCancel() {
|
||||
this.toggle(false);
|
||||
this.$emit('cancel');
|
||||
},
|
||||
onSelect: function onSelect(option, index) {
|
||||
this.$emit('select', option, index);
|
||||
},
|
||||
toggle: function toggle(val) {
|
||||
this.$emit('input', val);
|
||||
},
|
||||
getIconURL: function getIconURL(icon) {
|
||||
if (PRESET_ICONS.indexOf(icon) !== -1) {
|
||||
return "https://img01.yzcdn.cn/vant/share-sheet-" + icon + ".png";
|
||||
}
|
||||
|
||||
return icon;
|
||||
},
|
||||
genHeader: function genHeader() {
|
||||
var h = this.$createElement;
|
||||
var title = this.slots('title') || this.title;
|
||||
var description = this.slots('description') || this.description;
|
||||
|
||||
if (!title && !description) {
|
||||
return;
|
||||
}
|
||||
|
||||
return h("div", {
|
||||
"class": bem('header')
|
||||
}, [title && h("h2", {
|
||||
"class": bem('title')
|
||||
}, [title]), description && h("span", {
|
||||
"class": bem('description')
|
||||
}, [description])]);
|
||||
},
|
||||
genOptions: function genOptions(options, showBorder) {
|
||||
var _this = this;
|
||||
|
||||
var h = this.$createElement;
|
||||
return h("div", {
|
||||
"class": bem('options', {
|
||||
border: showBorder
|
||||
})
|
||||
}, [options.map(function (option, index) {
|
||||
return h("div", {
|
||||
"attrs": {
|
||||
"role": "button",
|
||||
"tabindex": "0"
|
||||
},
|
||||
"class": [bem('option'), option.className],
|
||||
"on": {
|
||||
"click": function click() {
|
||||
_this.onSelect(option, index);
|
||||
}
|
||||
}
|
||||
}, [h("img", {
|
||||
"attrs": {
|
||||
"src": _this.getIconURL(option.icon)
|
||||
},
|
||||
"class": bem('icon')
|
||||
}), option.name && h("span", {
|
||||
"class": bem('name')
|
||||
}, [option.name]), option.description && h("span", {
|
||||
"class": bem('option-description')
|
||||
}, [option.description])]);
|
||||
})]);
|
||||
},
|
||||
genRows: function genRows() {
|
||||
var _this2 = this;
|
||||
|
||||
var options = this.options;
|
||||
|
||||
if (Array.isArray(options[0])) {
|
||||
return options.map(function (item, index) {
|
||||
return _this2.genOptions(item, index !== 0);
|
||||
});
|
||||
}
|
||||
|
||||
return this.genOptions(options);
|
||||
},
|
||||
genCancelText: function genCancelText() {
|
||||
var _this$cancelText;
|
||||
|
||||
var h = this.$createElement;
|
||||
var cancelText = (_this$cancelText = this.cancelText) != null ? _this$cancelText : t('cancel');
|
||||
|
||||
if (cancelText) {
|
||||
return h("button", {
|
||||
"attrs": {
|
||||
"type": "button"
|
||||
},
|
||||
"class": bem('cancel'),
|
||||
"on": {
|
||||
"click": this.onCancel
|
||||
}
|
||||
}, [cancelText]);
|
||||
}
|
||||
},
|
||||
onClickOverlay: function onClickOverlay() {
|
||||
this.$emit('click-overlay');
|
||||
}
|
||||
},
|
||||
render: function render() {
|
||||
var h = arguments[0];
|
||||
return h(Popup, {
|
||||
"attrs": {
|
||||
"round": true,
|
||||
"value": this.value,
|
||||
"position": "bottom",
|
||||
"overlay": this.overlay,
|
||||
"duration": this.duration,
|
||||
"lazyRender": this.lazyRender,
|
||||
"lockScroll": this.lockScroll,
|
||||
"getContainer": this.getContainer,
|
||||
"closeOnPopstate": this.closeOnPopstate,
|
||||
"closeOnClickOverlay": this.closeOnClickOverlay,
|
||||
"safeAreaInsetBottom": this.safeAreaInsetBottom
|
||||
},
|
||||
"class": bem(),
|
||||
"on": {
|
||||
"input": this.toggle,
|
||||
"click-overlay": this.onClickOverlay
|
||||
}
|
||||
}, [this.genHeader(), this.genRows(), this.genCancelText()]);
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user