@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.
43 lines • 1.81 kB
JavaScript
import * as React from "react";
import styled, { css } from "styled-components";
import { convertHexToRgba } from "@kiwicom/orbit-design-tokens";
import Text from "../Text";
import Check from "../icons/Check";
import useTheme from "../hooks/useTheme";
import defaultTheme from "../defaultTheme";
import { WizardStepContext } from "./WizardContext";
export const StyledStepIconContainer = styled.div.withConfig({
displayName: "WizardStepIcon__StyledStepIconContainer",
componentId: "sc-a8ydr3-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)}`));
StyledStepIconContainer.defaultProps = {
theme: defaultTheme
};
const WizardStepIcon = ({
isCompleted
}) => {
const {
index,
status,
isCompact,
isActive
} = React.useContext(WizardStepContext);
const theme = useTheme();
return /*#__PURE__*/React.createElement(StyledStepIconContainer, {
$disabled: status === "disabled",
$glow: isActive && !isCompact
}, isCompleted || status === "completed" ? /*#__PURE__*/React.createElement(Check, {
size: "small",
customColor: isCompleted && status !== "completed" && status !== "available" ? theme.orbit.paletteInkDark : theme.orbit.paletteWhiteNormal
}) : /*#__PURE__*/React.createElement(Text, {
as: "div",
type: status === "disabled" ? "primary" : "white",
size: "small",
align: "center"
}, typeof index === "number" ? index + 1 : null));
};
export default WizardStepIcon;