element-plus
Version:
A Component Library for Vue 3
1 lines • 1.93 kB
Source Map (JSON)
{"version":3,"file":"config-provider.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { defineComponent, renderSlot, watch } from 'vue'\nimport { provideGlobalConfig } from './hooks/use-global-config'\nimport { configProviderProps } from './config-provider-props'\n\nimport type { MessageConfigContext } from '@element-plus/components/message'\n\nexport const messageConfig: MessageConfigContext = {\n placement: 'top',\n}\n\nconst ConfigProvider = defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n const config = provideGlobalConfig(props)\n watch(\n () => props.message,\n (val) => {\n Object.assign(messageConfig, config?.value?.message ?? {}, val ?? {})\n },\n { immediate: true, deep: true }\n )\n return () => renderSlot(slots, 'default', { config: config?.value })\n },\n})\nexport type ConfigProviderInstance = InstanceType<typeof ConfigProvider> &\n unknown\n\nexport default ConfigProvider\n"],"names":[],"mappings":";;;;AAMO,MAAM,aAAsC,GAAA;AAAA,EACjD,SAAW,EAAA,KAAA;AACb,EAAA;AAEA,MAAM,iBAAiB,eAAgB,CAAA;AAAA,EACrC,IAAM,EAAA,kBAAA;AAAA,EACN,KAAO,EAAA,mBAAA;AAAA,EAEP,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,IAAM,MAAA,MAAA,GAAS,oBAAoB,KAAK,CAAA,CAAA;AACxC,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AAlBf,QAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAmBQ,QAAO,MAAA,CAAA,MAAA,CAAO,aAAe,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,OAAf,KAAA,IAAA,GAAA,EAAA,GAA0B,EAAC,EAAG,GAAO,IAAA,IAAA,GAAA,GAAA,GAAA,EAAE,CAAA,CAAA;AAAA,OACtE;AAAA,MACA,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,IAAK,EAAA;AAAA,KAChC,CAAA;AACA,IAAO,OAAA,MAAM,WAAW,KAAO,EAAA,SAAA,EAAW,EAAE,MAAQ,EAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,OAAO,CAAA,CAAA;AAAA,GACrE;AACF,CAAC;;;;"}