@startlibs/utils 1.1.2 → 1.2.0-rc.2

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.
Files changed (107) hide show
  1. package/lib/ActionUtils.mjs +4 -4
  2. package/lib/ActionUtils.mjs.map +1 -1
  3. package/lib/FetchUtils.mjs.map +1 -1
  4. package/lib/animationKeyframes.mjs +11 -0
  5. package/lib/animationKeyframes.mjs.map +1 -0
  6. package/lib/createPressEvent.mjs +1 -1
  7. package/lib/createPressEvent.mjs.map +1 -1
  8. package/lib/fixMediaQuery.mjs +43 -17
  9. package/lib/fixMediaQuery.mjs.map +1 -1
  10. package/lib/fixMediaText.mjs +16 -0
  11. package/lib/fixMediaText.mjs.map +1 -0
  12. package/lib/formatDate.mjs.map +1 -1
  13. package/lib/formatUtils.mjs +2 -2
  14. package/lib/formatUtils.mjs.map +1 -1
  15. package/lib/getClosestOffsetScroll.mjs.map +1 -1
  16. package/lib/hooks/useEventListener.mjs.map +1 -1
  17. package/lib/index.cjs +311 -199
  18. package/lib/index.cjs.map +1 -1
  19. package/lib/index.mjs +5 -3
  20. package/lib/index.mjs.map +1 -1
  21. package/lib/insertKeyframes.mjs +68 -0
  22. package/lib/insertKeyframes.mjs.map +1 -0
  23. package/lib/lodashUtils.mjs +6 -6
  24. package/lib/lodashUtils.mjs.map +1 -1
  25. package/lib/promiseUtils.mjs.map +1 -1
  26. package/lib/reactUtils.mjs +1 -1
  27. package/lib/reactUtils.mjs.map +1 -1
  28. package/lib/reduceUtils.mjs.map +1 -1
  29. package/lib/smoothScroll.mjs.map +1 -1
  30. package/lib/styled.mjs +25 -144
  31. package/lib/styled.mjs.map +1 -1
  32. package/lib/styledShared.mjs +125 -0
  33. package/lib/styledShared.mjs.map +1 -0
  34. package/lib/timeUtils.mjs +1 -1
  35. package/lib/timeUtils.mjs.map +1 -1
  36. package/lib/timerUtils.mjs +0 -1
  37. package/lib/timerUtils.mjs.map +1 -1
  38. package/lib/utils.mjs +1 -1
  39. package/lib/utils.mjs.map +1 -1
  40. package/lib/wrapLazy.mjs +2 -2
  41. package/lib/wrapLazy.mjs.map +1 -1
  42. package/lib/yakDomTag.mjs +44 -0
  43. package/lib/yakDomTag.mjs.map +1 -0
  44. package/lib-yak/ActionUtils.mjs +117 -0
  45. package/lib-yak/ActionUtils.mjs.map +1 -0
  46. package/lib-yak/FetchUtils.mjs +100 -0
  47. package/lib-yak/FetchUtils.mjs.map +1 -0
  48. package/lib-yak/animationKeyframes.mjs +31 -0
  49. package/lib-yak/animationKeyframes.mjs.map +1 -0
  50. package/lib-yak/createPressEvent.mjs +74 -0
  51. package/lib-yak/createPressEvent.mjs.map +1 -0
  52. package/lib-yak/fixMediaQuery.mjs +90 -0
  53. package/lib-yak/fixMediaQuery.mjs.map +1 -0
  54. package/lib-yak/fixMediaText.mjs +16 -0
  55. package/lib-yak/fixMediaText.mjs.map +1 -0
  56. package/lib-yak/formatDate.mjs +110 -0
  57. package/lib-yak/formatDate.mjs.map +1 -0
  58. package/lib-yak/formatUtils.mjs +64 -0
  59. package/lib-yak/formatUtils.mjs.map +1 -0
  60. package/lib-yak/getClosestOffsetScroll.mjs +15 -0
  61. package/lib-yak/getClosestOffsetScroll.mjs.map +1 -0
  62. package/lib-yak/hooks/useEventListener.mjs +27 -0
  63. package/lib-yak/hooks/useEventListener.mjs.map +1 -0
  64. package/lib-yak/index.mjs +21 -0
  65. package/lib-yak/index.mjs.map +1 -0
  66. package/lib-yak/insertKeyframes.mjs +68 -0
  67. package/lib-yak/insertKeyframes.mjs.map +1 -0
  68. package/lib-yak/lodashUtils.mjs +131 -0
  69. package/lib-yak/lodashUtils.mjs.map +1 -0
  70. package/lib-yak/promiseUtils.mjs +92 -0
  71. package/lib-yak/promiseUtils.mjs.map +1 -0
  72. package/lib-yak/reactUtils.mjs +12 -0
  73. package/lib-yak/reactUtils.mjs.map +1 -0
  74. package/lib-yak/reduceUtils.mjs +14 -0
  75. package/lib-yak/reduceUtils.mjs.map +1 -0
  76. package/lib-yak/smoothScroll.mjs +59 -0
  77. package/lib-yak/smoothScroll.mjs.map +1 -0
  78. package/lib-yak/styled.mjs +23 -0
  79. package/lib-yak/styled.mjs.map +1 -0
  80. package/lib-yak/styledShared.mjs +129 -0
  81. package/lib-yak/styledShared.mjs.map +1 -0
  82. package/lib-yak/timeUtils.mjs +81 -0
  83. package/lib-yak/timeUtils.mjs.map +1 -0
  84. package/lib-yak/timerUtils.mjs +10 -0
  85. package/lib-yak/timerUtils.mjs.map +1 -0
  86. package/lib-yak/utils.mjs +386 -0
  87. package/lib-yak/utils.mjs.map +1 -0
  88. package/lib-yak/wrapLazy.mjs +132 -0
  89. package/lib-yak/wrapLazy.mjs.map +1 -0
  90. package/lib-yak/yakDomTag.mjs +44 -0
  91. package/lib-yak/yakDomTag.mjs.map +1 -0
  92. package/package.json +14 -3
  93. package/src/animationKeyframes.js +10 -0
  94. package/src/animationKeyframes.test.mjs +75 -0
  95. package/src/animationKeyframes.yak.js +30 -0
  96. package/src/fixMediaQuery.js +40 -19
  97. package/src/fixMediaText.js +18 -0
  98. package/src/fixMediaText.test.mjs +60 -0
  99. package/src/index.js +1 -0
  100. package/src/insertKeyframes.js +73 -0
  101. package/src/insertKeyframes.test.mjs +144 -0
  102. package/src/styled.js +5 -97
  103. package/src/styled.yak.js +30 -0
  104. package/src/styledShared.js +96 -0
  105. package/src/timerUtils.jsx +0 -2
  106. package/src/yakDomTag.jsx +42 -0
  107. package/src/yakDomTag.test.mjs +49 -0
