1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.alignProperty = alignProperty;
|
9 | exports.fontGrid = fontGrid;
|
10 | exports.responsiveProperty = responsiveProperty;
|
11 |
|
12 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
13 |
|
14 | function alignProperty(_ref) {
|
15 | var size = _ref.size,
|
16 | grid = _ref.grid;
|
17 | var sizeBelow = size - size % grid;
|
18 | var sizeAbove = sizeBelow + grid;
|
19 | return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;
|
20 | }
|
21 |
|
22 |
|
23 |
|
24 |
|
25 | function fontGrid(_ref2) {
|
26 | var lineHeight = _ref2.lineHeight,
|
27 | pixels = _ref2.pixels,
|
28 | htmlFontSize = _ref2.htmlFontSize;
|
29 | return pixels / (lineHeight * htmlFontSize);
|
30 | }
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 | function responsiveProperty(_ref3) {
|
66 | var cssProperty = _ref3.cssProperty,
|
67 | min = _ref3.min,
|
68 | max = _ref3.max,
|
69 | _ref3$unit = _ref3.unit,
|
70 | unit = _ref3$unit === void 0 ? 'rem' : _ref3$unit,
|
71 | _ref3$breakpoints = _ref3.breakpoints,
|
72 | breakpoints = _ref3$breakpoints === void 0 ? [600, 960, 1280] : _ref3$breakpoints,
|
73 | _ref3$transform = _ref3.transform,
|
74 | transform = _ref3$transform === void 0 ? null : _ref3$transform;
|
75 | var output = (0, _defineProperty2.default)({}, cssProperty, "".concat(min).concat(unit));
|
76 | var factor = (max - min) / breakpoints[breakpoints.length - 1];
|
77 | breakpoints.forEach(function (breakpoint) {
|
78 | var value = min + factor * breakpoint;
|
79 |
|
80 | if (transform !== null) {
|
81 | value = transform(value);
|
82 | }
|
83 |
|
84 | output["@media (min-width:".concat(breakpoint, "px)")] = (0, _defineProperty2.default)({}, cssProperty, "".concat(Math.round(value * 10000) / 10000).concat(unit));
|
85 | });
|
86 | return output;
|
87 | } |
\ | No newline at end of file |