@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.
46 lines (42 loc) • 2.03 kB
JavaScript
import * as React from "react";
import styled, { css } from "styled-components";
import convertHexToRgba from "@kiwicom/orbit-design-tokens/lib/convertHexToRgba";
import Text from "../Text";
import CheckCircle from "./CheckCircle";
import useTheme from "../hooks/useTheme";
import defaultTheme from "../defaultTheme";
import { WizardStepContext } from "./WizardContext";
var StyledContainer = styled.div.withConfig({
displayName: "WizardStepIcon__StyledContainer",
componentId: "sc-1mlvzs1-0"
})(["", ";"], function (_ref) {
var theme = _ref.theme,
disabled = _ref.disabled,
glow = _ref.glow;
return css(["width:", ";height:", ";border-radius:", ";background:", ";", " ", ";svg{display:block;}"], theme.orbit.widthIconSmall, theme.orbit.heightIconSmall, theme.orbit.borderRadiusCircle, theme.orbit.paletteProductNormal, disabled && css(["background:", ";"], theme.orbit.paletteCloudNormalHover), glow && css(["box-shadow:0 0 0 4px ", ";"], convertHexToRgba(theme.orbit.paletteProductNormal, 20)));
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledContainer.defaultProps = {
theme: defaultTheme
};
var WizardStepIcon = function WizardStepIcon() {
var _React$useContext = React.useContext(WizardStepContext),
index = _React$useContext.index,
status = _React$useContext.status,
isCompact = _React$useContext.isCompact,
isActive = _React$useContext.isActive;
var theme = useTheme();
return /*#__PURE__*/React.createElement(StyledContainer, {
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;