package/lib/index.mjs CHANGED
@@ -2,18 +2,20 @@ export { asyncDebounce, createPromiseQueue, createPromiseResolverPair, createSim
2
2
  export { getClosestOffsetScroll } from './getClosestOffsetScroll.mjs';
3
3
  export { smoothScroll } from './smoothScroll.mjs';
4
4
  export { fixMediaQuery, scrollWidth } from './fixMediaQuery.mjs';
5
- 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';
6
5
  export { addQueryString, formFetch, formFetchWithResponse, getFetcher, getFetcherWithResponse, postFetcher, postFetcherWithResponse, queryStringToObj } from './FetchUtils.mjs';
7
- export { _s } from './lodashUtils.mjs';
8
- export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, ifNotProp, ifProp, ifPropEquals, media, notPrinterMedia, oneWayAnimation, printerMedia, prop, styledExtend, twoWayAnimation, vheight } from './styled.mjs';
6
+ export { ifNotProp, ifProp, ifPropEquals, media, notPrinterMedia, printerMedia, styledExtend } from './styled.mjs';
7
+ export { insertKeyframes } from './insertKeyframes.mjs';
9
8
  export { addZero, formatDate, formatDateToPattern, parseDate } from './formatDate.mjs';
9
+ export { _s } from './lodashUtils.mjs';
10
10
  export { Action, COMPLETE_ACTION, FETCH, REDUCE, SKIPPED_ACTION, SKIP_DISPATCH, SKIP_FETCH, SkipAction, activateActions, concatSelectors, selectPath } from './ActionUtils.mjs';
11
11
  export { compareBest, toHighest, toLowest } from './reduceUtils.mjs';
12
12
  export { addExtraProp } from './reactUtils.mjs';
13
13
  export { useEventListener, useEventListenerFor, useEventListenerIf } from './hooks/useEventListener.mjs';
14
+ 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
15
  export { createPressAndHoldEvent, createPressAndMoveEvent, createPressEvent } from './createPressEvent.mjs';
15
16
  export { wrapLazy } from './wrapLazy.mjs';
16
17
  export { DAY, HOUR, MINUTE, MONTH, SECOND, WEEK, YEAR, blockDiffIntervals, diffIntervals, getStartOfDay, intervalsIntersect, intervalsIntersectExclusive, intervalsIntersection, isSameDay, startBlockDiffIntervals } from './timeUtils.mjs';
17
18
  export { cancelableTimer, timerPromise } from './timerUtils.mjs';
18
19
  export { asciify, formatJoin, formatJoinArr, normalizeText, normalizeTextUrl, parseDecimalToNumber, removeAccents, willFormatDecimal } from './formatUtils.mjs';
