vcc-ui
Version:
A React library for building user interfaces at Volvo Cars
50 lines (48 loc) • 1.9 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Flex = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _reactFela = require("react-fela");
const style = {
display: 'flex',
flexDirection: 'column',
flexGrow: 0,
flexShrink: 1,
flexBasis: 'auto',
alignSelf: 'stretch'
};
/**
* @deprecated This component is deprecated and can be recreated using CSS only. See [Flex](https://developer.volvocars.com/design-system/web/?path=/docs/layout-flex--docs)
*/
const Flex = exports.Flex = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
let {
children,
className,
as: As = 'div',
extend,
...props
} = _ref;
const {
css
} = (0, _reactFela.useFela)(props);
return /*#__PURE__*/_react.default.createElement(As, (0, _extends2.default)({}, props, {
ref: ref,
className: css(style, extend) + (className ? ' ' + className : '')
}), children);
});
Flex.displayName = 'Flex';
Flex.propTypes = {
/** Any valid React element, function, or a string specifying a name for an HTML element */
as: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element, _propTypes.default.elementType, _propTypes.default.func]),
/** An object containing valid CSS style declarations */
extend: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func, _propTypes.default.array]),
/** A JSX node */
children: _propTypes.default.node,
/** Add an additional custom className to element. Warning: make sure it doesn't collide with the classNames being generated for the atomic CSS **/
className: _propTypes.default.string
};