first
This commit is contained in:
44
node_modules/vant/lib/utils/create/bem.js
generated
vendored
Normal file
44
node_modules/vant/lib/utils/create/bem.js
generated
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.createBEM = createBEM;
|
||||
|
||||
/**
|
||||
* bem helper
|
||||
* b() // 'button'
|
||||
* b('text') // 'button__text'
|
||||
* b({ disabled }) // 'button button--disabled'
|
||||
* b('text', { disabled }) // 'button__text button__text--disabled'
|
||||
* b(['disabled', 'primary']) // 'button button--disabled button--primary'
|
||||
*/
|
||||
function gen(name, mods) {
|
||||
if (!mods) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (typeof mods === 'string') {
|
||||
return " " + name + "--" + mods;
|
||||
}
|
||||
|
||||
if (Array.isArray(mods)) {
|
||||
return mods.reduce(function (ret, item) {
|
||||
return ret + gen(name, item);
|
||||
}, '');
|
||||
}
|
||||
|
||||
return Object.keys(mods).reduce(function (ret, key) {
|
||||
return ret + (mods[key] ? gen(name, key) : '');
|
||||
}, '');
|
||||
}
|
||||
|
||||
function createBEM(name) {
|
||||
return function (el, mods) {
|
||||
if (el && typeof el !== 'string') {
|
||||
mods = el;
|
||||
el = '';
|
||||
}
|
||||
|
||||
el = el ? name + "__" + el : name;
|
||||
return "" + el + gen(el, mods);
|
||||
};
|
||||
}
|
70
node_modules/vant/lib/utils/create/component.js
generated
vendored
Normal file
70
node_modules/vant/lib/utils/create/component.js
generated
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.unifySlots = unifySlots;
|
||||
exports.createComponent = createComponent;
|
||||
|
||||
require("../../locale");
|
||||
|
||||
var _ = require("..");
|
||||
|
||||
var _string = require("../format/string");
|
||||
|
||||
var _slots = require("../../mixins/slots");
|
||||
|
||||
var _vue = _interopRequireDefault(require("vue"));
|
||||
|
||||
/**
|
||||
* Create a basic component with common options
|
||||
*/
|
||||
function install(Vue) {
|
||||
var name = this.name;
|
||||
Vue.component(name, this);
|
||||
Vue.component((0, _string.camelize)("-" + name), this);
|
||||
} // unify slots & scopedSlots
|
||||
|
||||
|
||||
function unifySlots(context) {
|
||||
// use data.scopedSlots in lower Vue version
|
||||
var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
|
||||
var slots = context.slots();
|
||||
Object.keys(slots).forEach(function (key) {
|
||||
if (!scopedSlots[key]) {
|
||||
scopedSlots[key] = function () {
|
||||
return slots[key];
|
||||
};
|
||||
}
|
||||
});
|
||||
return scopedSlots;
|
||||
} // should be removed after Vue 3
|
||||
|
||||
|
||||
function transformFunctionComponent(pure) {
|
||||
return {
|
||||
functional: true,
|
||||
props: pure.props,
|
||||
model: pure.model,
|
||||
render: function render(h, context) {
|
||||
return pure(h, context.props, unifySlots(context), context);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function createComponent(name) {
|
||||
return function (sfc) {
|
||||
if ((0, _.isFunction)(sfc)) {
|
||||
sfc = transformFunctionComponent(sfc);
|
||||
}
|
||||
|
||||
if (!sfc.functional) {
|
||||
sfc.mixins = sfc.mixins || [];
|
||||
sfc.mixins.push(_slots.SlotsMixin);
|
||||
}
|
||||
|
||||
sfc.name = name;
|
||||
sfc.install = install;
|
||||
return sfc;
|
||||
};
|
||||
}
|
27
node_modules/vant/lib/utils/create/i18n.js
generated
vendored
Normal file
27
node_modules/vant/lib/utils/create/i18n.js
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.createI18N = createI18N;
|
||||
|
||||
var _ = require("..");
|
||||
|
||||
var _string = require("../format/string");
|
||||
|
||||
var _locale = _interopRequireDefault(require("../../locale"));
|
||||
|
||||
function createI18N(name) {
|
||||
var prefix = (0, _string.camelize)(name) + '.';
|
||||
return function (path) {
|
||||
var messages = _locale.default.messages();
|
||||
|
||||
var message = (0, _.get)(messages, prefix + path) || (0, _.get)(messages, path);
|
||||
|
||||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
args[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
return (0, _.isFunction)(message) ? message.apply(void 0, args) : message;
|
||||
};
|
||||
}
|
15
node_modules/vant/lib/utils/create/index.js
generated
vendored
Normal file
15
node_modules/vant/lib/utils/create/index.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.createNamespace = createNamespace;
|
||||
|
||||
var _bem = require("./bem");
|
||||
|
||||
var _component = require("./component");
|
||||
|
||||
var _i18n = require("./i18n");
|
||||
|
||||
function createNamespace(name) {
|
||||
name = 'van-' + name;
|
||||
return [(0, _component.createComponent)(name), (0, _bem.createBEM)(name), (0, _i18n.createI18N)(name)];
|
||||
}
|
Reference in New Issue
Block a user