tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 6.79 kB
Source Map (JSON)
{"version":3,"file":"dep-b9b8ead5.mjs","sources":["../../node_modules/lodash/cloneDeep.js","../../src/config-provider/useConfig.ts"],"sourcesContent":["var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","import { computed, h, inject, getCurrentInstance, ref, provide } from 'vue';\nimport isFunction from 'lodash/isFunction';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isString from 'lodash/isString';\n\nimport { defaultGlobalConfig, configProviderInjectKey, mergeWith } from './context';\nimport { GlobalConfigProvider } from './type';\nimport type { ConfigProviderProps } from './config-provider';\n\n// 这是为了解决在非component里调用useConfig hook时发出的警告\n// https://github.com/Tencent/tdesign-vue-next/issues/2025\nconst globalConfigCopy = ref<GlobalConfigProvider>();\n\nexport * from './type';\n\n/**\n * component globalConfig\n * @param componentName\n * @returns {t, globalConfig}\n * useConfig('pagination')\n */\nexport function useConfig<T extends keyof GlobalConfigProvider>(\n componentName: T = undefined,\n componentLocale?: GlobalConfigProvider[T],\n) {\n const injectGlobalConfig = getCurrentInstance() ? inject(configProviderInjectKey, null) : globalConfigCopy;\n const mergedGlobalConfig = computed(() => injectGlobalConfig?.value || (defaultGlobalConfig as GlobalConfigProvider));\n // eslint-disable-next-line\n const globalConfig = computed(() => Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale));\n\n const classPrefix = computed(() => {\n return mergedGlobalConfig.value.classPrefix;\n });\n\n // 处理正则表达式\n const t = function <T>(pattern: T, ...args: any[]) {\n const [data] = args;\n if (isString(pattern)) {\n if (!data) return pattern;\n const regular = /\\{\\s*([\\w-]+)\\s*\\}/g;\n const translated = pattern.replace(regular, (match, key) => {\n if (data) {\n return String(data[key]);\n }\n return '';\n });\n return translated;\n }\n if (isFunction(pattern)) {\n // 重要:组件的渲染必须存在参数 h,不能移除\n if (!args.length) return pattern(h);\n return pattern(...args);\n }\n return '';\n };\n\n return {\n t,\n global: globalConfig,\n globalConfig,\n classPrefix,\n };\n}\n\n/**\n * provide globalConfig\n * @param {ConfigProviderProps} props\n * @returns {ComputedRef<GlobalConfigProvider>}\n */\nexport const provideConfig = (props: ConfigProviderProps) => {\n const defaultData = cloneDeep(defaultGlobalConfig);\n const mergedGlobalConfig = computed(() => ({ ...mergeWith(defaultData, props.globalConfig) }));\n\n provide(configProviderInjectKey, mergedGlobalConfig);\n\n if (!globalConfigCopy.value) {\n globalConfigCopy.value = mergedGlobalConfig.value;\n }\n\n return mergedGlobalConfig;\n};\n"],"names":["baseClone","require$$0","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","value","cloneDeep_1","globalConfigCopy","ref","useConfig","componentName","arguments","length","undefined","componentLocale","injectGlobalConfig","getCurrentInstance","inject","configProviderInjectKey","mergedGlobalConfig","computed","defaultGlobalConfig","globalConfig","Object","assign","classPrefix","t","pattern","_len","args","Array","_key","data","isString","regular","translated","replace","match","key","String","isFunction","h","apply","global","provideConfig","props","defaultData","_objectSpread","mergeWith","provide"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAIA,SAAS,GAAGC,UAAuB,CAAA;;AAEvC;AACA,IAAIC,eAAe,GAAG,CAAC;AACnBC,EAAAA,kBAAkB,GAAG,CAAC,CAAA;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,KAAK,EAAE;AACxB,EAAA,OAAOL,SAAS,CAACK,KAAK,EAAEH,eAAe,GAAGC,kBAAkB,CAAC,CAAA;AAC/D,CAAA;AAEAG,IAAAA,WAAc,GAAGF;;;;ACjBjB,IAAMG,mBAAmBC,GAA0B,EAAA,CAAA;AAUnC,SAAAC,SAAAA,GAGd;AAAA,EAAA,IAFAC,aAAmB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAA;EAAA,IACnBG,eACA,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA,CAAA;AACA,EAAA,IAAME,qBAAqBC,kBAAmB,EAAA,GAAIC,MAAO,CAAAC,uBAAA,EAAyB,IAAI,CAAI,GAAAX,gBAAA,CAAA;EAC1F,IAAMY,kBAAqB,GAAAC,QAAA,CAAS,YAAA;IAAA,OAAM,CAAAL,kBAAA,KAAAA,IAAAA,IAAAA,kBAAA,uBAAAA,kBAAA,CAAoBV,UAAUgB,mBAA4C,CAAA;GAAA,CAAA,CAAA;EAE9G,IAAAC,YAAA,GAAeF,QAAS,CAAA,YAAA;AAAA,IAAA,OAAMG,MAAO,CAAAC,MAAA,CAAO,EAAC,EAAGL,kBAAmB,CAAAd,KAAA,CAAMK,aAAgB,CAAA,EAAAI,eAAe,CAAC,CAAA;GAAA,CAAA,CAAA;AAEzG,EAAA,IAAAW,WAAA,GAAcL,SAAS,YAAM;AACjC,IAAA,OAAOD,mBAAmBd,KAAM,CAAAoB,WAAA,CAAA;AAClC,GAAC,CAAA,CAAA;AAGK,EAAA,IAAAC,CAAA,GAAI,SAAJA,CAAAA,CAAiBC,OAAA,EAA4B;IAAA,KAAAC,IAAAA,IAAA,GAAAjB,SAAA,CAAAC,MAAA,EAAbiB,IAAa,OAAAC,KAAA,CAAAF,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAbF,MAAAA,IAAa,CAAAE,IAAA,GAAApB,CAAAA,CAAAA,GAAAA,SAAA,CAAAoB,IAAA,CAAA,CAAA;AAAA,KAAA;IAC3C,IAACC,IAAI,GAAIH,IAAA,CAAA,CAAA,CAAA,CAAA;AACX,IAAA,IAAAI,UAAA,CAASN,OAAO,CAAG,EAAA;AACrB,MAAA,IAAI,CAACK,IAAA,EAAa,OAAAL,OAAA,CAAA;MAClB,IAAMO,OAAU,GAAA,qBAAA,CAAA;AAChB,MAAA,IAAMC,aAAaR,OAAQ,CAAAS,OAAA,CAAQF,OAAS,EAAA,UAACG,OAAOC,GAAQ,EAAA;AAC1D,QAAA,IAAIN,IAAM,EAAA;AACD,UAAA,OAAAO,MAAA,CAAOP,KAAKM,GAAI,CAAA,CAAA,CAAA;AACzB,SAAA;AACO,QAAA,OAAA,EAAA,CAAA;AACT,OAAC,CAAA,CAAA;AACM,MAAA,OAAAH,UAAA,CAAA;AACT,KAAA;AACI,IAAA,IAAAK,YAAA,CAAWb,OAAO,CAAG,EAAA;MAEvB,IAAI,CAACE,IAAK,CAAAjB,MAAA,EAAQ,OAAOe,QAAQc,CAAC,CAAA,CAAA;AAC3B,MAAA,OAAAd,OAAA,CAAAe,KAAA,CAAA,KAAA,CAAA,EAAWb,IAAI,CAAA,CAAA;AACxB,KAAA;AACO,IAAA,OAAA,EAAA,CAAA;GACT,CAAA;EAEO,OAAA;AACLH,IAAAA,CAAA,EAAAA,CAAA;AACAiB,IAAAA,MAAQ,EAAArB,YAAA;AACRA,IAAAA,YAAA,EAAAA,YAAA;AACAG,IAAAA,WAAA,EAAAA,WAAAA;GACF,CAAA;AACF,CAAA;IAOamB,aAAA,GAAgB,SAAhBA,aAAAA,CAAiBC,KAA+B,EAAA;AACrD,EAAA,IAAAC,WAAA,GAAc1C,YAAUiB,mBAAmB,CAAA,CAAA;EAC3C,IAAAF,kBAAA,GAAqBC,QAAS,CAAA,YAAA;IAAA,OAAA2B,aAAA,KAAYC,UAAUF,WAAa,EAAAD,KAAA,CAAMvB,YAAY,CAAA,CAAA,CAAA;AAAA,GAAI,CAAA,CAAA;AAE7F2B,EAAAA,OAAA,CAAQ/B,yBAAyBC,kBAAkB,CAAA,CAAA;AAE/C,EAAA,IAAA,CAACZ,iBAAiBF,KAAO,EAAA;AAC3BE,IAAAA,gBAAA,CAAiBF,QAAQc,kBAAmB,CAAAd,KAAA,CAAA;AAC9C,GAAA;AAEO,EAAA,OAAAc,kBAAA,CAAA;AACT;;;;"}