diff --git a/packages/react/src/components/ContentSwitcher/index.js b/packages/react/src/components/ContentSwitcher/index.ts similarity index 57% rename from packages/react/src/components/ContentSwitcher/index.js rename to packages/react/src/components/ContentSwitcher/index.ts index 9c65d795b1e5..2d9c0a2dce1e 100644 --- a/packages/react/src/components/ContentSwitcher/index.js +++ b/packages/react/src/components/ContentSwitcher/index.ts @@ -5,9 +5,12 @@ * LICENSE file in the root directory of this source tree. */ +import { ComponentClass } from 'react'; import { createClassWrapper } from '../../internal/createClassWrapper'; -import ContentSwitcherCarbon from './ContentSwitcher'; +import ContentSwitcherCarbon, { ContentSwitcherProps } from './ContentSwitcher'; -const ContentSwitcher = createClassWrapper(ContentSwitcherCarbon); +const ContentSwitcher = createClassWrapper( + ContentSwitcherCarbon as ComponentClass +); export default ContentSwitcher; export { ContentSwitcher }; diff --git a/packages/react/src/components/SkeletonIcon/index.js b/packages/react/src/components/SkeletonIcon/index.ts similarity index 100% rename from packages/react/src/components/SkeletonIcon/index.js rename to packages/react/src/components/SkeletonIcon/index.ts diff --git a/packages/react/src/components/Slider/index.js b/packages/react/src/components/Slider/index.ts similarity index 100% rename from packages/react/src/components/Slider/index.js rename to packages/react/src/components/Slider/index.ts diff --git a/packages/react/src/components/Switch/index.js b/packages/react/src/components/Switch/index.ts similarity index 100% rename from packages/react/src/components/Switch/index.js rename to packages/react/src/components/Switch/index.ts diff --git a/packages/react/src/internal/createClassWrapper.js b/packages/react/src/internal/createClassWrapper.tsx similarity index 70% rename from packages/react/src/internal/createClassWrapper.js rename to packages/react/src/internal/createClassWrapper.tsx index 1928b4102515..5d6610b56081 100644 --- a/packages/react/src/internal/createClassWrapper.js +++ b/packages/react/src/internal/createClassWrapper.tsx @@ -5,16 +5,15 @@ * LICENSE file in the root directory of this source tree. */ -import React from 'react'; +import React, { ComponentClass, FunctionComponent } from 'react'; /** * Wrap a class component with a functional component. This prevents an end-user * from being able to pass `ref` and access the underlying class instance. - * - * @param {ReactNode} Component - * @returns {ReactNode} */ -export function createClassWrapper(Component) { +export function createClassWrapper( + Component: ComponentClass +): FunctionComponent { function ClassWrapper(props) { return ; } @@ -22,5 +21,5 @@ export function createClassWrapper(Component) { const name = Component.displayName || Component.name; ClassWrapper.displayName = `ClassWrapper(${name})`; - return ClassWrapper; + return ClassWrapper as FunctionComponent; }