tdesign-mobile-vue
Version:
tdesign-mobile-vue
104 lines (97 loc) • 3.97 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
import { _ as _defineProperty } from './dep-219bb5a7.mjs';
import { ref, getCurrentInstance, inject, computed, h, provide } from 'vue';
import { i as isFunction_1 } from './dep-91d696ea.mjs';
import './dep-8bf3054e.mjs';
import { _ as _baseClone } from './dep-6c53a3e4.mjs';
import { i as isString_1 } from './dep-6303c50c.mjs';
import { c as configProviderInjectKey, d as defaultGlobalConfig, a as mergeWith } from './dep-ac139980.mjs';
import '../config-provider/type.mjs';
var baseClone = _baseClone;
/** Used to compose bitmasks for cloning. */
var CLONE_DEEP_FLAG = 1,
CLONE_SYMBOLS_FLAG = 4;
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
var cloneDeep_1 = cloneDeep;
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var globalConfigCopy = ref();
function useConfig() {
var componentName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : void 0;
var componentLocale = arguments.length > 1 ? arguments[1] : undefined;
var injectGlobalConfig = getCurrentInstance() ? inject(configProviderInjectKey, null) : globalConfigCopy;
var mergedGlobalConfig = computed(function () {
return (injectGlobalConfig === null || injectGlobalConfig === void 0 ? void 0 : injectGlobalConfig.value) || defaultGlobalConfig;
});
var globalConfig = computed(function () {
return Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale);
});
var classPrefix = computed(function () {
return mergedGlobalConfig.value.classPrefix;
});
var t = function t(pattern) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var data = args[0];
if (isString_1(pattern)) {
if (!data) return pattern;
var regular = /\{\s*([\w-]+)\s*\}/g;
var translated = pattern.replace(regular, function (match, key) {
if (data) {
return String(data[key]);
}
return "";
});
return translated;
}
if (isFunction_1(pattern)) {
if (!args.length) return pattern(h);
return pattern.apply(void 0, args);
}
return "";
};
return {
t: t,
global: globalConfig,
globalConfig: globalConfig,
classPrefix: classPrefix
};
}
var provideConfig = function provideConfig(props) {
var defaultData = cloneDeep_1(defaultGlobalConfig);
var mergedGlobalConfig = computed(function () {
return _objectSpread({}, mergeWith(defaultData, props.globalConfig));
});
provide(configProviderInjectKey, mergedGlobalConfig);
if (!globalConfigCopy.value) {
globalConfigCopy.value = mergedGlobalConfig.value;
}
return mergedGlobalConfig;
};
export { cloneDeep_1 as c, provideConfig as p, useConfig as u };
//# sourceMappingURL=dep-b9b8ead5.mjs.map