UNPKG

5.67 kBJavaScriptView Raw
1"use strict";
2var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4 return cooked;
5};
6var __assign = (this && this.__assign) || function () {
7 __assign = Object.assign || function(t) {
8 for (var s, i = 1, n = arguments.length; i < n; i++) {
9 s = arguments[i];
10 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11 t[p] = s[p];
12 }
13 return t;
14 };
15 return __assign.apply(this, arguments);
16};
17var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18 if (k2 === undefined) k2 = k;
19 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20}) : (function(o, m, k, k2) {
21 if (k2 === undefined) k2 = k;
22 o[k2] = m[k];
23}));
24var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25 Object.defineProperty(o, "default", { enumerable: true, value: v });
26}) : function(o, v) {
27 o["default"] = v;
28});
29var __importStar = (this && this.__importStar) || function (mod) {
30 if (mod && mod.__esModule) return mod;
31 var result = {};
32 if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33 __setModuleDefault(result, mod);
34 return result;
35};
36var __rest = (this && this.__rest) || function (s, e) {
37 var t = {};
38 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39 t[p] = s[p];
40 if (s != null && typeof Object.getOwnPropertySymbols === "function")
41 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43 t[p[i]] = s[p[i]];
44 }
45 return t;
46};
47var __spreadArrays = (this && this.__spreadArrays) || function () {
48 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
49 for (var r = Array(s), k = 0, i = 0; i < il; i++)
50 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
51 r[k] = a[j];
52 return r;
53};
54var __importDefault = (this && this.__importDefault) || function (mod) {
55 return (mod && mod.__esModule) ? mod : { "default": mod };
56};
57Object.defineProperty(exports, "__esModule", { value: true });
58exports.withTooltip = exports.withStyledSystem = void 0;
59var difference_1 = __importDefault(require("lodash/difference"));
60var omit_1 = __importDefault(require("lodash/omit"));
61var prop_types_1 = require("prop-types");
62var React = __importStar(require("react"));
63var recompose_1 = require("recompose");
64var styled_components_1 = __importStar(require("styled-components"));
65var styled_system_1 = require("styled-system");
66var tooltips_1 = require("./tooltips");
67var tooltip = new tooltips_1.Tooltips();
68var prop = prop_types_1.oneOfType([prop_types_1.number, prop_types_1.string, prop_types_1.arrayOf(prop_types_1.oneOfType([prop_types_1.number, prop_types_1.string]))]);
69var propTypes = {
70 width: prop,
71 minWidth: prop,
72 maxWidth: prop,
73 height: prop,
74 minHeight: prop,
75 maxHeight: prop,
76 display: prop,
77 fontSize: prop,
78 color: prop,
79 bg: prop,
80 backgroundColor: prop,
81 m: prop,
82 mt: prop,
83 mr: prop,
84 mb: prop,
85 ml: prop,
86 mx: prop,
87 my: prop,
88 p: prop,
89 pt: prop,
90 pr: prop,
91 pb: prop,
92 pl: prop,
93 px: prop,
94 py: prop,
95};
96var styledSystemProps = Object.keys(propTypes);
97var filterStyledSystemProps = function (passthroughProps) { return function (Base) {
98 return React.forwardRef(function (props, ref) {
99 var nextProps = omit_1.default(props, difference_1.default(styledSystemProps, passthroughProps));
100 return React.createElement(Base, __assign({}, nextProps, { ref: ref }));
101 });
102}; };
103exports.withStyledSystem = function (child) {
104 var Base = styled_components_1.default(child)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t\t", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\t\t", "\n\t\t", "\n\t"], ["\n\t\t", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\t\t", "\n\t\t", "\n\t"])), styled_system_1.space, styled_system_1.width, styled_system_1.minWidth, styled_system_1.maxWidth, styled_system_1.height, styled_system_1.minHeight, styled_system_1.maxHeight, styled_system_1.display, styled_system_1.fontSize, styled_system_1.color);
105 Base.displayName = recompose_1.getDisplayName(child);
106 Base.propTypes = propTypes;
107 return React.forwardRef(function (props, ref) {
108 return React.createElement(Base, __assign({}, props, { ref: ref }));
109 });
110};
111exports.withTooltip = function (Base) {
112 return React.forwardRef(function (_a, ref) {
113 var props = __rest(_a, []);
114 if (props.tooltip) {
115 props = tooltip.bindProps(props);
116 }
117 delete props.tooltip;
118 return React.createElement(Base, __assign({}, props, { ref: ref }));
119 });
120};
121function asRendition(component, additionalEnhancers, passthroughProps) {
122 if (additionalEnhancers === void 0) { additionalEnhancers = []; }
123 if (passthroughProps === void 0) { passthroughProps = []; }
124 return recompose_1.compose.apply(void 0, __spreadArrays([styled_components_1.withTheme], (additionalEnhancers || []), [exports.withTooltip,
125 exports.withStyledSystem,
126 filterStyledSystemProps(passthroughProps)]))(component);
127}
128exports.default = asRendition;
129var templateObject_1;