utils.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var defaults = require('./defaults.js');
  4. const getScrollDir = (prev, cur) => prev < cur ? defaults.FORWARD : defaults.BACKWARD;
  5. const isHorizontal = (dir) => dir === defaults.LTR || dir === defaults.RTL || dir === defaults.HORIZONTAL;
  6. const isRTL = (dir) => dir === defaults.RTL;
  7. let cachedRTLResult = null;
  8. function getRTLOffsetType(recalculate = false) {
  9. if (cachedRTLResult === null || recalculate) {
  10. const outerDiv = document.createElement("div");
  11. const outerStyle = outerDiv.style;
  12. outerStyle.width = "50px";
  13. outerStyle.height = "50px";
  14. outerStyle.overflow = "scroll";
  15. outerStyle.direction = "rtl";
  16. const innerDiv = document.createElement("div");
  17. const innerStyle = innerDiv.style;
  18. innerStyle.width = "100px";
  19. innerStyle.height = "100px";
  20. outerDiv.appendChild(innerDiv);
  21. document.body.appendChild(outerDiv);
  22. if (outerDiv.scrollLeft > 0) {
  23. cachedRTLResult = defaults.RTL_OFFSET_POS_DESC;
  24. } else {
  25. outerDiv.scrollLeft = 1;
  26. if (outerDiv.scrollLeft === 0) {
  27. cachedRTLResult = defaults.RTL_OFFSET_NAG;
  28. } else {
  29. cachedRTLResult = defaults.RTL_OFFSET_POS_ASC;
  30. }
  31. }
  32. document.body.removeChild(outerDiv);
  33. return cachedRTLResult;
  34. }
  35. return cachedRTLResult;
  36. }
  37. function renderThumbStyle({ move, size, bar }, layout) {
  38. const style = {};
  39. const translate = `translate${bar.axis}(${move}px)`;
  40. style[bar.size] = size;
  41. style.transform = translate;
  42. if (layout === "horizontal") {
  43. style.height = "100%";
  44. } else {
  45. style.width = "100%";
  46. }
  47. return style;
  48. }
  49. exports.getRTLOffsetType = getRTLOffsetType;
  50. exports.getScrollDir = getScrollDir;
  51. exports.isHorizontal = isHorizontal;
  52. exports.isRTL = isRTL;
  53. exports.renderThumbStyle = renderThumbStyle;
  54. //# sourceMappingURL=utils.js.map