UNPKG

1.28 kBJavaScriptView Raw
1/**
2 * @module prama/theme/dat
3 *
4 * dat.gui reproduction
5 */
6'use strict';
7
8const px = require('add-px-to-style');
9const fonts = require('google-fonts');
10const color = require('tinycolor2');
11const scopeCss = require('scope-css');
12const lerp = require('interpolation-arrays');
13const none = require('./none');
14
15module.exports = dat;
16
17fonts.add({
18 'Roboto': 400
19});
20
21dat.palette = ['#1b1b1b', '#f7f7f7'];
22
23dat.fontSize = '12px';
24dat.fontFamily = '"Roboto", sans-serif';
25dat.labelWidth = '33.3%';
26dat.inputHeight = 2;
27
28function dat (opts) {
29 opts = opts || {};
30
31 let h = opts.inputHeight || dat.inputHeight;
32 let labelWidth = opts.labelWidth || dat.labelWidth;
33 let fontSize = opts.fontSize || dat.fontSize;
34 let font = opts.fontFamily || dat.fontFamily;
35
36 let palette = (opts.palette || dat.palette).map(v => color(v).toRgb());
37 let pick = lerp(palette);
38
39 let white = color(pick(1)).toString();
40 let light = color(pick(.6)).toString();
41 let notSoLight = color(pick(.5)).toString();
42 let gray = color(pick(.13)).toString();
43 let dark = color(pick(.07)).toString();
44 let black = color(pick(0)).toString();
45
46 return none({
47 fontSize: fontSize,
48 fontFamily: font,
49 inputHeight: h,
50 labelWidth: labelWidth,
51 palette: palette
52 }) +
\No newline at end of file