/* Copyright (c) 2018-2020 Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ // @flow import * as React from 'react'; import {getOverrides} from '../helpers/overrides.js'; import { StyledStep, StyledIconContainer, StyledIcon, StyledInnerIcon, StyledContent, StyledContentTitle, StyledContentTail, StyledContentDescription, } from './styled-components.js'; import type {StepPropsT} from './types.js'; function Step({ overrides = {}, isCompleted, isActive, isLast, title, children, }: StepPropsT) { const [Root, rootProps] = getOverrides(overrides.Root, StyledStep); const [IconContainer, iconContainerProps] = getOverrides( overrides.IconContainer, StyledIconContainer, ); const [Icon, iconProps] = getOverrides(overrides.Icon, StyledIcon); const [InnerIcon, innerIconProps] = getOverrides( overrides.InnerIcon, StyledInnerIcon, ); const [Tail, tailProps] = getOverrides(overrides.Tail, StyledContentTail); const [Content, contentProps] = getOverrides( overrides.Content, StyledContent, ); const [Title, titleProps] = getOverrides(overrides.Title, StyledContentTitle); const [Description, descriptionProps] = getOverrides( overrides.Description, StyledContentDescription, ); const sharedProps = { $isCompleted: isCompleted, $isActive: isActive, }; return ( {isActive && } {!isLast && } {title} {isActive && children} ); } Step.defaultProps = { isCompleted: false, isLast: false, }; export default Step; declare var __DEV__: boolean; declare var __NODE__: boolean; declare var __BROWSER__: boolean;