element-plus
Version:
A Component Library for Vue 3
1 lines • 1.88 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,aAAA,GAAsC;AAAA,EACjD,SAAA,EAAW;AACb;AAEA,MAAM,iBAAiB,eAAA,CAAgB;AAAA,EACrC,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,mBAAA;AAAA,EAEP,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,IAAA,MAAM,MAAA,GAAS,oBAAoB,KAAK,CAAA;AACxC,IAAA,KAAA;AAAA,MACE,MAAM,KAAA,CAAM,OAAA;AAAA,MACZ,CAAC,GAAA,KAAQ;AAlBf,QAAA,IAAA,EAAA,EAAA,EAAA;AAmBQ,QAAA,MAAA,CAAO,MAAA,CAAO,aAAA,EAAA,CAAe,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,OAAA,KAAf,IAAA,GAAA,EAAA,GAA0B,EAAC,EAAG,GAAA,IAAA,IAAA,GAAA,GAAA,GAAO,EAAE,CAAA;AAAA,MACtE,CAAA;AAAA,MACA,EAAE,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,IAAA;AAAK,KAChC;AACA,IAAA,OAAO,MAAM,WAAW,KAAA,EAAO,SAAA,EAAW,EAAE,MAAA,EAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAO,CAAA;AAAA,EACrE;AACF,CAAC;;;;"}