20
+ export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, oneWayAnimation, prop, twoWayAnimation, vheight } from './styledShared.mjs';
19
21
  //# sourceMappingURL=index.mjs.map
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,68 @@
1
+ // Registra um @keyframes pelo CSSOM, sem criar <style> na página: funciona com CSP
2
+ // `style-src 'self'` sem nonce. Ordem de tentativa:
3
+ // 1. uma folha construída (new CSSStyleSheet) em document.adoptedStyleSheets;
4
+ // 2. browser sem folha construída: insertRule numa folha do próprio site já carregada
5
+ // (de preferência um <link>, que nenhum runtime de CSS-in-JS gerencia);
6
+ // 3. nenhuma das duas: <style> com o nonce do <meta property="csp-nonce">, se houver.
7
+ // Cada nome entra uma vez só; quem chama garante que nome igual é conteúdo igual.
8
+ const inserted = new Set();
9
+ let adoptedSheet = null;
10
+ let pageSheet = null;
11
+ const canAdoptSheets = () => typeof CSSStyleSheet !== 'undefined' && 'replaceSync' in CSSStyleSheet.prototype && 'adoptedStyleSheets' in document;
12
+
13
+ // Outro código pode reatribuir document.adoptedStyleSheets e tirar a folha da lista: recoloca.
14
+ const getAdoptedSheet = () => {
15
+ if (!adoptedSheet) adoptedSheet = new CSSStyleSheet();
16
+ if (document.adoptedStyleSheets.indexOf(adoptedSheet) < 0) {
17
+ document.adoptedStyleSheets = document.adoptedStyleSheets.concat(adoptedSheet);
18
+ }
19
+ return adoptedSheet;
20
+ };
21
+
22
+ // Folha que vale pra tela inteira e cujas regras dá pra ler (folha de outra origem lança erro).
23
+ const isWritable = sheet => {
24
+ if (sheet.disabled || !sheet.ownerNode || !sheet.ownerNode.isConnected) return false;
25
+ if (sheet.media && sheet.media.length && sheet.media.mediaText !== 'all') return false;
26
+ try {
27
+ return !!sheet.cssRules;
28
+ } catch (e) {
29
+ return false;
30
+ }
31
+ };
32
+ const getPageSheet = () => {
33
+ if (pageSheet && isWritable(pageSheet)) return pageSheet;
34
+ const sheets = Array.prototype.slice.call(document.styleSheets).filter(isWritable);
35
+ pageSheet = sheets.filter(sheet => sheet.ownerNode.tagName === 'LINK')[0] || sheets[0] || null;
36
+ return pageSheet;
37
+ };
38
+ const appendRule = (sheet, rule) => {
39
+ try {
40
+ sheet.insertRule(rule, sheet.cssRules.length);
41
+ } catch (e) {
42
+ // regra que o browser não entende: igual a um <style> com ela, só não faz nada
43
+ }
44
+ };
45
+ const appendStyleElement = (name, rule) => {
46
+ const style = document.createElement('style');
47
+ style.id = 'startlibs-keyframes-' + name;
48
+ const nonce = (document.querySelector('meta[property="csp-nonce"]') || {}).content;
49
+ if (nonce) style.nonce = nonce;
50
+ style.textContent = rule;
51
+ document.head.appendChild(style);
52
+ };
53
+ const insertKeyframes = (name, frames) => {
54
+ if (typeof document === 'undefined' || inserted.has(name)) return name;
55
+ inserted.add(name);
56
+ const rule = '@keyframes ' + name + ' {' + frames + '}';
57
+ if (canAdoptSheets()) {
58
+ appendRule(getAdoptedSheet(), rule);
59
+ } else if (getPageSheet()) {
60
+ appendRule(pageSheet, rule);
61
+ } else {
62
+ appendStyleElement(name, rule);
63
+ }
64
+ return name;
65
+ };
66
+
67
+ export { insertKeyframes };
68
+ //# sourceMappingURL=insertKeyframes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertKeyframes.mjs","sources":["../src/insertKeyframes.js"],"sourcesContent":["// Registra um @keyframes pelo CSSOM, sem criar <style> na página: funciona com CSP\n// `style-src 'self'` sem nonce. Ordem de tentativa:\n// 1. uma folha construída (new CSSStyleSheet) em document.adoptedStyleSheets;\n// 2. browser sem folha construída: insertRule numa folha do próprio site já carregada\n// (de preferência um <link>, que nenhum runtime de CSS-in-JS gerencia);\n// 3. nenhuma das duas: <style> com o nonce do <meta property=\"csp-nonce\">, se houver.\n// Cada nome entra uma vez só; quem chama garante que nome igual é conteúdo igual.\nconst inserted = new Set()\nlet adoptedSheet = null\nlet pageSheet = null\n\nconst canAdoptSheets = () =>\n typeof CSSStyleSheet !== 'undefined' &&\n 'replaceSync' in CSSStyleSheet.prototype &&\n 'adoptedStyleSheets' in document\n\n// Outro código pode reatribuir document.adoptedStyleSheets e tirar a folha da lista: recoloca.\nconst getAdoptedSheet = () => {\n if (!adoptedSheet) adoptedSheet = new CSSStyleSheet()\n if (document.adoptedStyleSheets.indexOf(adoptedSheet) < 0) {\n document.adoptedStyleSheets = document.adoptedStyleSheets.concat(adoptedSheet)\n }\n return adoptedSheet\n}\n\n// Folha que vale pra tela inteira e cujas regras dá pra ler (folha de outra origem lança erro).\nconst isWritable = (sheet) => {\n if (sheet.disabled || !sheet.ownerNode || !sheet.ownerNode.isConnected) return false\n if (sheet.media && sheet.media.length && sheet.media.mediaText !== 'all') return false\n try {\n return !!sheet.cssRules\n } catch (e) {\n return false\n }\n}\n\nconst getPageSheet = () => {\n if (pageSheet && isWritable(pageSheet)) return pageSheet\n const sheets = Array.prototype.slice.call(document.styleSheets).filter(isWritable)\n pageSheet = sheets.filter((sheet) => sheet.ownerNode.tagName === 'LINK')[0] || sheets[0] || null\n return pageSheet\n}\n\nconst appendRule = (sheet, rule) => {\n try {\n sheet.insertRule(rule, sheet.cssRules.length)\n } catch (e) {\n // regra que o browser não entende: igual a um <style> com ela, só não faz nada\n }\n}\n\nconst appendStyleElement = (name, rule) => {\n const style = document.createElement('style')\n style.id = 'startlibs-keyframes-' + name\n const nonce = (document.querySelector('meta[property=\"csp-nonce\"]') || {}).content\n if (nonce) style.nonce = nonce\n style.textContent = rule\n document.head.appendChild(style)\n}\n\nexport const insertKeyframes = (name, frames) => {\n if (typeof document === 'undefined' || inserted.has(name)) return name\n inserted.add(name)\n const rule = '@keyframes ' + name + ' {' + frames + '}'\n if (canAdoptSheets()) {\n appendRule(getAdoptedSheet(), rule)\n } else if (getPageSheet()) {\n appendRule(pageSheet, rule)\n } else {\n appendStyleElement(name, rule)\n }\n return name\n}\n"],"names":["inserted","Set","adoptedSheet","pageSheet","canAdoptSheets","CSSStyleSheet","prototype","document","getAdoptedSheet","adoptedStyleSheets","indexOf","concat","isWritable","sheet","disabled","ownerNode","isConnected","media","length","mediaText","cssRules","e","getPageSheet","sheets","Array","slice","call","styleSheets","filter","tagName","appendRule","rule","insertRule","appendStyleElement","name","style","createElement","id","nonce","querySelector","content","textContent","head","appendChild","insertKeyframes","frames","has","add"],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- import _identity from 'lodash/fp/identity';
2
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { callIfFunction } from './utils.mjs';
4
- import _find from 'lodash/fp/find';
5
- import _isFunction from 'lodash/fp/isFunction';
6
- import _get from 'lodash/fp/get';
7
- import _unset from 'lodash/fp/unset';
8
2
  import _flow from 'lodash/fp/flow';
