Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
/**
 * @todo isArray needs to be used here to make sure the list is array type
 */

const isNonEmptyArray = list => list && list.length > 0;

exports.isNonEmptyArray = isNonEmptyArray;
/**
 * get device type based on the window width
 */

function getDeviceType() {
  const screenWidth = window.outerWidth;
  const isMobileDevice = screenWidth <= 767;
  const isTabletDevice = screenWidth >= 768 && screenWidth <= 1024;
  const isDesktopDevice = screenWidth > 1024;

  if (isMobileDevice) {
    return 'mobile';
  } else if (isTabletDevice) {
    return 'tablet';
  } else {
    return 'desktop';
  }
}

exports.getDeviceType = getDeviceType;
/**
 * get item display count based on the device type
 */

function getItemDisplayCount(props) {
  const {
    displayCountOnMobile,
    displayCountOnTablet,
    displayCountOnDesktop,
    list
  } = props;
  const deviceType = getDeviceType();
  const count = deviceType === 'mobile' ? displayCountOnMobile : deviceType === 'tablet' ? displayCountOnTablet : displayCountOnDesktop; // making sure that the display count should not be greater than list length

  if (isNonEmptyArray(list)) {
    if (list.length >= count) {
      return count;
    } else {
      return list.length;
    }
  } else {
    return 0;
  }
}

exports.getItemDisplayCount = getItemDisplayCount;
/**
 * @description used to get item width based displayCount on the device width
 */

function getItemWidth(displayCount) {
  /**
   * @todo dynamic width needs to be added here
   */
  const screenWidth = window.outerWidth;
  return Math.round(screenWidth / displayCount);
}

exports.getItemWidth = getItemWidth; //# sourceMappingURL=deps.js.map