diff --git a/packages/components/src/components/timeline/index.js b/packages/components/src/components/timeline/index.ts similarity index 57% rename from packages/components/src/components/timeline/index.js rename to packages/components/src/components/timeline/index.ts index f269c192f191..05627ed51e75 100644 --- a/packages/components/src/components/timeline/index.js +++ b/packages/components/src/components/timeline/index.ts @@ -1,4 +1,4 @@ -import Timeline from './timeline.jsx'; +import Timeline from './timeline'; import './timeline.scss'; export default Timeline; diff --git a/packages/components/src/components/timeline/timeline.jsx b/packages/components/src/components/timeline/timeline.jsx deleted file mode 100644 index 910e5331ea7e..000000000000 --- a/packages/components/src/components/timeline/timeline.jsx +++ /dev/null @@ -1,43 +0,0 @@ -import React from 'react'; -import classNames from 'classnames'; -import Text from '../text'; - -const Oval = ({ children }) => { - return ( -
- - {children} - -
- ); -}; - -const Timeline = ({ children, disabled_items, ...props }) => { - return ( -
- {children.map((child, idx) => ( -
- {idx + 1} -
- - {child.props.item_title} - -
{child}
-
-
- ))} -
- ); -}; - -const Item = ({ children, ...props }) =>
{children}
; - -Timeline.Item = Item; - -export default Timeline; diff --git a/packages/components/src/components/timeline/timeline.tsx b/packages/components/src/components/timeline/timeline.tsx new file mode 100644 index 000000000000..f924b0304357 --- /dev/null +++ b/packages/components/src/components/timeline/timeline.tsx @@ -0,0 +1,50 @@ +import React from 'react'; +import classNames from 'classnames'; +import Text from '../text'; + +type TOval = { + children: number; +}; +type TItem = React.HTMLAttributes & { item_title: React.ReactNode }; +type TTimeline = React.HTMLAttributes & { disabled_items?: number[] }; + +const Oval = ({ children }: TOval) => { + return ( +
+ + {children} + +
+ ); +}; + +const Timeline = ({ children, disabled_items, ...props }: React.PropsWithChildren) => { + return ( +
+ {Array.isArray(children) && + children.map((child, idx) => ( +
+ {idx + 1} +
+ + {child.props.item_title} + +
{child}
+
+
+ ))} +
+ ); +}; + +const Item = ({ children, ...props }: React.PropsWithChildren) =>
{children}
; + +Timeline.Item = Item; + +export default Timeline;