9
3
  import _without from 'lodash/fp/without';
4
+ import _identity from 'lodash/fp/identity';
5
+ import _isFunction from 'lodash/fp/isFunction';
10
6
  import _flatMap from 'lodash/fp/flatMap';
11
7
  import _mapValues from 'lodash/fp/mapValues';
12
8
  import _map from 'lodash/fp/map';
13
9
  import _filter from 'lodash/fp/filter';
10
+ import _find from 'lodash/fp/find';
14
11
  import _each from 'lodash/fp/each';
15
12
  import _concat from 'lodash/fp/concat';
16
13
  import _assign from 'lodash/fp/assign';
17
14
  import _2 from 'lodash/fp/__';
15
+ import _unset from 'lodash/fp/unset';
18
16
  import _set from 'lodash/fp/set';
17
+ import _get from 'lodash/fp/get';
19
18
  import _update from 'lodash/fp/update';
20
19
  import _toPath from 'lodash/fp/toPath';
21
20
  import _pullAt from 'lodash/fp/pullAt';
22
21
  import _curry from 'lodash/fp/curry';
22
+ import { callIfFunction } from './utils.mjs';
23
23
 
24
24
  const moveElement = _curry((from, to, list) => {
25
25
  const el = list[from];
@@ -1 +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":"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"}
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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseUtils.mjs","sources":["../src/promiseUtils.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}"],"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"],"mappings":";;;;;;MAGaA,yBAAyB,GAAGA,MAAM;EAC7C,IAAIC,GAAG,EAAEC,GAAG;EACZ,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,IAAI,EAACC,IAAI,KAAK;IACzCL,GAAG,GAAGI,IAAI;IACVH,GAAG,GAAGI,IAAI;GACX,CAAC;EACF,OAAO,CAACH,OAAO,EAAC,CAACF,GAAG,EAACC,GAAG,CAAC,CAAC;AAC5B;MAGaK,uBAAuB,GAAGA,MAAM;EAC3C,IAAIC,YAAY,GAAGJ,OAAO,CAACK,OAAO,EAAE;EACpC,OAAO,MAAM;IACX,IAAIA,OAAO,GAAAC,SAAa;IACxB,MAAMC,WAAW,GAAG,IAAIP,OAAO,CAACH,GAAG,IAAI;MACrCQ,OAAO,GAAGR,GAAG;KACd,CAAC;IACF,MAAMW,WAAW,GAAGJ,YAAY;IAChCA,YAAY,GAAGG,WAAW;IAC1B,OAAOC,WAAW,CAACC,IAAI,CAAC,MAAMJ,OAAO,CAAC;GACvC;AACH;AAAC,SACeK,wBAAwBA;EAAA,OAAAC,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF;EAAAA,yBAAA,GAAAG,mBAAA,CAAxC,aAA2C;IACzC,IAAIC,WAAW,GAAGf,OAAO,CAACK,OAAO,EAAE;;IAEnC,OAAO,IAAI,EAAE;MACX,MAAAW,oBAAA,CAAMD,WAAW;MACjB,IAAIV,OAAO,GAAAC,SAAa;MACxBS,WAAW,GAAG,IAAIf,OAAO,CAACH,GAAG,IAAI;QAC/BQ,OAAO,GAAGR,GAAG;OACd,CAAC;MACF,MAAMQ,OAAO;;GAEhB;EAAA,OAAAM,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;SAGsBI,kBAAkBA;EAAA,OAAAC,mBAAA,CAAAN,KAAA,OAAAC,SAAA;AAAA;AAsBxC,SAAAK;EAAAA,mBAAA,GAAAJ,mBAAA,CAtBM;IAAA,IAAmCK,QAAQ,GAAAN,SAAA,CAAAO,MAAA,QAAAP,SAAA,QAAAQ,SAAA,GAAAR,SAAA,MAAG,CAAC;IAAA,oBAAE;MACtD,MAAMS,MAAM,GAAGC,MAAA,CAAQb,wBAAwB,EAAES,QAAQ,CAAC;MAC1D,MAAMK,QAAQ,GAAGF,MAAM,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,EAAE,CAAC;MAC1C,MAAMC,KAAK,SAAAZ,oBAAA,CAAShB,OAAO,CAAC6B,GAAG,CAACL,QAAQ,CAAC;MAEzC,MAAMM,oBAAoB,GAAG,YAAY;QACvC,MAAMC,KAAK,GAAGH,KAAK,CAACI,SAAS,CAACC,OAAO,CAAC;QACtC,IAAIF,KAAK,IAAI,CAAC,EAAE;UACd,MAAMG,IAAI,GAAGN,KAAK,CAACG,KAAK,CAAC;UACzBH,KAAK,CAACG,KAAK,CAAC,GAAG,IAAI;UACnBP,QAAQ,CAACO,KAAK,CAAC,GAAGT,MAAM,CAACS,KAAK,CAAC,CAACJ,IAAI,EAAE,CAAClB,IAAI,CAAC0B,MAAM,IAAI;YACpDP,KAAK,CAACG,KAAK,CAAC,GAAGI,MAAM;WACtB,CAAC;UACF,OAAO,CAACD,IAAI,CAACE,KAAK,EAAER,KAAK,CAACS,MAAM,CAACJ,OAAO,CAAC,CAACb,MAAM,CAAC;;QAEnD,MAAMpB,OAAO,CAACsC,IAAI,CAACd,QAAQ,CAAC;QAC5B,OAAOM,oBAAoB,EAAE;OAC9B;MACD,OAAO,IAAI,EAAE;QACX,MAAMI,IAAI,SAAAlB,oBAAA,CAASc,oBAAoB,EAAE;QACzC,MAAMI,IAAI;;KAEb;;EAAA,OAAAhB,mBAAA,CAAAN,KAAA,OAAAC,SAAA;AAAA;MAEY0B,gBAAgB,GAAGA,CAACC,GAAG,EAAEC,QAAQ,KAC5CD,GAAG,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,CAAClC,IAAI,CAACoC,GAAG,IAAIJ,QAAQ,CAACG,IAAI,CAAC,CAACnC,IAAI,CAACZ,GAAG,IAAI,CAAC,GAAGgD,GAAG,EAAEhD,GAAG,CAAC,CAAC,CAAC,EAAEG,OAAO,CAACK,OAAO,CAAC,EAAE,CAAC;MAE9FyC,aAAa,GAAG,UAACC,EAAE,EAAkB;EAAA,IAAhBC,KAAK,GAAAnC,SAAA,CAAAO,MAAA,QAAAP,SAAA,QAAAQ,SAAA,GAAAR,SAAA,MAAG,GAAG;EAC3C,IAAIoC,OAAO;EACX,OAAO,YAAa;IAAA,SAAAC,IAAA,GAAArC,SAAA,CAAAO,MAAA,EAAT+B,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAxC,SAAA,CAAAwC,IAAA;;IACbC,YAAY,CAACL,OAAO,CAAC;IACrB,OAAO,IAAIjD,OAAO,CAACH,GAAG,IAAI;MACxBoD,OAAO,GAAGM,UAAU,CAAC,MAAM1D,GAAG,CAACkD,EAAE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAEH,KAAK,CAAC;KACpD,CAAC;GACH;AACH;;;;"}
1
+ {"version":3,"file":"promiseUtils.mjs","sources":["../src/promiseUtils.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}"],"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"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import React from 'react';
3
3
 
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1 +1 @@
1
- {"version":3,"file":"reactUtils.mjs","sources":["../src/reactUtils.jsx"],"sourcesContent":["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"],"names":["addExtraProp","element","extra","override","arguments","length","undefined","React","cloneElement","_objectSpread","props","children"],"mappings":";;;;;MAEaA,YAAY,GAAG,UAACC,OAAO,EAAEC,KAAK;EAAA,IAAEC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,oBAAKG,KAAK,CAACC,YAAY,CACjFP,OAAO,EACPE,QAAQ,GAAAM,aAAA,CAAAA,aAAA,KAAOR,OAAO,CAACS,KAAK,GAAIR,KAAK,IAAAO,aAAA,CAAAA,aAAA,KAAQP,KAAK,GAAID,OAAO,CAACS,KAAK,CAAC,EACpET,OAAO,CAACS,KAAK,CAACC,QAChB,CAAC;AAAA;;;;"}
1
+ {"version":3,"file":"reactUtils.mjs","sources":["../src/reactUtils.jsx"],"sourcesContent":["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"],"names":["addExtraProp","element","extra","override","arguments","length","undefined","React","cloneElement","_objectSpread","props","children"],"mappings":";;;;;MAEaA,YAAY,GAAG,UAACC,OAAO,EAAEC,KAAK,EAAA;AAAA,EAAA,IAAEC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAAA,EAAA,oBAAKG,KAAK,CAACC,YAAY,CACjFP,OAAO,EACPE,QAAQ,GAAAM,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAOR,OAAO,CAACS,KAAK,CAAIR,EAAAA,KAAK,CAAAO,GAAAA,aAAA,CAAAA,aAAA,CAAQP,EAAAA,EAAAA,KAAK,GAAID,OAAO,CAACS,KAAK,CAAC,EACpET,OAAO,CAACS,KAAK,CAACC,QAChB,CAAC,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduceUtils.mjs","sources":["../src/reduceUtils.jsx"],"sourcesContent":["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"],"names":["compareBest","compare","best","next","toLowest","getValue","arguments","length","undefined","_identity","toHighest"],"mappings":";;MAEaA,WAAW,GAAIC,OAAO,IAAK,CAACC,IAAI,EAACC,IAAI,KAAKD,IAAI,GAAID,OAAO,CAACC,IAAI,EAACC,IAAI,CAAC,GAAGA,IAAI,GAAGD,IAAI,GAAIC;MAEtFC,QAAQ,GAAG;EAAA,IAACC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAAG,SAAA;EAAA,OAAkBT,WAAW,CAAC,CAACE,IAAI,EAACC,IAAI,KAAME,QAAQ,CAACF,IAAI,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAAE,CAAC;AAAA;MACnGQ,SAAS,GAAG;EAAA,IAACL,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAAG,SAAA;EAAA,OAAkBT,WAAW,CAAC,CAACE,IAAI,EAACC,IAAI,KAAME,QAAQ,CAACF,IAAI,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAAE,CAAC;AAAA;;;;"}
1
+ {"version":3,"file":"reduceUtils.mjs","sources":["../src/reduceUtils.jsx"],"sourcesContent":["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"],"names":["compareBest","compare","best","next","toLowest","getValue","arguments","length","undefined","_identity","toHighest"],"mappings":";;AAEO,MAAMA,WAAW,GAAIC,OAAO,IAAK,CAACC,IAAI,EAACC,IAAI,KAAKD,IAAI,GAAID,OAAO,CAACC,IAAI,EAACC,IAAI,CAAC,GAAGA,IAAI,GAAGD,IAAI,GAAIC,KAAI;AAE1FC,MAAAA,QAAQ,GAAG,YAAA;AAAA,EAAA,IAACC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAAG,SAAA,CAAA;AAAA,EAAA,OAAkBT,WAAW,CAAC,CAACE,IAAI,EAACC,IAAI,KAAME,QAAQ,CAACF,IAAI,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAAE,CAAC,CAAA;AAAA,EAAA;AACnGQ,MAAAA,SAAS,GAAG,YAAA;AAAA,EAAA,IAACL,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAAG,SAAA,CAAA;AAAA,EAAA,OAAkBT,WAAW,CAAC,CAACE,IAAI,EAACC,IAAI,KAAME,QAAQ,CAACF,IAAI,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAAE,CAAC,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"smoothScroll.mjs","sources":["../src/smoothScroll.js"],"sourcesContent":["// @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}"],"names":["getTop","element","start","nodeName","getBoundingClientRect","top","easeInOutCubic","t","position","end","elapsed","duration","smoothScroll","el","arguments","length","undefined","callback","ctx","context","window","scrollTop","pageYOffset","offset","HTMLElement","Math","round","target","clock","Date","now","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","step","scroll","pageXOffset"],"mappings":"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"}
1
+ {"version":3,"file":"smoothScroll.mjs","sources":["../src/smoothScroll.js"],"sourcesContent":["// @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}"],"names":["getTop","element","start","nodeName","getBoundingClientRect","top","easeInOutCubic","t","position","end","elapsed","duration","smoothScroll","el","arguments","length","undefined","callback","ctx","context","window","scrollTop","pageYOffset","offset","HTMLElement","Math","round","target","clock","Date","now","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","step","scroll","pageXOffset"],"mappings":"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"}
package/lib/styled.mjs CHANGED
@@ -1,79 +1,14 @@
1
- import _identity from 'lodash/fp/identity';
2
- import 'react';
3
- import { scrollWidth } from './fixMediaQuery.mjs';
4
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
6
- import { callIfFunction } from './utils.mjs';
7
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
8
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
2
  import _find from 'lodash/fp/find';
10
- import _reverse from 'lodash/fp/reverse';
11
3
  import _isEqual from 'lodash/fp/isEqual';
12
- import _isFunction from 'lodash/fp/isFunction';
13
4
  import _get from 'lodash/fp/get';
14
- import _unset from 'lodash/fp/unset';
15
- import { darken } from 'polished';
5
+ import _identity from 'lodash/fp/identity';
6
+ import _isFunction from 'lodash/fp/isFunction';
16
7
  import styled, { css } from 'styled-components';
17
- import createEmotion from 'create-emotion';
18
- import { _s } from './lodashUtils.mjs';
19
-
20
- var _templateObject;
21
- const _excluded = ["theme"];
22
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
- const getColor = (propsOrColor, hover) => {
25
- if (propsOrColor === undefined) {
26
- return _ref => {
27
- let theme = _ref.theme;
28
- return theme.colors.gray150;
29
- };
30
- }
31
- if (typeof propsOrColor === 'string') {
32
- return _ref2 => {
33
- let theme = _ref2.theme;
34
- return theme.colors[propsOrColor] || propsOrColor;
35
- };
36
- }
37
- const theme = propsOrColor.theme,
38
- props = _objectWithoutProperties(propsOrColor, _excluded);
39
- if (props.dark) {
40
- return darken(0.1, getColor(_objectSpread({
41
- theme
42
- }, _unset('dark', props))));
43
- } else if (hover && props.hover) {
44
- return getColor({
45
- theme,
46
- color: props.hover
47
- });
48
- } else if (props.color) {
49
- return theme.colors[props.color] || props.color;
50
- } else if (props.highlight) {
51
- return theme.colors.main;
52
- } else if (props.alert) {
53
- return theme.colors.alert;
54
- } else if (props.success) {
55
- return theme.colors.success;
56
- } else {
57
- return theme.colors.gray150;
58
- }
59
- };
60
- const getMargin = enumeratedMargins => props => enumeratedMargins[props.margin] || props.margin || enumeratedMargins['default'] || 0;
61
-
62
- /**
63
- * Returns the value of `props[path]` or `defaultValue`
64
- * @example
65
- * const Button = styled.button`
66
- * color: ${prop('color', 'red')};
67
- * `
68
- */
69
- const prop = (path, defaultValue) => function () {
70
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
- return _get(path.trim(), props) || defaultValue;
72
- };
73
- const customTheme = type => function () {
74
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
- return _get(["theme", "startlibs", type], props) || '';
76
- };
8
+ import { scrollWidth } from './fixMediaQuery.mjs';
9
+ import { callIfFunction } from './utils.mjs';
10
+ import { ifPropValue } from './styledShared.mjs';
11
+ export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, oneWayAnimation, prop, twoWayAnimation, vheight } from './styledShared.mjs';
77
12
 
78
13
  /**
79
14
  * Returns `pass` if prop is truthy. Otherwise returns `fail`
@@ -92,23 +27,7 @@ const customTheme = type => function () {
92
27
  const ifProp = (path, pass, fail) => {
93
28
  if (pass && !_isFunction(pass)) {
94
29
  // old version
95
- return function () {
96
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
97
- let result = false;
98
- if (Array.isArray(path)) {
99
- result = path.every(p => testSinglePath(props, p));
100
- } else if (typeof path === 'object') {
101
- result = !Object.entries(path).find(_ref3 => {
102
- let _ref4 = _slicedToArray(_ref3, 2),
103
- k = _ref4[0],
104
- v = _ref4[1];
105
- return props[k] !== v;
106
- });
107
- } else {
108
- result = testSinglePath(props, path);
109
- }
110
- return result ? pass : fail;
111
- };
30
+ return ifPropValue(path, pass, fail);
112
31
  } else {
113
32
  return function () {
114
33
  for (var _len = arguments.length, argsTrue = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -130,10 +49,10 @@ const ifPropEquals = (path, str) => ifProp(path, _isEqual(str));
130
49
  const ifNotProp = path => ifProp(path, v => !v);
131
50
  const checkCustomScreenWidth = (sizeParis, customWidth) => {
132
51
  const currentWidth = callIfFunction(customWidth);
133
- return !sizeParis.find(_ref5 => {
134
- let _ref6 = _slicedToArray(_ref5, 2),
135
- size = _ref6[0],
136
- type = _ref6[1];
52
+ return !sizeParis.find(_ref => {
53
+ let _ref2 = _slicedToArray(_ref, 2),
54
+ size = _ref2[0],
55
+ type = _ref2[1];
137
56
  if (type === "min-width") {
138
57
  return currentWidth < size;
139
58
  }
@@ -152,10 +71,10 @@ const media = function () {
152
71
  }
153
72
  return css(["", ""], props => {
154
73
  var _props$theme, _props$theme2;
155
- return (_props$theme = props.theme) !== null && _props$theme !== void 0 && _props$theme.overrideMediaWidth ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? css(...args) : "" : css(["@media ", "{", "}"], sizePairs.map(_ref7 => {
156
- let _ref8 = _slicedToArray(_ref7, 2),
157
- size = _ref8[0],
158
- type = _ref8[1];
74
+ return (_props$theme = props.theme) !== null && _props$theme !== void 0 && _props$theme.overrideMediaWidth ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? css(...args) : "" : css(["@media ", "{", "}"], sizePairs.map(_ref3 => {
75
+ let _ref4 = _slicedToArray(_ref3, 2),
76
+ size = _ref4[0],
77
+ type = _ref4[1];
159
78
  return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
160
79
  }).join(' and '), css(...args));
161
80
  });
@@ -166,51 +85,13 @@ media.between = (min, max) => media([min, 'min-width'], [max, 'max-width']);
166
85
  media.max = n => media([n, 'max-width']);
167
86
  media.min = n => media([n, 'min-width']);
168
87
  media.desktop = media([601, 'min-width']);
169
- const vheight = (strings, size) => {
170
- const propType = strings[0];
171
- const calc = (strings[1] || "").replace(";", "").trim();
172
- return "\n ".concat(propType, " ").concat(calc ? "calc(".concat(size, "vh ").concat(calc, ")") : "".concat(size, "vh"), ";\n ").concat(propType, " ").concat(calc ? "calc(calc(var(--vh, 1vh) * ".concat(size, ") ").concat(calc, ")") : "calc(var(--vh, 1vh) * ".concat(size, ")"), ";\n ");
173
- };
174
- function testSinglePath(props, path) {
175
- if (typeof path === 'string') {
176
- return !!_s.get(path, props);
177
- } else if (typeof path === 'number') {
178
- return !!props[path];
179
- } else {
180
- return false;
181
- }
182
- }
183
- const getFrameOffset = (i, total) => Math.round(i * 100 / (total - 1));
184
- const emotion = createEmotion({
185
- nonce: typeof document !== 'undefined' && (document.querySelector('meta[property="csp-nonce"]') || {}).content || 'animation_nonce'
186
- });
187
- const oneWayAnimation = function () {
188
- for (var _len5 = arguments.length, frames = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
189
- frames[_key5] = arguments[_key5];
190
- }
191
- return emotion.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ""])), frames.map((frame, i) => !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }")));
192
- };
193
- const twoWayAnimation = function () {
194
- for (var _len6 = arguments.length, frames = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
195
- frames[_key6] = arguments[_key6];
196
- }
197
- return [frames, _reverse(frames)].map(frames => oneWayAnimation(...frames));
198
- };
199
- const animationTiming = props => function () {
200
- for (var _len7 = arguments.length, animations = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
201
- animations[_key7] = arguments[_key7];
202
- }
203
- return animations.filter(_ => _).map(_ => _ + ' ' + props).join(',');
204
- };
205
- const identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
206
- const identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
207
- const styledExtend = _ref9 => {
208
- let target = _ref9.target,
209
- componentStyle = _ref9.componentStyle;
88
+ const styledExtend = _ref5 => {
89
+ let target = _ref5.target,
90
+ componentStyle = _ref5.componentStyle;
210
91
  return function () {
211
92
  const wasStatic = !_find(_isFunction, componentStyle.rules);
212
- for (var _len8 = arguments.length, template = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
213
- template[_key8] = arguments[_key8];
93
+ for (var _len5 = arguments.length, template = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
94
+ template[_key5] = arguments[_key5];
214
95
  }
215
96
  const v = /*#__PURE__*/styled(target)(...template, ...(wasStatic ? [] : [() => ""]));
216
97
  v.componentStyle.rules = [...componentStyle.rules, ...v.componentStyle.rules];
@@ -218,17 +99,17 @@ const styledExtend = _ref9 => {
218
99
  };
219
100
  };
220
101
  const printerMedia = function () {
221
- for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
222
- args[_key9] = arguments[_key9];
102
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
103
+ args[_key6] = arguments[_key6];
223
104
  }
224
105
  return props => props.theme.printMode ? css(...args) : css(["@media print{", "}"], css(...args));
225
106
  };
