{"version":3,"file":"config-provider.mjs","names":[],"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"],"mappings":";;;;;AAMA,MAAa,gBAAsC,EACjD,WAAW,OACZ;AAED,MAAM,iBAAiB,gBAAgB;CACrC,MAAM;CACN,OAAO;CAEP,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,SAAS,oBAAoB,MAAM;AACzC,cACQ,MAAM,UACX,QAAQ;AACP,UAAO,OAAO,eAAe,QAAQ,OAAO,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC;KAEvE;GAAE,WAAW;GAAM,MAAM;GAAM,CAChC;AACD,eAAa,WAAW,OAAO,WAAW,EAAE,QAAQ,QAAQ,OAAO,CAAC;;CAEvE,CAAC"}