UNPKG

vcc-ui

Version:

A React library for building user interfaces at Volvo Cars

50 lines (48 loc) 1.9 kB
"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 };