226
107
  const notPrinterMedia = function () {
227
- for (var _len0 = arguments.length, args = new Array(_len0), _key0 = 0; _key0 < _len0; _key0++) {
228
- args[_key0] = arguments[_key0];
108
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
109
+ args[_key7] = arguments[_key7];
229
110
  }
230
111
  return props => props.theme.printMode ? '' : css(["@media screen{", "}"], css(...args));
231
112
  };
232
113
 
233
- export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, ifNotProp, ifProp, ifPropEquals, media, notPrinterMedia, oneWayAnimation, printerMedia, prop, styledExtend, twoWayAnimation, vheight };
114
+ export { ifNotProp, ifProp, ifPropEquals, media, notPrinterMedia, printerMedia, styledExtend };
234
115
  //# sourceMappingURL=styled.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.mjs","sources":["../src/styled.js"],"sourcesContent":["// @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)} }`"],"names":["getColor","propsOrColor","hover","undefined","_ref","theme","colors","gray150","_ref2","props","_objectWithoutProperties","_excluded","dark","darken","_objectSpread","_unset","color","highlight","main","alert","success","getMargin","enumeratedMargins","margin","prop","path","defaultValue","arguments","length","_get","trim","customTheme","type","ifProp","pass","fail","_isFunction","result","Array","isArray","every","p","testSinglePath","Object","entries","find","_ref3","_ref4","_slicedToArray","k","v","_len","argsTrue","_key","check","_identity","fn","css","orElse","_len2","argsFalse","_key2","ifPropEquals","str","_isEqual","ifNotProp","checkCustomScreenWidth","sizeParis","customWidth","currentWidth","callIfFunction","_ref5","_ref6","size","media","_len3","sizePairs","_key3","_len4","args","_key4","_props$theme","_props$theme2","overrideMediaWidth","map","_ref7","_ref8","concat","scrollWidth","join","mobile","between","min","max","n","desktop","vheight","strings","propType","calc","replace","_s","get","getFrameOffset","i","total","Math","round","emotion","createEmotion","nonce","document","querySelector","content","oneWayAnimation","_len5","frames","_key5","keyframes","_templateObject","_taggedTemplateLiteral","frame","twoWayAnimation","_len6","_key6","_reverse","animationTiming","_len7","animations","_key7","filter","_","identityTranslateFrames","identityOpacityFrames","styledExtend","_ref9","target","componentStyle","wasStatic","_find","rules","_len8","template","_key8","styled","printerMedia","_len9","_key9","printMode","notPrinterMedia","_len0","_key0"],"mappings":"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"}
