@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.
60 lines (59 loc) • 1.75 kB
JavaScript
;
"use client";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _mediaQuery = require("../utils/mediaQuery");
var _helpers = require("./helpers");
const Inline = ({
as: Component = "div",
mediumMobile,
largeMobile,
className,
tablet,
desktop,
largeDesktop,
align,
justify,
spacing,
children,
dataTest,
id
}) => {
const twProps = {
align,
justify,
spacing
};
const viewportClasses = React.useMemo(() => {
const allViewportProps = {
mediumMobile,
largeMobile,
tablet,
desktop,
largeDesktop
};
return Object.values(_mediaQuery.QUERIES).map(viewport => {
const viewportProps = allViewportProps[viewport];
if (viewportProps == null) {
return null;
}
return (0, _helpers.getTailwindClasses)(viewportProps, viewport);
});
}, [desktop, largeDesktop, largeMobile, mediumMobile, tablet]);
return (
/*#__PURE__*/
// @ts-expect-error ts-migrate(3554) FIXME: Property 'children' does not exist on type 'IntrinsicAttributes'.ts(2322)
React.createElement(Component, {
className: (0, _clsx.default)("orbit-inline", className),
id: id,
"data-test": dataTest
}, /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("flex flex-wrap", ...(0, _helpers.getTailwindClasses)(twProps), ...viewportClasses)
}, children))
);
};
var _default = exports.default = Inline;