useGutter.js 946 B

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = useGutter;
  6. var _responsiveObserver = require("../../_util/responsiveObserver");
  7. function useGutter(gutter, screens) {
  8. const results = [undefined, undefined];
  9. const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];
  10. // By default use as `xs`
  11. const mergedScreens = screens || {
  12. xs: true,
  13. sm: true,
  14. md: true,
  15. lg: true,
  16. xl: true,
  17. xxl: true
  18. };
  19. normalizedGutter.forEach((g, index) => {
  20. if (typeof g === 'object' && g !== null) {
  21. for (let i = 0; i < _responsiveObserver.responsiveArray.length; i++) {
  22. const breakpoint = _responsiveObserver.responsiveArray[i];
  23. if (mergedScreens[breakpoint] && g[breakpoint] !== undefined) {
  24. results[index] = g[breakpoint];
  25. break;
  26. }
  27. }
  28. } else {
  29. results[index] = g;
  30. }
  31. });
  32. return results;
  33. }