123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- "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;
|