1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
| "use strict";
|
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
| exports.__esModule = true;
| exports.default = void 0;
|
| var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
|
| var _utils = require("../utils");
|
| var _functional = require("../utils/functional");
|
| var _info = _interopRequireDefault(require("../info"));
|
| // Utils
| // Components
| var _createNamespace = (0, _utils.createNamespace)('icon'),
| createComponent = _createNamespace[0],
| bem = _createNamespace[1];
|
| function isImage(name) {
| return name ? name.indexOf('/') !== -1 : false;
| } // compatible with legacy usage, should be removed in next major version
|
|
| var LEGACY_MAP = {
| medel: 'medal',
| 'medel-o': 'medal-o',
| 'calender-o': 'calendar-o'
| };
|
| function correctName(name) {
| return name && LEGACY_MAP[name] || name;
| }
|
| function Icon(h, props, slots, ctx) {
| var _props$badge;
|
| var name = correctName(props.name);
| var imageIcon = isImage(name);
|
| if (process.env.NODE_ENV === 'development' && props.info) {
| console.warn('[Vant] Icon: "info" prop is deprecated, use "badge" prop instead.');
| }
|
| return h(props.tag, (0, _babelHelperVueJsxMergeProps.default)([{
| "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
| "style": {
| color: props.color,
| fontSize: (0, _utils.addUnit)(props.size)
| }
| }, (0, _functional.inherit)(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
| "class": bem('image'),
| "attrs": {
| "src": name
| }
| }), h(_info.default, {
| "attrs": {
| "dot": props.dot,
| "info": (_props$badge = props.badge) != null ? _props$badge : props.info
| }
| })]);
| }
|
| Icon.props = {
| dot: Boolean,
| name: String,
| size: [Number, String],
| // @deprecated
| // should be removed in next major version
| info: [Number, String],
| badge: [Number, String],
| color: String,
| tag: {
| type: String,
| default: 'i'
| },
| classPrefix: {
| type: String,
| default: bem()
| }
| };
|
| var _default = createComponent(Icon);
|
| exports.default = _default;
|
|