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.

66 lines 3.84 kB
import * as React from "react"; import styled, { css } from "styled-components"; import { useRandomIdSeed } from "../hooks/useRandomId"; import defaultTheme from "../defaultTheme"; import STOPS from "./consts"; const StyledArrow = styled.svg.withConfig({ displayName: "StopoverArrow__StyledArrow", componentId: "sc-15w52t5-0" })(["vertical-align:middle;fill:currentColor;color:", ";width:", ";height:", ";", ";"], ({ theme }) => theme.orbit.colorStopoverArrow, ({ theme }) => theme.orbit.widthStopoverArrow, ({ theme }) => theme.orbit.heightStopoverArrow, ({ theme }) => theme.rtl && css(["transform:scale(-1,1);"])); StyledArrow.defaultProps = { theme: defaultTheme }; const Stops = ({ stops }) => { if (stops === STOPS.ONE) { return /*#__PURE__*/React.createElement("path", { d: "M13 6c-.8057 0-1.5-.4763-1.8169-1.1627L.8334 4.838c-.5 0-.8334-.3334-.8334-.8334s.3333-.8333.8334-.8333l10.3457.0003C11.4941 2.4804 12.1909 2 13 2c.8087 0 1.5057.4804 1.8208 1.1715l8.763-.0003c.0834 0 .1667-.0834.1667-.1667V1.421c0-.75.9167-1.0834 1.4159-.5833l2.5842 2.5834c.3325.3333.3325.8333 0 1.1667l-2.5842 2.5834c-.4992.5008-1.416.1667-1.416-.5834V5.0046c0-.0834-.0832-.1667-.1666-.1667l-8.767-.0006C14.4997 5.5237 13.8051 6 13 6z" }); } if (stops === STOPS.TWO) { return /*#__PURE__*/React.createElement("path", { d: "M17 6c-.8057 0-1.5-.4763-1.8169-1.1627H10.317C10 5.5237 9.3057 6 8.5 6 7.6943 6 7 5.5237 6.6831 4.8373L.8334 4.838c-.5 0-.8334-.3334-.8334-.8334s.3333-.8333.8334-.8333l5.8457.0003C6.9941 2.4804 7.6909 2 8.5 2c.8091 0 1.506.4804 1.8209 1.1715h4.8582C15.4941 2.4804 16.1909 2 17 2c.8087 0 1.5057.4804 1.8208 1.1715l4.763-.0003c.0834 0 .1667-.0834.1667-.1667V1.421c0-.75.9167-1.0834 1.4159-.5833l2.5842 2.5834c.3325.3333.3325.8333 0 1.1667l-2.5842 2.5834c-.4992.5008-1.416.1667-1.416-.5834V5.0046c0-.0834-.0832-.1667-.1666-.1667l-4.767-.0006C18.4997 5.5237 17.8051 6 17 6z" }); } if (stops === STOPS.THREE) { return /*#__PURE__*/React.createElement("path", { d: "M18 6c-.8057 0-1.5-.4763-1.8169-1.1627h-1.3664C14.4997 5.5237 13.8052 6 13 6c-.8057 0-1.5-.4763-1.8169-1.1627H9.317C9 5.5237 8.3057 6 7.5 6 6.6943 6 6 5.5237 5.6831 4.8373L.8334 4.838c-.5 0-.8334-.3334-.8334-.8334s.3333-.8333.8334-.8333l4.8457.0003C5.9941 2.4804 6.6909 2 7.5 2c.8091 0 1.506.4804 1.8209 1.1715h1.8582C11.4941 2.4804 12.1909 2 13 2c.8087 0 1.5057.4804 1.8208 1.1715h1.3583C16.4941 2.4804 17.1909 2 18 2c.8087 0 1.5057.4804 1.8208 1.1715l3.763-.0003c.0834 0 .1667-.0834.1667-.1667V1.421c0-.75.9167-1.0834 1.4159-.5833l2.5842 2.5834c.3325.3333.3325.8333 0 1.1667l-2.5842 2.5834c-.4992.5008-1.416.1667-1.416-.5834V5.0046c0-.0834-.0832-.1667-.1666-.1667l-3.767-.0006C19.4997 5.5237 18.8051 6 18 6z" }); } return /*#__PURE__*/React.createElement("path", { d: "M25.1664.8378c-.4992-.5-1.416-.1667-1.416.5833v1.5834c0 .0833-.0832.1667-.1666.1667H.8334c-.5 0-.8334.3333-.8334.8333s.3333.8334.8334.8334h22.7504c.0834 0 .1667.0833.1667.1667v1.5833c0 .75.9167 1.0842 1.4159.5834l2.5842-2.5834c.3325-.3334.3325-.8334 0-1.1667L25.1664.8378z" }); }; const StopoverArrow = ({ stops = STOPS.ZERO, dataTest, id }) => { const randomId = useRandomIdSeed(); const titleId = randomId("title"); const descrId = randomId("descr"); return /*#__PURE__*/React.createElement(StyledArrow, { preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 28 8", "aria-labelledby": `${titleId} ${descrId}`, "data-test": dataTest, id: id, role: "img" }, /*#__PURE__*/React.createElement("title", { id: titleId }, "Stopover arrow, ", stops, " stops"), /*#__PURE__*/React.createElement("desc", { id: descrId }, "Shows how many stopovers there are between two locations"), /*#__PURE__*/React.createElement(Stops, { stops: stops })); }; export default StopoverArrow;