1
+ {"version":3,"file":"styled.mjs","sources":["../src/styled.js"],"sourcesContent":["/* @startlibs-yak keep-styled-components */\n// @flow\n// Na lib-yak, este arquivo é trocado por styled.yak.js (sem styled-components).\nimport _ from 'lodash/fp'\nimport styled, {css} from 'styled-components'\nimport {scrollWidth} from './fixMediaQuery'\nimport {callIfFunction} from './utils'\nimport {ifPropValue} from './styledShared'\n\nexport {getColor, getMargin, prop, customTheme, vheight, oneWayAnimation, twoWayAnimation, animationTiming, identityTranslateFrames, identityOpacityFrames} from './styledShared'\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 ifPropValue(path, pass, fail)\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 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)} }`"],"names":["ifProp","path","pass","fail","_isFunction","ifPropValue","_len","arguments","length","argsTrue","Array","_key","check","_identity","fn","props","_get","css","orElse","_len2","argsFalse","_key2","ifPropEquals","str","_isEqual","ifNotProp","v","checkCustomScreenWidth","sizeParis","customWidth","currentWidth","callIfFunction","find","_ref","_ref2","_slicedToArray","size","type","media","_len3","sizePairs","_key3","_len4","args","_key4","_props$theme","_props$theme2","theme","overrideMediaWidth","map","_ref3","_ref4","concat","scrollWidth","join","mobile","between","min","max","n","desktop","styledExtend","_ref5","target","componentStyle","wasStatic","_find","rules","_len5","template","_key5","styled","printerMedia","_len6","_key6","printMode","notPrinterMedia","_len7","_key7"],"mappings":"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"}