UNPKG

suomifi-ui-components

Version:
91 lines (85 loc) 3.29 kB
'use strict'; var React = require('react'); var logger = require('../log/logger.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); function windowAvailable() { return !!(typeof window !== 'undefined' && window.document && window.document.createElement); } var useEnhancedEffect = windowAvailable() ? React__default.default.useLayoutEffect : React__default.default.useEffect; var getOwnerDocument = function getOwnerDocument(elementRef) { if (elementRef !== null && elementRef.current !== null) { var elem = elementRef.current; var ownerDocument = windowAvailable() ? elem ? elem.ownerDocument : document : null; return ownerDocument; } return null; }; function filterDuplicateKeys(mainObject, filterObject) { if (!mainObject) { return {}; } return mainObject && filterObject ? Object.fromEntries(Object.entries(mainObject).filter(function (_a) { var key = _a[0]; return !Object.prototype.hasOwnProperty.call(filterObject, key); })) : {}; } var escapeStringRegexp = function escapeStringRegexp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(/-/g, '\\x2d'); }; var forkRefs = function forkRefs() { var refs = []; for (var _i = 0; _i < arguments.length; _i++) { refs[_i] = arguments[_i]; } return function (element) { refs.forEach(function (ref) { if (typeof ref === 'function') { ref(element); } else if (!!ref) { try { ref.current = element; } catch (_a) { logger.getLogger().error("Cannot assign element ".concat(element, " to ref ").concat(ref)); } } }); }; }; var isValidTimeString = function isValidTimeString(timeStr) { if (timeStr.match(/^\d{1,2}\.\d{2}$/) || timeStr.match(/^\d{1,2}\:\d{2}$/)) { var parts = timeStr.split(timeStr.includes('.') ? '.' : ':'); var hours = parseInt(parts[0], 10); var minutes = parseInt(parts[1], 10); if (hours >= 0 && hours < 25 && minutes >= 0 && minutes < 60) { return true; } } return false; }; var autocompleteTimeString = function autocompleteTimeString(timeStr) { if (!timeStr.match(/^[0-9:.]+$/)) return null; var inputValInt = parseInt(timeStr, 10); if (timeStr.match(/^\d{1,2}$/) && inputValInt >= 0 && inputValInt < 25) { return "".concat(inputValInt, ".00"); } if (timeStr.match(/^\d{4}$/) && isValidTimeString("".concat(timeStr[0]).concat(timeStr[1], ".").concat(timeStr[2]).concat(timeStr[3]))) { var hoursInt = parseInt("".concat(timeStr[0]).concat(timeStr[1]), 10); return "".concat(hoursInt, ".").concat(timeStr[2]).concat(timeStr[3]); } if (isValidTimeString(timeStr) && timeStr[0] === '0') { return "".concat(timeStr[1], ".").concat(timeStr[3]).concat(timeStr[4]); } if (isValidTimeString(timeStr)) { return timeStr.replace(':', '.'); } return null; }; exports.autocompleteTimeString = autocompleteTimeString; exports.escapeStringRegexp = escapeStringRegexp; exports.filterDuplicateKeys = filterDuplicateKeys; exports.forkRefs = forkRefs; exports.getOwnerDocument = getOwnerDocument; exports.useEnhancedEffect = useEnhancedEffect; exports.windowAvailable = windowAvailable; //# sourceMappingURL=common.js.map