UNPKG

3.49 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5var slicedToArray = require('./slicedToArray-0711941d.js');
6require('./unsupportedIterableToArray-68db1d3b.js');
7var defineProperty = require('./defineProperty-0921a47c.js');
8require('./miscellaneous.js');
9require('./environment.js');
10var font = require('./font.js');
11
12function 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; }
13
14function _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._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; }
15var TEXT_STYLES = {
16 title1: {
17 size: 32,
18 weight: 600,
19 lineHeight: 1.5
20 },
21 title2: {
22 size: 26,
23 weight: 400,
24 lineHeight: 1.5
25 },
26 title3: {
27 size: 24,
28 weight: 400,
29 lineHeight: 1.5
30 },
31 title4: {
32 size: 20,
33 weight: 400,
34 lineHeight: 1.5
35 },
36 body1: {
37 size: 18,
38 weight: 400,
39 lineHeight: 1.5
40 },
41 body2: {
42 size: 16,
43 weight: 400,
44 lineHeight: 1.5
45 },
46 body3: {
47 size: 14,
48 weight: 400,
49 lineHeight: 1.5
50 },
51 body4: {
52 size: 12,
53 weight: 400,
54 lineHeight: 1.5
55 },
56 label1: {
57 size: 14,
58 weight: 400,
59 lineHeight: 1.5,
60 transform: 'uppercase'
61 },
62 label2: {
63 size: 12,
64 weight: 600,
65 lineHeight: 1.5,
66 transform: 'uppercase'
67 },
68 label3: {
69 size: 10,
70 weight: 400,
71 lineHeight: 1.5,
72 transform: 'uppercase'
73 },
74 address1: {
75 size: 16,
76 weight: 400,
77 lineHeight: 1.5,
78 monospace: true
79 },
80 address2: {
81 size: 14,
82 weight: 400,
83 lineHeight: 1.5,
84 monospace: true
85 }
86};
87var STYLES_CSS = {
88 size: function size(value) {
89 return "font-size: ".concat(value, "px;");
90 },
91 weight: function weight(value) {
92 return "font-weight: ".concat(value, ";");
93 },
94 transform: function transform(value) {
95 return "text-transform: ".concat(value, ";");
96 },
97 lineHeight: function lineHeight(value) {
98 return "line-height: ".concat(value, ";");
99 },
100 monospace: function monospace(value) {
101 return value ? font.monospace() : '';
102 }
103};
104
105function textStyleToCss(textStyle) {
106 return Object.entries(textStyle).map(function (_ref) {
107 var _ref2 = slicedToArray._slicedToArray(_ref, 2),
108 name = _ref2[0],
109 value = _ref2[1];
110
111 return STYLES_CSS[name](value);
112 }).join('');
113}
114
115function textStyle(name) {
116 var includeLineHeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
117
118 if (!TEXT_STYLES[name]) {
119 throw new Error('textStyle(): the text style doesn’t exist: ' + name);
120 }
121
122 var style = _objectSpread({}, TEXT_STYLES[name]);
123
124 if (!includeLineHeight) {
125 delete style.lineHeight;
126 }
127
128 return textStyleToCss(style);
129}
130
131exports.TEXT_STYLES = TEXT_STYLES;
132exports.textStyle = textStyle;
133//# sourceMappingURL=text-styles.js.map