vuestic-ui
Version:
Vue 3 UI Framework
36 lines (35 loc) • 1.31 kB
JavaScript
import { m as mergeDeep } from "../../../utils/merge-deep.mjs";
import { c as cloneDeep } from "../../../utils/clone-deep.mjs";
import { computed, provide } from "vue";
import { m as makeColorsConfig } from "../../../services/color/config/make-config.mjs";
import { u as useGlobalConfig } from "../../../composables/useGlobalConfig.mjs";
import { G as GLOBAL_CONFIG } from "../../../services/global-config/global-config.mjs";
const useGlobalConfigProvider = (next) => {
const { globalConfig, mergeGlobalConfig, setGlobalConfig, getGlobalConfig } = useGlobalConfig();
const nextChain = computed(() => {
var _a;
const gcCopy = cloneDeep(globalConfig.value);
const compiledCopy = {
...gcCopy,
colors: makeColorsConfig(gcCopy.colors)
};
const config = mergeDeep(compiledCopy, next.value);
if ((_a = next.value.colors) == null ? void 0 : _a.variables) {
Object.keys(next.value.colors.variables).forEach((key) => {
config.colors.variables[key] = next.value.colors.variables[key];
});
}
return config;
});
provide(GLOBAL_CONFIG, {
mergeGlobalConfig,
setGlobalConfig,
getGlobalConfig,
globalConfig: nextChain
});
return nextChain;
};
export {
useGlobalConfigProvider as u
};
//# sourceMappingURL=useGlobalConfigProvider.mjs.map