@hitachivantara/uikit-react-icons
Version:
NEXT Design System icons packaged as a set of React components.
53 lines (52 loc) • 1.54 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const react = require("react");
const styled = require("@emotion/styled");
const uikitStyles = require("@hitachivantara/uikit-styles");
const utils = require("./utils.cjs");
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
const styled__default = /* @__PURE__ */ _interopDefault(styled);
function getRotation(rotation) {
switch (rotation) {
case "up":
return "-90deg";
case "down":
return "90deg";
case true:
return "180deg";
case false:
default:
return void 0;
}
}
const StyledIconContainer = styled__default.default("div")({
display: "flex",
flex: "0 0 auto",
// ensure icon doesn't flex grow/shrink
fontSize: 16,
// box has a default icon container size of 32px (`xs` & `sm`)
width: "var(--icsize, 32px)",
height: "var(--icsize, 32px)",
transition: "rotate 0.2s ease",
justifyContent: "center",
alignItems: "center"
});
const HvIconContainer = react.forwardRef(function HvIconContainer2(props, ref) {
const { size, style, color, rotate, children, ...others } = props;
return /* @__PURE__ */ jsxRuntime.jsx(
StyledIconContainer,
{
ref,
style: {
...utils.getSizeStyles("", size),
color: uikitStyles.getColor(color),
rotate: getRotation(rotate),
...style
},
...others,
children
}
);
});
exports.HvIconContainer = HvIconContainer;