@startlibs/utils 1.1.2 → 1.2.0-rc.1
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 +4 -4
- package/lib/ActionUtils.mjs.map +1 -1
- package/lib/FetchUtils.mjs.map +1 -1
- package/lib/animationKeyframes.mjs +11 -0
- package/lib/animationKeyframes.mjs.map +1 -0
- package/lib/createPressEvent.mjs +1 -1
- package/lib/createPressEvent.mjs.map +1 -1
- package/lib/fixMediaQuery.mjs +43 -17
- package/lib/fixMediaQuery.mjs.map +1 -1
- package/lib/fixMediaText.mjs +16 -0
- package/lib/fixMediaText.mjs.map +1 -0
- package/lib/formatDate.mjs.map +1 -1
- package/lib/formatUtils.mjs +2 -2
- package/lib/formatUtils.mjs.map +1 -1
- package/lib/getClosestOffsetScroll.mjs.map +1 -1
- package/lib/hooks/useEventListener.mjs.map +1 -1
- package/lib/index.cjs +311 -199
- package/lib/index.cjs.map +1 -1
- package/lib/index.mjs +5 -3
- package/lib/index.mjs.map +1 -1
- package/lib/insertKeyframes.mjs +68 -0
- package/lib/insertKeyframes.mjs.map +1 -0
- package/lib/lodashUtils.mjs +6 -6
- package/lib/lodashUtils.mjs.map +1 -1
- package/lib/promiseUtils.mjs.map +1 -1
- package/lib/reactUtils.mjs +1 -1
- package/lib/reactUtils.mjs.map +1 -1
- package/lib/reduceUtils.mjs.map +1 -1
- package/lib/smoothScroll.mjs.map +1 -1
- package/lib/styled.mjs +25 -144
- package/lib/styled.mjs.map +1 -1
- package/lib/styledShared.mjs +125 -0
- package/lib/styledShared.mjs.map +1 -0
- package/lib/timeUtils.mjs +1 -1
- package/lib/timeUtils.mjs.map +1 -1
- package/lib/timerUtils.mjs +0 -1
- package/lib/timerUtils.mjs.map +1 -1
- package/lib/utils.mjs +1 -1
- package/lib/utils.mjs.map +1 -1
- package/lib/wrapLazy.mjs +2 -2
- package/lib/wrapLazy.mjs.map +1 -1
- package/lib/yakDomTag.mjs +44 -0
- package/lib/yakDomTag.mjs.map +1 -0
- package/lib-yak/ActionUtils.mjs +117 -0
- package/lib-yak/ActionUtils.mjs.map +1 -0
- package/lib-yak/FetchUtils.mjs +100 -0
- package/lib-yak/FetchUtils.mjs.map +1 -0
- package/lib-yak/animationKeyframes.mjs +31 -0
- package/lib-yak/animationKeyframes.mjs.map +1 -0
- package/lib-yak/createPressEvent.mjs +74 -0
- package/lib-yak/createPressEvent.mjs.map +1 -0
- package/lib-yak/fixMediaQuery.mjs +90 -0
- package/lib-yak/fixMediaQuery.mjs.map +1 -0
- package/lib-yak/fixMediaText.mjs +16 -0
- package/lib-yak/fixMediaText.mjs.map +1 -0
- package/lib-yak/formatDate.mjs +110 -0
- package/lib-yak/formatDate.mjs.map +1 -0
- package/lib-yak/formatUtils.mjs +64 -0
- package/lib-yak/formatUtils.mjs.map +1 -0
- package/lib-yak/getClosestOffsetScroll.mjs +15 -0
- package/lib-yak/getClosestOffsetScroll.mjs.map +1 -0
- package/lib-yak/hooks/useEventListener.mjs +27 -0
- package/lib-yak/hooks/useEventListener.mjs.map +1 -0
- package/lib-yak/index.mjs +21 -0
- package/lib-yak/index.mjs.map +1 -0
- package/lib-yak/insertKeyframes.mjs +68 -0
- package/lib-yak/insertKeyframes.mjs.map +1 -0
- package/lib-yak/lodashUtils.mjs +131 -0
- package/lib-yak/lodashUtils.mjs.map +1 -0
- package/lib-yak/promiseUtils.mjs +92 -0
- package/lib-yak/promiseUtils.mjs.map +1 -0
- package/lib-yak/reactUtils.mjs +12 -0
- package/lib-yak/reactUtils.mjs.map +1 -0
- package/lib-yak/reduceUtils.mjs +14 -0
- package/lib-yak/reduceUtils.mjs.map +1 -0
- package/lib-yak/smoothScroll.mjs +59 -0
- package/lib-yak/smoothScroll.mjs.map +1 -0
- package/lib-yak/styled.mjs +23 -0
- package/lib-yak/styled.mjs.map +1 -0
- package/lib-yak/styledShared.mjs +129 -0
- package/lib-yak/styledShared.mjs.map +1 -0
- package/lib-yak/timeUtils.mjs +81 -0
- package/lib-yak/timeUtils.mjs.map +1 -0
- package/lib-yak/timerUtils.mjs +10 -0
- package/lib-yak/timerUtils.mjs.map +1 -0
- package/lib-yak/utils.mjs +386 -0
- package/lib-yak/utils.mjs.map +1 -0
- package/lib-yak/wrapLazy.mjs +132 -0
- package/lib-yak/wrapLazy.mjs.map +1 -0
- package/lib-yak/yakDomTag.mjs +44 -0
- package/lib-yak/yakDomTag.mjs.map +1 -0
- package/package.json +14 -3
- package/src/animationKeyframes.js +10 -0
- package/src/animationKeyframes.test.mjs +75 -0
- package/src/animationKeyframes.yak.js +30 -0
- package/src/fixMediaQuery.js +40 -19
- package/src/fixMediaText.js +18 -0
- package/src/fixMediaText.test.mjs +60 -0
- package/src/index.js +1 -0
- package/src/insertKeyframes.js +73 -0
- package/src/insertKeyframes.test.mjs +144 -0
- package/src/styled.js +5 -97
- package/src/styled.yak.js +30 -0
- package/src/styledShared.js +96 -0
- package/src/timerUtils.jsx +0 -2
- package/src/yakDomTag.jsx +42 -0
- package/src/yakDomTag.test.mjs +49 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
3
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
|
+
import _reverse from 'lodash/fp/reverse';
|
|
6
|
+
import _get from 'lodash/fp/get';
|
|
7
|
+
import _unset from 'lodash/fp/unset';
|
|
8
|
+
import { darken } from 'polished';
|
|
9
|
+
import { animationKeyframes } from './animationKeyframes.mjs';
|
|
10
|
+
import { _s } from './lodashUtils.mjs';
|
|
11
|
+
|
|
12
|
+
var _templateObject;
|
|
13
|
+
const _excluded = ["theme"];
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
const getColor = (propsOrColor, hover) => {
|
|
17
|
+
if (propsOrColor === undefined) {
|
|
18
|
+
return _ref => {
|
|
19
|
+
let theme = _ref.theme;
|
|
20
|
+
return theme.colors.gray150;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (typeof propsOrColor === 'string') {
|
|
24
|
+
return _ref2 => {
|
|
25
|
+
let theme = _ref2.theme;
|
|
26
|
+
return theme.colors[propsOrColor] || propsOrColor;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const theme = propsOrColor.theme,
|
|
30
|
+
props = _objectWithoutProperties(propsOrColor, _excluded);
|
|
31
|
+
if (props.dark) {
|
|
32
|
+
return darken(0.1, getColor(_objectSpread({
|
|
33
|
+
theme
|
|
34
|
+
}, _unset('dark', props))));
|
|
35
|
+
} else if (hover && props.hover) {
|
|
36
|
+
return getColor({
|
|
37
|
+
theme,
|
|
38
|
+
color: props.hover
|
|
39
|
+
});
|
|
40
|
+
} else if (props.color) {
|
|
41
|
+
return theme.colors[props.color] || props.color;
|
|
42
|
+
} else if (props.highlight) {
|
|
43
|
+
return theme.colors.main;
|
|
44
|
+
} else if (props.alert) {
|
|
45
|
+
return theme.colors.alert;
|
|
46
|
+
} else if (props.success) {
|
|
47
|
+
return theme.colors.success;
|
|
48
|
+
} else {
|
|
49
|
+
return theme.colors.gray150;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const getMargin = enumeratedMargins => props => enumeratedMargins[props.margin] || props.margin || enumeratedMargins['default'] || 0;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Returns the value of `props[path]` or `defaultValue`
|
|
56
|
+
* @example
|
|
57
|
+
* const Button = styled.button`
|
|
58
|
+
* color: ${prop('color', 'red')};
|
|
59
|
+
* `
|
|
60
|
+
*/
|
|
61
|
+
const prop = (path, defaultValue) => function () {
|
|
62
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
63
|
+
return _get(path.trim(), props) || defaultValue;
|
|
64
|
+
};
|
|
65
|
+
const customTheme = type => function () {
|
|
66
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
67
|
+
return _get(["theme", "startlibs", type], props) || '';
|
|
68
|
+
};
|
|
69
|
+
const vheight = (strings, size) => {
|
|
70
|
+
const propType = strings[0];
|
|
71
|
+
const calc = (strings[1] || "").replace(";", "").trim();
|
|
72
|
+
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 ");
|
|
73
|
+
};
|
|
74
|
+
const getFrameOffset = (i, total) => Math.round(i * 100 / (total - 1));
|
|
75
|
+
const oneWayAnimation = function () {
|
|
76
|
+
for (var _len = arguments.length, frames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
77
|
+
frames[_key] = arguments[_key];
|
|
78
|
+
}
|
|
79
|
+
return animationKeyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ""])), frames.map((frame, i) => !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }")));
|
|
80
|
+
};
|
|
81
|
+
const twoWayAnimation = function () {
|
|
82
|
+
for (var _len2 = arguments.length, frames = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
83
|
+
frames[_key2] = arguments[_key2];
|
|
84
|
+
}
|
|
85
|
+
return [frames, _reverse(frames)].map(frames => oneWayAnimation(...frames));
|
|
86
|
+
};
|
|
87
|
+
const animationTiming = props => function () {
|
|
88
|
+
for (var _len3 = arguments.length, animations = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
89
|
+
animations[_key3] = arguments[_key3];
|
|
90
|
+
}
|
|
91
|
+
return animations.filter(_ => _).map(_ => _ + ' ' + props).join(',');
|
|
92
|
+
};
|
|
93
|
+
const identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
|
|
94
|
+
const identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
|
|
95
|
+
function testSinglePath(props, path) {
|
|
96
|
+
if (typeof path === 'string') {
|
|
97
|
+
return !!_s.get(path, props);
|
|
98
|
+
} else if (typeof path === 'number') {
|
|
99
|
+
return !!props[path];
|
|
100
|
+
} else {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// ifProp na forma antiga (valor pronto, não template): devolve pass ou fail
|
|
106
|
+
const ifPropValue = (path, pass, fail) => function () {
|
|
107
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
108
|
+
let result = false;
|
|
109
|
+
if (Array.isArray(path)) {
|
|
110
|
+
result = path.every(p => testSinglePath(props, p));
|
|
111
|
+
} else if (typeof path === 'object') {
|
|
112
|
+
result = !Object.entries(path).find(_ref3 => {
|
|
113
|
+
let _ref4 = _slicedToArray(_ref3, 2),
|
|
114
|
+
k = _ref4[0],
|
|
115
|
+
v = _ref4[1];
|
|
116
|
+
return props[k] !== v;
|
|
117
|
+
});
|
|
118
|
+
} else {
|
|
119
|
+
result = testSinglePath(props, path);
|
|
120
|
+
}
|
|
121
|
+
return result ? pass : fail;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export { animationTiming, customTheme, getColor, getMargin, identityOpacityFrames, identityTranslateFrames, ifPropValue, oneWayAnimation, prop, twoWayAnimation, vheight };
|
|
125
|
+
//# sourceMappingURL=styledShared.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styledShared.mjs","sources":["../src/styledShared.js"],"sourcesContent":["// Helpers de estilo que não dependem de styled-components: valem na lib/ e na lib-yak/.\nimport _ from 'lodash/fp'\nimport {darken} from 'polished'\nimport {animationKeyframes} from './animationKeyframes'\nimport {_s} from './lodashUtils'\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\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\nconst getFrameOffset = (i,total) => Math.round(i*100/(total-1))\n\n\nexport const oneWayAnimation = (...frames) => {\n return animationKeyframes`\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\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\n// ifProp na forma antiga (valor pronto, não template): devolve pass ou fail\nexport const ifPropValue = (path, pass, fail) => (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"],"names":["_templateObject","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","getColor","propsOrColor","hover","undefined","_ref","theme","colors","gray150","_ref2","props","_objectWithoutProperties","dark","darken","_unset","color","highlight","main","alert","success","getMargin","enumeratedMargins","margin","prop","path","defaultValue","_get","trim","customTheme","type","vheight","strings","size","propType","calc","replace","concat","getFrameOffset","i","total","Math","round","oneWayAnimation","_len","frames","Array","_key","animationKeyframes","_taggedTemplateLiteral","map","frame","twoWayAnimation","_len2","_key2","_reverse","animationTiming","_len3","animations","_key3","_","join","identityTranslateFrames","identityOpacityFrames","testSinglePath","_s","get","ifPropValue","pass","fail","result","isArray","every","p","entries","find","_ref3","_ref4","_slicedToArray","k","v"],"mappings":"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"}
|
package/lib/timeUtils.mjs
CHANGED
package/lib/timeUtils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.mjs","sources":["../src/timeUtils.jsx"],"sourcesContent":["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"],"names":["SECOND","MINUTE","HOUR","DAY","WEEK","MONTH","YEAR","getStartOfDay","d","utc","arguments","length","undefined","date","Date","setUTCHours","setHours","isSameDay","a","b","getTime","intervalsIntersect","_ref","_ref2","_ref3","_slicedToArray","a1","a2","_ref4","b1","b2","intervalsIntersectExclusive","_ref5","_ref6","_ref7","_ref8","intervalsIntersection","Math","max","min","diffIntervals","_ref9","_ref0","_ref1","_ref10","blockDiffIntervals","startBlockDiffIntervals"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"timeUtils.mjs","sources":["../src/timeUtils.jsx"],"sourcesContent":["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"],"names":["SECOND","MINUTE","HOUR","DAY","WEEK","MONTH","YEAR","getStartOfDay","d","utc","arguments","length","undefined","date","Date","setUTCHours","setHours","isSameDay","a","b","getTime","intervalsIntersect","_ref","_ref2","_ref3","_slicedToArray","a1","a2","_ref4","b1","b2","intervalsIntersectExclusive","_ref5","_ref6","_ref7","_ref8","intervalsIntersection","Math","max","min","diffIntervals","_ref9","_ref0","_ref1","_ref10","blockDiffIntervals","startBlockDiffIntervals"],"mappings":"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"}
|
package/lib/timerUtils.mjs
CHANGED
package/lib/timerUtils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timerUtils.mjs","sources":["../src/timerUtils.jsx"],"sourcesContent":["import React from 'react'\
|
|
1
|
+
{"version":3,"file":"timerUtils.mjs","sources":["../src/timerUtils.jsx"],"sourcesContent":["import React from 'react'\n\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"],"names":["timerPromise","time","Promise","res","setTimeout","cancelableTimer","v","clearTimeout"],"mappings":";;MAEaA,YAAY,GAAIC,IAAI,IAAK,IAAIC,OAAO,CAAEC,GAAG,IAAKC,UAAU,CAACD,GAAG,EAACF,IAAI,CAAC,EAAC;MAEnEI,eAAe,GAAGA,CAACF,GAAG,EAACF,IAAI,KAAK;AAC3C,EAAA,MAAMK,CAAC,GAAGF,UAAU,CAACD,GAAG,EAACF,IAAI,CAAC,CAAA;AAC9B,EAAA,OAAO,MAAMM,YAAY,CAACD,CAAC,CAAC,CAAA;AAC9B;;;;"}
|
package/lib/utils.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { scrollWidth } from './fixMediaQuery.mjs';
|
|
2
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
2
|
import _fromPairs from 'lodash/fp/fromPairs';
|
|
4
3
|
import _isFinite from 'lodash/fp/isFinite';
|
|
4
|
+
import { scrollWidth } from './fixMediaQuery.mjs';
|
|
5
5
|
|
|
6
6
|
const formatPath = function () {
|
|
7
7
|
for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../src/utils.jsx"],"sourcesContent":["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}"],"names":["formatPath","_len","arguments","length","paths","Array","_key","map","path","isArray","join","toString","replace","filter","_","identityFn","n","undefined","_len2","e","_key2","will","fn","_len3","props","_key3","_len4","more","_key4","lazyValue","v","callIfFunction","prop","_len5","args","_key5","callIfFunctions","_len6","_key6","callMany","_len7","many","_key7","_len8","_key8","ifUndefined","_len9","or","_key9","slice","using","_len0","_key0","stopPropagation","cb","preventDefault","constrainEvent","mapGetOrSet","key","value","has","set","get","intToHour","hour","autoFill","h","m","parseInt","formatHour","_isFinite","willRafThrottle","ticking","window","requestAnimationFrame","rafThrottle","throttle","intsToHour","_ref","open","close","isSmallDevice","width","smallDeviceQuery","matchMedia","concat","scrollWidth","matches","isHighDensity","devicePixelRatio","isRetina","test","navigator","userAgent","isMobile","ua","isAndroid","isiOS","isIPadOS","platform","maxTouchPoints","userAgentData","isPWA","hasWebviewBridge","isTouchDevice","document","documentElement","isIOS","isIPad","match","getNumberInputType2","getNumberInputType","addHttp","s","secure","trim","indexOf","protocols","subdomains","domain","resource","linkRegex","RegExp","isUrl","url","ellipsis","str","words","split","safeNewLineToBr","keepMany","result","padGroups","pattern","reduce","_ref2","char","i","_ref3","_slicedToArray","acc","shouldHave","search","digitsToPattern","patternWithLimit","optValue","Number","digits","totalRequired","totalOptional","available","Math","max","normalizeTouch","endFn","touch","touches","type","normalizeMouse","buttons","normalizePress","touchClick","sensibility","_e$touches","target","originalX","screenX","originalY","screenY","isInsideBounds","sqrt","pow","checkBounds","changedTouches","maybeClick","_e$changedTouches","removeEventListener","addEventListener","isEmptyHtml","__html","a","createElement","innerHTML","textContent","getScrollParent","node","overflowY","getComputedStyle","isScrollable","scrollHeight","clientHeight","offsetParent","scrollIntoViewWithOffset","el","offset","scrollOffset","scrollY","pageYOffset","scrollTop","elTop","getBoundingClientRect","top","computedOffset","y","scrollTo","behavior","isElementInView","element","nodeType","html","rect","IntersectionObserver","Promise","resolve","o","_ref4","_ref5","entry","intersectionRatio","disconnect","observe","bottom","right","left","clientWidth","getUID","Date","now","random","getUrlParams","_fromPairs","from","URLSearchParams","location","entries","isShallowEqualSameKeys","b","isShallowEqual"],"mappings":";;;;;MAGaA,UAAU,GAAG;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,KAAK,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAALF,KAAK,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;;EAAA,OAAKF,KAAK,CAACG,GAAG,CAACC,IAAI,IAAEH,KAAK,CAACI,OAAO,CAACD,IAAI,CAAC,GAAGA,IAAI,CAACE,IAAI,CAAC,GAAG,CAAC,GAAKF,IAAI,GAAGA,IAAI,CAACG,QAAQ,EAAE,CAACC,OAAO,CAAC,KAAK,EAAC,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAACA,OAAO,CAAC,IAAI,EAAC,EAAE,CAAC,GAAG,EAAG,CAAC,CAACC,MAAM,CAACC,CAAC,IAAEA,CAAC,CAAC,CAACJ,IAAI,CAAC,GAAG,CAAC;AAAA;MAE9LK,UAAU,GAAG;EAAA,IAACC,CAAC,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAC,CAAC;EAAA,OAAK;IAAA,SAAAgB,KAAA,GAAAhB,SAAA,CAAAC,MAAA,EAAIgB,CAAC,OAAAd,KAAA,CAAAa,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;MAADD,CAAC,CAAAC,KAAA,IAAAlB,SAAA,CAAAkB,KAAA;;IAAA,OAAKD,CAAC,CAACH,CAAC,CAAC;;AAAA;MAEpCK,IAAI,GAAG,UAACC,EAAE;EAAA,SAAAC,KAAA,GAAArB,SAAA,CAAAC,MAAA,EAAIqB,KAAK,OAAAnB,KAAA,CAAAkB,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAALD,KAAK,CAAAC,KAAA,QAAAvB,SAAA,CAAAuB,KAAA;;EAAA,OAAK;IAAA,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EAAIwB,IAAI,OAAAtB,KAAA,CAAAqB,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;MAAJD,IAAI,CAAAC,KAAA,IAAA1B,SAAA,CAAA0B,KAAA;;IAAA,OAAKN,EAAE,CAAC,GAAGE,KAAK,EAAC,GAAGG,IAAI,CAAC;;AAAA;MAEzDE,SAAS,GAAIC,CAAC,IAAK,MAAMA;MACzBC,cAAc,GAAG,UAACC,IAAI;EAAA,SAAAC,KAAA,GAAA/B,SAAA,CAAAC,MAAA,EAAI+B,IAAI,OAAA7B,KAAA,CAAA4B,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAJD,IAAI,CAAAC,KAAA,QAAAjC,SAAA,CAAAiC,KAAA;;EAAA,OAAK,OAAOH,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC,GAAGE,IAAI,CAAC,GAAGF,IAAI;AAAA;MACpFI,eAAe,GAAG,UAACJ,IAAI;EAAA,SAAAK,KAAA,GAAAnC,SAAA,CAAAC,MAAA,EAAI+B,IAAI,OAAA7B,KAAA,CAAAgC,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJJ,IAAI,CAAAI,KAAA,QAAApC,SAAA,CAAAoC,KAAA;;EAAA,OAAK,OAAON,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC,GAAGE,IAAI,CAAC3B,GAAG,CAAEY,CAAC,IAAGY,cAAc,CAACZ,CAAC,CAAC,CAAC,CAAC,GAAGa,IAAI;AAAA;MACjHO,QAAQ,GAAG;EAAA,SAAAC,KAAA,GAAAtC,SAAA,CAAAC,MAAA,EAAIsC,IAAI,OAAApC,KAAA,CAAAmC,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAJD,IAAI,CAAAC,KAAA,IAAAxC,SAAA,CAAAwC,KAAA;;EAAA,OAAK;IAAA,SAAAC,KAAA,GAAAzC,SAAA,CAAAC,MAAA,EAAI+B,IAAI,OAAA7B,KAAA,CAAAsC,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJV,IAAI,CAAAU,KAAA,IAAA1C,SAAA,CAAA0C,KAAA;;IAAA,OAAKH,IAAI,CAAClC,GAAG,CAACO,CAAC,IAAGiB,cAAc,CAACjB,CAAC,EAAC,GAAGoB,IAAI,CAAC,CAAC;;AAAA;MAC5EW,WAAW,GAAG,UAACf,CAAC;EAAA,SAAAgB,KAAA,GAAA5C,SAAA,CAAAC,MAAA,EAAI4C,EAAE,OAAA1C,KAAA,CAAAyC,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAFD,EAAE,CAAAC,KAAA,QAAA9C,SAAA,CAAA8C,KAAA;;EAAA,OAAKlB,CAAC,KAAKb,SAAS,GAAIa,CAAC,GAAIiB,EAAE,CAAC5C,MAAM,KAAK,CAAC,GAAG4C,EAAE,CAAC,CAAC,CAAC,GAAGF,WAAW,CAACE,EAAE,CAAC,CAAC,CAAC,EAAC,GAAGA,EAAE,CAACE,KAAK,CAAC,CAAC,CAAC,CAAE;AAAA;MAC/GC,KAAK,GAAG;EAAA,SAAAC,KAAA,GAAAjD,SAAA,CAAAC,MAAA,EAAI2B,CAAC,OAAAzB,KAAA,CAAA8C,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAADtB,CAAC,CAAAsB,KAAA,IAAAlD,SAAA,CAAAkD,KAAA;;EAAA,OAAM9B,EAAE,IAAKA,EAAE,CAAC,GAAGQ,CAAC,CAACvB,GAAG,CAAEuB,CAAC,IAAKC,cAAc,CAACD,CAAC,CAAC,CAAC,CAAC;AAAA;MAEhEuB,eAAe,GAAIC,EAAE,IAAMnC,CAAC,IAAK;EAAGA,CAAC,IAAIA,CAAC,CAACkC,eAAe,IAAIlC,CAAC,CAACkC,eAAe,EAAE;EAAGtB,cAAc,CAACuB,EAAE,EAACnC,CAAC,CAAC;AAAC;MACzGoC,cAAc,GAAID,EAAE,IAAMnC,CAAC,IAAK;EAAGA,CAAC,IAAIA,CAAC,CAACoC,cAAc,IAAIpC,CAAC,CAACoC,cAAc,EAAE;EAAGxB,cAAc,CAACuB,EAAE,EAACnC,CAAC,CAAC;AAAC;MACtGqC,cAAc,GAAIF,EAAE,IAAMnC,CAAC,IAAK;EAAEA,CAAC,aAADA,CAAC,eAADA,CAAC,CAAEoC,cAAc,EAAE;EAAEpC,CAAC,CAACkC,eAAe,EAAE;EAAEtB,cAAc,CAACuB,EAAE,EAACnC,CAAC,CAAC;AAAC;MAEjGsC,WAAW,GAAGA,CAAClD,GAAG,EAACmD,GAAG,EAACC,KAAK,KAAK,CAACpD,GAAG,CAACqD,GAAG,CAACF,GAAG,CAAC,GAAGnD,GAAG,GAAGA,GAAG,CAACsD,GAAG,CAACH,GAAG,EAAEC,KAAK,CAAC,EAAEG,GAAG,CAACJ,GAAG;MAEnFK,SAAS,GAAG,UAACC,IAAI,EAAsB;EAAA,IAApBC,QAAQ,GAAA/D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG,IAAI;EAC7C,IAAI8D,IAAI,KAAK/C,SAAS,IAAI+C,IAAI,KAAK,IAAI,EAAE,OAAO,EAAE;EAClD,IAAIA,IAAI,KAAK,CAAC,EAAE;IAAE,OAAO,OAAO;;;;;EAIhC,MAAME,CAAC,GAAGF,IAAI,CAACrD,QAAQ,EAAE,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAACqC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACvD,MAAMkB,CAAC,GAAGH,IAAI,CAACrD,QAAQ,EAAE,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAACqC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,IAAIlB,cAAc,CAACkC,QAAQ,EAACD,IAAI,CAAC,EAAE;IACjC,OAAO,CAAC,KAAK,IAAIE,CAAC,GAAGE,QAAQ,CAACF,CAAC,EAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAGC,CAAC,EAAElB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACrC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;;EAEhG,IAAIsD,CAAC,EAAE,OAAO,CAACE,QAAQ,CAACF,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAGA,CAAC,CAACjB,KAAK,CAAC,CAAC,CAAC,GAAGiB,CAAC,IAAI,GAAG,GAAGC,CAAC;EAC/D,OAAOA,CAAC;AACV;MACaE,UAAU,GAAG,YAAe;EAAA,IAAdL,IAAI,GAAA9D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG,EAAE;EAClC,IAAI,CAAC8D,IAAI,EAAE;IAAE,OAAO,EAAE;;EACtB,MAAME,CAAC,GAAGF,IAAI,CAACrD,QAAQ,EAAE,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAACqC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACvD,MAAMkB,CAAC,GAAGH,IAAI,CAACrD,QAAQ,EAAE,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAACqC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,IAAI,CAACiB,CAAC,IAAIE,QAAQ,CAACD,CAAC,CAAC,GAAG,EAAE,IAAI,CAACG,SAAA,CAAWN,IAAI,CAAC,EAAE;IAC/C,OAAOG,CAAC,GAAC,KAAK;GACf,MAAM,IAAID,CAAC,EAAE;IACZ,OAAO,CAACE,QAAQ,CAACF,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAGA,CAAC,CAACjB,KAAK,CAAC,CAAC,CAAC,GAAGiB,CAAC,IAAI,GAAG,GAAGC,CAAC;;EAE1D,OAAO,CAAC,KAAK,GAAGH,IAAI,CAACrD,QAAQ,EAAE,CAACC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,EAAEqC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACrC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;AAC7F;MAGa2D,eAAe,GAAGA,MAAM;EACnC,IAAIC,OAAO,GAAG,KAAK;EACnB,OAAQlD,EAAE,IAAK;IACb,IAAI,CAACkD,OAAO,EAAE;MACZC,MAAM,CAACC,qBAAqB,CAAC,MAAM;QACjCpD,EAAE,EAAE;QACJkD,OAAO,GAAG,KAAK;OAChB,CAAC;MACFA,OAAO,GAAG,IAAI;;GAEjB;AACH;MAEaG,WAAW,GAAIrD,EAAE,IAAK;EACjC,MAAMsD,QAAQ,GAAGL,eAAe,EAAE;EAClC,OAAO,MAAM;IACXK,QAAQ,CAACtD,EAAE,CAAC;GACb;AACH;MAEauD,UAAU,GAAGC,IAAA;EAAA,IAAEC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAAA,OAAMjB,SAAS,CAACgB,IAAI,CAAC,GAAG,KAAK,GAAGhB,SAAS,CAACiB,KAAK,CAAC;AAAA;AAEhF,SAASC,aAAaA,GAAY;EAAA,IAAXC,KAAK,GAAAhF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAC,GAAG;EACrC,MAAMiF,gBAAgB,GAAGV,MAAM,CAACW,UAAU,GAAGX,MAAM,CAACW,UAAU,gBAAAC,MAAA,CAAiBH,KAAK,GAACI,WAAW,QAAM,CAAC,GAAG;IAACC,OAAO,EAAC;GAAM;EACzH,OAAOJ,gBAAgB,CAACI,OAAO;AACjC;AAEO,SAASC,aAAaA,GAAG;EAC9B,OAASf,MAAM,CAACW,UAAU,KAAKX,MAAM,CAACW,UAAU,CAAC,iIAAiI,CAAC,CAACG,OAAO,IAAId,MAAM,CAACW,UAAU,CAAC,8MAA8M,CAAC,CAACG,OAAO,CAAC,IAAMd,MAAM,CAACgB,gBAAgB,IAAIhB,MAAM,CAACgB,gBAAgB,GAAG,GAAI;AAC1e;AAEO,SAASC,QAAQA,GAAG;EACzB,OAAO,CAAEjB,MAAM,CAACW,UAAU,KAAKX,MAAM,CAACW,UAAU,CAAC,+HAA+H,CAAC,CAACG,OAAO,IAAId,MAAM,CAACW,UAAU,CAAC,sMAAsM,CAAC,CAACG,OAAO,CAAC,IAAMd,MAAM,CAACgB,gBAAgB,IAAIhB,MAAM,CAACgB,gBAAgB,IAAI,CAAE,KAAK,qBAAqB,CAACE,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC;AACnhB;AAEO,SAASC,QAAQA,GAAG;EACzB,IAAI,OAAOF,SAAS,KAAK,WAAW,EAAE,OAAO,KAAK;EAElD,MAAMG,EAAE,GAAGH,SAAS,CAACC,SAAS;EAE9B,MAAMG,SAAS,GAAG,UAAU,CAACL,IAAI,CAACI,EAAE,CAAC;EACrC,MAAME,KAAK,GAAG,mBAAmB,CAACN,IAAI,CAACI,EAAE,CAAC;;;EAG1C,MAAMG,QAAQ,GACZN,SAAS,CAACO,QAAQ,KAAK,UAAU,IAAIP,SAAS,CAACQ,cAAc,GAAG,CAAC;EAEnE,OAAOJ,SAAS,IAAIC,KAAK,IAAIC,QAAQ;AACvC;AACO,SAASF,SAASA,GAAG;EAC1B,IAAIJ,SAAS,CAACS,aAAa,EAAE;IAC3B,OAAOT,SAAS,CAACS,aAAa,CAACF,QAAQ,KAAK,SAAS;;EAEvD,OAAO,UAAU,CAACR,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC;AAC7C;MACaS,KAAK,GAAGA,MAAM;EACzB,OAAQ7B,MAAM,CAACW,UAAU,IAAIX,MAAM,CAACW,UAAU,CAAC,4BAA4B,CAAC,CAACG,OAAO,IAC/E,CAAC,CAACd,MAAM,CAAC8B,gBAAgB;AAChC;AAEO,SAASC,aAAaA,GAAG;EAC9B,OAAO/B,MAAM,CAACgC,QAAQ,IAAI,cAAc,IAAIhC,MAAM,CAACgC,QAAQ,CAACC,eAAe;AAC7E;MAEaC,KAAK,GAAGA,MAAM;EACzB,OAAO,kBAAkB,CAAChB,IAAI,CAACC,SAAS,CAACO,QAAQ,CAAC,IAAKP,SAAS,CAACO,QAAQ,KAAK,UAAU,IAAIP,SAAS,CAACQ,cAAc,GAAG,CAAE;AAC3H;MACaQ,MAAM,GAAGA,MAAM;EAC1B,OAAOhB,SAAS,CAACC,SAAS,CAACgB,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;AACnD;MAEaC,mBAAmB,GAAGA,MAAM;EACvC,MAAMH,KAAK,GAAI,kBAAkB,CAAChB,IAAI,CAACC,SAAS,CAACO,QAAQ,CAAC,IAAKP,SAAS,CAACO,QAAQ,KAAK,UAAU,IAAIP,SAAS,CAACQ,cAAc,GAAG,CAAG;EAClI,OAAON,QAAQ,EAAE,GAAIa,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAI,MAAM;AACzD;MACaI,kBAAkB,GAAGA,MAAM;EACtC,OAAO,KAAK;AACd;AAEO,SAASC,OAAOA,CAACC,CAAC,EAACC,MAAM,EAAE;EAChCD,CAAC,GAAG,CAACA,CAAC,IAAI,EAAE,EAAEE,IAAI,EAAE;EACpB,IAAIF,CAAC,CAACG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAIH,CAAC,CAACG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;IAC7D,OAAOH,CAAC;GACT,MAAM;IACL,OAAO,OAAA5B,MAAA,CAAO6B,MAAM,GAAG,GAAG,GAAE,EAAE,WAAQD,CAAC;;AAE3C;AAEA,MAAMI,SAAS,GAAG,qCAAqC;AACvD,MAAMC,UAAU,GAAG,6CAA6C;AAChE,MAAMC,MAAM,GAAG,uLAAuL;AACtM,MAAMC,QAAQ,GAAG,+EAA+E;MACnFC,SAAS,GAAG,IAAIC,MAAM,CAACL,SAAS,GAAGC,UAAU,GAAGC,MAAM,GAAGC,QAAQ;AAEvE,SAASG,KAAKA,CAACC,GAAG,EAAE;EACzB,OAAOH,SAAS,CAAC9B,IAAI,CAACqB,OAAO,CAACY,GAAG,CAAC,CAAC;AACrC;AAEO,SAASC,QAAQA,GAAmB;EAAA,IAAlBC,GAAG,GAAA5H,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG,EAAE;EAAA,IAAEC,MAAM,GAAAD,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAe,SAAA;EACvC,IAAI6G,GAAG,CAAC3H,MAAM,GAAGA,MAAM,EAAE;IACvB,IAAI4H,KAAK,GAAGD,GAAG,CAAC7E,KAAK,CAAC,CAAC,EAAE9C,MAAM,CAAC,CAAC6H,KAAK,CAAC,GAAG,CAAC;IAC3C,IAAIF,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACZ,OAAO,CAACW,KAAK,CAACA,KAAK,CAAC5H,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EACrD4H,KAAK,GAAGA,KAAK,CAAC9E,KAAK,CAAC,CAAC,EAAE8E,KAAK,CAAC5H,MAAM,GAAG,CAAC,CAAC;IAC1C,OAAO4H,KAAK,CAACrH,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;GAC/B,MACC,OAAOoH,GAAG;AACd;AAEO,SAASG,eAAeA,CAACH,GAAG,EAACI,QAAQ,EAAE;EAC5C,MAAMC,MAAM,GAAG,CAACL,GAAG,IAAE,EAAE,EAAElH,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;EACnH,IAAIsH,QAAQ,KAAG,IAAI,EAAE;IACnB,OAAOC,MAAM,CAACvH,OAAO,CAAC,KAAK,EAAC,OAAO,CAAC;;EAEtC,OAAOuH,MAAM,CAACvH,OAAO,CAAC,MAAM,EAAC,OAAO,CAAC;AACvC;AAEA,SAASwH,SAASA,CAACC,OAAO,EAAC1E,KAAK,EAAE;EAChC,OAAO0E,OAAO,CAACL,KAAK,CAAC,EAAE,CAAC,CAACM,MAAM,CAAC,CAAAC,KAAA,EAAaC,IAAI,EAACC,CAAC,KAAK;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAJ,KAAA;MAAtBK,GAAG,GAAAF,KAAA;MAAC/E,KAAK,GAAA+E,KAAA;IACzC,IAAIF,IAAI,KAAK,GAAG,EAAE;MAChB,MAAMK,UAAU,GAAGR,OAAO,CAACpF,KAAK,CAACwF,CAAC,CAAC,CAACK,MAAM,CAAC,SAAS,CAAC;MACrD,MAAMlF,GAAG,GAAGD,KAAK,CAACV,KAAK,CAACwF,CAAC,CAAC,CAACK,MAAM,CAAC,IAAI,CAAC;MACvC,IAAIlF,GAAG,GAAG,CAAC,IAAIiF,UAAU,GAAGjF,GAAG,EAAE;QAC/B,OAAO,CAACgF,GAAG,CAACvD,MAAM,CAAC,GAAG,CAAC,EAACuD,GAAG,CAAClI,IAAI,CAAC,EAAE,CAAC,GAAC,GAAG,GAACiD,KAAK,CAACV,KAAK,CAACwF,CAAC,CAAC,CAAC;OACzD,MAAM;QACL,OAAO,CAACG,GAAG,CAACvD,MAAM,CAAC1B,KAAK,CAAC8E,CAAC,CAAC,CAAC,EAAC9E,KAAK,CAAC;;KAEtC,MAAM;MACL,OAAO,CAACiF,GAAG,CAACvD,MAAM,CAAC1B,KAAK,CAAC8E,CAAC,CAAC,CAAC,EAAC9E,KAAK,CAAC;;GAEtC,EAAC,CAAC,EAAE,EAACA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAACjD,IAAI,CAAC,EAAE,CAAC;AAC3B;MAEaqI,eAAe,GAAGA,CAACC,gBAAgB,EAACC,QAAQ,KAAK;EAC5D,MAAMtF,KAAK,GAAGsF,QAAQ,IAAI,EAAE;EAC5B,IAAID,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIE,MAAM,CAACF,gBAAgB,CAACpI,OAAO,CAAC,YAAY,EAAC,IAAI,CAAC,CAAC,GAAC+C,KAAK,CAACxD,MAAM,EAAE,OAAOwD,KAAK;EACjH,MAAM0E,OAAO,GAAGW,gBAAgB,CAACpI,OAAO,CAAC,OAAO,EAAC,EAAE,CAAC;EACpD,MAAMuI,MAAM,GAAGf,SAAS,CAACC,OAAO,EAAC1E,KAAK,CAAC,CAAC/C,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;EACzD,MAAMwI,aAAa,GAAGf,OAAO,CAACL,KAAK,CAAC,MAAM,CAAC,CAAC7H,MAAM,GAAC,CAAC;EACpD,MAAMkJ,aAAa,GAAGhB,OAAO,CAACL,KAAK,CAAC,MAAM,CAAC,CAAC7H,MAAM,GAAC,CAAC;EACpD,MAAMmJ,SAAS,GAAGH,MAAM,CAAChJ,MAAM,GAACiJ,aAAa;EAE7C,IAAIE,SAAS,GAAC,CAAC,IAAID,aAAa,GAAC,CAAC,EAAE;IAClC,IAAIZ,CAAC,GAAG,CAAC;IACT,OAAOM,eAAe,CACpBV,OAAO,CACJzH,OAAO,CAAC,KAAK,EAAC,MAAI6H,CAAC,EAAE,GAACa,SAAS,GAAC,GAAG,GAAC,EAAE,CAAC,CACvC1I,OAAO,CAAC,GAAG,EAAC,IAAIP,KAAK,CAACkJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAACF,SAAS,GAACb,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC/H,IAAI,CAAC,GAAG,CAAC,CAAC,EAC9DiD,KACF,CAAC;;EAEH,IAAI8E,CAAC,GAAG,CAAC;EACT,OAAOJ,OAAO,CAACzH,OAAO,CAAC,OAAO,EAAC,EAAE,CAAC,CAACoH,KAAK,CAAC,EAAE,CAAC,CAACM,MAAM,CAAC,CAACM,GAAG,EAACJ,IAAI,KAAI;IAC/D,IAAI,CAACW,MAAM,CAACI,IAAI,CAACC,GAAG,CAACf,CAAC,GAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAID,IAAI,KAAK,GAAG,IAAIA,IAAI,KAAK,GAAG,EAAE,OAAOI,GAAG;IACxE,IAAIJ,IAAI,KAAG,GAAG,IAAIA,IAAI,KAAI,GAAG,EAAE;MAC7B,OAAOI,GAAG,IAAEO,MAAM,CAACV,CAAC,EAAE,CAAC,IAAE,EAAE,CAAC;KAC7B,MAAM;MACL,OAAOG,GAAG,GAACJ,IAAI;;GAElB,EAAC,EAAE,CAAC;AACP;MAEaiB,cAAc,GAAGA,CAACnI,EAAE,EAAEoI,KAAK,KAAMvI,CAAC,IAAK;EAClD,MAAMwI,KAAK,GAAGxI,CAAC,CAACyI,OAAO,CAAC,CAAC,CAAC;EAC1B,IAAIzI,CAAC,CAACyI,OAAO,CAACzJ,MAAM,GAAG,CAAC,IAAIgB,CAAC,CAAC0I,IAAI,KAAK,UAAU,EAAE;IACjD9H,cAAc,CAAC2H,KAAK,EAACvI,CAAC,EAACwI,KAAK,CAAC;GAC9B,MAAM;IACL5H,cAAc,CAACT,EAAE,EAACH,CAAC,EAAEwI,KAAK,CAAC;;AAE/B;MACaG,cAAc,GAAGA,CAACxI,EAAE,EAACoI,KAAK,KAAMvI,CAAC,IAAK;EACjD,IAAIA,CAAC,CAAC4I,OAAO,GAAC,CAAC,IAAI5I,CAAC,CAAC0I,IAAI,KAAK,SAAS,EAAE;IACvC9H,cAAc,CAAC2H,KAAK,EAACvI,CAAC,EAACA,CAAC,CAAC;GAC1B,MAAM;IACLY,cAAc,CAACT,EAAE,EAACH,CAAC,EAAEA,CAAC,CAAC;;AAE3B;MAEa6I,cAAc,GAAGA,CAAC1I,EAAE,EAACoI,KAAK,KAAMvI,CAAC,IAAK;EACjD,IAAIA,CAAC,CAACyI,OAAO,EAAE;IACbH,cAAc,CAACnI,EAAE,EAACoI,KAAK,CAAC,CAACvI,CAAC,CAAC;GAC5B,MAAM;IACL2I,cAAc,CAACxI,EAAE,EAACoI,KAAK,CAAC,CAACvI,CAAC,CAAC;;AAE/B;MAGa8I,UAAU,GAAG,UAAC3G,EAAE;EAAA,IAAC4G,WAAW,GAAAhK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG,CAAC;EAAA,OAAMiB,CAAC,IAAK;IAAA,IAAAgJ,UAAA;IACvD,IAAI,EAAAA,UAAA,GAAAhJ,CAAC,CAACyI,OAAO,cAAAO,UAAA,uBAATA,UAAA,CAAWhK,MAAM,MAAK,CAAC,EAAE;MAAE;;IAC/B,MAAMiK,MAAM,GAAGjJ,CAAC,CAACiJ,MAAM;IACvB,MAAMC,SAAS,GAAGlJ,CAAC,CAACyI,OAAO,CAAC,CAAC,CAAC,CAACU,OAAO;IACtC,MAAMC,SAAS,GAAGpJ,CAAC,CAACyI,OAAO,CAAC,CAAC,CAAC,CAACY,OAAO;IACtC,MAAMC,cAAc,GAAId,KAAK,IAAKJ,IAAI,CAACmB,IAAI,CAAEnB,IAAI,CAACoB,GAAG,CAAEN,SAAS,GAACV,KAAK,CAACW,OAAO,EAAG,CAAC,CAAC,GAAGf,IAAI,CAACoB,GAAG,CAAEJ,SAAS,GAACZ,KAAK,CAACa,OAAO,EAAG,CAAC,CAAE,CAAC,GAAGN,WAAW;IAE5I,MAAMU,WAAW,GAAIzJ,CAAC,IAAK;MACzB,IAAIA,CAAC,CAACyI,OAAO,CAACzJ,MAAM,KAAK,CAAC,EAAE;QAAE;;MAC9B,IAAI,CAACsK,cAAc,CAACtJ,CAAC,CAAC0J,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;QACxCC,UAAU,EAAE;;KAEf;IACD,MAAMA,UAAU,GAAI3J,CAAC,IAAK;MAAA,IAAA4J,iBAAA;MACxBX,MAAM,CAACY,mBAAmB,CAAC,UAAU,EAACF,UAAU,CAAC;MACjDV,MAAM,CAACY,mBAAmB,CAAC,WAAW,EAACJ,WAAW,CAAC;MACnD,IAAI,CAAAzJ,CAAC,aAADA,CAAC,gBAAA4J,iBAAA,GAAD5J,CAAC,CAAE0J,cAAc,cAAAE,iBAAA,uBAAjBA,iBAAA,CAAmB5K,MAAM,MAAK,CAAC,EAAE;QAAE;;MACvC,IAAIsK,cAAc,CAACtJ,CAAC,CAAC0J,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;QACvC1J,CAAC,CAACoC,cAAc,EAAE;QAClBD,EAAE,CAACnC,CAAC,CAAC;;KAER;IACDiJ,MAAM,CAACa,gBAAgB,CAAC,UAAU,EAACH,UAAU,CAAC;IAC9CV,MAAM,CAACa,gBAAgB,CAAC,WAAW,EAACL,WAAW,CAAC;GACjD;AAAA;MAGYM,WAAW,GAAG,YAAiB;EAAA,IAAhBC,MAAM,GAAAjL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG,EAAE;EACrC,MAAMkL,CAAC,GAAG3E,QAAQ,CAAC4E,aAAa,CAAC,MAAM,CAAC;EACxCD,CAAC,CAACE,SAAS,GAAGH,MAAM;EACpB,OAAOC,CAAC,CAACG,WAAW,CAAC3K,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAACT,MAAM,KAAK,CAAC;AACrD;MAGaqL,eAAe,GAAIC,IAAI,IAAK;EACvC,IAAI,CAACA,IAAI,EAAE;IACT,OAAOhH,MAAM;;EAEf,MAAMiH,SAAS,GAAGjH,MAAM,CAACkH,gBAAgB,CAACF,IAAI,CAAC,CAACC,SAAS;EACzD,MAAME,YAAY,GAAGF,SAAS,KAAK,SAAS,IAAIA,SAAS,KAAK,QAAQ;EACtE,IAAIE,YAAY,KAAKH,IAAI,CAACI,YAAY,GAAGJ,IAAI,CAACK,YAAY,IAAIJ,SAAS,KAAK,QAAQ,CAAC,EAAE;IACrF,OAAOD,IAAI;GACZ,MAAM;IACL,OAAOD,eAAe,CAAEC,IAAI,CAACM,YAAa,CAAC;;AAE/C;MAEaC,wBAAwB,GAAGA,CAACC,EAAE,EAACC,MAAM,KAAK;EACrD,MAAMC,YAAY,GAAGX,eAAe,CAACS,EAAE,CAAC;EACxC,MAAMG,OAAO,GAAGD,YAAY,KAAK1H,MAAM,GAAGA,MAAM,CAAC4H,WAAW,GAAGF,YAAY,CAACG,SAAS;EAErF,MAAMC,KAAK,GAAGN,EAAE,CAACO,qBAAqB,EAAE,CAACC,GAAG;EAC5C,MAAMC,cAAc,GAAG3K,cAAc,CAACmK,MAAM,EAACK,KAAK,GAAG,CAAC,CAAC;EAEvD,MAAMI,CAAC,GAAGV,EAAE,CAACO,qBAAqB,EAAE,CAACC,GAAG,GAAGL,OAAO,GAAGM,cAAc;EAEnEP,YAAY,CAACS,QAAQ,CAAC;IAACH,GAAG,EAAEE,CAAC;IAAEE,QAAQ,EAAE;GAAS,CAAC;AACrD;MACaC,eAAe,GAAG,MAAOC,OAAO,IAAK;EAChD,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;EAC1B,IAAI,CAAC,KAAKA,OAAO,CAACC,QAAQ,EAAE,OAAO,KAAK;EAExC,IAAIC,IAAI,GAAGxG,QAAQ,CAACC,eAAe;EACnC,IAAIwG,IAAI,GAAGH,OAAO,CAACP,qBAAqB,EAAE;EAC1C,IAAIW,oBAAoB,EAAE;IACxB,OAAO,IAAIC,OAAO,CAACC,OAAO,IAAI;MAC5B,MAAMC,CAAC,GAAG,IAAIH,oBAAoB,CAACI,KAAA,IAAa;QAAA,IAAAC,KAAA,GAAA7E,cAAA,CAAA4E,KAAA;UAAXE,KAAK,GAAAD,KAAA;QACxCH,OAAO,CAACI,KAAK,CAACC,iBAAiB,KAAK,CAAC,CAAC;QACtCJ,CAAC,CAACK,UAAU,EAAE;OACf,CAAC;MACFL,CAAC,CAACM,OAAO,CAACb,OAAO,CAAC;KACnB,CAAC;;EAEJ,OAAO,CAAC,CAACG,IAAI,IACXA,IAAI,CAACW,MAAM,IAAI,CAAC,IAChBX,IAAI,CAACY,KAAK,IAAI,CAAC,IACfZ,IAAI,CAACa,IAAI,IAAId,IAAI,CAACe,WAAW,IAC7Bd,IAAI,CAACT,GAAG,IAAIQ,IAAI,CAACnB,YAAY;AACjC;AAGA,IAAIrD,CAAC,GAAG,CAAC;MACIwF,MAAM,GAAGA,MAAMC,IAAI,CAACC,GAAG,EAAE,CAACxN,QAAQ,CAAC,EAAE,CAAC,GAAC4I,IAAI,CAAC6E,MAAM,EAAE,CAACzN,QAAQ,CAAC,EAAE,CAAC,CAACsC,KAAK,CAAC,CAAC,CAAC,GAAC,CAACwF,CAAC,EAAE,EAAE9H,QAAQ,CAAC,EAAE;MAE5F0N,YAAY,GAAGA,MAAMC,UAAA,CAAYjO,KAAK,CAACkO,IAAI,CAAC,IAAIC,eAAe,CAACC,QAAQ,CAAC3F,MAAM,CAAC,CAAC4F,OAAO,EAAE,CAAC;MAE3FC,sBAAsB,GAAGA,CAACvD,CAAC,EAAEwD,CAAC,KAAK;EAC9C,KAAI,IAAIlL,GAAG,IAAI0H,CAAC,EAAE;IAChB,IAAGA,CAAC,CAAC1H,GAAG,CAAC,KAAKkL,CAAC,CAAClL,GAAG,CAAC,EAAE;MACpB,OAAO,KAAK;;;EAGhB,OAAO,IAAI;AACb;MACamL,cAAc,GAAGA,CAACzD,CAAC,EAAEwD,CAAC,KAAK;EACtC,KAAI,IAAIlL,GAAG,IAAI0H,CAAC,EAAE;IAChB,IAAG,EAAE1H,GAAG,IAAIkL,CAAC,CAAC,IAAIxD,CAAC,CAAC1H,GAAG,CAAC,KAAKkL,CAAC,CAAClL,GAAG,CAAC,EAAE;MACnC,OAAO,KAAK;;;EAGhB,KAAI,IAAIA,GAAG,IAAIkL,CAAC,EAAE;IAChB,IAAG,EAAElL,GAAG,IAAI0H,CAAC,CAAC,IAAIA,CAAC,CAAC1H,GAAG,CAAC,KAAKkL,CAAC,CAAClL,GAAG,CAAC,EAAE;MACnC,OAAO,KAAK;;;EAGhB,OAAO,IAAI;AACb;;;;"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../src/utils.jsx"],"sourcesContent":["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}"],"names":["formatPath","_len","arguments","length","paths","Array","_key","map","path","isArray","join","toString","replace","filter","_","identityFn","n","undefined","_len2","e","_key2","will","fn","_len3","props","_key3","_len4","more","_key4","lazyValue","v","callIfFunction","prop","_len5","args","_key5","callIfFunctions","_len6","_key6","callMany","_len7","many","_key7","_len8","_key8","ifUndefined","_len9","or","_key9","slice","using","_len0","_key0","stopPropagation","cb","preventDefault","constrainEvent","mapGetOrSet","key","value","has","set","get","intToHour","hour","autoFill","h","m","parseInt","formatHour","_isFinite","willRafThrottle","ticking","window","requestAnimationFrame","rafThrottle","throttle","intsToHour","_ref","open","close","isSmallDevice","width","smallDeviceQuery","matchMedia","concat","scrollWidth","matches","isHighDensity","devicePixelRatio","isRetina","test","navigator","userAgent","isMobile","ua","isAndroid","isiOS","isIPadOS","platform","maxTouchPoints","userAgentData","isPWA","hasWebviewBridge","isTouchDevice","document","documentElement","isIOS","isIPad","match","getNumberInputType2","getNumberInputType","addHttp","s","secure","trim","indexOf","protocols","subdomains","domain","resource","linkRegex","RegExp","isUrl","url","ellipsis","str","words","split","safeNewLineToBr","keepMany","result","padGroups","pattern","reduce","_ref2","char","i","_ref3","_slicedToArray","acc","shouldHave","search","digitsToPattern","patternWithLimit","optValue","Number","digits","totalRequired","totalOptional","available","Math","max","normalizeTouch","endFn","touch","touches","type","normalizeMouse","buttons","normalizePress","touchClick","sensibility","_e$touches","target","originalX","screenX","originalY","screenY","isInsideBounds","sqrt","pow","checkBounds","changedTouches","maybeClick","_e$changedTouches","removeEventListener","addEventListener","isEmptyHtml","__html","a","createElement","innerHTML","textContent","getScrollParent","node","overflowY","getComputedStyle","isScrollable","scrollHeight","clientHeight","offsetParent","scrollIntoViewWithOffset","el","offset","scrollOffset","scrollY","pageYOffset","scrollTop","elTop","getBoundingClientRect","top","computedOffset","y","scrollTo","behavior","isElementInView","element","nodeType","html","rect","IntersectionObserver","Promise","resolve","o","_ref4","_ref5","entry","intersectionRatio","disconnect","observe","bottom","right","left","clientWidth","getUID","Date","now","random","getUrlParams","_fromPairs","from","URLSearchParams","location","entries","isShallowEqualSameKeys","b","isShallowEqual"],"mappings":"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"}
|
package/lib/wrapLazy.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _identity from 'lodash/fp/identity';
|
|
2
|
+
import _isFunction from 'lodash/fp/isFunction';
|
|
3
|
+
import _isEqual from 'lodash/fp/isEqual';
|
|
2
4
|
import 'react';
|
|
3
5
|
import { callIfFunction } from './utils.mjs';
|
|
4
|
-
import _isEqual from 'lodash/fp/isEqual';
|
|
5
|
-
import _isFunction from 'lodash/fp/isFunction';
|
|
6
6
|
|
|
7
7
|
// Suspense integrations like Relay implement
|
|
8
8
|
// a contract like this to integrate with React.
|
package/lib/wrapLazy.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapLazy.mjs","sources":["../src/wrapLazy.jsx"],"sourcesContent":["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()"],"names":["EMPTY_ARGS","UNDEFINED_CURRENT_VALUE","innerWrapLazy","refreshCallback","maybePromise","_len","arguments","length","rootArgs","Array","_key","status","awaitReadResolver","checker","_isEqual","lazyArgs","uid","Math","random","toString","Date","now","result","currentValue","promisify","resolveNow","_isFunction","Promise","res","resolve","then","_len2","args","_key2","callIfFunction","onPromiseSuccess","returnedPromise","r","suspender","onPromiseError","e","reject","suspend","_identity","read","promise","refresh","force","next","_len3","_key3","wrapLazy","checkWith","use","_len4","_key4","_getCurrentValue","silentRefresh","currentSuspender","suspended","v","and","lazy","isEqual","localUpdate","updater"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,UAAU,GAAG,EAAE;AACrB,MAAMC,uBAAuB,GAAG,EAAE;AAClC,MAAMC,aAAa,GAAIC,eAAe,IAAK,UAACC,YAAY,EAAkB;EAAA,
|
|
1
|
+
{"version":3,"file":"wrapLazy.mjs","sources":["../src/wrapLazy.jsx"],"sourcesContent":["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()"],"names":["EMPTY_ARGS","UNDEFINED_CURRENT_VALUE","innerWrapLazy","refreshCallback","maybePromise","_len","arguments","length","rootArgs","Array","_key","status","awaitReadResolver","checker","_isEqual","lazyArgs","uid","Math","random","toString","Date","now","result","currentValue","promisify","resolveNow","_isFunction","Promise","res","resolve","then","_len2","args","_key2","callIfFunction","onPromiseSuccess","returnedPromise","r","suspender","onPromiseError","e","reject","suspend","_identity","read","promise","refresh","force","next","_len3","_key3","wrapLazy","checkWith","use","_len4","_key4","_getCurrentValue","silentRefresh","currentSuspender","suspended","v","and","lazy","isEqual","localUpdate","updater"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import isPropValid from '@emotion/is-prop-valid';
|
|
3
|
+
|
|
4
|
+
// Task 13c: @yak/react só filtra props `$`-prefixadas e `undefined` antes de repassar pro
|
|
5
|
+
// elemento real; qualquer prop custom (string, número, objeto) lida por um `styled.<tag>` no yak
|
|
6
|
+
// vaza como atributo no DOM. styled-components v5 evita isso sozinho pra tags string, usando
|
|
7
|
+
// @emotion/is-prop-valid. yakDomTag(tag) devolve um componente equivalente: filtra pelas mesmas
|
|
8
|
+
// regras antes de renderizar `tag`, pra o DOM do yak ficar idêntico ao do sc.
|
|
9
|
+
//
|
|
10
|
+
// Resolvido via `@startlibs/utils/yakDomTag` (exports["./*"] do package.json) — não passa pelo
|
|
11
|
+
// index: só existe nessa saída porque o babel-plugin-startlibs-to-yak importa explicitamente
|
|
12
|
+
// (ver tools/babel-plugin-startlibs-to-yak/domTag.cjs), nunca no fonte sc.
|
|
13
|
+
//
|
|
14
|
+
// Memoizado por nome de tag: `styled(yakDomTag('div'))` precisa devolver sempre o MESMO
|
|
15
|
+
// componente de DOM final pra identidade ficar estável entre `${X}` e composições
|
|
16
|
+
// (`styled(X)`/`styledExtend(X)`) de um mesmo `styled.div` — ver @yak/react runtime, que carrega
|
|
17
|
+
// esse componente até o fim da cadeia de composição.
|
|
18
|
+
//
|
|
19
|
+
// `as` (styled-components troca a tag renderizada com essa prop, ex.: components/src/containers/
|
|
20
|
+
// usePositioning.jsx's Placeholder as={placeholderAs}, form/src/TextInput.jsx's Input
|
|
21
|
+
// as={inputTag}) não é filtrada pelo @emotion/is-prop-valid (`isPropValid('as')` é false) — sem
|
|
22
|
+
// tratar à parte, o yak renderizaria sempre a tag original, ignorando a troca.
|
|
23
|
+
const cache = new Map();
|
|
24
|
+
const yakDomTag = tag => {
|
|
25
|
+
let Component = cache.get(tag);
|
|
26
|
+
if (!Component) {
|
|
27
|
+
Component = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
28
|
+
const domProps = {};
|
|
29
|
+
for (const key in props) {
|
|
30
|
+
// `as` troca a tag renderizada (como styled-components faz); não é uma prop do DOM.
|
|
31
|
+
if (key === 'as') continue;
|
|
32
|
+
if (key === 'className' || isPropValid(key)) domProps[key] = props[key];
|
|
33
|
+
}
|
|
34
|
+
domProps.ref = ref;
|
|
35
|
+
return /*#__PURE__*/React.createElement(props.as || tag, domProps);
|
|
36
|
+
});
|
|
37
|
+
Component.displayName = "yakDomTag(".concat(tag, ")");
|
|
38
|
+
cache.set(tag, Component);
|
|
39
|
+
}
|
|
40
|
+
return Component;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { yakDomTag };
|
|
44
|
+
//# sourceMappingURL=yakDomTag.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yakDomTag.mjs","sources":["../src/yakDomTag.jsx"],"sourcesContent":["import React from 'react'\nimport isPropValid from '@emotion/is-prop-valid'\n\n// Task 13c: @yak/react só filtra props `$`-prefixadas e `undefined` antes de repassar pro\n// elemento real; qualquer prop custom (string, número, objeto) lida por um `styled.<tag>` no yak\n// vaza como atributo no DOM. styled-components v5 evita isso sozinho pra tags string, usando\n// @emotion/is-prop-valid. yakDomTag(tag) devolve um componente equivalente: filtra pelas mesmas\n// regras antes de renderizar `tag`, pra o DOM do yak ficar idêntico ao do sc.\n//\n// Resolvido via `@startlibs/utils/yakDomTag` (exports[\"./*\"] do package.json) — não passa pelo\n// index: só existe nessa saída porque o babel-plugin-startlibs-to-yak importa explicitamente\n// (ver tools/babel-plugin-startlibs-to-yak/domTag.cjs), nunca no fonte sc.\n//\n// Memoizado por nome de tag: `styled(yakDomTag('div'))` precisa devolver sempre o MESMO\n// componente de DOM final pra identidade ficar estável entre `${X}` e composições\n// (`styled(X)`/`styledExtend(X)`) de um mesmo `styled.div` — ver @yak/react runtime, que carrega\n// esse componente até o fim da cadeia de composição.\n//\n// `as` (styled-components troca a tag renderizada com essa prop, ex.: components/src/containers/\n// usePositioning.jsx's Placeholder as={placeholderAs}, form/src/TextInput.jsx's Input\n// as={inputTag}) não é filtrada pelo @emotion/is-prop-valid (`isPropValid('as')` é false) — sem\n// tratar à parte, o yak renderizaria sempre a tag original, ignorando a troca.\nconst cache = new Map()\n\nexport const yakDomTag = (tag) => {\n let Component = cache.get(tag)\n if (!Component) {\n Component = React.forwardRef((props, ref) => {\n const domProps = {}\n for (const key in props) {\n // `as` troca a tag renderizada (como styled-components faz); não é uma prop do DOM.\n if (key === 'as') continue\n if (key === 'className' || isPropValid(key)) domProps[key] = props[key]\n }\n domProps.ref = ref\n return React.createElement(props.as || tag, domProps)\n })\n Component.displayName = `yakDomTag(${tag})`\n cache.set(tag, Component)\n }\n return Component\n}\n"],"names":["cache","Map","yakDomTag","tag","Component","get","React","forwardRef","props","ref","domProps","key","isPropValid","createElement","as","displayName","concat","set"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,KAAK,GAAG,IAAIC,GAAG,EAAE,CAAA;AAEVC,MAAAA,SAAS,GAAIC,GAAG,IAAK;AAChC,EAAA,IAAIC,SAAS,GAAGJ,KAAK,CAACK,GAAG,CAACF,GAAG,CAAC,CAAA;EAC9B,IAAI,CAACC,SAAS,EAAE;IACdA,SAAS,gBAAGE,KAAK,CAACC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAC3C,MAAMC,QAAQ,GAAG,EAAE,CAAA;AACnB,MAAA,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;AACvB;QACA,IAAIG,GAAG,KAAK,IAAI,EAAE,SAAA;AAClB,QAAA,IAAIA,GAAG,KAAK,WAAW,IAAIC,WAAW,CAACD,GAAG,CAAC,EAAED,QAAQ,CAACC,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC,CAAA;AACzE,OAAA;MACAD,QAAQ,CAACD,GAAG,GAAGA,GAAG,CAAA;MAClB,oBAAOH,KAAK,CAACO,aAAa,CAACL,KAAK,CAACM,EAAE,IAAIX,GAAG,EAAEO,QAAQ,CAAC,CAAA;AACvD,KAAC,CAAC,CAAA;AACFN,IAAAA,SAAS,CAACW,WAAW,GAAA,YAAA,CAAAC,MAAA,CAAgBb,GAAG,EAAG,GAAA,CAAA,CAAA;AAC3CH,IAAAA,KAAK,CAACiB,GAAG,CAACd,GAAG,EAAEC,SAAS,CAAC,CAAA;AAC3B,GAAA;AACA,EAAA,OAAOA,SAAS,CAAA;AAClB;;;;"}
|