1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.getElement = exports.getContainerElement = exports.getClassName = exports.delay = exports.styleElement = exports.flippyTailClass = exports.callAll = exports.onUserInputChange = exports.lightenDarken = exports.capitalizeEveryWord = exports.flippyMultiTail = exports.flatten = exports.advancedMulti = exports.getDynamicColors = exports.compose = undefined;
|
7 |
|
8 | var _promise = require('babel-runtime/core-js/promise');
|
9 |
|
10 | var _promise2 = _interopRequireDefault(_promise);
|
11 |
|
12 | var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
|
13 |
|
14 | var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
15 |
|
16 | var _entries = require('babel-runtime/core-js/object/entries');
|
17 |
|
18 | var _entries2 = _interopRequireDefault(_entries);
|
19 |
|
20 | var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
21 |
|
22 | var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
23 |
|
24 | exports.flippyClass = flippyClass;
|
25 |
|
26 | var _tinycolor = require('tinycolor2');
|
27 |
|
28 | var _tinycolor2 = _interopRequireDefault(_tinycolor);
|
29 |
|
30 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
31 |
|
32 | var compose = exports.compose = function compose() {
|
33 | for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {
|
34 | fns[_key] = arguments[_key];
|
35 | }
|
36 |
|
37 | return function (x) {
|
38 | return fns.reduceRight(function (v, f) {
|
39 | return f(v);
|
40 | }, x);
|
41 | };
|
42 | };
|
43 |
|
44 | function flippyClass(bool, base, truthy, falsy) {
|
45 | return base + ' ' + (bool ? base + '--' + truthy : base + '--' + falsy);
|
46 | }
|
47 |
|
48 | var getDynamicColors = exports.getDynamicColors = function getDynamicColors(inputColors) {
|
49 | return {
|
50 | on: {
|
51 | backgroundColorA: (0, _tinycolor2.default)(inputColors.on.backgroundColor).toString(),
|
52 | backgroundColorB: (0, _tinycolor2.default)(inputColors.on.backgroundColor).darken(inputColors.intensityB).toString(),
|
53 | backgroundColorC: (0, _tinycolor2.default)(inputColors.on.backgroundColor).darken(inputColors.intensityC).toString()
|
54 | },
|
55 | off: {
|
56 | backgroundColorA: (0, _tinycolor2.default)(inputColors.off.backgroundColor).toString(),
|
57 | backgroundColorB: (0, _tinycolor2.default)(inputColors.off.backgroundColor).darken(inputColors.intensityB).toString(),
|
58 | backgroundColorC: (0, _tinycolor2.default)(inputColors.off.backgroundColor).darken(inputColors.intensityC).toString()
|
59 | },
|
60 | disabled: { backgroundColor: inputColors.disabled.backgroundColor }
|
61 | };
|
62 | };
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 |
|
92 |
|
93 |
|
94 |
|
95 |
|
96 |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|
121 |
|
122 |
|
123 | var advancedMulti = exports.advancedMulti = function advancedMulti(_ref) {
|
124 | var _ref$hideBase = _ref.hideBase,
|
125 | hideBase = _ref$hideBase === undefined ? false : _ref$hideBase,
|
126 | _ref$soloBase = _ref.soloBase,
|
127 | soloBase = _ref$soloBase === undefined ? '' : _ref$soloBase,
|
128 | _ref$unflattenedBases = _ref.unflattenedBases,
|
129 | unflattenedBases = _ref$unflattenedBases === undefined ? [] : _ref$unflattenedBases,
|
130 | _ref$suffixes = _ref.suffixes,
|
131 | suffixes = _ref$suffixes === undefined ? [] : _ref$suffixes,
|
132 | _ref$flipVars = _ref.flipVars,
|
133 | flipVars = _ref$flipVars === undefined ? [] : _ref$flipVars;
|
134 |
|
135 | var output = [];
|
136 | var run = function run(bases) {
|
137 |
|
138 | bases.forEach(function (base) {
|
139 | if (base) {
|
140 | if (Array.isArray(base)) {
|
141 | run(base);
|
142 | } else {
|
143 | output.push(convertBase({ base: base, suffixes: suffixes, flipVars: flipVars }));
|
144 | }
|
145 | }
|
146 | });
|
147 | };
|
148 | var convertBase = function convertBase(_ref2) {
|
149 | var base = _ref2.base,
|
150 | suffixes = _ref2.suffixes,
|
151 | flipVars = _ref2.flipVars;
|
152 |
|
153 | if (suffixes) {
|
154 | var suffixedBaseArray = hideBase ? [] : [base];
|
155 | suffixes.forEach(function (suffix) {
|
156 | return suffixedBaseArray.push('' + base + suffix);
|
157 | });
|
158 | var flippyBaseArray = [];
|
159 | suffixedBaseArray.forEach(function (suffixedBase) {
|
160 | return flippyBaseArray.push(flippyMultiTail.apply(undefined, [suffixedBase].concat((0, _toConsumableArray3.default)(flipVars))));
|
161 | });
|
162 | return flippyBaseArray;
|
163 | } else {
|
164 | return flippyMultiTail.apply(undefined, [base].concat((0, _toConsumableArray3.default)(flipVars)));
|
165 | }
|
166 | };
|
167 | run(unflattenedBases);
|
168 |
|
169 | var outputJoined = flatten(output).join(' ');
|
170 | return outputJoined;
|
171 | };
|
172 |
|
173 | var flatten = exports.flatten = function flatten(arr) {
|
174 | var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
175 | return arr.reduce(function (a, v) {
|
176 | return a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v);
|
177 | }, []);
|
178 | };
|
179 |
|
180 | var flippyMultiTail = exports.flippyMultiTail = function flippyMultiTail(base) {
|
181 | for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
182 | args[_key2 - 1] = arguments[_key2];
|
183 | }
|
184 |
|
185 | if (args) {
|
186 | var modified = [base];
|
187 | args.forEach(function (arr) {
|
188 | var mod = void 0;
|
189 | if (arr[2]) {
|
190 | mod = '' + (arr[0] ? base + '--' + arr[1] : base + '--' + arr[2]);
|
191 | modified.push(mod);
|
192 | } else if (!arr[2] && arr[0]) {
|
193 | mod = base + '--' + arr[1];
|
194 | modified.push(mod);
|
195 | }
|
196 | });
|
197 | return modified.join(' ');
|
198 | } else {
|
199 | return base;
|
200 | }
|
201 | };
|
202 |
|
203 | var capitalizeEveryWord = exports.capitalizeEveryWord = function capitalizeEveryWord(str) {
|
204 | return str ? str.replace(/\b[a-z]/g, function (char) {
|
205 | return char.toUpperCase();
|
206 | }) : 'error: string undefined';
|
207 | };
|
208 |
|
209 | var lightenDarken = exports.lightenDarken = function lightenDarken(color, amount) {
|
210 | var usePound = false;
|
211 |
|
212 | if (color[0] == '#') {
|
213 | color = color.slice(1);
|
214 | usePound = true;
|
215 | }
|
216 |
|
217 | var num = parseInt(color, 16);
|
218 |
|
219 | var r = (num >> 16) + amount;
|
220 |
|
221 | if (r > 255) r = 255;else if (r < 0) r = 0;
|
222 |
|
223 | var b = (num >> 8 & 0x00ff) + amount;
|
224 |
|
225 | if (b > 255) b = 255;else if (b < 0) b = 0;
|
226 |
|
227 | var g = (num & 0x0000ff) + amount;
|
228 |
|
229 | if (g > 255) g = 255;else if (g < 0) g = 0;
|
230 |
|
231 | return (usePound ? '#' : '') + (g | b << 8 | r << 16).toString(16);
|
232 | };
|
233 | var onUserInputChange = exports.onUserInputChange = function onUserInputChange(callback) {
|
234 |
|
235 | var type = 'mouse',
|
236 | lastTime = 0;
|
237 | var mousemoveHandler = function mousemoveHandler() {
|
238 | var now = performance.now();
|
239 | if (now - lastTime < 20) type = 'mouse', callback(type), document.removeEventListener('mousemove', mousemoveHandler);
|
240 | lastTime = now;
|
241 | };
|
242 | document.addEventListener('touchstart', function () {
|
243 | if (type === 'touch') return;type = 'touch', callback(type), document.addEventListener('mousemove', mousemoveHandler);
|
244 | });
|
245 | };
|
246 |
|
247 | var callAll = exports.callAll = function callAll() {
|
248 | for (var _len3 = arguments.length, fns = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
249 | fns[_key3] = arguments[_key3];
|
250 | }
|
251 |
|
252 | return function () {
|
253 | for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
254 | args[_key4] = arguments[_key4];
|
255 | }
|
256 |
|
257 | return fns.forEach(function (fn) {
|
258 | return fn && fn.apply(undefined, args);
|
259 | });
|
260 | };
|
261 | };
|
262 |
|
263 | var flippyTailClass = exports.flippyTailClass = function flippyTailClass(base) {
|
264 | for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
|
265 | args[_key5 - 1] = arguments[_key5];
|
266 | }
|
267 |
|
268 | var tail = [];
|
269 | args.forEach(function (arr) {
|
270 | var mod = '' + (arr[0] ? '--' + arr[1] : '--' + arr[2]);
|
271 | tail.push(mod);
|
272 | });
|
273 | return base + ' ' + base + tail.join('');
|
274 | };
|
275 |
|
276 | var styleElement = exports.styleElement = function styleElement(element, style) {
|
277 | if (document.querySelector(element)) {
|
278 | (0, _entries2.default)(style).map(function (valuePair) {
|
279 | var _valuePair = (0, _slicedToArray3.default)(valuePair, 2),
|
280 | key = _valuePair[0],
|
281 | value = _valuePair[1];
|
282 |
|
283 | document.querySelector(element).style[key] = value;
|
284 | });
|
285 | }
|
286 | };
|
287 |
|
288 | var delay = exports.delay = function delay(timeout) {
|
289 | return new _promise2.default(function (resolve) {
|
290 | setTimeout(resolve, timeout);
|
291 | });
|
292 | };
|
293 |
|
294 | var getClassName = exports.getClassName = function getClassName(base, extra, override) {
|
295 | return extra ? base + ' ' + extra : override ? override : base;
|
296 | };
|
297 |
|
298 | var getContainerElement = exports.getContainerElement = function getContainerElement(_ref3) {
|
299 | var props = _ref3.props;
|
300 | var containerClass = props.containerClass,
|
301 | containerRef = props.containerRef;
|
302 |
|
303 | return getElement({ ref: containerRef, className: containerClass });
|
304 | };
|
305 | var getElement = exports.getElement = function getElement(_ref4) {
|
306 | var ref = _ref4.ref,
|
307 | className = _ref4.className,
|
308 | id = _ref4.id,
|
309 | debug = _ref4.debug;
|
310 |
|
311 | var element = void 0;
|
312 | if (id) {
|
313 | element = document.getElementById(id);
|
314 | debug && console.log('element via id: ', element);
|
315 | } else if (className) {
|
316 | element = document.querySelector(className);
|
317 | debug && console.log('element via class: ', element);
|
318 | } else if (ref.current) {
|
319 | element = ref.current;
|
320 | debug && console.log('element via ref: ', element);
|
321 | } else {
|
322 | debug && console.error('must specify either className or ref');
|
323 | }
|
324 | return element;
|
325 | }; |
\ | No newline at end of file |