UNPKG

baseframe-js

Version:

A suite of useful Javascript plugins and functions to help with Front-end Development on websites

58 lines (57 loc) 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.camelCase = void 0; exports["default"] = getType; exports.reflow = exports.noop = exports.lowercaseFirstLetter = exports.kebabCase = exports.isVisible = exports.isMobileOS = exports.isHidden = exports.getDataOptions = exports.docTop = void 0; var _cashDom = _interopRequireDefault(require("cash-dom")); var _parseObjectFromString = _interopRequireDefault(require("./parseObjectFromString")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } // // General purposed helpers // function getType(val) { if (typeof val === 'undefined') return 'undefined'; if (_typeof(val) === 'object' && !val) return 'null'; return {}.toString.call(val).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); } // visibilty var isVisible = exports.isVisible = function isVisible(el) { var visibility = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var vis = el.offsetParent !== null || !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length); if (visibility) { return (0, _cashDom["default"])(el).css('visibility') !== 'hidden' && vis; } else { return vis; } }; var reflow = exports.reflow = function reflow(elem) { return elem.offsetHeight; }; //triggers reflow with reading the height var getDataOptions = exports.getDataOptions = function getDataOptions(el, evtName) { return (0, _parseObjectFromString["default"])(el.dataset[evtName + 'Options']); }; var docTop = exports.docTop = function docTop() { return document.documentElement.scrollTop || document.body.scrollTop || 0; }; var noop = exports.noop = function noop() {}; var isHidden = exports.isHidden = function isHidden(el) { return !isVisible(el); }; // string manipulation var kebabCase = exports.kebabCase = function kebabCase(str) { return str.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\s+/g, '-').toLowerCase(); }; var camelCase = exports.camelCase = function camelCase(str) { return str.replace(/-./g, function (x) { return x.toUpperCase()[1]; }); }; var lowercaseFirstLetter = exports.lowercaseFirstLetter = function lowercaseFirstLetter(str) { return str.charAt(0).toLowerCase() + str.substring(1); }; // device var isMobileOS = exports.isMobileOS = function isMobileOS() { return /Android|webOS|iPhone|iPad|iPod|Opera Mini/i.test(navigator.userAgent); };