Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80537 views
1
export const colors = {
2
purple: '#724685',
3
darkPurple: '#413247',
4
pink: '#ED4F81',
5
blue: '#2083E0',
6
darkBlue: '#1C4467',
7
};
8
9
export const zIndices = {
10
AppNav: 9999,
11
RouteTransition: 999,
12
};
13
14
export function zIndex(name, offset = 0) {
15
return zIndices[name] + offset;
16
}
17
18
colors.text = '#fff';
19
colors.background = colors.darkBlue;
20
21
export function color(name) {
22
return colors[name];
23
}
24
25
export const fontFamilies = {
26
sourceSans: 'Source Sans Pro',
27
sourceCode: 'Source Code Pro',
28
};
29
30
fontFamilies.text = fontFamilies.sourceSans;
31
fontFamilies.display = fontFamilies.sourceSans;
32
fontFamilies.code = fontFamilies.sourceCode;
33
34
export const sassFontFamilies = mapObject(fontFamilies, wrapSassExpression);
35
36
export function rhythm(lines = 1) {
37
return `${lines * 1.5}rem`;
38
}
39
40
export const breakpoints = {
41
s: 500,
42
m: 768,
43
l: 950,
44
xl: 1100,
45
xxl: 1300,
46
};
47
48
export const mediaQueries = mapObject(breakpoints,
49
breakpoint => `screen and (min-width:${breakpoint}px)`
50
);
51
52
export const sassMediaQueries = mapObject(mediaQueries, mq => `'${mq}'`);
53
54
/**
55
* Wrap a Sass string in parentheses.
56
* @param {String} sassString
57
* @returns {String}
58
*/
59
function wrapSassExpression(sassString) {
60
return '(' + sassString + ')';
61
}
62
63
/**
64
* Takes an object and returns a new object by applying a transformation to
65
* each value.
66
* @param {object} object - Original object
67
* @param {function} transform - Transformation function
68
* @return {object} New object with transformed values
69
*/
70
function mapObject(object, transform) {
71
return Object.keys(object).reduce((result, key) => {
72
result[key] = transform(object[key]);
73
return result;
74
}, {});
75
}
76
77