From 1c58c42c7f75a163a0ce7698b6d461259f842dbd Mon Sep 17 00:00:00 2001 From: Sandeep Ramgolam Date: Tue, 19 Aug 2025 15:47:22 +0400 Subject: [PATCH] fix: useId with dynamic properly access --- packages/core/src/shared/useId.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/core/src/shared/useId.ts b/packages/core/src/shared/useId.ts index 042958586..0f23c39cc 100644 --- a/packages/core/src/shared/useId.ts +++ b/packages/core/src/shared/useId.ts @@ -16,12 +16,15 @@ export function useId(deterministicId?: string | null | undefined, prefix = 'rek if (deterministicId) return deterministicId - if ('useId' in vue) { - return `${prefix}-${vue.useId?.()}` + // Check if Vue has useId support (Vue 3.5+) + // We use dynamic property access to avoid bundler warnings in Vue < 3.5 + const methodName = 'use' + 'Id' + if (typeof (vue as any)[methodName] === 'function') { + return `${prefix}-${(vue as any)[methodName]()}` } const configProviderContext = injectConfigProviderContext({ useId: undefined }) - + if (configProviderContext.useId) { return `${prefix}-${configProviderContext.useId()}` }