diff --git a/src/config-consumer/index.js b/src/config-consumer/index.ts similarity index 94% rename from src/config-consumer/index.js rename to src/config-consumer/index.ts index a98c73d98..b6a26526b 100644 --- a/src/config-consumer/index.js +++ b/src/config-consumer/index.ts @@ -1,2 +1,2 @@ /* istanbul ignore file */ -export { default as NConfigConsumer } from './src/ConfigConsumer.js' +export { default as NConfigConsumer } from './src/ConfigConsumer' diff --git a/src/config-consumer/src/ConfigConsumer.js b/src/config-consumer/src/ConfigConsumer.ts similarity index 87% rename from src/config-consumer/src/ConfigConsumer.js rename to src/config-consumer/src/ConfigConsumer.ts index b6b3c96cc..7598f9fb5 100644 --- a/src/config-consumer/src/ConfigConsumer.js +++ b/src/config-consumer/src/ConfigConsumer.ts @@ -1,4 +1,5 @@ import { defineComponent, inject, toRef, watch } from 'vue' +import { ConfigProviderInjection } from '../../config-provider' import useLegacy from './use-legacy' export default defineComponent({ @@ -24,7 +25,10 @@ export default defineComponent({ } }, setup (props) { - const NConfigProvider = inject('NConfigProvider', null) + const NConfigProvider = inject( + 'NConfigProvider', + null + ) if (NConfigProvider) { watch(toRef(NConfigProvider, 'mergedNamespace'), (value, oldValue) => { const { onNamespaceChange } = props diff --git a/src/config-consumer/src/use-legacy.js b/src/config-consumer/src/use-legacy.ts similarity index 69% rename from src/config-consumer/src/use-legacy.js rename to src/config-consumer/src/use-legacy.ts index d7abb2ad6..c9181ff8c 100644 --- a/src/config-consumer/src/use-legacy.js +++ b/src/config-consumer/src/use-legacy.ts @@ -1,7 +1,18 @@ import { computed, watch, toRef } from 'vue' +import { ConfigProviderInjection } from '../../config-provider' import styleScheme from '../../_deprecated/style-scheme' -export default function useLegacy (NConfigProvider, props) { +interface UseLegacyProps { + onLanguageChange: ( + lang: string | undefined, + oldLang: string | undefined + ) => void +} + +export default function useLegacy ( + NConfigProvider: ConfigProviderInjection | null, + props: UseLegacyProps +) { if (NConfigProvider) { watch(toRef(NConfigProvider, 'mergedLanguage'), (value, oldValue) => { const { onLanguageChange } = props @@ -22,7 +33,7 @@ export default function useLegacy (NConfigProvider, props) { : null }), legacyStyleScheme: computed(() => { - return styleScheme[NConfigProvider.mergedTheme || 'light'] + return (styleScheme as any)[NConfigProvider?.mergedTheme || 'light'] }) } }