@startlibs/utils 1.0.4 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ActionUtils.mjs +117 -0
- package/lib/ActionUtils.mjs.map +1 -0
- package/lib/FetchUtils.mjs +100 -0
- package/lib/FetchUtils.mjs.map +1 -0
- package/lib/createPressEvent.mjs +74 -0
- package/lib/createPressEvent.mjs.map +1 -0
- package/lib/fixMediaQuery.mjs +64 -0
- package/lib/fixMediaQuery.mjs.map +1 -0
- package/lib/formatDate.mjs +110 -0
- package/lib/formatDate.mjs.map +1 -0
- package/lib/formatUtils.mjs +64 -0
- package/lib/formatUtils.mjs.map +1 -0
- package/lib/getClosestOffsetScroll.mjs +15 -0
- package/lib/getClosestOffsetScroll.mjs.map +1 -0
- package/lib/hooks/useEventListener.mjs +27 -0
- package/lib/hooks/useEventListener.mjs.map +1 -0
- package/lib/index.cjs +1811 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.mjs +19 -0
- package/lib/index.mjs.map +1 -0
- package/lib/lodashUtils.mjs +131 -0
- package/lib/lodashUtils.mjs.map +1 -0
- package/lib/promiseUtils.mjs +92 -0
- package/lib/promiseUtils.mjs.map +1 -0
- package/lib/reactUtils.mjs +12 -0
- package/lib/reactUtils.mjs.map +1 -0
- package/lib/reduceUtils.mjs +14 -0
- package/lib/reduceUtils.mjs.map +1 -0
- package/lib/smoothScroll.mjs +59 -0
- package/lib/smoothScroll.mjs.map +1 -0
- package/lib/styled.mjs +234 -0
- package/lib/styled.mjs.map +1 -0
- package/lib/timeUtils.mjs +81 -0
- package/lib/timeUtils.mjs.map +1 -0
- package/lib/timerUtils.mjs +11 -0
- package/lib/timerUtils.mjs.map +1 -0
- package/lib/utils.mjs +386 -0
- package/lib/utils.mjs.map +1 -0
- package/lib/wrapLazy.mjs +132 -0
- package/lib/wrapLazy.mjs.map +1 -0
- package/package.json +44 -30
- package/src/ActionUtils.js +90 -0
- package/src/FetchUtils.js +87 -0
- package/src/createPressEvent.jsx +79 -0
- package/src/fixMediaQuery.js +71 -0
- package/src/formatDate.js +121 -0
- package/src/formatUtils.jsx +63 -0
- package/src/getClosestOffsetScroll.js +12 -0
- package/src/hooks/useEventListener.js +26 -0
- package/src/index.js +19 -0
- package/src/lodashUtils.jsx +110 -0
- package/src/promiseUtils.jsx +75 -0
- package/src/reactUtils.jsx +7 -0
- package/src/reduceUtils.jsx +6 -0
- package/src/smoothScroll.js +58 -0
- package/src/styled.js +177 -0
- package/src/timeUtils.jsx +57 -0
- package/src/timerUtils.jsx +10 -0
- package/src/utils.jsx +342 -0
- package/src/wrapLazy.jsx +122 -0
- package/.babelrc +0 -26
- package/lib/index.js +0 -2399
- package/rollup.config.js +0 -44
- package/yarn-error.log +0 -3643
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/promiseUtils.jsx","../src/getClosestOffsetScroll.js","../src/smoothScroll.js","../src/fixMediaQuery.js","../src/utils.jsx","../src/FetchUtils.js","../src/lodashUtils.jsx","../src/styled.js","../src/formatDate.js","../src/ActionUtils.js","../src/reduceUtils.jsx","../src/reactUtils.jsx","../src/hooks/useEventListener.js","../src/createPressEvent.jsx","../src/wrapLazy.jsx","../src/timeUtils.jsx","../src/timerUtils.jsx","../src/formatUtils.jsx"],"sourcesContent":["import React from 'react'\nimport _ from \"lodash/fp\";\n\nexport const createPromiseResolverPair = () => {\n let res, rej;\n const promise = new Promise((res2,rej2) => {\n res = res2;\n rej = rej2;\n })\n return [promise,[res,rej]]\n}\n\n\nexport const createSimplePromiseLock = () => {\n let promiseQueue = Promise.resolve()\n return () => {\n let resolve = _.identity\n const nextPromise = new Promise(res => {\n resolve = res\n })\n const prevPromise = promiseQueue\n promiseQueue = nextPromise\n return prevPromise.then(() => resolve)\n }\n}\nasync function* createSinglePromiseQueue() {\n let lastPromise = Promise.resolve()\n /* eslint-disable no-await-in-loop */\n while (true) {\n await lastPromise\n let resolve = _.identity\n lastPromise = new Promise(res => {\n resolve = res\n })\n yield resolve\n }\n}\n\n\nexport async function* createPromiseQueue(parallel = 1) {\n const queues = _.times(createSinglePromiseQueue, parallel)\n const promises = queues.map(q => q.next())\n const locks = await Promise.all(promises)\n\n const getNextAvailableLock = async () => {\n const index = locks.findIndex(Boolean)\n if (index >= 0) {\n const lock = locks[index]\n locks[index] = null\n promises[index] = queues[index].next().then(result => {\n locks[index] = result\n })\n return [lock.value, locks.filter(Boolean).length]\n }\n await Promise.race(promises)\n return getNextAvailableLock()\n }\n while (true) {\n const lock = await getNextAvailableLock()\n yield lock\n }\n}\n\nexport const promiseMapReduce = (arr, callback) =>\n arr.reduce((acc, item) => acc.then(seq => callback(item).then(res => [...seq, res])), Promise.resolve([]))\n\nexport const asyncDebounce = (fn, delay = 200) => {\n let timeout\n return (...args) => {\n clearTimeout(timeout)\n return new Promise(res => {\n timeout = setTimeout(() => res(fn(...args)), delay)\n })\n }\n}","export const getClosestOffsetScroll = (node) => {\n if (!node) {\n return ((document.body))\n }\n const overflowY = window.getComputedStyle(node).overflowY\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n if (isScrollable && node.scrollHeight > node.clientHeight) {\n return node;\n } else {\n return getClosestOffsetScroll((node.offsetParent));\n }\n}\n","// @flow\n// Get the top position of an element in the document\nconst getTop = function(element, start) {\n // return value of html.getBoundingClientRect().top ... IE : 0, other browsers : -pageYOffset\n if(!element || element.nodeName === 'HTML') return -start\n return element.getBoundingClientRect().top + start\n}\n// ease in out function thanks to:\n// http://blog.greweb.fr/2012/02/bezier-curve-based-easing-functions-from-concept-to-implementation/\nconst easeInOutCubic = function (t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1 }\n\n// calculate the scroll position we should be in\n// given the start and end point of the scroll\n// the time elapsed from the beginning of the scroll\n// and the total duration of the scroll (default 500ms)\nconst position = function(start, end, elapsed, duration) {\n if (elapsed > duration) return end;\n return start + (end - start) * easeInOutCubic(elapsed / duration); // <-- you can change the easing funtion there\n // return start + (end - start) * (elapsed / duration); // <-- this would give a linear scroll\n}\n\n// we use requestAnimationFrame to be called by the browser before every repaint\n// if the first argument is an element then scroll to the top of this element\n// if the first argument is numeric then scroll to this location\n// if the callback exist, it is called when the scrolling is finished\n// if context is set then scroll that element, else scroll window\nexport const smoothScroll = (el, duration = 500, callback, ctx) => {\n const context = ctx || window;\n const start = context.scrollTop || window.pageYOffset;\n const offset = el instanceof HTMLElement ? 0 : el.offset||0\n\n const end = offset + (typeof el === 'number' ? Math.round(el) :\n el instanceof HTMLElement ? getTop(el, start) : getTop(el.target,start))\n\n const clock = Date.now();\n const requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||\n function(fn){window.setTimeout(fn, 15);};\n\n const step = () => {\n const elapsed = Date.now() - clock;\n if (context !== window) {\n context.scrollTop = position(start, end, elapsed, duration);\n }\n else {\n window.scroll(window.pageXOffset, position(start, end, elapsed, duration));\n }\n\n if (elapsed > duration) {\n if (typeof callback === 'function') {\n callback(el);\n }\n } else {\n requestAnimationFrame(step);\n }\n }\n step();\n}","let fixed = false\nexport const scrollWidth = (function() {\n if (!window.document) return 0\n const html = document.documentElement\n const oldOverflow = html.style.overflowY\n html.style.overflowY = 'scroll'\n const width = window.innerWidth - html.clientWidth\n html.style.overflowY = oldOverflow\n return width\n})()\n\nconst fixMediaQueryFn = function() {\n\n const fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size'))\n\n if (scrollWidth > 0) {\n\n [].slice.call(document.styleSheets).filter(styleSheet => isValidExternal(styleSheet) || isInline(styleSheet)).forEach(stylesheet => {\n try {\n [].slice.call(stylesheet.cssRules || stylesheet.media).filter(rule => rule.constructor === window.CSSMediaRule).forEach(rule => {\n rule.media.mediaText = rule.media.mediaText.replace(/m(in|ax)-width:\\s*(\\d|\\.)+(px|em)/gi, function(strA) {\n if (strA.match('px')) {\n return strA.replace(/\\d+px/gi, function(strB) {\n return parseInt(strB, 10) + scrollWidth + 'px'\n })\n }\n else {\n return strA.replace(/\\d.+?em/gi, function(strB) {\n return ((parseFloat(strB) * fontSize) + scrollWidth) / fontSize + 'em'\n })\n }\n })\n })\n } catch (e) {}\n })\n }\n\n fixed = true\n\n function sameOrigin(url) {\n const loc = window.location,\n a = document.createElement('a')\n a.href = url\n return (a.hostname === loc.hostname && a.protocol === loc.protocol)\n }\n\n function isInline(stylesheet) {\n try {\n return stylesheet.ownerNode.constructor === HTMLStyleElement && stylesheet.ownerNode.getAttribute(\"data-styled\") === null\n } catch (e) {\n return stylesheet.ownerNode.constructor === HTMLStyleElement\n }\n }\n\n function isValidExternal(stylesheet) {\n return stylesheet.href && (sameOrigin(stylesheet.href) || stylesheet.ownerNode?.crossOrigin === \"anonymous\")\n }\n\n}\n\n\nexport function fixMediaQuery() {\n if (fixed || !document || !document.readyState)\n return\n if (process.env.NODE_ENV === 'test') { return }\n if (document.readyState !== 'loading') {\n fixMediaQueryFn()\n } else {\n document.addEventListener('DOMContentLoaded', fixMediaQueryFn)\n }\n}","import {scrollWidth} from './fixMediaQuery'\nimport _ from 'lodash/fp'\n\nexport const formatPath = (...paths) => paths.map(path=>Array.isArray(path) ? path.join('.') : ( path ? path.toString().replace(/\\[/g,'.').replace(/^\\./,'').replace(/]/g,'') : '')).filter(_=>_).join('.')\n\nexport const identityFn = (n=0) => (...e) => e[n]\n\nexport const will = (fn,...props) => (...more) => fn(...props,...more)\n\nexport const lazyValue = (v) => () => v\nexport const callIfFunction = (prop,...args) => typeof prop === \"function\" ? prop(...args) : prop\nexport const callIfFunctions = (prop,...args) => typeof prop === \"function\" ? prop(...args.map((e)=>callIfFunction(e))) : prop\nexport const callMany = (...many) => (...args) => many.map(_=> callIfFunction(_,...args))\nexport const ifUndefined = (v,...or) => v !== undefined ? v : (or.length === 1 ? or[0] : ifUndefined(or[0],...or.slice(1)))\nexport const using = (...v) => (fn) => fn(...v.map((v) => callIfFunction(v)))\n\nexport const stopPropagation = (cb) => (e) => { (e && e.stopPropagation && e.stopPropagation()); callIfFunction(cb,e) }\nexport const preventDefault = (cb) => (e) => { (e && e.preventDefault && e.preventDefault()); callIfFunction(cb,e) }\nexport const constrainEvent = (cb) => (e) => { e?.preventDefault(); e.stopPropagation(); callIfFunction(cb,e) }\n\nexport const mapGetOrSet = (map,key,value) => (map.has(key) ? map : map.set(key, value)).get(key);\n\nexport const intToHour = (hour, autoFill = true) => {\n if (hour === undefined || hour === null) return ''\n if (hour === 0) { return \"00:00\"}\n\n //const [h,m] = ('000' + hour.toString().replace(\":\",\"\")).slice(-4).replace(/(\\d\\d)(\\d\\d)/, '$1:$2').split(\":\")\n\n const h = hour.toString().replace(\":\",\"\").slice(-4, -2)\n const m = hour.toString().replace(\":\",\"\").slice(-2)\n if (callIfFunction(autoFill,hour)) {\n return ('000' + (h ? parseInt(h,10) % 24 : '') + m).slice(-4).replace(/(\\d\\d)(\\d\\d)/, '$1:$2')\n }\n if (h) return (parseInt(h, 10) > 23 ? h.slice(1) : h) + ':' + m\n return m\n}\nexport const formatHour = (hour = \"\") => {\n if (!hour) { return \"\"}\n const h = hour.toString().replace(\":\",\"\").slice(-4, -2)\n const m = hour.toString().replace(\":\",\"\").slice(-2)\n if (!h && parseInt(m) < 24 && !_.isFinite(hour)) {\n return m+\":00\"\n } else if (h) {\n return (parseInt(h, 10) > 23 ? h.slice(1) : h) + ':' + m\n }\n return ('000' + hour.toString().replace(\":\",\"\")).slice(-4).replace(/(\\d\\d)(\\d\\d)/, '$1:$2')\n}\n\n\nexport const willRafThrottle = () => {\n let ticking = false;\n return (fn) => {\n if (!ticking) {\n window.requestAnimationFrame(() => {\n fn()\n ticking = false;\n });\n ticking = true;\n }\n }\n}\n\nexport const rafThrottle = (fn) => {\n const throttle = willRafThrottle()\n return () => {\n throttle(fn)\n }\n}\n\nexport const intsToHour = ({open, close}) => intToHour(open) + ' - ' + intToHour(close)\n\nexport function isSmallDevice(width=600) {\n const smallDeviceQuery = window.matchMedia ? window.matchMedia( `(max-width: ${width+scrollWidth}px)` ) : {matches:false}\n return smallDeviceQuery.matches;\n}\n\nexport function isHighDensity() {\n return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 124dpi), only screen and (min-resolution: 1.3dppx), only screen and (min-resolution: 48.8dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3)').matches)) || (window.devicePixelRatio && window.devicePixelRatio > 1.3))\n}\n\nexport function isRetina() {\n return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx), only screen and (min-resolution: 75.6dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)').matches)) || (window.devicePixelRatio && window.devicePixelRatio >= 2)) && /(iPad|iPhone|iPod)/g.test(navigator.userAgent)\n}\n\nexport function isMobile() {\n if (typeof navigator === 'undefined') return false\n\n const ua = navigator.userAgent\n\n const isAndroid = /android/i.test(ua)\n const isiOS = /iphone|ipod|ipad/i.test(ua)\n\n // iPadOS 13+ reports \"Macintosh\" but has touch\n const isIPadOS =\n navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1\n\n return isAndroid || isiOS || isIPadOS\n}\nexport function isAndroid() {\n if (navigator.userAgentData) {\n return navigator.userAgentData.platform === \"Android\"\n }\n return /Android/i.test(navigator.userAgent)\n}\nexport const isPWA = () => {\n return (window.matchMedia && window.matchMedia(\"(display-mode: standalone)\").matches)\n || !!window.hasWebviewBridge\n}\n\nexport function isTouchDevice() {\n return window.document && 'ontouchstart' in window.document.documentElement;\n}\n\nexport const isIOS = () => {\n return /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\n}\nexport const isIPad = () => {\n return navigator.userAgent.match(/iPad/i) != null;\n}\n\nexport const getNumberInputType2 = () => {\n const isIOS = (/iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1))\n return isMobile() ? (isIOS ? \"tel\" : \"number\") : \"text\"\n}\nexport const getNumberInputType = () => {\n return \"tel\"\n}\n\nexport function addHttp(s,secure) {\n s = (s || '').trim()\n if (s.indexOf('http://') === 0 || s.indexOf('https://') === 0) {\n return s\n } else {\n return `http${secure ? 's': ''}://` + s\n }\n}\n\nconst protocols = '(^|\\\\s|\\u00a0)(https?://)?(www\\\\.)?'\nconst subdomains = '([a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]?\\\\.)*'\nconst domain = '(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\\\\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\\\\.[a-zA-Z]{2,3})'\nconst resource = '[\\u00A1-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEFa-zA-Z0-9-._~:/?#%[\\\\]@!$&\\'()*+,;=]*'\nexport const linkRegex = new RegExp(protocols + subdomains + domain + resource)\n\nexport function isUrl(url) {\n return linkRegex.test(addHttp(url))\n}\n\nexport function ellipsis(str = \"\", length) {\n if (str.length > length) {\n let words = str.slice(0, length).split(' ')\n if (str.split(' ').indexOf(words[words.length - 1]) < 0)\n words = words.slice(0, words.length - 1)\n return words.join(' ') + '...'\n } else\n return str\n}\n\nexport function safeNewLineToBr(str,keepMany) {\n const result = (str||\"\").replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"')\n if (keepMany===true) {\n return result.replace(/\\n/g,'<br/>')\n }\n return result.replace(/\\n+/g,'<br/>')\n}\n\nfunction padGroups(pattern,value) {\n return pattern.split('').reduce(([acc,value],char,i) => {\n if (char === '0') {\n const shouldHave = pattern.slice(i).search(/[^0#?*]/)\n const has = value.slice(i).search(/\\D/)\n if (has > 0 && shouldHave > has) {\n return [acc.concat('0'),acc.join('')+'0'+value.slice(i)]\n } else {\n return [acc.concat(value[i]),value]\n }\n } else {\n return [acc.concat(value[i]),value]\n }\n },[[],value])[0].join('')\n}\n\nexport const digitsToPattern = (patternWithLimit,optValue) => {\n const value = optValue || \"\"\n if (patternWithLimit[0] === '>' && Number(patternWithLimit.replace(/^>(\\d*).*/g,\"$1\"))>value.length) return value\n const pattern = patternWithLimit.replace(/^>\\d+/,'')\n const digits = padGroups(pattern,value).replace(/\\D/g,'')\n const totalRequired = pattern.split(/[0#]/).length-1\n const totalOptional = pattern.split(/[?*]/).length-1\n const available = digits.length-totalRequired\n\n if (available>0 && totalOptional>0) {\n let i = 0;\n return digitsToPattern(\n pattern\n .replace(/\\?/g,()=>i++<available?'#':'')\n .replace('*',new Array(Math.max(0,available-i+1)).join(\"#\")),\n value\n )\n }\n let i = 0\n return pattern.replace(/^>\\d*/,'').split('').reduce((acc,char)=> {\n if (!digits[Math.max(i-1,0)] || char === '?' || char === '*') return acc\n if (char==='#' || char=== '0') {\n return acc+(digits[i++]||'')\n } else {\n return acc+char\n }\n },'')\n}\n\nexport const normalizeTouch = (fn, endFn) => (e) => {\n const touch = e.touches[0]\n if (e.touches.length > 1 && e.type !== 'touchend') {\n callIfFunction(endFn,e,touch)\n } else {\n callIfFunction(fn,e, touch)\n }\n}\nexport const normalizeMouse = (fn,endFn) => (e) => {\n if (e.buttons>1 && e.type !== 'mouseup') {\n callIfFunction(endFn,e,e)\n } else {\n callIfFunction(fn,e, e)\n }\n}\n\nexport const normalizePress = (fn,endFn) => (e) => {\n if (e.touches) {\n normalizeTouch(fn,endFn)(e)\n } else {\n normalizeMouse(fn,endFn)(e)\n }\n}\n\n\nexport const touchClick = (cb,sensibility = 5) => (e) => {\n if (e.touches?.length !== 1) { return }\n const target = e.target\n const originalX = e.touches[0].screenX\n const originalY = e.touches[0].screenY\n const isInsideBounds = (touch) => Math.sqrt( Math.pow((originalX-touch.screenX), 2) + Math.pow((originalY-touch.screenY), 2) ) < sensibility\n\n const checkBounds = (e) => {\n if (e.touches.length !== 1) { return }\n if (!isInsideBounds(e.changedTouches[0])) {\n maybeClick()\n }\n }\n const maybeClick = (e) => {\n target.removeEventListener('touchend',maybeClick)\n target.removeEventListener('touchmove',checkBounds)\n if (e?.changedTouches?.length !== 1) { return }\n if (isInsideBounds(e.changedTouches[0])) {\n e.preventDefault()\n cb(e)\n }\n }\n target.addEventListener('touchend',maybeClick)\n target.addEventListener('touchmove',checkBounds)\n}\n\n\nexport const isEmptyHtml = (__html = \"\") => {\n const a = document.createElement('span')\n a.innerHTML = __html\n return a.textContent.replace(/\\s/g,'').length === 0\n}\n\n\nexport const getScrollParent = (node) => {\n if (!node) {\n return window\n }\n const overflowY = window.getComputedStyle(node).overflowY\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden'\n if (isScrollable && (node.scrollHeight > node.clientHeight || overflowY === 'scroll')) {\n return node\n } else {\n return getScrollParent((node.offsetParent))\n }\n}\n\nexport const scrollIntoViewWithOffset = (el,offset) => {\n const scrollOffset = getScrollParent(el)\n const scrollY = scrollOffset === window ? window.pageYOffset : scrollOffset.scrollTop\n\n const elTop = el.getBoundingClientRect().top\n const computedOffset = callIfFunction(offset,elTop > 0)\n\n const y = el.getBoundingClientRect().top + scrollY + computedOffset;\n\n scrollOffset.scrollTo({top: y, behavior: 'smooth'});\n}\nexport const isElementInView = async (element) => {\n if (!element) return false;\n if (1 !== element.nodeType) return false;\n\n var html = document.documentElement;\n var rect = element.getBoundingClientRect();\n if (IntersectionObserver) {\n return new Promise(resolve => {\n const o = new IntersectionObserver(([entry]) => {\n resolve(entry.intersectionRatio === 1);\n o.disconnect();\n });\n o.observe(element);\n });\n }\n return !!rect &&\n rect.bottom >= 0 &&\n rect.right >= 0 &&\n rect.left <= html.clientWidth &&\n rect.top <= html.clientHeight;\n}\n\n\nlet i = 0\nexport const getUID = () => Date.now().toString(36)+Math.random().toString(36).slice(2)+(i++).toString(36)\n\nexport const getUrlParams = () => _.fromPairs(Array.from(new URLSearchParams(location.search).entries()))\n\nexport const isShallowEqualSameKeys = (a, b) => {\n for(var key in a) {\n if(a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nexport const isShallowEqual = (a, b) => {\n for(var key in a) {\n if(!(key in b) || a[key] !== b[key]) {\n return false;\n }\n }\n for(var key in b) {\n if(!(key in a) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}","import {callIfFunction} from './utils'\nimport _ from 'lodash/fp'\n\nconst resolveFetch = async (url, fetchOptions) => {\n try {\n const response = await fetch(url, {\n credentials: 'same-origin',\n ...fetchOptions\n })\n const text = await response.text()\n try {\n const json = JSON.parse(text)\n return [json, response]\n } catch (eror) {\n return [text, response]\n }\n } catch (error) {\n return [error, false]\n }\n}\n\nconst innerFetcher = async (url, fetchOptions) => {\n const [data, response] = await resolveFetch(url, fetchOptions)\n if (!response || response.status >= 400) {\n throw [data, response]\n } else {\n return [data, response]\n }\n}\nexport const queryStringToObj = (str = window.location.search) => Object.fromEntries(new URLSearchParams(str).entries())\n\nexport const addQueryString = (existingUrl = '',obj) => {\n const [onlyUrl, otherQueryString] = existingUrl.split('?')\n const params = new URLSearchParams(otherQueryString)\n for (let key in obj) {\n const value = obj[key]\n if (value === null) {\n params.delete(key)\n } else {\n params.set(key, obj[key])\n }\n }\n const paramsStr = params.toString()\n if (!paramsStr) {\n return onlyUrl\n }\n return onlyUrl + '?' + paramsStr\n}\n\nconst cleanNulls = (str) => str.replace(/\\0/g, '')\n\n// Cross-origin o X-Requested-With só custa: dispara preflight e impede o reuso do\n// <link rel=preload as=fetch>, cujo request vai sem ele. Quem lê o header é servidor nosso.\nconst isSameOrigin = (url) => new URL(url, window.location.href).origin === window.location.origin\n\nexport let postFetcherWithResponse = async (url, jsonOrForm, fetchOptions = {}) => innerFetcher(url, {\n method: 'POST',\n body: typeof jsonOrForm === 'string'\n ? jsonOrForm\n : !jsonOrForm || jsonOrForm.constructor === window.FormData || jsonOrForm.constructor === window.File\n ? jsonOrForm\n : cleanNulls(JSON.stringify(jsonOrForm)),\n ...fetchOptions,\n headers:\n (_.isPlainObject(fetchOptions.headers) || !fetchOptions.headers)\n ? {\n ...(jsonOrForm && (typeof jsonOrForm === 'string' || jsonOrForm.constructor === window.FormData) ? {} : {'Content-Type': 'application/json; charset=UTF-8'}),\n ...(isSameOrigin(url) ? {'X-Requested-With': 'XMLHttpRequest'} : {}),\n ...fetchOptions.headers\n }\n : fetchOptions.headers\n})\n\nexport let getFetcherWithResponse = async (url, jsonParams, fetchOptions) => innerFetcher(addQueryString(url, jsonParams), {\n method: 'GET',\n ...fetchOptions,\n headers: {\n ...(isSameOrigin(url) ? {'X-Requested-With': 'XMLHttpRequest'} : {}),\n ...fetchOptions?.headers\n }\n})\n\nexport let postFetcher = async (url, json, options) => postFetcherWithResponse(url, json, options).then(([json]) => json)\nexport let getFetcher = async (url, json, options) => getFetcherWithResponse(url, json, options).then(([json]) => json)\n\nexport const formFetchWithResponse = (url, options) => (values, meta) => postFetcherWithResponse(callIfFunction(url, meta, values), values, callIfFunction(options, meta, values))\nexport const formFetch = (url, options) => (values, meta) => postFetcher(callIfFunction(url, meta, values), values, callIfFunction(options, meta, values))\n","import _ from 'lodash/fp'\nimport {callIfFunction} from './utils'\n\nconst moveElement = _.curry((from, to, list) => {\n const el = list[from]\n const without = _.pullAt(from, list)\n without.splice(to, 0, el)\n return without\n})\n\nconst unsetOrRemoveAt = _.curry((path, value) => {\n const pathArr = toPath(path)\n const [lastKey] = pathArr.slice(-1)\n return update(pathArr.slice(0, -1), (v) => Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v), value)\n})\n\nconst pathToString = (path) => toPath(path).join(\".\")\n\nconst sanitizePath = (path) =>\n Array.isArray(path)\n ? path.map(sanitizePath)\n : typeof path === 'number'\n ? path.toString()\n : path === undefined\n ? []\n : path\n\nconst toPath = (path) => _.toPath(sanitizePath(path))\n\nconst isEmptyPath = (path) => (path && !path.length)\n\nconst update = _.curry((path, updater, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return updater(state)\n } else {\n return _.update(sanitizedPath, updater, state)\n }\n})\n\nconst get = _.curry((path, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return state\n } else {\n return _.get(sanitizedPath, state)\n }\n})\n\nconst set = _.curry((path, value, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return value\n } else {\n return _.set(sanitizedPath, value, state)\n }\n})\nconst unset = _.curry((path, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return undefined\n } else {\n return _.unset(sanitizedPath, state)\n }\n})\n\nconst removeNAt = _.curry((pos, n, value) => [...value.slice(0, Number(pos)), ...value.slice(Number(pos)+n)])\nconst removeAt = removeNAt(_.__,1)\n\nconst when = _.curry((cond,fn,value) => callIfFunction(cond,value) ? fn(value) : value)\nconst assign = _.curry((a,b) => _.assign(b,a))\nconst concat = _.curry((a,b) => _.concat(b,a))\n\nconst each = _.each.convert({cap:false})\nconst find = _.find.convert({cap:false})\nconst filter = _.filter.convert({cap:false})\nconst map = _.map.convert({cap:false})\nconst mapValues = _.mapValues.convert({cap:false})\nconst flatMap = _.flatMap.convert({cap:false})\n\nconst insertAt = _.curry((pos, newElements, value) => [...value.slice(0, pos).concat(newElements), ...value.slice(pos)])\n\nconst select = _.curry((selector,value) => (_.isFunction(selector) ? selector : (selector ? _.get(selector) : _.identity))(value))\nconst itemToggle = _.curry((item,list ) => (list||[]).indexOf(item)>=0 ? _.without([item],list) : [...(list||[]),item])\n\nexport const _s = {\n moveElement,\n unsetOrRemoveAt,\n pathToString,\n toPath,\n update,\n get,\n set,\n select,\n unset,\n removeNAt,\n removeAt,\n itemToggle,\n when,\n assign,\n concat,\n each,\n find,\n filter,\n map,\n flatMap,\n mapValues,\n insertAt,\n flowEach: (...args) => _.flow(...args.filter(Boolean))\n}","// @flow\nimport _ from 'lodash/fp'\nimport {darken} from 'polished'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport createEmotion from 'create-emotion'\nimport {scrollWidth} from './fixMediaQuery'\nimport {_s} from './lodashUtils'\nimport {callIfFunction} from './utils'\n\nexport const getColor = (propsOrColor, hover) => {\n if (propsOrColor === undefined) {\n return ({theme})=>theme.colors.gray150\n }\n if (typeof propsOrColor==='string') {\n return ({theme})=>theme.colors[propsOrColor] || propsOrColor\n }\n const {theme,...props} = propsOrColor\n if (props.dark) {\n return darken(0.1, getColor({theme, ..._.unset( 'dark', props)}))\n } else if (hover && props.hover) {\n return getColor({theme, color: props.hover})\n } else if (props.color) {\n return theme.colors[props.color] || props.color\n } else if (props.highlight) {\n return theme.colors.main\n } else if (props.alert) {\n return theme.colors.alert\n } else if (props.success) {\n return theme.colors.success\n } else {\n return theme.colors.gray150\n }\n}\n\nexport const getMargin = (enumeratedMargins) => (props) => enumeratedMargins[props.margin] || props.margin || enumeratedMargins['default'] || 0\n\n/**\n * Returns the value of `props[path]` or `defaultValue`\n * @example\n * const Button = styled.button`\n * color: ${prop('color', 'red')};\n * `\n */\nexport const prop = (path,defaultValue) =>\n (props = {}) => _.get(path.trim(), props) || defaultValue\n\nexport const customTheme = (type) =>\n (props = {}) => _.get([\"theme\",\"startlibs\",type], props) || ''\n\n/**\n * Returns `pass` if prop is truthy. Otherwise returns `fail`\n * @example\n * // usage with styled-theme\n * import styled from 'styled-components'\n * import { ifProp } from 'styled-tools'\n * import { palette } from 'styled-theme'\n *\n * const Button = styled.button`\n * background-color: ${ifProp('transparent', 'transparent', palette(0))};\n * color: ${ifProp(['transparent', 'accent'], palette('secondary', 0))};\n * font-size: ${ifProp({ size: 'large' }, '20px', ifProp({ size: 'medium' }, '16px', '12px'))};\n *`\n */\nexport const ifProp = (path, pass, fail) => {\n if (pass && !_.isFunction(pass)) { // old version\n return (props = {}) => {\n let result = false\n if (Array.isArray(path)) {\n result = path.every(p=> testSinglePath(props,p))\n } else if (typeof path === 'object') {\n result = !Object.entries(path).find(([k,v])=>props[k]!==v)\n } else {\n result = testSinglePath(props,path)\n }\n return result ? pass : fail\n }\n } else {\n return (...argsTrue) => {\n const check = pass || _.identity\n const fn = props => check(_.get(path,props)) ? css(...argsTrue) : ''\n fn.orElse = (...argsFalse) => (props) => check(_.get(path,props)) ? css(...argsTrue) : css(...argsFalse)\n return fn\n }\n }\n}\nexport const ifPropEquals = (path,str) => ifProp(path,_.isEqual(str))\nexport const ifNotProp = (path) => ifProp(path,v => !v)\n\nconst checkCustomScreenWidth = (sizeParis,customWidth) => {\n const currentWidth = callIfFunction(customWidth)\n return !sizeParis.find(([size,type]) => {\n if (type === \"min-width\") {\n return currentWidth < size\n }\n if (type === \"max-width\") {\n return currentWidth > size\n }\n })\n}\n\nexport const media = (...sizePairs) => (...args) => {\n return css`\n ${props => \n props.theme?.overrideMediaWidth\n ? (checkCustomScreenWidth(sizePairs,props.theme?.overrideMediaWidth) ? css(...args) : \"\") \n : css`@media ${sizePairs.map(([size,type]) => `(${type}: ${size+scrollWidth}px)`).join(' and ')} {\n ${ css(...args) }\n }`\n }`\n}\n\nmedia.mobile = media([600,'max-width'])\nmedia.between = (min,max) => media([min,'min-width'],[max,'max-width'])\nmedia.max = (n) => media([n,'max-width'])\nmedia.min = (n) => media([n,'min-width'])\nmedia.desktop = media([601,'min-width'])\n\nexport const vheight = (strings,size) => {\n const propType = strings[0]\n const calc = (strings[1]||\"\").replace(\";\",\"\").trim()\n return `\n ${propType} ${calc ? `calc(${size}vh ${calc})` : `${size}vh`};\n ${propType} ${calc ? `calc(calc(var(--vh, 1vh) * ${size}) ${calc})` : `calc(var(--vh, 1vh) * ${size})`};\n `\n}\n\nfunction testSinglePath(props,path) {\n if (typeof path === 'string') {\n return !!_s.get(path, props)\n } else if (typeof path === 'number') {\n return !!props[path]\n } else {\n return false\n }\n}\n\nconst getFrameOffset = (i,total) => Math.round(i*100/(total-1))\n\n\nconst emotion = createEmotion({\n nonce: (typeof document !== 'undefined' &&\n (document.querySelector('meta[property=\"csp-nonce\"]') || {}).content) || 'animation_nonce'\n})\n\nexport const oneWayAnimation = (...frames) => {\n return emotion.keyframes`\n ${frames.map((frame,i) =>\n !frame ? '' : `${getFrameOffset(i,frames.length)}% {\n ${frame}\n }`\n )}`\n}\n\nexport const twoWayAnimation = (...frames) => [frames,_.reverse(frames)].map((frames)=>oneWayAnimation(...frames))\n\nexport const animationTiming = (props) => (...animations) => animations.filter(_=>_).map(_=>_+' '+props).join(',')\n\nexport const identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);')\nexport const identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;')\n\nexport const styledExtend = ({target,componentStyle}) => (...template) => {\n const wasStatic = !_.find(_.isFunction,componentStyle.rules)\n const v = styled(target)(...template,...(wasStatic ? [] : [() => \"\"]))\n v.componentStyle.rules = [...componentStyle.rules,...v.componentStyle.rules]\n return v\n}\n\nexport const printerMedia = (...args) => (props) =>\n props.theme.printMode\n ? css(...args)\n : css`@media print { ${css(...args)} }`\n\nexport const notPrinterMedia = (...args) => (props) =>\n props.theme.printMode\n ? ''\n : css`@media screen { ${css(...args)} }`","\nconst escapedValidParts = /(^|[^\\\\])(dd?|DD?|mm?|LL?|hh?|MM?|ss|SSS|yy(?:yy)?)/g\nconst validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy|ss|SSS)$/\nexport const addZero = (v) => (v < 10 ? '0' : '') + v\n\nconst getSet = (index, ttype, plus = 0, format = (v) => v, parse = (v, defaultDate) => (v === '0' ? '' : v)) => ([\n (date,_,noUTC) => format((typeof date === 'number' ? new Date(date) : date)['get'+(noUTC?'':'UTC') + ttype]() + plus),\n (unformatedStr, date, _, failOnFormat, noUTC) => {\n const str = parse(unformatedStr, date, failOnFormat)\n if (str === '' || isNaN(date.getTime()))\n return date\n if (str=== '\\0')\n return date.setTime(NaN)\n const utcSTR = noUTC ? '' : 'UTC'\n const v = parseInt(str, 10) - plus\n const prevDay = date['get'+utcSTR+'Date']()\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](1)\n }\n date['set'+ utcSTR + ttype](v)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set' + utcSTR + ttype](NaN)\n return date\n }\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](prevDay)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set'+utcSTR+'Date'](0)\n return date\n }\n }\n return date\n },\n index\n])\n\nconst getText = (type, total, slice = 99) => [\n (date, messages,noUTC) => messages(type.toLowerCase(),date['get'+(noUTC? '': 'UTC') + type]()).slice(0, slice)\n]\n\nconst yearParse = (y, date, failOnFormat) => {\n const formattedY = y.length === 2 && y !== '20' ? '20' + y : y.length === 4 ? y : ''\n if (formattedY === '') {\n if (failOnFormat) {\n const found = date.getUTCFullYear().toString().indexOf(y)\n return found === 0 || found === 2 ? date.getUTCFullYear() : '\\0'\n } else {\n return date.getUTCFullYear()\n }\n } else {\n return formattedY\n }\n}\n\nconst val = {\n yyyy: getSet(0,'FullYear', 0, (v) => v, yearParse),\n yy: getSet(0,'FullYear', 0, (v) => (v+\"\").slice(2,4), yearParse),\n M: getSet(1,'Month', 1),\n MM: getSet(1,'Month', 1, addZero),\n L: getText('Month',12,3),\n LL: getText('Month',12),\n d: getSet(2,'Date'),\n dd: getSet(2,'Date', 0, addZero),\n D: getText('Day', 7, 3),\n DD: getText('Day', 7),\n m: getSet(4,'Minutes'),\n mm: getSet(4,'Minutes', 0, addZero),\n h: getSet(5,'Hours'),\n hh: getSet(5,'Hours', 0, addZero),\n ss: getSet(6,'Seconds', 0, addZero),\n SSS: getSet(7,'Milliseconds', 0, addZero),\n\n}\n\nexport function formatDateToPattern(format) {\n return format.replace(escapedValidParts, (_, _1, _2) => _1 + (_2 === 'yy' ? '##' : _2 === 'yyyy' ? '####' : '0#'))\n}\n\nexport function formatDate(date, format, messages,noUTC) {\n if (!date)\n return ''\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const formattedDate = parts.reduce((acc, part) =>\n acc.concat(\n separators.length ? [separators.shift()] : [],\n part.replace(validParts, ''),\n val[part.match(validParts)[0]][0](date, messages,noUTC)\n ),\n []\n )\n return formattedDate.join('').replace(/\\\\([dDmLhMy])/g, '$1')\n}\n\nconst now = () => new Date()\n\nexport function parseDate(str, possibleDate, format, messages, failOnFormat, noUTC) {\n if (!str)\n return possibleDate\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const mutations = []\n parts.reduce((rest, part, i) => {\n const separator = (separators.length ? separators.shift() : '') + part.replace(validParts, '')\n const current = rest.slice(separator.length)\n if (current && separator === rest.slice(0, separator.length)) {\n const setType = part.match(validParts)[0]\n const nextSeparator = separators[0]\n const nextStrIndex = current.indexOf(nextSeparator + (parts[i + 1] || '').replace(validParts, ''))\n mutations[val[setType][2]] = [val[setType][1],nextStrIndex ? current.slice(0,nextStrIndex) : current]\n return current.slice(nextStrIndex)\n } else {\n return ''\n }\n },\n str\n )\n const date = possibleDate && possibleDate.getTime()!==-1 ? new Date(possibleDate) : now()\n mutations.forEach(([setter,text])=> setter(text,date,messages,failOnFormat,noUTC))\n return date\n}","import {useMemo} from 'react'\nimport {callIfFunction} from './utils'\nimport {_s} from './lodashUtils'\nimport _ from 'lodash/fp'\n\nconst isNotSelector = (v) => (typeof v !== 'function' || v.length === 0)\n\nconst toSelector = (v) => isNotSelector(v) ? (s) => _s.get(callIfFunction(v),s) : v\n\nconst mergeSelectors = (prev, next) => (v) => next(prev(v))\nexport const concatSelectors = (...paths) => paths.reduce(([selector, isSelector], path) =>\n isNotSelector(path) && !isSelector\n ? [selector.concat(path), false]\n : [mergeSelectors(toSelector(selector), path), true],\n [[], false]\n)\n\nexport const COMPLETE_ACTION = {}\nexport const REDUCE = {}\nexport const FETCH = {}\nexport const SKIP_FETCH = {}\nexport const SKIP_DISPATCH = {}\nexport const SKIPPED_ACTION = {}\n\nconst ACTION_TYPES = [COMPLETE_ACTION,REDUCE,FETCH,SKIP_FETCH,SKIP_DISPATCH]\n\nexport const selectPath = (useState, ...paths) => {\n const [selector] = useMemo(() => concatSelectors(...paths), paths)\n const [value] = useState(selector)\n return value\n}\n\nexport const Action = (fnOrArray, prevArgs = []) => {\n const isArray = Array.isArray(fnOrArray)\n if (isArray) {\n // excessive paramaeters called on the action, used for options.\n const actionType = _.last(prevArgs)\n const [fetcher, reducer, rollbacker] = fnOrArray\n if (actionType === REDUCE) {\n return reducer(null,prevArgs)\n } else if (actionType === FETCH) {\n return fetcher()\n } else {\n return _.set('extra',fnOrArray.extra,[\n actionType === SKIP_FETCH ? () => Promise.resolve() : fetcher,\n actionType === SKIP_DISPATCH ? undefined : reducer,\n ].concat(rollbacker || []))\n }\n } else {\n return prevArgs.length < fnOrArray.length ? (...moreArgs) => Action(fnOrArray,[...prevArgs,...moreArgs]) : Action(fnOrArray(...prevArgs),prevArgs)\n }\n}\n\nconst mapAction = (get, dispatcher, firstRun) => (action) => {\n if (Array.isArray(action)) {\n if (firstRun) {\n return () => mapAction(get,dispatcher)(action)\n }\n const [fetcher, reducer, rollbacker] = action\n const {skip} = action.extra || {}\n if (skip && skip(get())) {\n return Promise.resolve(SKIPPED_ACTION)\n }\n const fetched = fetcher()\n if (rollbacker) {\n dispatcher(prevState => {\n const nextState = reducer(null)(prevState)\n fetched.catch((response)=> {\n dispatcher(rollbacker(prevState,nextState,response))\n })\n return nextState\n })\n }\n if (reducer !== undefined) {\n fetched.then((response) => dispatcher(reducer(response)))\n }\n return fetched\n } else {\n return (...moreMetas) => mapAction(get,dispatcher)(action(...moreMetas))\n }\n}\n\nexport const activateActions = (get, dispatcher, ...actions) => {\n return actions.map(mapAction(get, dispatcher,true))\n}\n\nexport const SkipAction = (skip,action) => {\n action.extra = {...action.extra,skip}\n return action\n}","import _ from 'lodash/fp'\n\nexport const compareBest = (compare) => (best,next) => best ? (compare(best,next) ? next : best) : next\n\nexport const toLowest = (getValue = _.identity) => compareBest((best,next) => (getValue(next) < getValue(best)))\nexport const toHighest = (getValue = _.identity) => compareBest((best,next) => (getValue(next) > getValue(best)))\n","import React from 'react'\n\nexport const addExtraProp = (element, extra, override = true) => React.cloneElement(\n element,\n override ? {...element.props,...extra} : {...extra,...element.props},\n element.props.children\n)\n","import {useEffect} from 'react'\n\nexport const useEventListener = (eventName,callback,deps = []) => {\n useEffect(() => {\n window.addEventListener(eventName,callback)\n return () => window.removeEventListener(eventName,callback)\n },deps)\n\n}\n\nexport const useEventListenerIf = (check,eventName,callback,deps = []) => {\n useEffect(() => {\n if (!check()) return\n window.addEventListener(eventName,callback)\n return () => window.removeEventListener(eventName,callback)\n },deps)\n\n}\n\nexport const useEventListenerFor = (element,eventName,callback,deps = []) => {\n useEffect(() => {\n element.addEventListener(eventName,callback)\n return () => element.removeEventListener(eventName,callback)\n },deps.concat(element))\n\n}","import React from 'react'\nimport {callIfFunction, normalizePress} from './utils'\n\n\nconst disableSelect = (e) => {\n e.preventDefault();\n}\n\nexport const createPressEvent = (onStart) => normalizePress((startEvent, info) => {\n const onEnd = onStart(startEvent,info)\n\n const finish = normalizePress((e,info) => {\n callIfFunction(onEnd,e,info)\n window.removeEventListener('selectstart', disableSelect)\n window.removeEventListener('touchend',finish)\n window.removeEventListener('mouseup',finish)\n })\n\n\n window.addEventListener('selectstart', disableSelect);\n if (startEvent.touches) {\n window.addEventListener('touchend', finish)\n } else {\n window.addEventListener(\"mouseup\", finish);\n }\n\n})\n\nexport const createPressAndHoldEvent = (onStart,interval) => createPressEvent((startEvent,info) => {\n\n const [onInterval,onEnd] = [].concat(onStart(startEvent,info))\n\n let i = 0;\n if (interval) {\n const intervalId = setInterval(() => {\n onInterval(i++)\n }, interval)\n\n return normalizePress((e, info) => {\n callIfFunction(onEnd, e, info)\n clearInterval(intervalId)\n })\n } else {\n let running = true\n const run = () => window.requestAnimationFrame(() => {\n if (running) {\n onInterval(i++)\n run()\n }\n })\n run()\n return normalizePress((e,info) => {\n callIfFunction(onEnd, e, info)\n running = false\n })\n }\n})\n\n\nexport const createPressAndMoveEvent = (onStart) => createPressEvent((startEvent, info) => {\n\n const [onMove,onEnd] = [].concat(onStart(startEvent,info))\n\n const finish = normalizePress((e,info) => {\n callIfFunction(onEnd,e,info)\n window.removeEventListener('touchmove',move)\n window.removeEventListener('mousemove',move)\n })\n const move = normalizePress(onMove,finish)\n\n if (startEvent.touches) {\n window.addEventListener('touchmove', move, {passive: false})\n } else {\n window.addEventListener(\"mousemove\", move);\n }\n\n return finish\n})\n\n","import React from 'react'\nimport _ from 'lodash/fp'\nimport {callIfFunction} from './utils'\n\n// Suspense integrations like Relay implement\n// a contract like this to integrate with React.\n// Real implementations can be significantly more complex.\n// Don't copy-paste this into your project!\nconst EMPTY_ARGS = []\nconst UNDEFINED_CURRENT_VALUE = {}\nconst innerWrapLazy = (refreshCallback) => (maybePromise, ...rootArgs) => {\n let status;\n let awaitReadResolver;\n let checker = _.isEqual;\n let lazyArgs = EMPTY_ARGS;\n let uid = Math.random().toString()+Date.now();\n let result;\n let currentValue = UNDEFINED_CURRENT_VALUE\n\n const promisify = (maybePromise,resolveNow) => {\n return ((_.isFunction(maybePromise) && !resolveNow) ? new Promise(res => awaitReadResolver = res) : Promise.resolve())\n .then((...args) => callIfFunction(maybePromise, ...rootArgs, ...lazyArgs, ...args))\n }\n const onPromiseSuccess = (returnedPromise) => r => {\n if (returnedPromise !== suspender) {\n return suspender\n }\n status = \"success\";\n currentValue = r\n result = r;\n return r\n }\n const onPromiseError = (returnedPromise) => (e) => {\n if (returnedPromise !== suspender) {\n return suspender\n }\n status = \"error\";\n result = e;\n return Promise.reject(e)\n }\n\n const suspend = (maybePromise) => {\n status = \"pending\"\n awaitReadResolver = _.identity\n const returnedPromise = promisify(maybePromise)\n returnedPromise.then(onPromiseSuccess(returnedPromise), onPromiseError(returnedPromise));\n return returnedPromise;\n }\n\n let suspender = suspend(maybePromise)\n\n return {\n read() {\n awaitReadResolver()\n if (status === \"pending\") {\n throw suspender;\n } else if (status === \"error\") {\n throw result;\n } else if (status === \"success\") {\n return currentValue;\n }\n },\n promise() {\n awaitReadResolver()\n return suspender\n },\n refresh(force) {\n if (status !== \"pending\" || force) {\n suspender = suspend(maybePromise)\n uid = Math.random().toString()+Date.now();\n callIfFunction(refreshCallback,this)\n }\n return this\n },\n next(...args) {\n return wrapLazy(maybePromise, ...rootArgs, ...args).checkWith(checker)\n },\n use(...args) {\n if (!checker(args, lazyArgs)) {\n if (lazyArgs !== EMPTY_ARGS) {\n uid = Math.random().toString()+Date.now();\n }\n lazyArgs = args\n suspender = suspend(maybePromise)\n }\n return this\n },\n _getCurrentValue() {\n return currentValue\n },\n silentRefresh() {\n const currentSuspender = suspender\n const suspended = promisify(maybePromise,true).then((v) => {\n if (currentSuspender === suspender) {\n suspender = suspended\n }\n return v\n })\n suspended.then(onPromiseSuccess(suspended),onPromiseError(suspended))\n uid = Math.random().toString()+Date.now();\n callIfFunction(refreshCallback,this)\n return suspended\n },\n and(lazy) {\n\n },\n checkWith(isEqual) {\n checker = isEqual\n return this\n },\n localUpdate(updater) {\n currentValue = callIfFunction(updater,currentValue)\n return this\n },\n uid() {\n return uid\n }\n }\n}\nconst UNMOUNTED = {}\n\nexport const wrapLazy = innerWrapLazy()","import React from 'react'\n\nexport const SECOND = 1000\nexport const MINUTE = SECOND * 60\nexport const HOUR = MINUTE * 60\nexport const DAY = HOUR * 24\nexport const WEEK = DAY * 7\nexport const MONTH = DAY * 31\nexport const YEAR = DAY * 366\n\nexport const getStartOfDay = (d,utc = false) => {\n const date = new Date(d)\n if (utc) {\n date.setUTCHours(0,0,0,0)\n } else {\n date.setHours(0,0,0,0)\n }\n return date\n}\nexport const isSameDay = (a,b,utc = false) => getStartOfDay(a,utc).getTime() === getStartOfDay(b,utc).getTime()\n\n\n\nexport const intervalsIntersect = ([a1, a2], [b1, b2]) =>\n (b2 >= a1) && (b1 <= a2)\n\nexport const intervalsIntersectExclusive = ([a1, a2], [b1, b2]) =>\n (b2 > a1) && (b1 < a2)\n\nexport const intervalsIntersection = (a, b) => {\n if (!intervalsIntersect(a,b)) {\n return []\n }\n return [[Math.max(a[0], b[0]), Math.min(a[1], b[1])]]\n}\n\nexport const diffIntervals = ([a1, a2], [b1, b2]) => {\n if (\n a1 >= b2 || // a after b\n b1 >= a2 // a before b\n ) {\n return [[a1, a2]]\n } else if (a1 > b1 && a2 < b2) { // a inside b\n return []\n }\n if (b1 > a1 && b2 < a2) { // b inside a\n return [[a1, b1], [b2, a2]]\n }\n if (b1 <= a1) { // b intersecting left of a\n return [[b2, a2]]\n } else { // b intersecting right of a\n return [[a1, b1]]\n }\n}\n\nexport const blockDiffIntervals = (a, b) => intervalsIntersect(a, b) ? [] : [a]\nexport const startBlockDiffIntervals = (a, b) => intervalsIntersectExclusive(a, b) && a[0] >= b[0] ? [] : [a]\n","import React from 'react'\nimport styled from 'styled-components/macro'\n\nstyled\nexport const timerPromise = (time) => new Promise((res) => setTimeout(res,time))\n\nexport const cancelableTimer = (res,time) => {\n const v = setTimeout(res,time)\n return () => clearTimeout(v)\n}\n","import React from 'react'\nimport _ from 'lodash/fp'\n\nexport const formatJoin = (arr,separator = ', ', lastSeparator = ' e ') => [arr.slice(0,-1).join(separator),arr.slice(-1)].join(lastSeparator)\n\nexport const formatJoinArr = (arr,separator,lastSeparator) =>\n arr.flatMap((v,i) => i < arr.length - 2 ? [v,separator] : (i < arr.length - 1 ? [v,lastSeparator] : [v]))\n\nexport const removeAccents = (str) => (str||\"\").normalize('NFD').replace(/\\p{Diacritic}/gu, \"\")\nexport const asciify = (str) => removeAccents(str||\"\").replace(/[^\\x00-\\x7F]/g, \"\")\nexport const normalizeText = (str) => removeAccents(str).toLowerCase()\nexport const normalizeTextUrl = (str) => removeAccents(str).replace(/[\\s.\\u0022&/]/g, '-').replace(/-{2,}/g,'-').toLowerCase()\n\n\nexport const willFormatDecimal = (digits = 2,{max,min,padTo,zeroless,clean} = {}) => {\n const splitRegex = new RegExp(`(\\\\d+)(\\\\d{${digits}})`)\n const singleRegex = new RegExp(`/^([^,]*,\\\\d{0,${digits}).*/`)\n const pad = (str) =>\n padTo\n ? (str.indexOf(\",\") >= 0\n ? _.padCharsEnd(\"0\", str.indexOf(\",\") + padTo + 1,str)\n : _.padCharsEnd(\"0\", str.length + 1 + padTo, str + \",\")\n )\n : str\n const constrain = (val) => {\n if (_.isNumber(max) && parseFloat(val.replace(\",\",\".\")) > max) return max.toString()\n if (_.isNumber(min) && parseFloat(val.replace(\",\",\".\")) < min) return min.toString()\n return val\n }\n const cleaned = (val) =>\n clean\n ? (val.replace(/,$/,'').replace(/^0*,/,'0,') || \"0\")\n : val\n\n return (v) => {\n const skipZero = (finalV) => v!=='0' && zeroless && finalV === '0' ? '' : finalV.replace(/^0+([^,])/,'$1')\n const formatted = _.flow(constrain,pad,skipZero,cleaned)\n if (_.isNumber(v)) {\n return formatted(v.toString().replace(\".\",\",\"))\n }\n const fixComma = (v) => v.replace(/,/g, '').replace(splitRegex, \"$1,$2\")\n\n const format = () => {\n const allowedChars = (v||\"\").replace(/[^\\d,]/g, \"\")\n const commaIndex = allowedChars.indexOf(',')\n if (commaIndex >= 0 && commaIndex < allowedChars.length - 1 - digits) {\n const alteredComma = fixComma(allowedChars)\n if (_.isNumber(max) && parseFloat(alteredComma.replace(\",\",\".\")) > max) {\n return fixComma(allowedChars.slice(0, commaIndex + 1 + digits))\n }\n return alteredComma\n }\n const simpleNumber = allowedChars.replace(singleRegex, \"$1\")\n if (_.isNumber(max) && parseInt(simpleNumber) > max) {\n return simpleNumber.slice(0, -1)\n }\n return simpleNumber\n }\n const result = format()\n return formatted(result)\n }\n}\nexport const parseDecimalToNumber = (v) => _.isString(v) ? Number(v.replace(/\\./g,'').replace(',', \".\")) : (v || 0)"],"names":["createPromiseResolverPair","res","rej","promise","Promise","res2","rej2","createSimplePromiseLock","promiseQueue","resolve","_identity","nextPromise","prevPromise","then","createSinglePromiseQueue","_createSinglePromiseQueue","apply","arguments","_wrapAsyncGenerator","lastPromise","_awaitAsyncGenerator","createPromiseQueue","_createPromiseQueue","parallel","length","undefined","queues","_times","promises","map","q","next","locks","all","getNextAvailableLock","index","findIndex","Boolean","lock","result","value","filter","race","promiseMapReduce","arr","callback","reduce","acc","item","seq","asyncDebounce","fn","delay","timeout","_len","args","Array","_key","clearTimeout","setTimeout","getClosestOffsetScroll","node","document","body","overflowY","window","getComputedStyle","isScrollable","scrollHeight","clientHeight","offsetParent","getTop","element","start","nodeName","getBoundingClientRect","top","easeInOutCubic","t","position","end","elapsed","duration","smoothScroll","el","ctx","context","scrollTop","pageYOffset","offset","HTMLElement","Math","round","target","clock","Date","now","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","step","scroll","pageXOffset","fixed","scrollWidth","html","documentElement","oldOverflow","style","width","innerWidth","clientWidth","fixMediaQueryFn","fontSize","parseFloat","getPropertyValue","slice","call","styleSheets","styleSheet","isValidExternal","isInline","forEach","stylesheet","cssRules","media","rule","constructor","CSSMediaRule","mediaText","replace","strA","match","strB","parseInt","e","sameOrigin","url","loc","location","a","createElement","href","hostname","protocol","ownerNode","HTMLStyleElement","getAttribute","_stylesheet$ownerNode","crossOrigin","fixMediaQuery","readyState","process","env","NODE_ENV","addEventListener","formatPath","paths","path","isArray","join","toString","_","identityFn","n","_len2","_key2","will","_len3","props","_key3","_len4","more","_key4","lazyValue","v","callIfFunction","prop","_len5","_key5","callIfFunctions","_len6","_key6","callMany","_len7","many","_key7","_len8","_key8","ifUndefined","_len9","or","_key9","using","_len0","_key0","stopPropagation","cb","preventDefault","constrainEvent","mapGetOrSet","key","has","set","get","intToHour","hour","autoFill","h","m","formatHour","_isFinite","willRafThrottle","ticking","rafThrottle","throttle","intsToHour","_ref","open","close","isSmallDevice","smallDeviceQuery","matchMedia","concat","matches","isHighDensity","devicePixelRatio","isRetina","test","navigator","userAgent","isMobile","ua","isAndroid","isiOS","isIPadOS","platform","maxTouchPoints","userAgentData","isPWA","hasWebviewBridge","isTouchDevice","isIOS","isIPad","getNumberInputType2","getNumberInputType","addHttp","s","secure","trim","indexOf","protocols","subdomains","domain","resource","linkRegex","RegExp","isUrl","ellipsis","str","words","split","safeNewLineToBr","keepMany","padGroups","pattern","_ref2","char","i","_ref3","_slicedToArray","shouldHave","search","digitsToPattern","patternWithLimit","optValue","Number","digits","totalRequired","totalOptional","available","max","normalizeTouch","endFn","touch","touches","type","normalizeMouse","buttons","normalizePress","touchClick","sensibility","_e$touches","originalX","screenX","originalY","screenY","isInsideBounds","sqrt","pow","checkBounds","changedTouches","maybeClick","_e$changedTouches","removeEventListener","isEmptyHtml","__html","innerHTML","textContent","getScrollParent","scrollIntoViewWithOffset","scrollOffset","scrollY","elTop","computedOffset","y","scrollTo","behavior","isElementInView","nodeType","rect","IntersectionObserver","o","_ref4","_ref5","entry","intersectionRatio","disconnect","observe","bottom","right","left","getUID","random","getUrlParams","_fromPairs","from","URLSearchParams","entries","isShallowEqualSameKeys","b","isShallowEqual","resolveFetch","fetchOptions","response","fetch","_objectSpread","credentials","text","json","JSON","parse","eror","error","innerFetcher","_await$resolveFetch","_await$resolveFetch2","data","status","queryStringToObj","Object","fromEntries","addQueryString","existingUrl","obj","_existingUrl$split","_existingUrl$split2","onlyUrl","otherQueryString","params","delete","paramsStr","cleanNulls","isSameOrigin","URL","origin","postFetcherWithResponse","jsonOrForm","method","FormData","File","stringify","headers","_isPlainObject","getFetcherWithResponse","jsonParams","postFetcher","options","getFetcher","formFetchWithResponse","values","meta","formFetch","moveElement","_curry","to","list","without","_pullAt","splice","unsetOrRemoveAt","pathArr","toPath","_pathArr$slice","_pathArr$slice2","lastKey","update","removeAt","unset","pathToString","sanitizePath","_toPath","isEmptyPath","updater","state","sanitizedPath","_update","_get","_set","_unset","removeNAt","pos","_2","when","cond","assign","_assign","_concat","each","_each","convert","cap","find","_find","_filter","_map","mapValues","_mapValues","flatMap","_flatMap","insertAt","newElements","select","selector","_isFunction","itemToggle","_without","_s","flowEach","_flow","getColor","propsOrColor","hover","theme","colors","gray150","_objectWithoutProperties","_excluded","dark","darken","color","highlight","main","alert","success","getMargin","enumeratedMargins","margin","defaultValue","customTheme","ifProp","pass","fail","every","p","testSinglePath","k","argsTrue","check","css","orElse","argsFalse","ifPropEquals","_isEqual","ifNotProp","checkCustomScreenWidth","sizeParis","customWidth","currentWidth","_ref6","size","sizePairs","_props$theme","_props$theme2","overrideMediaWidth","_ref7","_ref8","mobile","between","min","desktop","vheight","strings","propType","calc","getFrameOffset","total","emotion","createEmotion","nonce","querySelector","content","oneWayAnimation","frames","keyframes","_templateObject","_taggedTemplateLiteral","frame","twoWayAnimation","_reverse","animationTiming","animations","identityTranslateFrames","identityOpacityFrames","styledExtend","_ref9","componentStyle","wasStatic","rules","template","styled","printerMedia","printMode","notPrinterMedia","escapedValidParts","validParts","addZero","getSet","ttype","plus","format","defaultDate","date","noUTC","unformatedStr","failOnFormat","isNaN","getTime","setTime","NaN","utcSTR","prevDay","getText","messages","toLowerCase","yearParse","formattedY","found","getUTCFullYear","val","yyyy","yy","M","MM","L","LL","d","dd","D","DD","mm","hh","ss","SSS","formatDateToPattern","_1","formatDate","separators","parts","formattedDate","part","shift","parseDate","possibleDate","mutations","rest","separator","current","setType","nextSeparator","nextStrIndex","setter","isNotSelector","toSelector","mergeSelectors","prev","concatSelectors","isSelector","COMPLETE_ACTION","REDUCE","FETCH","SKIP_FETCH","SKIP_DISPATCH","SKIPPED_ACTION","selectPath","useState","_useMemo","useMemo","_useMemo2","_useState","_useState2","Action","fnOrArray","prevArgs","actionType","_last","_fnOrArray","fetcher","reducer","rollbacker","extra","moreArgs","mapAction","dispatcher","firstRun","action","_action","skip","fetched","prevState","nextState","catch","activateActions","actions","SkipAction","compareBest","compare","best","toLowest","getValue","toHighest","addExtraProp","override","React","cloneElement","children","useEventListener","eventName","deps","useEffect","useEventListenerIf","useEventListenerFor","disableSelect","createPressEvent","onStart","startEvent","info","onEnd","finish","createPressAndHoldEvent","interval","_concat2","onInterval","intervalId","setInterval","clearInterval","running","run","createPressAndMoveEvent","_concat3","_concat4","onMove","move","passive","EMPTY_ARGS","UNDEFINED_CURRENT_VALUE","innerWrapLazy","refreshCallback","maybePromise","rootArgs","awaitReadResolver","checker","lazyArgs","uid","currentValue","promisify","resolveNow","onPromiseSuccess","returnedPromise","r","suspender","onPromiseError","reject","suspend","read","refresh","force","wrapLazy","checkWith","use","_getCurrentValue","silentRefresh","currentSuspender","suspended","and","lazy","isEqual","localUpdate","SECOND","MINUTE","HOUR","DAY","WEEK","MONTH","YEAR","getStartOfDay","utc","setUTCHours","setHours","isSameDay","intervalsIntersect","a1","a2","b1","b2","intervalsIntersectExclusive","intervalsIntersection","diffIntervals","_ref0","_ref1","_ref10","blockDiffIntervals","startBlockDiffIntervals","timerPromise","time","cancelableTimer","formatJoin","lastSeparator","formatJoinArr","removeAccents","normalize","asciify","normalizeText","normalizeTextUrl","willFormatDecimal","padTo","zeroless","clean","splitRegex","singleRegex","pad","_padCharsEnd","constrain","_isNumber","cleaned","skipZero","finalV","formatted","fixComma","allowedChars","commaIndex","alteredComma","simpleNumber","parseDecimalToNumber","_isString"],"mappings":"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"}
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { asyncDebounce, createPromiseQueue, createPromiseResolverPair, createSimplePromiseLock, promiseMapReduce } from './promiseUtils.mjs';
|
|
2
|
+
export { getClosestOffsetScroll } from './getClosestOffsetScroll.mjs';
|
|
3
|
+
export { smoothScroll } from './smoothScroll.mjs';
|
|
4
|
+
export { fixMediaQuery, scrollWidth } from './fixMediaQuery.mjs';
|
|
5
|
+
export { addQueryString, formFetch, formFetchWithResponse, getFetcher, getFetcherWithResponse, postFetcher, postFetcherWithResponse, queryStringToObj } from './FetchUtils.mjs';
|
|
6
|
+
export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, ifNotProp, ifProp, ifPropEquals, media, notPrinterMedia, oneWayAnimation, printerMedia, prop, styledExtend, twoWayAnimation, vheight } from './styled.mjs';
|
|
7
|
+
export { addZero, formatDate, formatDateToPattern, parseDate } from './formatDate.mjs';
|
|
8
|
+
export { _s } from './lodashUtils.mjs';
|
|
9
|
+
export { Action, COMPLETE_ACTION, FETCH, REDUCE, SKIPPED_ACTION, SKIP_DISPATCH, SKIP_FETCH, SkipAction, activateActions, concatSelectors, selectPath } from './ActionUtils.mjs';
|
|
10
|
+
export { compareBest, toHighest, toLowest } from './reduceUtils.mjs';
|
|
11
|
+
export { addExtraProp } from './reactUtils.mjs';
|
|
12
|
+
export { useEventListener, useEventListenerFor, useEventListenerIf } from './hooks/useEventListener.mjs';
|
|
13
|
+
export { addHttp, callIfFunction, callIfFunctions, callMany, constrainEvent, digitsToPattern, ellipsis, formatHour, formatPath, getNumberInputType, getNumberInputType2, getScrollParent, getUID, getUrlParams, identityFn, ifUndefined, intToHour, intsToHour, isAndroid, isElementInView, isEmptyHtml, isHighDensity, isIOS, isIPad, isMobile, isPWA, isRetina, isShallowEqual, isShallowEqualSameKeys, isSmallDevice, isTouchDevice, isUrl, lazyValue, linkRegex, mapGetOrSet, normalizeMouse, normalizePress, normalizeTouch, preventDefault, rafThrottle, safeNewLineToBr, scrollIntoViewWithOffset, stopPropagation, touchClick, using, will, willRafThrottle } from './utils.mjs';
|
|
14
|
+
export { createPressAndHoldEvent, createPressAndMoveEvent, createPressEvent } from './createPressEvent.mjs';
|
|
15
|
+
export { wrapLazy } from './wrapLazy.mjs';
|
|
16
|
+
export { DAY, HOUR, MINUTE, MONTH, SECOND, WEEK, YEAR, blockDiffIntervals, diffIntervals, getStartOfDay, intervalsIntersect, intervalsIntersectExclusive, intervalsIntersection, isSameDay, startBlockDiffIntervals } from './timeUtils.mjs';
|
|
17
|
+
export { cancelableTimer, timerPromise } from './timerUtils.mjs';
|
|
18
|
+
export { asciify, formatJoin, formatJoinArr, normalizeText, normalizeTextUrl, parseDecimalToNumber, removeAccents, willFormatDecimal } from './formatUtils.mjs';
|
|
19
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import _flow from 'lodash/fp/flow';
|
|
3
|
+
import _without from 'lodash/fp/without';
|
|
4
|
+
import _identity from 'lodash/fp/identity';
|
|
5
|
+
import _isFunction from 'lodash/fp/isFunction';
|
|
6
|
+
import _flatMap from 'lodash/fp/flatMap';
|
|
7
|
+
import _mapValues from 'lodash/fp/mapValues';
|
|
8
|
+
import _map from 'lodash/fp/map';
|
|
9
|
+
import _filter from 'lodash/fp/filter';
|
|
10
|
+
import _find from 'lodash/fp/find';
|
|
11
|
+
import _each from 'lodash/fp/each';
|
|
12
|
+
import _concat from 'lodash/fp/concat';
|
|
13
|
+
import _assign from 'lodash/fp/assign';
|
|
14
|
+
import _2 from 'lodash/fp/__';
|
|
15
|
+
import _unset from 'lodash/fp/unset';
|
|
16
|
+
import _set from 'lodash/fp/set';
|
|
17
|
+
import _get from 'lodash/fp/get';
|
|
18
|
+
import _update from 'lodash/fp/update';
|
|
19
|
+
import _toPath from 'lodash/fp/toPath';
|
|
20
|
+
import _pullAt from 'lodash/fp/pullAt';
|
|
21
|
+
import _curry from 'lodash/fp/curry';
|
|
22
|
+
import { callIfFunction } from './utils.mjs';
|
|
23
|
+
|
|
24
|
+
const moveElement = _curry((from, to, list) => {
|
|
25
|
+
const el = list[from];
|
|
26
|
+
const without = _pullAt(from, list);
|
|
27
|
+
without.splice(to, 0, el);
|
|
28
|
+
return without;
|
|
29
|
+
});
|
|
30
|
+
const unsetOrRemoveAt = _curry((path, value) => {
|
|
31
|
+
const pathArr = toPath(path);
|
|
32
|
+
const _pathArr$slice = pathArr.slice(-1),
|
|
33
|
+
_pathArr$slice2 = _slicedToArray(_pathArr$slice, 1),
|
|
34
|
+
lastKey = _pathArr$slice2[0];
|
|
35
|
+
return update(pathArr.slice(0, -1), v => Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v), value);
|
|
36
|
+
});
|
|
37
|
+
const pathToString = path => toPath(path).join(".");
|
|
38
|
+
const sanitizePath = path => Array.isArray(path) ? path.map(sanitizePath) : typeof path === 'number' ? path.toString() : path === undefined ? [] : path;
|
|
39
|
+
const toPath = path => _toPath(sanitizePath(path));
|
|
40
|
+
const isEmptyPath = path => path && !path.length;
|
|
41
|
+
const update = _curry((path, updater, state) => {
|
|
42
|
+
const sanitizedPath = sanitizePath(path);
|
|
43
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
44
|
+
return updater(state);
|
|
45
|
+
} else {
|
|
46
|
+
return _update(sanitizedPath, updater, state);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const get = _curry((path, state) => {
|
|
50
|
+
const sanitizedPath = sanitizePath(path);
|
|
51
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
52
|
+
return state;
|
|
53
|
+
} else {
|
|
54
|
+
return _get(sanitizedPath, state);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const set = _curry((path, value, state) => {
|
|
58
|
+
const sanitizedPath = sanitizePath(path);
|
|
59
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
60
|
+
return value;
|
|
61
|
+
} else {
|
|
62
|
+
return _set(sanitizedPath, value, state);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const unset = _curry((path, state) => {
|
|
66
|
+
const sanitizedPath = sanitizePath(path);
|
|
67
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
68
|
+
return undefined;
|
|
69
|
+
} else {
|
|
70
|
+
return _unset(sanitizedPath, state);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const removeNAt = _curry((pos, n, value) => [...value.slice(0, Number(pos)), ...value.slice(Number(pos) + n)]);
|
|
74
|
+
const removeAt = removeNAt(_2, 1);
|
|
75
|
+
const when = _curry((cond, fn, value) => callIfFunction(cond, value) ? fn(value) : value);
|
|
76
|
+
const assign = _curry((a, b) => _assign(b, a));
|
|
77
|
+
const concat = _curry((a, b) => _concat(b, a));
|
|
78
|
+
const each = _each.convert({
|
|
79
|
+
cap: false
|
|
80
|
+
});
|
|
81
|
+
const find = _find.convert({
|
|
82
|
+
cap: false
|
|
83
|
+
});
|
|
84
|
+
const filter = _filter.convert({
|
|
85
|
+
cap: false
|
|
86
|
+
});
|
|
87
|
+
const map = _map.convert({
|
|
88
|
+
cap: false
|
|
89
|
+
});
|
|
90
|
+
const mapValues = _mapValues.convert({
|
|
91
|
+
cap: false
|
|
92
|
+
});
|
|
93
|
+
const flatMap = _flatMap.convert({
|
|
94
|
+
cap: false
|
|
95
|
+
});
|
|
96
|
+
const insertAt = _curry((pos, newElements, value) => [...value.slice(0, pos).concat(newElements), ...value.slice(pos)]);
|
|
97
|
+
const select = _curry((selector, value) => (_isFunction(selector) ? selector : selector ? _get(selector) : _identity)(value));
|
|
98
|
+
const itemToggle = _curry((item, list) => (list || []).indexOf(item) >= 0 ? _without([item], list) : [...(list || []), item]);
|
|
99
|
+
const _s = {
|
|
100
|
+
moveElement,
|
|
101
|
+
unsetOrRemoveAt,
|
|
102
|
+
pathToString,
|
|
103
|
+
toPath,
|
|
104
|
+
update,
|
|
105
|
+
get,
|
|
106
|
+
set,
|
|
107
|
+
select,
|
|
108
|
+
unset,
|
|
109
|
+
removeNAt,
|
|
110
|
+
removeAt,
|
|
111
|
+
itemToggle,
|
|
112
|
+
when,
|
|
113
|
+
assign,
|
|
114
|
+
concat,
|
|
115
|
+
each,
|
|
116
|
+
find,
|
|
117
|
+
filter,
|
|
118
|
+
map,
|
|
119
|
+
flatMap,
|
|
120
|
+
mapValues,
|
|
121
|
+
insertAt,
|
|
122
|
+
flowEach: function () {
|
|
123
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
124
|
+
args[_key] = arguments[_key];
|
|
125
|
+
}
|
|
126
|
+
return _flow(...args.filter(Boolean));
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export { _s };
|
|
131
|
+
//# sourceMappingURL=lodashUtils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lodashUtils.mjs","sources":["../src/lodashUtils.jsx"],"sourcesContent":["import _ from 'lodash/fp'\nimport {callIfFunction} from './utils'\n\nconst moveElement = _.curry((from, to, list) => {\n const el = list[from]\n const without = _.pullAt(from, list)\n without.splice(to, 0, el)\n return without\n})\n\nconst unsetOrRemoveAt = _.curry((path, value) => {\n const pathArr = toPath(path)\n const [lastKey] = pathArr.slice(-1)\n return update(pathArr.slice(0, -1), (v) => Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v), value)\n})\n\nconst pathToString = (path) => toPath(path).join(\".\")\n\nconst sanitizePath = (path) =>\n Array.isArray(path)\n ? path.map(sanitizePath)\n : typeof path === 'number'\n ? path.toString()\n : path === undefined\n ? []\n : path\n\nconst toPath = (path) => _.toPath(sanitizePath(path))\n\nconst isEmptyPath = (path) => (path && !path.length)\n\nconst update = _.curry((path, updater, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return updater(state)\n } else {\n return _.update(sanitizedPath, updater, state)\n }\n})\n\nconst get = _.curry((path, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return state\n } else {\n return _.get(sanitizedPath, state)\n }\n})\n\nconst set = _.curry((path, value, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return value\n } else {\n return _.set(sanitizedPath, value, state)\n }\n})\nconst unset = _.curry((path, state) => {\n const sanitizedPath = sanitizePath(path)\n if (isEmptyPath(sanitizedPath)) {\n return undefined\n } else {\n return _.unset(sanitizedPath, state)\n }\n})\n\nconst removeNAt = _.curry((pos, n, value) => [...value.slice(0, Number(pos)), ...value.slice(Number(pos)+n)])\nconst removeAt = removeNAt(_.__,1)\n\nconst when = _.curry((cond,fn,value) => callIfFunction(cond,value) ? fn(value) : value)\nconst assign = _.curry((a,b) => _.assign(b,a))\nconst concat = _.curry((a,b) => _.concat(b,a))\n\nconst each = _.each.convert({cap:false})\nconst find = _.find.convert({cap:false})\nconst filter = _.filter.convert({cap:false})\nconst map = _.map.convert({cap:false})\nconst mapValues = _.mapValues.convert({cap:false})\nconst flatMap = _.flatMap.convert({cap:false})\n\nconst insertAt = _.curry((pos, newElements, value) => [...value.slice(0, pos).concat(newElements), ...value.slice(pos)])\n\nconst select = _.curry((selector,value) => (_.isFunction(selector) ? selector : (selector ? _.get(selector) : _.identity))(value))\nconst itemToggle = _.curry((item,list ) => (list||[]).indexOf(item)>=0 ? _.without([item],list) : [...(list||[]),item])\n\nexport const _s = {\n moveElement,\n unsetOrRemoveAt,\n pathToString,\n toPath,\n update,\n get,\n set,\n select,\n unset,\n removeNAt,\n removeAt,\n itemToggle,\n when,\n assign,\n concat,\n each,\n find,\n filter,\n map,\n flatMap,\n mapValues,\n insertAt,\n flowEach: (...args) => _.flow(...args.filter(Boolean))\n}"],"names":["moveElement","_curry","from","to","list","el","without","_pullAt","splice","unsetOrRemoveAt","path","value","pathArr","toPath","_pathArr$slice","slice","_pathArr$slice2","_slicedToArray","lastKey","update","v","Array","isArray","removeAt","unset","pathToString","join","sanitizePath","map","toString","undefined","_toPath","isEmptyPath","length","updater","state","sanitizedPath","_update","get","_get","set","_set","_unset","removeNAt","pos","n","Number","_2","when","cond","fn","callIfFunction","assign","a","b","_assign","concat","_concat","each","_each","convert","cap","find","_find","filter","_filter","_map","mapValues","_mapValues","flatMap","_flatMap","insertAt","newElements","select","selector","_isFunction","_identity","itemToggle","item","indexOf","_without","_s","flowEach","_len","arguments","args","_key","_flow","Boolean"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,WAAW,GAAGC,MAAA,CAAQ,CAACC,IAAI,EAAEC,EAAE,EAAEC,IAAI,KAAK;AAC9C,EAAA,MAAMC,EAAE,GAAGD,IAAI,CAACF,IAAI,CAAC,CAAA;AACrB,EAAA,MAAMI,OAAO,GAAGC,OAAA,CAASL,IAAI,EAAEE,IAAI,CAAC,CAAA;EACpCE,OAAO,CAACE,MAAM,CAACL,EAAE,EAAE,CAAC,EAAEE,EAAE,CAAC,CAAA;AACzB,EAAA,OAAOC,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAEF,MAAMG,eAAe,GAAGR,MAAA,CAAQ,CAACS,IAAI,EAAEC,KAAK,KAAK;AAC/C,EAAA,MAAMC,OAAO,GAAGC,MAAM,CAACH,IAAI,CAAC,CAAA;EAC5B,MAAAI,cAAA,GAAkBF,OAAO,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;IAAAC,eAAA,GAAAC,cAAA,CAAAH,cAAA,EAAA,CAAA,CAAA;AAA5BI,IAAAA,OAAO,GAAAF,eAAA,CAAA,CAAA,CAAA,CAAA;AACd,EAAA,OAAOG,MAAM,CAACP,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAGK,CAAC,IAAKC,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,GAAGG,QAAQ,CAACL,OAAO,EAAEE,CAAC,CAAC,GAAGI,KAAK,CAACN,OAAO,EAAEE,CAAC,CAAC,EAAET,KAAK,CAAC,CAAA;AAChH,CAAC,CAAC,CAAA;AAEF,MAAMc,YAAY,GAAIf,IAAI,IAAKG,MAAM,CAACH,IAAI,CAAC,CAACgB,IAAI,CAAC,GAAG,CAAC,CAAA;AAErD,MAAMC,YAAY,GAAIjB,IAAI,IACxBW,KAAK,CAACC,OAAO,CAACZ,IAAI,CAAC,GACjBA,IAAI,CAACkB,GAAG,CAACD,YAAY,CAAC,GACtB,OAAOjB,IAAI,KAAK,QAAQ,GACtBA,IAAI,CAACmB,QAAQ,EAAE,GACfnB,IAAI,KAAKoB,SAAS,GAChB,EAAE,GACFpB,IAAI,CAAA;AAEZ,MAAMG,MAAM,GAAIH,IAAI,IAAKqB,OAAA,CAASJ,YAAY,CAACjB,IAAI,CAAC,CAAC,CAAA;AAErD,MAAMsB,WAAW,GAAItB,IAAI,IAAMA,IAAI,IAAI,CAACA,IAAI,CAACuB,MAAO,CAAA;AAEpD,MAAMd,MAAM,GAAGlB,MAAA,CAAQ,CAACS,IAAI,EAAEwB,OAAO,EAAEC,KAAK,KAAK;AAC/C,EAAA,MAAMC,aAAa,GAAGT,YAAY,CAACjB,IAAI,CAAC,CAAA;AACxC,EAAA,IAAIsB,WAAW,CAACI,aAAa,CAAC,EAAE;IAC9B,OAAOF,OAAO,CAACC,KAAK,CAAC,CAAA;AACvB,GAAC,MAAM;AACL,IAAA,OAAOE,OAAA,CAASD,aAAa,EAAEF,OAAO,EAAEC,KAAK,CAAC,CAAA;AAChD,GAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAMG,GAAG,GAAGrC,MAAA,CAAQ,CAACS,IAAI,EAAEyB,KAAK,KAAK;AACnC,EAAA,MAAMC,aAAa,GAAGT,YAAY,CAACjB,IAAI,CAAC,CAAA;AACxC,EAAA,IAAIsB,WAAW,CAACI,aAAa,CAAC,EAAE;AAC9B,IAAA,OAAOD,KAAK,CAAA;AACd,GAAC,MAAM;AACL,IAAA,OAAOI,IAAA,CAAMH,aAAa,EAAED,KAAK,CAAC,CAAA;AACpC,GAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAMK,GAAG,GAAGvC,MAAA,CAAQ,CAACS,IAAI,EAAEC,KAAK,EAAEwB,KAAK,KAAK;AAC1C,EAAA,MAAMC,aAAa,GAAGT,YAAY,CAACjB,IAAI,CAAC,CAAA;AACxC,EAAA,IAAIsB,WAAW,CAACI,aAAa,CAAC,EAAE;AAC9B,IAAA,OAAOzB,KAAK,CAAA;AACd,GAAC,MAAM;AACL,IAAA,OAAO8B,IAAA,CAAML,aAAa,EAAEzB,KAAK,EAAEwB,KAAK,CAAC,CAAA;AAC3C,GAAA;AACF,CAAC,CAAC,CAAA;AACF,MAAMX,KAAK,GAAGvB,MAAA,CAAQ,CAACS,IAAI,EAAEyB,KAAK,KAAK;AACrC,EAAA,MAAMC,aAAa,GAAGT,YAAY,CAACjB,IAAI,CAAC,CAAA;AACxC,EAAA,IAAIsB,WAAW,CAACI,aAAa,CAAC,EAAE;AAC9B,IAAA,OAAON,SAAS,CAAA;AAClB,GAAC,MAAM;AACL,IAAA,OAAOY,MAAA,CAAQN,aAAa,EAAED,KAAK,CAAC,CAAA;AACtC,GAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAMQ,SAAS,GAAG1C,MAAA,CAAQ,CAAC2C,GAAG,EAAEC,CAAC,EAAElC,KAAK,KAAK,CAAC,GAAGA,KAAK,CAACI,KAAK,CAAC,CAAC,EAAE+B,MAAM,CAACF,GAAG,CAAC,CAAC,EAAE,GAAGjC,KAAK,CAACI,KAAK,CAAC+B,MAAM,CAACF,GAAG,CAAC,GAACC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7G,MAAMtB,QAAQ,GAAGoB,SAAS,CAAAI,EAAA,EAAM,CAAC,CAAC,CAAA;AAElC,MAAMC,IAAI,GAAG/C,MAAA,CAAQ,CAACgD,IAAI,EAACC,EAAE,EAACvC,KAAK,KAAKwC,cAAc,CAACF,IAAI,EAACtC,KAAK,CAAC,GAAGuC,EAAE,CAACvC,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAA;AACvF,MAAMyC,MAAM,GAAGnD,MAAA,CAAQ,CAACoD,CAAC,EAACC,CAAC,KAAKC,OAAA,CAASD,CAAC,EAACD,CAAC,CAAC,CAAC,CAAA;AAC9C,MAAMG,MAAM,GAAGvD,MAAA,CAAQ,CAACoD,CAAC,EAACC,CAAC,KAAKG,OAAA,CAASH,CAAC,EAACD,CAAC,CAAC,CAAC,CAAA;AAE9C,MAAMK,IAAI,GAAGC,KAAA,CAAOC,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AACxC,MAAMC,IAAI,GAAGC,KAAA,CAAOH,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AACxC,MAAMG,MAAM,GAAGC,OAAA,CAASL,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AAC5C,MAAMjC,GAAG,GAAGsC,IAAA,CAAMN,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AACtC,MAAMM,SAAS,GAAGC,UAAA,CAAYR,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AAClD,MAAMQ,OAAO,GAAGC,QAAA,CAAUV,OAAO,CAAC;AAACC,EAAAA,GAAG,EAAC,KAAA;AAAK,CAAC,CAAC,CAAA;AAE9C,MAAMU,QAAQ,GAAGtE,MAAA,CAAQ,CAAC2C,GAAG,EAAE4B,WAAW,EAAE7D,KAAK,KAAK,CAAC,GAAGA,KAAK,CAACI,KAAK,CAAC,CAAC,EAAE6B,GAAG,CAAC,CAACY,MAAM,CAACgB,WAAW,CAAC,EAAE,GAAG7D,KAAK,CAACI,KAAK,CAAC6B,GAAG,CAAC,CAAC,CAAC,CAAA;AAExH,MAAM6B,MAAM,GAAGxE,MAAA,CAAQ,CAACyE,QAAQ,EAAC/D,KAAK,KAAK,CAACgE,WAAA,CAAaD,QAAQ,CAAC,GAAGA,QAAQ,GAAIA,QAAQ,GAAGnC,IAAA,CAAMmC,QAAQ,CAAC,GAAAE,SAAc,EAAEjE,KAAK,CAAC,CAAC,CAAA;AAClI,MAAMkE,UAAU,GAAG5E,MAAA,CAAQ,CAAC6E,IAAI,EAAC1E,IAAI,KAAM,CAACA,IAAI,IAAE,EAAE,EAAE2E,OAAO,CAACD,IAAI,CAAC,IAAE,CAAC,GAAGE,QAAA,CAAU,CAACF,IAAI,CAAC,EAAC1E,IAAI,CAAC,GAAG,CAAC,IAAIA,IAAI,IAAE,EAAE,CAAC,EAAC0E,IAAI,CAAC,CAAC,CAAA;AAEhH,MAAMG,EAAE,GAAG;EAChBjF,WAAW;EACXS,eAAe;EACfgB,YAAY;EACZZ,MAAM;EACNM,MAAM;EACNmB,GAAG;EACHE,GAAG;EACHiC,MAAM;EACNjD,KAAK;EACLmB,SAAS;EACTpB,QAAQ;EACRsD,UAAU;EACV7B,IAAI;EACJI,MAAM;EACNI,MAAM;EACNE,IAAI;EACJI,IAAI;EACJE,MAAM;EACNpC,GAAG;EACHyC,OAAO;EACPF,SAAS;EACTI,QAAQ;EACRW,QAAQ,EAAE,YAAA;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAnD,MAAA,EAAIoD,IAAI,GAAAhE,IAAAA,KAAA,CAAA8D,IAAA,GAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAJD,MAAAA,IAAI,CAAAC,IAAA,CAAAF,GAAAA,SAAA,CAAAE,IAAA,CAAA,CAAA;AAAA,KAAA;IAAA,OAAKC,KAAA,CAAO,GAAGF,IAAI,CAACrB,MAAM,CAACwB,OAAO,CAAC,CAAC,CAAA;AAAA,GAAA;AACxD;;;;"}
|