react-bootify
Version:
react-bootify
329 lines (269 loc) • 9.76 kB
JavaScript
"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;