UNPKG

react-bootify

Version:
329 lines (269 loc) 9.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDate = isDate; exports.isArray = isArray; exports.isBoolean = isBoolean; exports.isFloat = isFloat; exports.uniqueID = uniqueID; exports.isString = isString; exports.isObject = isObject; exports.isNumber = isNumber; exports.isFunction = isFunction; exports.transformProps = transformProps; Object.defineProperty(exports, "Transition", { enumerable: true, get: function get() { return _Transition["default"]; } }); Object.defineProperty(exports, "React", { enumerable: true, get: function get() { return _react["default"]; } }); Object.defineProperty(exports, "classNames", { enumerable: true, get: function get() { return _classnames["default"]; } }); Object.defineProperty(exports, "PropTypes", { enumerable: true, get: function get() { return _propTypes["default"]; } }); Object.defineProperty(exports, "ReactDOM", { enumerable: true, get: function get() { return _reactDom["default"]; } }); Object.defineProperty(exports, "PopperJS", { enumerable: true, get: function get() { return _popper["default"]; } }); exports.keyCodes = void 0; var _Transition = _interopRequireDefault(require("react-transition-group/Transition")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactDom = _interopRequireDefault(require("react-dom")); var _popper = _interopRequireDefault(require("popper.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var _uniqueID = 100; function isType(obj, type) { return Object.prototype.toString.call(obj) == '[object ' + type + ']'; } ; function uniqueID() { return 'UI' + _uniqueID++; } ; function isBoolean(obj) { return typeof obj === 'boolean'; } ; function isArray(obj) { return isType(obj, 'Array'); } ; function isNumber(obj) { return isType(obj, 'Number'); } ; function isString(obj) { return isType(obj, 'String'); } ; function isDate(obj) { return isType(obj, 'Date') && !isNaN(obj.getTime()); } ; function isObject(obj) { return obj !== null && isType(obj, 'Object'); } ; function isFunction(obj) { return typeof obj === 'function'; } ; function isInteger(n) { return Number(n) === n && n % 1 === 0; } function isFloat(n) { return Number(n) === n && n % 1 !== 0; } function transformProps(props) { var _props = props, raw = _props.raw, className = _props.className, sticky = _props.sticky, order = _props.order, text = _props.text, bg = _props.bg, flex = _props.flex, fontWeight = _props.fontWeight, shadow = _props.shadow, fixed = _props.fixed, position = _props.position, justifyContent = _props.justifyContent, visible = _props.visible, invisible = _props.invisible, alignItems = _props.alignItems, alignContent = _props.alignContent, _float = _props["float"], align = _props.align, rounded = _props.rounded, margin = _props.margin, border = _props.border, padding = _props.padding, props = _objectWithoutProperties(_props, ["raw", "className", "sticky", "order", "text", "bg", "flex", "fontWeight", "shadow", "fixed", "position", "justifyContent", "visible", "invisible", "alignItems", "alignContent", "float", "align", "rounded", "margin", "border", "padding"]); // Display var _props2 = props, d = _props2.d, display = _props2.display, props = _objectWithoutProperties(_props2, ["d", "display"]); // Margins var _props3 = props, m = _props3.m, ml = _props3.ml, mr = _props3.mr, mt = _props3.mt, mb = _props3.mb, mx = _props3.mx, my = _props3.my, props = _objectWithoutProperties(_props3, ["m", "ml", "mr", "mt", "mb", "mx", "my"]); // Padding var _props4 = props, p = _props4.p, pl = _props4.pl, pr = _props4.pr, pt = _props4.pt, pb = _props4.pb, px = _props4.px, py = _props4.py, props = _objectWithoutProperties(_props4, ["p", "pl", "pr", "pt", "pb", "px", "py"]); // Backward compatability var _props5 = props, textAlign = _props5.textAlign, textColor = _props5.textColor, props = _objectWithoutProperties(_props5, ["textAlign", "textColor"]); if (textAlign) { console.warn('Property textAlign property is invalid in <Tag/>. Use align instead.'); align = (0, _classnames["default"])(align, textAlign); } if (textColor) { console.warn('Property textColor is invalid in <Tag/>. Use text instead.'); text = (0, _classnames["default"])(text, textColor); } function addClass(name, condition) { if (condition) { className = (0, _classnames["default"])(className, name); } } function addClasses(prefix, prop) { if (isString(prop)) { prop = prop.split(' '); } if (isArray(prop)) { prop.forEach(function (item) { addClass("".concat(prefix, "-").concat(item), true); }); } else if (isObject(prop)) { for (var propName in prop) { addClasses("".concat(prefix, "-").concat(propName), prop[propName]); } } else if (isBoolean(prop)) { addClass("".concat(prefix), prop); } else if (prop != undefined) { addClass("".concat(prefix, "-").concat(prop), true); } } /////////////////////////////////////////////////////////////////////// if (padding != undefined) { if (isObject(padding)) { pb = padding.bottom; pl = padding.left; pr = padding.right; pt = padding.top; px = padding.x || padding.horizontal; py = padding.y || padding.vertical; if (padding.vertical) { console.warn('Padding property vertical is invalid in <Tag/>. Use y instead.'); } if (padding.horizontal) { console.warn('Padding property horizontal is invalid in <Tag/>. Use x instead.'); } } else { p = padding; } } /////////////////////////////////////////////////////////////////////// if (margin != undefined) { if (isObject(margin)) { mb = margin.bottom; ml = margin.left; mr = margin.right; mt = margin.top; mx = margin.x; my = margin.y; } else { m = margin; } } /////////////////////////////////////////////////////////////////////// if (display != undefined) { d = display; } /////////////////////////////////////////////////////////////////////// addClasses('m', m); addClasses('mb', mb); addClasses('ml', ml); addClasses('mr', mr); addClasses('mt', mt); addClasses('mx', mx); addClasses('my', my); addClasses('p', p); addClasses('pb', pb); addClasses('pl', pl); addClasses('pr', pr); addClasses('pt', pt); addClasses('px', px); addClasses('py', py); addClasses('d', d); addClass('border', border); /* ?! */ addClasses('border', border); addClasses('align-content', alignContent); addClasses('align-items', alignItems); addClasses('align', align); addClasses('bg', bg); addClasses('fixed', fixed); addClasses('flex', flex); addClasses('float', _float); addClasses('font-weight', fontWeight); addClasses('invisible', invisible); addClasses('justify-content', justifyContent); addClasses('position', position); addClasses('rounded', rounded); addClasses('shadow', shadow); addClasses('sticky', sticky); addClasses('text', text); addClasses('visible', visible); addClasses('order', order); return _objectSpread({ className: (0, _classnames["default"])(className, raw) }, props); } var keyCodes = { esc: 27, space: 32, enter: 13, tab: 9, up: 38, down: 40 }; exports.keyCodes = keyCodes;