UNPKG

@bootstrap-styled/provider

Version:

BootstrapProvider and UtilityProvider components help you manage reset, global styles and original bootstrap class utilities

156 lines (111 loc) 8.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.propTypes = exports.defaultProps = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _api = require("@bootstrap-styled/css-utils/lib/_api"); var _conditional = require("@bootstrap-styled/css-mixins/lib/conditional"); var _align = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/align")); var _background = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/background")); var _borders = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/borders")); var _clearfix = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/clearfix")); var _cursor = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/cursor")); var _display = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/display")); var _flex = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/flex")); var _float = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/float")); var _position = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/position")); var _reboot = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/reboot")); var _screenreaders = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/screenreaders")); var _sizing = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/sizing")); var _spacing = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/spacing")); var _text = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/text")); var _transition = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/transition")); var _visibility = _interopRequireDefault(require("@bootstrap-styled/css-utils/lib/visibility")); var _theme = _interopRequireDefault(require("bootstrap-styled/lib/theme")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var defaultProps = { theme: _theme.default, utils: { // v4.4.0 implementation of utilities screen: true, print: true, // v4.0.0 implementation of utilities align: false, background: false, border: false, display: false, flex: false, float: false, position: false, screenreaders: false, sizing: false, spacing: false, text: false, visibility: false, // custom utils clearfix: true, cursor: true, transition: true } }; exports.defaultProps = defaultProps; var propTypes = { /** Specified node element will be passed as children of `<UtilityProvider />` component. */ children: _propTypes.default.node, /** Theme variables. */ theme: _propTypes.default.object, /** Utilities variables, all v4.0.0 are now disable variant. If you were relying on the old color scheme, just disable 4.4.0 and enable 4.0.0 variant */ utils: _propTypes.default.shape({ /** v4.4.0 implementation for all screen utilities */ screen: _propTypes.default.bool, /** v4.4.0 implementation for all print utilities */ print: _propTypes.default.bool, /** v4.0.0 implementation align theme variables. */ align: _propTypes.default.bool, /** v4.0.0 implementation background theme variables. */ background: _propTypes.default.bool, /** v4.0.0 implementation border theme variables. */ border: _propTypes.default.bool, /** v4.0.0 implementation display theme variables. */ display: _propTypes.default.bool, /** v4.0.0 implementation flex theme variables. */ flex: _propTypes.default.bool, /** v4.0.0 implementation float theme variables. */ float: _propTypes.default.bool, /** v4.0.0 implementation position theme variables. */ position: _propTypes.default.bool, /** v4.0.0 implementation screenreaders theme variables. */ screenreaders: _propTypes.default.bool, /** v4.0.0 implementation sizing theme variables. */ sizing: _propTypes.default.bool, /** v4.0.0 implementation spacing theme variables. */ spacing: _propTypes.default.bool, /** v4.0.0 implementation text theme variables. */ text: _propTypes.default.bool, /** v4.0.0 implementation visibility theme variables. */ visibility: _propTypes.default.bool, /** add a .clearfix class. */ clearfix: _propTypes.default.bool, /** add cursor utilities. */ cursor: _propTypes.default.bool, /** add transition utilities. */ transition: _propTypes.default.bool }) }; exports.propTypes = propTypes; var UtilityProvider = _styledComponents.default.div.withConfig({ displayName: "UtilityProvider", componentId: "wqw4uj-0" })(["", ""], function (props) { return "\n ".concat(!props.utils.screen ? console.warn('UtilityProvider: utilities have been replaced in bootstrap 4.4.0, to switch to 4.4.0 behavior, visit @bootstrap-styled/provider documentation') || '' : '' /* eslint-disable-line no-console */ , "\n ").concat(_reboot.default.body(props.theme['$font-family-base'], props.theme['$font-size-base'], props.theme['$font-weight-base'], props.theme['$line-height-base'], props.theme['$body-color'], props.theme['$body-bg']), "\n ").concat((0, _conditional.ifThen)(props.utils.align, _align.default.getAlignUtilities()), "\n ").concat((0, _conditional.ifThen)(props.utils.background, _background.default.getBackgroundUtilities(props.theme['$enable-hover-media-query'], props.theme['$brand-primary'], props.theme['$brand-success'], props.theme['$brand-info'], props.theme['$brand-warning'], props.theme['$brand-danger'], props.theme['$brand-inverse'], props.theme['$gray-lightest'])), "\n ").concat((0, _conditional.ifThen)(props.utils.border, _borders.default.getBordersUtilities(props.theme['$enable-rounded'], props.theme['$border-radius'])), "\n ").concat((0, _conditional.ifThen)(props.utils.clearfix, _clearfix.default.getClearfixUtilities()), "\n ").concat((0, _conditional.ifThen)(props.utils.cursor, _cursor.default.getCursorUtilities()), "\n ").concat((0, _conditional.ifThen)(props.utils.display, _display.default.getDisplayUtilities(props.theme['$grid-breakpoints'])), "\n ").concat((0, _conditional.ifThen)(props.utils.flex, _flex.default.getFlexUtilities(props.theme['$grid-breakpoints'])), "\n ").concat((0, _conditional.ifThen)(props.utils.float, _float.default.getFloatUtilities(props.theme['$grid-breakpoints'])), "\n ").concat((0, _conditional.ifThen)(props.utils.screenreaders, _screenreaders.default.getScreenReadersUtilities()), "\n ").concat((0, _conditional.ifThen)(props.utils.spacing, _spacing.default.getSpacingUtilities(props.theme['$grid-breakpoints'], props.theme['$spacers'] // eslint-disable-line dot-notation )), "\n ").concat((0, _conditional.ifThen)(props.utils.text, _text.default.getTextUtilities(props.theme['$enable-hover-media-query'], props.theme['$grid-breakpoints'], props.theme['$font-weight-normal'], props.theme['$font-weight-bold'], props.theme['$text-muted'], props.theme['$brand-primary'], props.theme['$brand-success'], props.theme['$brand-info'], props.theme['$brand-warning'], props.theme['$brand-danger'], props.theme['$gray-dark'])), "\n ").concat((0, _conditional.ifThen)(props.utils.transition, _transition.default.getTransitionUtilities(props.theme['$enable-transitions'], props.theme['$transition-fade'], props.theme['$transition-collapse'])), "\n ").concat((0, _conditional.ifThen)(props.utils.visibility, _visibility.default.getVisibilityUtilities(props.theme['$grid-breakpoints'])), "\n ").concat((0, _conditional.ifThen)(props.utils.position, _position.default.getPositionUtilities(props.theme['$zindex-fixed'], props.theme['$zindex-sticky'])), "\n ").concat((0, _conditional.ifThen)(props.utils.sizing, _sizing.default.getSizingUtilities(props.theme.$sizes)), " // eslint-disable-line dot-notation\n ").concat((0, _conditional.ifThen)(props.utils.screen && props.theme.$utilities, (0, _api.screenUtilities)(props.theme['$grid-breakpoints'], props.theme.$utilities)), "\n ").concat((0, _conditional.ifThen)(props.utils.print && props.theme.$utilities, (0, _api.printUtilities)(props.theme['$grid-breakpoints'], props.theme.$utilities)), "\n "); }); UtilityProvider.defaultProps = defaultProps; UtilityProvider.propTypes = propTypes; /** @component */ var _default = UtilityProvider; exports.default = _default;