utils.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.getGapWidth = exports.zeroGap = void 0;
  4. exports.zeroGap = {
  5. left: 0,
  6. top: 0,
  7. right: 0,
  8. gap: 0,
  9. };
  10. var parse = function (x) { return parseInt(x || '', 10) || 0; };
  11. var getOffset = function (gapMode) {
  12. var cs = window.getComputedStyle(document.body);
  13. var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];
  14. var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];
  15. var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];
  16. return [parse(left), parse(top), parse(right)];
  17. };
  18. var getGapWidth = function (gapMode) {
  19. if (gapMode === void 0) { gapMode = 'margin'; }
  20. if (typeof window === 'undefined') {
  21. return exports.zeroGap;
  22. }
  23. var offsets = getOffset(gapMode);
  24. var documentWidth = document.documentElement.clientWidth;
  25. var windowWidth = window.innerWidth;
  26. return {
  27. left: offsets[0],
  28. top: offsets[1],
  29. right: offsets[2],
  30. gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),
  31. };
  32. };
  33. exports.getGapWidth = getGapWidth;