vuestic-ui
Version:
Vue 3 UI Framework
1 lines • 2.09 kB
Source Map (JSON)
{"version":3,"file":"useGlobalConfigProvider.mjs","sources":["../../../../../../src/components/va-config/hooks/useGlobalConfigProvider.ts"],"sourcesContent":["import { mergeDeep } from './../../../utils/merge-deep'\nimport { cloneDeep } from '../../../utils/clone-deep'\nimport { provide, computed, Ref } from 'vue'\nimport { useGlobalConfig } from '../../../composables'\nimport { GLOBAL_CONFIG, GlobalConfig, GlobalConfigUpdater, PartialGlobalConfig } from '../../../services/global-config'\nimport { makeColorsConfig } from '../../../services/color/config/make-config'\n\nexport const useGlobalConfigProvider = (next: Ref<PartialGlobalConfig>) => {\n const { globalConfig, mergeGlobalConfig, setGlobalConfig, getGlobalConfig } = useGlobalConfig()\n\n const nextChain = computed(() => {\n const gcCopy = cloneDeep(globalConfig.value)\n const compiledCopy: GlobalConfig = {\n ...gcCopy,\n colors: makeColorsConfig(gcCopy.colors),\n }\n\n const config = mergeDeep(compiledCopy, next.value) as GlobalConfig\n\n // Variables is a virtual property, so we need to merge it manually after preset in chosen!\n if (next.value.colors?.variables) {\n Object.keys(next.value.colors.variables).forEach((key) => {\n config.colors.variables[key] = next.value.colors!.variables![key]!\n })\n }\n\n return config\n })\n\n provide(GLOBAL_CONFIG, {\n mergeGlobalConfig,\n setGlobalConfig,\n getGlobalConfig,\n globalConfig: nextChain,\n })\n\n return nextChain\n}\n"],"names":[],"mappings":";;;;;;AAOa,MAAA,0BAA0B,CAAC,SAAmC;AACzE,QAAM,EAAE,cAAc,mBAAmB,iBAAiB,gBAAA,IAAoB;AAExE,QAAA,YAAY,SAAS,MAAM;;AACzB,UAAA,SAAS,UAAU,aAAa,KAAK;AAC3C,UAAM,eAA6B;AAAA,MACjC,GAAG;AAAA,MACH,QAAQ,iBAAiB,OAAO,MAAM;AAAA,IAAA;AAGxC,UAAM,SAAS,UAAU,cAAc,KAAK,KAAK;AAG7C,SAAA,UAAK,MAAM,WAAX,mBAAmB,WAAW;AACzB,aAAA,KAAK,KAAK,MAAM,OAAO,SAAS,EAAE,QAAQ,CAAC,QAAQ;AACjD,eAAA,OAAO,UAAU,GAAG,IAAI,KAAK,MAAM,OAAQ,UAAW,GAAG;AAAA,MAAA,CACjE;AAAA,IACH;AAEO,WAAA;AAAA,EAAA,CACR;AAED,UAAQ,eAAe;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EAAA,CACf;AAEM,SAAA;AACT;"}