UNPKG

@kiwicom/orbit-components

Version:

Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

45 lines (42 loc) 1.82 kB
import * as React from "react"; import styled, { css } from "styled-components"; import { convertHexToRgba } from "@kiwicom/orbit-design-tokens"; import Text from "../Text"; import CheckCircle from "./CheckCircle"; import useTheme from "../hooks/useTheme"; import defaultTheme from "../defaultTheme"; import { WizardStepContext } from "./WizardContext"; export const StyledStepIconContainer = styled.div.withConfig({ displayName: "WizardStepIcon__StyledStepIconContainer", componentId: "sc-nu4xfl-0" })(["", ";"], ({ theme, $disabled, $glow }) => css(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:", ";background:", ";box-shadow:", ";position:relative;top:-2px;svg{display:block;}"], theme.orbit.borderRadiusCircle, $disabled ? theme.orbit.paletteCloudNormalHover : theme.orbit.paletteProductNormal, $glow && `0 0 0 4px ${convertHexToRgba(theme.orbit.paletteProductNormal, 20)}`)); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198 StyledStepIconContainer.defaultProps = { theme: defaultTheme }; const WizardStepIcon = () => { const { index, status, isCompact, isActive } = React.useContext(WizardStepContext); const theme = useTheme(); return /*#__PURE__*/React.createElement(StyledStepIconContainer, { $disabled: status === "disabled", $glow: isActive && !isCompact }, status === "completed" ? /*#__PURE__*/React.createElement(CheckCircle, { ariaLabel: "completed", size: "small", customColor: theme.orbit.paletteProductNormal }) : /*#__PURE__*/React.createElement(Text, { as: "div", type: status === "disabled" ? "primary" : "white", size: "small", align: "center" }, typeof index === "number" ? index + 1 : null)); }; export default WizardStepIcon;