UNPKG

react-native-flex-grid

Version:

🎨 A react-native flexbox grid similar to bootstap's web grid.

51 lines (49 loc) • 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _grid = require("../../../utils/grid"); var _responsive = require("../../../utils/responsive"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } const styles = _reactNative.StyleSheet.create({ container: { width: '100%', justifySelf: 'center' }, fluid: { maxWidth: '100%' } }); /** Container [Bootstrap Docs](https://getbootstrap.com/docs/5.0/layout/containers) */ const Container = _ref => { let { style, fluid, Element = _reactNative.View, noPadding, ...rest } = _ref; /** Grid config */ const gridConfig = (0, _grid.getConfig)(); /** screen width */ const SCREEN_WIDTH = (0, _reactNative.useWindowDimensions)().width; /** current grid breakpoint */ const gridBreakpoint = (0, _responsive.getGridBreakpoint)(SCREEN_WIDTH); /** container maxWidth */ const maxWidth = gridConfig.containerMaxWidths[gridBreakpoint]; return /*#__PURE__*/_react.default.createElement(Element, _extends({ style: [styles.container, noPadding ? null : { paddingHorizontal: gridConfig.containerPaddingsHorizontal[gridBreakpoint] }, fluid ? styles.fluid : { maxWidth, marginHorizontal: typeof maxWidth === 'number' ? (SCREEN_WIDTH - maxWidth) / 2 : undefined }, style] }, rest)); }; var _default = Container; exports.default = _default; //# sourceMappingURL=Container.js.map