UNPKG

tdesign-vue-next

Version:
101 lines (95 loc) 3.76 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var Vue = require('vue'); var configProvider_utils_context = require('../../_chunks/dep-b4c4a54b.js'); var cloneDeep = require('../../_chunks/dep-61a7e281.js'); var isString = require('../../_chunks/dep-b8b9c2a3.js'); var isFunction = require('../../_chunks/dep-047617bf.js'); require('../../_chunks/dep-f8ff548f.js'); require('@babel/runtime/helpers/typeof'); require('../../_chunks/dep-30fb1b25.js'); require('dayjs'); require('../../_chunks/dep-b6c192db.js'); require('../../_chunks/dep-ba2090c8.js'); require('../../_chunks/dep-b27d3215.js'); require('../../_chunks/dep-ed572eb3.js'); require('../../_chunks/dep-bbe343d7.js'); require('../../_chunks/dep-0a510359.js'); require('../../_chunks/dep-50a41d31.js'); require('../../_chunks/dep-be3c3d53.js'); require('../../_chunks/dep-0c2ad01b.js'); require('../../_chunks/dep-5ad8a2ab.js'); require('../../_chunks/dep-8b98fa07.js'); require('../../_chunks/dep-b0b4fff1.js'); require('../../_chunks/dep-7a21da5b.js'); require('../../_chunks/dep-49fa220e.js'); require('../../_chunks/dep-02ebb419.js'); require('../../_chunks/dep-feae46a3.js'); require('../../_chunks/dep-abf21389.js'); require('../../_chunks/dep-7f32423d.js'); require('../../_chunks/dep-7c9e3d93.js'); require('../../_chunks/dep-ecbaedee.js'); require('../../_chunks/dep-9de7d250.js'); require('../../_chunks/dep-6f8a66a3.js'); var globalConfigCopy = Vue.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 = Vue.getCurrentInstance() ? Vue.inject(configProvider_utils_context.configProviderInjectKey, null) : globalConfigCopy; var mergedGlobalConfig = Vue.computed(function () { return (injectGlobalConfig === null || injectGlobalConfig === void 0 ? void 0 : injectGlobalConfig.value) || configProvider_utils_context.defaultGlobalConfig; }); var globalConfig = Vue.computed(function () { return Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale); }); var classPrefix = Vue.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.isString(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.isFunction(pattern)) { if (!args.length) return pattern(Vue.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.cloneDeep(configProvider_utils_context.defaultGlobalConfig); var mergedGlobalConfig = Vue.computed(function () { return Object.assign({}, configProvider_utils_context.mergeWith(defaultData, props.globalConfig)); }); Vue.provide(configProvider_utils_context.configProviderInjectKey, mergedGlobalConfig); if (!globalConfigCopy.value) { globalConfigCopy.value = mergedGlobalConfig.value; } return mergedGlobalConfig; }; exports.provideConfig = provideConfig; exports.useConfig = useConfig; //# sourceMappingURL=useConfig.js.map