@flodesk/grain 2.19.9 → 2.19.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -206,8 +206,6 @@ Box.__docgenInfo = {
206
206
  "name": "number"
207
207
  }, {
208
208
  "name": "string"
209
- }, {
210
- "name": "object"
211
209
  }]
212
210
  },
213
211
  "required": false,
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "useMedia", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _useMedia.useMedia;
12
+ }
13
+ });
14
+
15
+ var _useMedia = require("./useMedia");
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.useMedia = useMedia;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ require("core-js/modules/es.array.map.js");
15
+
16
+ require("core-js/modules/es.array.find-index.js");
17
+
18
+ require("core-js/modules/es.object.to-string.js");
19
+
20
+ require("core-js/modules/web.dom-collections.for-each.js");
21
+
22
+ function useMedia(queries, values, defaultValue) {
23
+ var mediaQueryLists = queries.map(function (q) {
24
+ return window.matchMedia(q);
25
+ });
26
+
27
+ var getValue = function getValue() {
28
+ var index = mediaQueryLists.findIndex(function (mql) {
29
+ return mql.matches;
30
+ });
31
+ return typeof values[index] !== "undefined" ? values[index] : defaultValue;
32
+ };
33
+
34
+ var _useState = useState(getValue),
35
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
+ value = _useState2[0],
37
+ setValue = _useState2[1];
38
+
39
+ useEffect(function () {
40
+ var handler = function handler() {
41
+ return setValue(getValue);
42
+ };
43
+
44
+ mediaQueryLists.forEach(function (mql) {
45
+ return mql.addListener(handler);
46
+ });
47
+ return function () {
48
+ return mediaQueryLists.forEach(function (mql) {
49
+ return mql.removeListener(handler);
50
+ });
51
+ };
52
+ }, []);
53
+ return value;
54
+ }
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "getResponsiveDimension", {
17
17
  return _responsive.getResponsiveDimension;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "breakpoints", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _responsive.breakpoints;
24
+ }
25
+ });
20
26
  Object.defineProperty(exports, "getTextSize", {
21
27
  enumerable: true,
22
28
  get: function get() {
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.getResponsiveTextSize = exports.getTextSize = exports.getResponsiveSpace = exports.getResponsiveDimension = exports.getDimension = exports.mapObjToMedia = exports.getMediaCss = void 0;
10
+ exports.getResponsiveTextSize = exports.getTextSize = exports.getResponsiveSpace = exports.getResponsiveDimension = exports.getSpace = exports.getDimension = exports.mapObjToMedia = exports.getMediaCss = exports.breakpoints = void 0;
11
11
 
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
@@ -21,6 +21,21 @@ var _ = require(".");
21
21
 
22
22
  var _variables = require("../variables");
23
23
 
24
+ var breakpoints = {
25
+ breakpointS: "320px",
26
+ breakpointM: "768px",
27
+ breakpointL: "1170px"
28
+ };
29
+ exports.breakpoints = breakpoints;
30
+
31
+ var getBrakpoint = function getBrakpoint(breakpoint) {
32
+ if (breakpoint in breakpoints) {
33
+ return "(min-width: ".concat(breakpoints[breakpoint], ")");
34
+ }
35
+
36
+ return breakpoint;
37
+ };
38
+
24
39
  var getMediaCss = function getMediaCss(breakpoint, property, value) {
25
40
  var getValue = function getValue(val) {
26
41
  if (val === 0) return val;
@@ -28,7 +43,11 @@ var getMediaCss = function getMediaCss(breakpoint, property, value) {
28
43
  if ((0, _.isString)(val)) return val;
29
44
  };
30
45
 
31
- return "\n @media (min-width: ".concat(breakpoint, ") {\n ").concat(property, ": ").concat(getValue(value), ";\n }\n ");
46
+ if (breakpoint === "default") {
47
+ return "".concat(property, ": ").concat(getValue(value), ";");
48
+ }
49
+
50
+ return "\n @media ".concat(getBrakpoint(breakpoint), " {\n ").concat(property, ": ").concat(getValue(value), ";\n }\n ");
32
51
  };
33
52
 
34
53
  exports.getMediaCss = getMediaCss;
@@ -36,7 +55,7 @@ exports.getMediaCss = getMediaCss;
36
55
  var mapObjToMedia = function mapObjToMedia(property, obj, varName) {
37
56
  var varGroupName = _variables.varNames[varName].group;
38
57
  var varPrefix = _variables.varNames[varName].prefix;
39
- return Object.entries(obj).map(function (_ref) {
58
+ var declarations = Object.entries(obj).map(function (_ref) {
40
59
  var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
41
60
  breakpoint = _ref2[0],
42
61
  value = _ref2[1];
@@ -46,7 +65,8 @@ var mapObjToMedia = function mapObjToMedia(property, obj, varName) {
46
65
  }
47
66
 
48
67
  return getMediaCss(breakpoint, property, value);
49
- }).join("");
68
+ });
69
+ return declarations.join("");
50
70
  };
51
71
 
52
72
  exports.mapObjToMedia = mapObjToMedia;
@@ -59,24 +79,38 @@ var getDimension = function getDimension(dimension) {
59
79
 
60
80
  exports.getDimension = getDimension;
61
81
 
82
+ var getSpace = function getSpace(value) {
83
+ if (value in _variables.vars.spaces) {
84
+ return (0, _.getCssVar)(_variables.varNames.space.prefix, value);
85
+ }
86
+
87
+ if (value === 0) return value;
88
+ if ((0, _.isString)(value)) return value;
89
+ if ((0, _.isNumber)(value)) return (0, _.u)(value);
90
+ };
91
+
92
+ exports.getSpace = getSpace;
93
+
62
94
  var getResponsiveDimension = function getResponsiveDimension(property, dimension) {
95
+ if (!dimension) return;
96
+
63
97
  if ((0, _.isObject)(dimension)) {
64
98
  return mapObjToMedia(property, dimension, _variables.varNames.space.prefix);
65
99
  }
66
100
 
67
- if (dimension === 0) return "".concat(property, ": ").concat(dimension);
68
- if ((0, _.isString)(dimension)) return "".concat(property, ": ").concat(dimension);
69
- if ((0, _.isNumber)(dimension)) return "".concat(property, ": ").concat((0, _.u)(dimension));
101
+ return "".concat(property, ": ").concat(getDimension(dimension));
70
102
  };
71
103
 
72
104
  exports.getResponsiveDimension = getResponsiveDimension;
73
105
 
74
106
  var getResponsiveSpace = function getResponsiveSpace(property, space) {
75
- if (space in _variables.vars.spaces) {
76
- return "".concat(property, ": ").concat((0, _.getCssVar)(_variables.varNames.space.prefix, space));
107
+ if (!space) return;
108
+
109
+ if ((0, _.isObject)(space)) {
110
+ return mapObjToMedia(property, space, _variables.varNames.space.prefix);
77
111
  }
78
112
 
79
- return getResponsiveDimension(property, space);
113
+ return "".concat(property, ": ").concat(getSpace(space));
80
114
  };
81
115
 
82
116
  exports.getResponsiveSpace = getResponsiveSpace;
@@ -92,17 +126,14 @@ var getTextSize = function getTextSize(size) {
92
126
  exports.getTextSize = getTextSize;
93
127
 
94
128
  var getResponsiveTextSize = function getResponsiveTextSize(size) {
129
+ if (!size) return;
95
130
  var property = "font-size";
96
131
 
97
- if (size in _variables.vars.texts) {
98
- return "".concat(property, ": ").concat((0, _.getCssVar)(_variables.varNames.text.prefix, size));
99
- }
100
-
101
132
  if ((0, _.isObject)(size)) {
102
133
  return mapObjToMedia(property, size, _variables.varNames.text.prefix);
103
134
  }
104
135
 
105
- if ((0, _.isString)(size)) return "".concat(property, ": ").concat(size);
136
+ return "".concat(property, ": ").concat(getTextSize(size));
106
137
  };
107
138
 
108
139
  exports.getResponsiveTextSize = getResponsiveTextSize;
@@ -129,7 +129,7 @@ var getBorder = function getBorder(borderSide, borderWidth, borderColor) {
129
129
  if (borderSide in borderSides) {
130
130
  return "\n ".concat(borderSides[borderSide].map(function (side) {
131
131
  return "border-".concat(side, "-style: solid");
132
- }).join(";"), ";\n\n border-color: ").concat(getColor(borderColor), ";\n ").concat((0, _responsive.getDimension)("border-width", borderWidth), ";\n ");
132
+ }).join(";"), ";\n\n border-color: ").concat(getColor(borderColor), ";\n border-width: ").concat((0, _responsive.getDimension)(borderWidth), ";\n ");
133
133
  }
134
134
  };
135
135
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flodesk/grain",
3
- "version": "2.19.9",
3
+ "version": "2.19.12",
4
4
  "description": "Flodesk design system",
5
5
  "module": "es/index.js",
6
6
  "author": "Flodesk",