@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
JavaScript
"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;