@startlibs/core 1.0.0-alpha-6o → 1.0.0-alpha-6s
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/index.js +427 -57
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -7,8 +7,10 @@ var _createClass = require('@babel/runtime/helpers/createClass');
|
|
|
7
7
|
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
8
8
|
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
9
9
|
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
10
|
+
var _debounce = require('lodash/fp/debounce');
|
|
10
11
|
var React = require('react');
|
|
11
12
|
var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
|
|
13
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread');
|
|
12
14
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
13
15
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
16
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
@@ -17,19 +19,29 @@ var _uniqueId = require('lodash/fp/uniqueId');
|
|
|
17
19
|
var _differenceBy = require('lodash/fp/differenceBy');
|
|
18
20
|
var _set = require('lodash/fp/set');
|
|
19
21
|
var _findIndex = require('lodash/fp/findIndex');
|
|
20
|
-
var
|
|
22
|
+
var _isFinite = require('lodash/fp/isFinite');
|
|
23
|
+
var _max = require('lodash/fp/max');
|
|
21
24
|
var _flatMap = require('lodash/fp/flatMap');
|
|
22
25
|
var _without = require('lodash/fp/without');
|
|
23
|
-
var
|
|
26
|
+
var _union = require('lodash/fp/union');
|
|
27
|
+
var _update = require('lodash/fp/update');
|
|
28
|
+
var _flow = require('lodash/fp/flow');
|
|
24
29
|
var ReactDOM = require('react-dom');
|
|
25
30
|
var styled = require('styled-components');
|
|
26
31
|
var utils = require('@startlibs/utils');
|
|
27
|
-
var
|
|
32
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
28
33
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
29
34
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
30
35
|
var mitt = require('mitt');
|
|
31
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
32
36
|
var _isArray = require('lodash/fp/isArray');
|
|
37
|
+
require('@babel/runtime/helpers/asyncToGenerator');
|
|
38
|
+
require('@babel/runtime/regenerator');
|
|
39
|
+
require('@babel/runtime/helpers/awaitAsyncGenerator');
|
|
40
|
+
require('@babel/runtime/helpers/wrapAsyncGenerator');
|
|
41
|
+
var _ = require('lodash/fp');
|
|
42
|
+
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
43
|
+
require('polished');
|
|
44
|
+
var emotion = require('emotion');
|
|
33
45
|
var _isFunction = require('lodash/fp/isFunction');
|
|
34
46
|
|
|
35
47
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -39,8 +51,10 @@ var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
|
39
51
|
var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
|
|
40
52
|
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
|
|
41
53
|
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
54
|
+
var _debounce__default = /*#__PURE__*/_interopDefaultLegacy(_debounce);
|
|
42
55
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
56
|
var _objectDestructuringEmpty__default = /*#__PURE__*/_interopDefaultLegacy(_objectDestructuringEmpty);
|
|
57
|
+
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
44
58
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
45
59
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
46
60
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
@@ -49,18 +63,22 @@ var _uniqueId__default = /*#__PURE__*/_interopDefaultLegacy(_uniqueId);
|
|
|
49
63
|
var _differenceBy__default = /*#__PURE__*/_interopDefaultLegacy(_differenceBy);
|
|
50
64
|
var _set__default = /*#__PURE__*/_interopDefaultLegacy(_set);
|
|
51
65
|
var _findIndex__default = /*#__PURE__*/_interopDefaultLegacy(_findIndex);
|
|
52
|
-
var
|
|
66
|
+
var _isFinite__default = /*#__PURE__*/_interopDefaultLegacy(_isFinite);
|
|
67
|
+
var _max__default = /*#__PURE__*/_interopDefaultLegacy(_max);
|
|
53
68
|
var _flatMap__default = /*#__PURE__*/_interopDefaultLegacy(_flatMap);
|
|
54
69
|
var _without__default = /*#__PURE__*/_interopDefaultLegacy(_without);
|
|
55
|
-
var
|
|
70
|
+
var _union__default = /*#__PURE__*/_interopDefaultLegacy(_union);
|
|
71
|
+
var _update__default = /*#__PURE__*/_interopDefaultLegacy(_update);
|
|
72
|
+
var _flow__default = /*#__PURE__*/_interopDefaultLegacy(_flow);
|
|
56
73
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
57
74
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
58
|
-
var
|
|
75
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
59
76
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
60
77
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
61
78
|
var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
|
|
62
|
-
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
63
79
|
var _isArray__default = /*#__PURE__*/_interopDefaultLegacy(_isArray);
|
|
80
|
+
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
81
|
+
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
|
|
64
82
|
var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
|
|
65
83
|
|
|
66
84
|
var callList = function callList(list, firstArg) {
|
|
@@ -107,6 +125,11 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
107
125
|
return listenerCallbacks;
|
|
108
126
|
};
|
|
109
127
|
|
|
128
|
+
var lastCall = {
|
|
129
|
+
current: null,
|
|
130
|
+
index: 0
|
|
131
|
+
};
|
|
132
|
+
|
|
110
133
|
var call = function call() {
|
|
111
134
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
112
135
|
args[_key2] = arguments[_key2];
|
|
@@ -114,6 +137,8 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
114
137
|
|
|
115
138
|
var resp = callList.apply(void 0, [get()].concat(args));
|
|
116
139
|
callList.apply(void 0, [getListeners()].concat(args));
|
|
140
|
+
lastCall.current = args;
|
|
141
|
+
lastCall.index++;
|
|
117
142
|
return resp;
|
|
118
143
|
};
|
|
119
144
|
|
|
@@ -129,6 +154,7 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
129
154
|
ref.current = callback;
|
|
130
155
|
}
|
|
131
156
|
|
|
157
|
+
var lastCallIndex = lastCall.index;
|
|
132
158
|
useEffect(function () {
|
|
133
159
|
if (!ref.current) {
|
|
134
160
|
return;
|
|
@@ -138,6 +164,10 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
138
164
|
addListener(ref);
|
|
139
165
|
} else {
|
|
140
166
|
add(ref);
|
|
167
|
+
|
|
168
|
+
if (lastCallIndex !== lastCall.index && lastCall.current) {
|
|
169
|
+
callList.apply(void 0, [[ref]].concat(_toConsumableArray__default['default'](lastCall.current)));
|
|
170
|
+
}
|
|
141
171
|
}
|
|
142
172
|
|
|
143
173
|
return function () {
|
|
@@ -203,6 +233,26 @@ var willUseSharedState = function willUseSharedState(initialValue) {
|
|
|
203
233
|
}, clear];
|
|
204
234
|
};
|
|
205
235
|
|
|
236
|
+
var not_defined = {};
|
|
237
|
+
var useConstant = function useConstant(value) {
|
|
238
|
+
var ref = React.useRef(not_defined);
|
|
239
|
+
|
|
240
|
+
if (ref.current === not_defined) {
|
|
241
|
+
ref.current = value;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return ref.current;
|
|
245
|
+
};
|
|
246
|
+
var useLazyConstant = function useLazyConstant(value) {
|
|
247
|
+
var ref = React.useRef(not_defined);
|
|
248
|
+
|
|
249
|
+
if (ref.current === not_defined) {
|
|
250
|
+
ref.current = utils.callIfFunction(value);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
return ref.current;
|
|
254
|
+
};
|
|
255
|
+
|
|
206
256
|
var SlotContext = React__default['default'].createContext(new Map());
|
|
207
257
|
|
|
208
258
|
var _willUseSharedState = willUseSharedState(),
|
|
@@ -226,30 +276,45 @@ var SlotProvider = function SlotProvider(_ref) {
|
|
|
226
276
|
};
|
|
227
277
|
var Slot = function Slot(_ref2) {
|
|
228
278
|
var name = _ref2.name,
|
|
229
|
-
|
|
279
|
+
children = _ref2.children,
|
|
280
|
+
rest = _objectWithoutProperties__default['default'](_ref2, ["name", "children"]);
|
|
230
281
|
|
|
231
282
|
var ref = React.useRef();
|
|
283
|
+
var slotInfo = useConstant({
|
|
284
|
+
ref: ref
|
|
285
|
+
});
|
|
232
286
|
var slots = React.useContext(SlotContext);
|
|
233
287
|
React.useLayoutEffect(function () {
|
|
234
288
|
var previous = slots.get(name);
|
|
235
|
-
var
|
|
289
|
+
var updates = (previous === null || previous === void 0 ? void 0 : previous.updates) || [];
|
|
236
290
|
|
|
237
291
|
if (previous === null || previous === void 0 ? void 0 : previous.children) ;
|
|
238
292
|
|
|
239
|
-
slots.set(name,
|
|
240
|
-
|
|
293
|
+
slots.set(name, _flow__default['default'](_update__default['default']('infos', _union__default['default']([slotInfo])))(previous));
|
|
294
|
+
updates.forEach(function (v) {
|
|
295
|
+
return v({});
|
|
241
296
|
});
|
|
242
|
-
update();
|
|
243
297
|
return function () {
|
|
298
|
+
var _previous$infos, _previous$updates;
|
|
299
|
+
|
|
244
300
|
var previous = slots.get(name);
|
|
245
|
-
previous.
|
|
301
|
+
previous.infos = _without__default['default']([slotInfo], previous.infos);
|
|
246
302
|
|
|
247
|
-
if (!previous.
|
|
303
|
+
if (!((_previous$infos = previous.infos) === null || _previous$infos === void 0 ? void 0 : _previous$infos.length) && !((_previous$updates = previous.updates) === null || _previous$updates === void 0 ? void 0 : _previous$updates.length)) {
|
|
248
304
|
slots.delete(name);
|
|
249
305
|
}
|
|
250
306
|
};
|
|
251
307
|
}, [name]);
|
|
252
|
-
return React__default['default'].createElement("div", _extends__default['default']({
|
|
308
|
+
return children ? React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("div", _extends__default['default']({
|
|
309
|
+
"data-id": name
|
|
310
|
+
}, rest, {
|
|
311
|
+
ref: ref
|
|
312
|
+
})), React__default['default'].Children.map(children, function (c) {
|
|
313
|
+
return React__default['default'].cloneElement(c, _objectSpread__default['default']({}, c.props, {
|
|
314
|
+
name: name,
|
|
315
|
+
stack: Number.MIN_SAFE_INTEGER
|
|
316
|
+
}));
|
|
317
|
+
})) : React__default['default'].createElement("div", _extends__default['default']({
|
|
253
318
|
"data-id": name
|
|
254
319
|
}, rest, {
|
|
255
320
|
ref: ref
|
|
@@ -269,12 +334,12 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
|
|
|
269
334
|
React.useLayoutEffect(function () {
|
|
270
335
|
var _slots$get;
|
|
271
336
|
|
|
272
|
-
var
|
|
337
|
+
var infos = ((_slots$get = slots.get(name)) === null || _slots$get === void 0 ? void 0 : _slots$get.infos) || [];
|
|
273
338
|
|
|
274
339
|
var mounted = _flatMap__default['default'](function (_ref4) {
|
|
275
|
-
var
|
|
276
|
-
return current;
|
|
277
|
-
},
|
|
340
|
+
var ref = _ref4.ref;
|
|
341
|
+
return ref === null || ref === void 0 ? void 0 : ref.current;
|
|
342
|
+
}, infos);
|
|
278
343
|
|
|
279
344
|
var clones = [];
|
|
280
345
|
|
|
@@ -299,30 +364,62 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
|
|
|
299
364
|
}, children);
|
|
300
365
|
};
|
|
301
366
|
|
|
367
|
+
var useFillState = function useFillState(name, stack) {
|
|
368
|
+
var forceUpdate = React__default['default'].useState(false)[1];
|
|
369
|
+
var slots = React.useContext(SlotContext);
|
|
370
|
+
var renderSlot = slots.get(name);
|
|
371
|
+
|
|
372
|
+
var maxStack = _max__default['default'](renderSlot === null || renderSlot === void 0 ? void 0 : renderSlot.stacks);
|
|
373
|
+
|
|
374
|
+
var onStack = !_isFinite__default['default'](maxStack) || maxStack === stack;
|
|
375
|
+
React.useLayoutEffect(function () {
|
|
376
|
+
var slot = slots.get(name);
|
|
377
|
+
|
|
378
|
+
var updatedSlot = _flow__default['default'](_update__default['default']('updates', _union__default['default']([forceUpdate])), _update__default['default']('stacks', _union__default['default']([stack])))(slot);
|
|
379
|
+
|
|
380
|
+
slots.set(name, updatedSlot);
|
|
381
|
+
updatedSlot.updates.forEach(function (v) {
|
|
382
|
+
return v({});
|
|
383
|
+
});
|
|
384
|
+
return function () {
|
|
385
|
+
var previous = slots.get(name);
|
|
386
|
+
var index = previous.updates.indexOf(forceUpdate);
|
|
387
|
+
|
|
388
|
+
var next = _flow__default['default'](_update__default['default']('updates', utils._s.removeAt(index)), _update__default['default']('stacks', utils._s.removeAt(index)))(previous);
|
|
389
|
+
|
|
390
|
+
slots.set(name, next);
|
|
391
|
+
next.updates.forEach(function (v) {
|
|
392
|
+
return v({});
|
|
393
|
+
});
|
|
394
|
+
};
|
|
395
|
+
}, []);
|
|
396
|
+
return [renderSlot, onStack];
|
|
397
|
+
};
|
|
398
|
+
|
|
302
399
|
var Fill = function Fill(_ref5) {
|
|
303
400
|
var name = _ref5.name,
|
|
304
401
|
children = _ref5.children,
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
402
|
+
_ref5$stack = _ref5.stack,
|
|
403
|
+
stack = _ref5$stack === void 0 ? 0 : _ref5$stack,
|
|
404
|
+
mountBeforeFlip = _ref5.mountBeforeFlip;
|
|
405
|
+
|
|
406
|
+
var _useFillState = useFillState(name, stack),
|
|
407
|
+
_useFillState2 = _slicedToArray__default['default'](_useFillState, 2),
|
|
408
|
+
slot = _useFillState2[0],
|
|
409
|
+
onStack = _useFillState2[1];
|
|
309
410
|
|
|
310
|
-
if (slot === null || slot === void 0 ? void 0 : slot.
|
|
311
|
-
return slot === null || slot === void 0 ? void 0 : slot.
|
|
312
|
-
|
|
411
|
+
if ((slot === null || slot === void 0 ? void 0 : slot.infos) && onStack) {
|
|
412
|
+
return slot === null || slot === void 0 ? void 0 : slot.infos.map(function (info) {
|
|
413
|
+
var _info$ref;
|
|
414
|
+
|
|
415
|
+
return ((_info$ref = info.ref) === null || _info$ref === void 0 ? void 0 : _info$ref.current) && ReactDOM__default['default'].createPortal(utils.callIfFunction(children, info), info.ref.current);
|
|
313
416
|
});
|
|
314
|
-
} else if (
|
|
417
|
+
} else if (mountBeforeFlip) {
|
|
315
418
|
return React__default['default'].createElement(FillBeforeFlip, {
|
|
316
419
|
name: name,
|
|
317
420
|
slot: slot
|
|
318
421
|
}, children);
|
|
319
422
|
} else {
|
|
320
|
-
slots.set(name, {
|
|
321
|
-
children: children,
|
|
322
|
-
update: function update() {
|
|
323
|
-
return forceUpdate({});
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
423
|
return null;
|
|
327
424
|
}
|
|
328
425
|
};
|
|
@@ -536,8 +633,12 @@ var useToggleInternal = function useToggleInternal() {
|
|
|
536
633
|
console.log(key, refIsOpen.get() !== value ? "toggle" : "clear", refIsOpen.get(), value);
|
|
537
634
|
}
|
|
538
635
|
|
|
539
|
-
|
|
540
|
-
|
|
636
|
+
var nextValue = utils.callIfFunction(value, refIsOpen.get());
|
|
637
|
+
|
|
638
|
+
if (refIsOpen.get() !== nextValue) {
|
|
639
|
+
toggleWith(function () {
|
|
640
|
+
return nextValue;
|
|
641
|
+
});
|
|
541
642
|
} else {
|
|
542
643
|
clearClosing();
|
|
543
644
|
}
|
|
@@ -699,6 +800,10 @@ var usePopupToggle = function usePopupToggle(startWith, callback) {
|
|
|
699
800
|
return sameTick = false;
|
|
700
801
|
}, 1);
|
|
701
802
|
}
|
|
803
|
+
|
|
804
|
+
if (v === false) {
|
|
805
|
+
prevOpenToggleClose = function prevOpenToggleClose() {};
|
|
806
|
+
}
|
|
702
807
|
});
|
|
703
808
|
return toggle;
|
|
704
809
|
};
|
|
@@ -763,6 +868,16 @@ function (_React$Component) {
|
|
|
763
868
|
key: "componentDidMount",
|
|
764
869
|
value: function componentDidMount() {
|
|
765
870
|
utils.fixMediaQuery();
|
|
871
|
+
|
|
872
|
+
var addVHFix = function addVHFix() {
|
|
873
|
+
var _document$documentEle, _document$documentEle2;
|
|
874
|
+
|
|
875
|
+
var vh = window.innerHeight * 0.01;
|
|
876
|
+
(_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : (_document$documentEle2 = _document$documentEle.style) === null || _document$documentEle2 === void 0 ? void 0 : _document$documentEle2.setProperty('--vh', "".concat(vh, "px"));
|
|
877
|
+
};
|
|
878
|
+
|
|
879
|
+
window.addEventListener('resize', _debounce__default['default'](200, addVHFix));
|
|
880
|
+
addVHFix();
|
|
766
881
|
}
|
|
767
882
|
}, {
|
|
768
883
|
key: "render",
|
|
@@ -937,6 +1052,184 @@ function (_React$Component) {
|
|
|
937
1052
|
return WithRef;
|
|
938
1053
|
}(React__default['default'].Component);
|
|
939
1054
|
|
|
1055
|
+
var scrollWidth = function () {
|
|
1056
|
+
if (!window.document) return 0;
|
|
1057
|
+
var html = document.documentElement;
|
|
1058
|
+
var oldOverflow = html.style.overflowY;
|
|
1059
|
+
html.style.overflowY = 'scroll';
|
|
1060
|
+
var width = window.innerWidth - html.clientWidth;
|
|
1061
|
+
html.style.overflowY = oldOverflow;
|
|
1062
|
+
return width;
|
|
1063
|
+
}();
|
|
1064
|
+
|
|
1065
|
+
var callIfFunction = function callIfFunction(prop) {
|
|
1066
|
+
for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
|
|
1067
|
+
args[_key6 - 1] = arguments[_key6];
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
return typeof prop === "function" ? prop.apply(void 0, args) : prop;
|
|
1071
|
+
};
|
|
1072
|
+
var ifUndefined = function ifUndefined(v) {
|
|
1073
|
+
for (var _len10 = arguments.length, or = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {
|
|
1074
|
+
or[_key10 - 1] = arguments[_key10];
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
return v !== undefined ? v : or.length === 1 ? or[0] : ifUndefined.apply(void 0, [or[0]].concat(_toConsumableArray__default['default'](or.slice(1))));
|
|
1078
|
+
};
|
|
1079
|
+
|
|
1080
|
+
var moveElement = ___default['default'].curry(function (from, to, list) {
|
|
1081
|
+
var el = list[from];
|
|
1082
|
+
|
|
1083
|
+
var without = ___default['default'].pullAt(from, list);
|
|
1084
|
+
|
|
1085
|
+
without.splice(to, 0, el);
|
|
1086
|
+
return without;
|
|
1087
|
+
});
|
|
1088
|
+
var unsetOrRemoveAt = ___default['default'].curry(function (path, value) {
|
|
1089
|
+
var pathArr = toPath(path);
|
|
1090
|
+
|
|
1091
|
+
var _pathArr$slice = pathArr.slice(-1),
|
|
1092
|
+
_pathArr$slice2 = _slicedToArray__default['default'](_pathArr$slice, 1),
|
|
1093
|
+
lastKey = _pathArr$slice2[0];
|
|
1094
|
+
|
|
1095
|
+
return update(pathArr.slice(0, -1), function (v) {
|
|
1096
|
+
return Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v);
|
|
1097
|
+
}, value);
|
|
1098
|
+
});
|
|
1099
|
+
|
|
1100
|
+
var sanitizePath = function sanitizePath(path) {
|
|
1101
|
+
return Array.isArray(path) ? path.map(sanitizePath) : typeof path === 'number' ? path.toString() : path === undefined ? [] : path;
|
|
1102
|
+
};
|
|
1103
|
+
|
|
1104
|
+
var toPath = function toPath(path) {
|
|
1105
|
+
return ___default['default'].toPath(sanitizePath(path));
|
|
1106
|
+
};
|
|
1107
|
+
|
|
1108
|
+
var isEmptyPath = function isEmptyPath(path) {
|
|
1109
|
+
return path && !path.length;
|
|
1110
|
+
};
|
|
1111
|
+
|
|
1112
|
+
var update = ___default['default'].curry(function (path, updater, state) {
|
|
1113
|
+
var sanitizedPath = sanitizePath(path);
|
|
1114
|
+
|
|
1115
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1116
|
+
return updater(state);
|
|
1117
|
+
} else {
|
|
1118
|
+
return ___default['default'].update(sanitizedPath, updater, state);
|
|
1119
|
+
}
|
|
1120
|
+
});
|
|
1121
|
+
var get = ___default['default'].curry(function (path, state) {
|
|
1122
|
+
var sanitizedPath = sanitizePath(path);
|
|
1123
|
+
|
|
1124
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1125
|
+
return state;
|
|
1126
|
+
} else {
|
|
1127
|
+
return ___default['default'].get(sanitizedPath, state);
|
|
1128
|
+
}
|
|
1129
|
+
});
|
|
1130
|
+
var set = ___default['default'].curry(function (path, value, state) {
|
|
1131
|
+
var sanitizedPath = sanitizePath(path);
|
|
1132
|
+
|
|
1133
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1134
|
+
return value;
|
|
1135
|
+
} else {
|
|
1136
|
+
return ___default['default'].set(sanitizedPath, value, state);
|
|
1137
|
+
}
|
|
1138
|
+
});
|
|
1139
|
+
var unset = ___default['default'].curry(function (path, state) {
|
|
1140
|
+
var sanitizedPath = sanitizePath(path);
|
|
1141
|
+
|
|
1142
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1143
|
+
return undefined;
|
|
1144
|
+
} else {
|
|
1145
|
+
return ___default['default'].unset(sanitizedPath, state);
|
|
1146
|
+
}
|
|
1147
|
+
});
|
|
1148
|
+
var removeNAt = ___default['default'].curry(function (pos, n, value) {
|
|
1149
|
+
return _toConsumableArray__default['default'](value.slice(0, Number(pos))).concat(_toConsumableArray__default['default'](value.slice(Number(pos) + n)));
|
|
1150
|
+
});
|
|
1151
|
+
var removeAt = removeNAt(___default['default'].__, 1);
|
|
1152
|
+
var when = ___default['default'].curry(function (cond, fn, value) {
|
|
1153
|
+
return callIfFunction(cond, value) ? fn(value) : value;
|
|
1154
|
+
});
|
|
1155
|
+
var assign = ___default['default'].curry(function (a, b) {
|
|
1156
|
+
return ___default['default'].assign(b, a);
|
|
1157
|
+
});
|
|
1158
|
+
var concat = ___default['default'].curry(function (a, b) {
|
|
1159
|
+
return ___default['default'].concat(b, a);
|
|
1160
|
+
});
|
|
1161
|
+
var each = ___default['default'].each.convert({
|
|
1162
|
+
cap: false
|
|
1163
|
+
});
|
|
1164
|
+
var find = ___default['default'].find.convert({
|
|
1165
|
+
cap: false
|
|
1166
|
+
});
|
|
1167
|
+
var filter = ___default['default'].filter.convert({
|
|
1168
|
+
cap: false
|
|
1169
|
+
});
|
|
1170
|
+
var map = ___default['default'].map.convert({
|
|
1171
|
+
cap: false
|
|
1172
|
+
});
|
|
1173
|
+
var insertAt = ___default['default'].curry(function (pos, newElements, value) {
|
|
1174
|
+
return _toConsumableArray__default['default'](value.slice(0, pos).concat(newElements)).concat(_toConsumableArray__default['default'](value.slice(pos)));
|
|
1175
|
+
});
|
|
1176
|
+
|
|
1177
|
+
function _templateObject() {
|
|
1178
|
+
var data = _taggedTemplateLiteral__default['default'](["\n ", ""]);
|
|
1179
|
+
|
|
1180
|
+
_templateObject = function _templateObject() {
|
|
1181
|
+
return data;
|
|
1182
|
+
};
|
|
1183
|
+
|
|
1184
|
+
return data;
|
|
1185
|
+
}
|
|
1186
|
+
var media = function media() {
|
|
1187
|
+
for (var _len3 = arguments.length, sizePairs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
1188
|
+
sizePairs[_key3] = arguments[_key3];
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
return function () {
|
|
1192
|
+
return styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref4) {
|
|
1193
|
+
var _ref5 = _slicedToArray__default['default'](_ref4, 2),
|
|
1194
|
+
size = _ref5[0],
|
|
1195
|
+
type = _ref5[1];
|
|
1196
|
+
|
|
1197
|
+
return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
|
|
1198
|
+
}).join(' and '), styled.css.apply(void 0, arguments));
|
|
1199
|
+
};
|
|
1200
|
+
};
|
|
1201
|
+
media.mobile = media([600, 'max-width']);
|
|
1202
|
+
|
|
1203
|
+
media.between = function (min, max) {
|
|
1204
|
+
return media([min, 'min-width'], [max, 'max-width']);
|
|
1205
|
+
};
|
|
1206
|
+
|
|
1207
|
+
media.max = function (n) {
|
|
1208
|
+
return media([n, 'max-width']);
|
|
1209
|
+
};
|
|
1210
|
+
|
|
1211
|
+
media.min = function (n) {
|
|
1212
|
+
return media([n, 'min-width']);
|
|
1213
|
+
};
|
|
1214
|
+
|
|
1215
|
+
media.desktop = media([601, 'min-width']);
|
|
1216
|
+
|
|
1217
|
+
var getFrameOffset = function getFrameOffset(i, total) {
|
|
1218
|
+
return Math.round(i * 100 / (total - 1));
|
|
1219
|
+
};
|
|
1220
|
+
|
|
1221
|
+
var oneWayAnimation = function oneWayAnimation() {
|
|
1222
|
+
for (var _len4 = arguments.length, frames = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
1223
|
+
frames[_key4] = arguments[_key4];
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
return emotion.keyframes(_templateObject(), frames.map(function (frame, i) {
|
|
1227
|
+
return !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }");
|
|
1228
|
+
}));
|
|
1229
|
+
};
|
|
1230
|
+
var identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
|
|
1231
|
+
var identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
|
|
1232
|
+
|
|
940
1233
|
var addExtraProp = function addExtraProp(element, extra) {
|
|
941
1234
|
var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
942
1235
|
return React__default['default'].cloneElement(element, override ? _objectSpread__default['default']({}, element.props, extra) : _objectSpread__default['default']({}, extra, element.props), element.props.children);
|
|
@@ -945,15 +1238,14 @@ var addExtraProp = function addExtraProp(element, extra) {
|
|
|
945
1238
|
var WithLazyResource = function WithLazyResource(_ref) {
|
|
946
1239
|
var value = _ref.value,
|
|
947
1240
|
wrap = _ref.wrap,
|
|
948
|
-
|
|
949
|
-
fallback = _ref$fallback === void 0 ? null : _ref$fallback,
|
|
1241
|
+
fallback = _ref.fallback,
|
|
950
1242
|
children = _ref.children,
|
|
951
1243
|
_ref$forwardProps = _ref.forwardProps,
|
|
952
1244
|
forwardProps = _ref$forwardProps === void 0 ? false : _ref$forwardProps,
|
|
953
1245
|
props = _objectWithoutProperties__default['default'](_ref, ["value", "wrap", "fallback", "children", "forwardProps"]);
|
|
954
1246
|
|
|
955
|
-
return wrap ? React__default['default'].createElement(React__default['default'].Suspense, {
|
|
956
|
-
fallback: fallback
|
|
1247
|
+
return wrap || fallback !== undefined ? React__default['default'].createElement(React__default['default'].Suspense, {
|
|
1248
|
+
fallback: ifUndefined(fallback, null)
|
|
957
1249
|
}, React__default['default'].createElement(Load, {
|
|
958
1250
|
value: value,
|
|
959
1251
|
forwardProps: forwardProps && props,
|
|
@@ -1119,30 +1411,82 @@ function usePrevious(value, initialValue) {
|
|
|
1119
1411
|
});
|
|
1120
1412
|
return ref.current;
|
|
1121
1413
|
}
|
|
1414
|
+
function usePreviousUnique(value, initialValue) {
|
|
1415
|
+
var ref = React.useRef(initialValue);
|
|
1416
|
+
React.useEffect(function () {
|
|
1417
|
+
if (value !== ref.current) {
|
|
1418
|
+
ref.current = value;
|
|
1419
|
+
}
|
|
1420
|
+
});
|
|
1421
|
+
return ref.current;
|
|
1422
|
+
}
|
|
1122
1423
|
|
|
1123
1424
|
var useEnsureRef = function useEnsureRef(forwardedRef) {
|
|
1124
1425
|
var ref = React.useRef();
|
|
1125
1426
|
return forwardedRef || ref;
|
|
1126
1427
|
};
|
|
1127
1428
|
|
|
1128
|
-
var
|
|
1129
|
-
var
|
|
1130
|
-
|
|
1429
|
+
var useForceUpdate = function useForceUpdate() {
|
|
1430
|
+
var _useState = React.useState(0),
|
|
1431
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
1432
|
+
value = _useState2[0],
|
|
1433
|
+
setValue = _useState2[1]; // integer state
|
|
1131
1434
|
|
|
1132
|
-
if (ref.current === not_defined) {
|
|
1133
|
-
ref.current = value;
|
|
1134
|
-
}
|
|
1135
1435
|
|
|
1136
|
-
return
|
|
1436
|
+
return function () {
|
|
1437
|
+
return setValue(function (value) {
|
|
1438
|
+
return value + 1;
|
|
1439
|
+
});
|
|
1440
|
+
}; // update the state to force render
|
|
1137
1441
|
};
|
|
1138
|
-
var
|
|
1139
|
-
var
|
|
1442
|
+
var willUseForceUpdate = function willUseForceUpdate() {
|
|
1443
|
+
var _willUseSharedState = willUseSharedState(),
|
|
1444
|
+
_willUseSharedState2 = _slicedToArray__default['default'](_willUseSharedState, 3),
|
|
1445
|
+
useValue = _willUseSharedState2[0],
|
|
1446
|
+
set = _willUseSharedState2[2];
|
|
1447
|
+
|
|
1448
|
+
var useForceUpdate = function useForceUpdate() {
|
|
1449
|
+
var _useValue = useValue(0),
|
|
1450
|
+
_useValue2 = _slicedToArray__default['default'](_useValue, 2),
|
|
1451
|
+
v = _useValue2[0],
|
|
1452
|
+
setV = _useValue2[1];
|
|
1140
1453
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1454
|
+
return function () {
|
|
1455
|
+
return setV(function (value) {
|
|
1456
|
+
return value + 1;
|
|
1457
|
+
});
|
|
1458
|
+
};
|
|
1459
|
+
};
|
|
1144
1460
|
|
|
1145
|
-
return
|
|
1461
|
+
return [useForceUpdate, function () {
|
|
1462
|
+
return set(function (value) {
|
|
1463
|
+
return value + 1;
|
|
1464
|
+
});
|
|
1465
|
+
}];
|
|
1466
|
+
};
|
|
1467
|
+
|
|
1468
|
+
var useUpdateOnResize = function useUpdateOnResize() {
|
|
1469
|
+
var debounceInterval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
|
|
1470
|
+
var update = useForceUpdate();
|
|
1471
|
+
React.useEffect(function () {
|
|
1472
|
+
var trigger = _debounce__default['default'](debounceInterval, update);
|
|
1473
|
+
|
|
1474
|
+
window.addEventListener('resize', trigger);
|
|
1475
|
+
return function () {
|
|
1476
|
+
window.removeEventListener('resize', trigger);
|
|
1477
|
+
};
|
|
1478
|
+
}, []);
|
|
1479
|
+
};
|
|
1480
|
+
|
|
1481
|
+
var useAsyncEffect = function useAsyncEffect(fn, args) {
|
|
1482
|
+
React.useEffect(function () {
|
|
1483
|
+
var result = fn();
|
|
1484
|
+
return function () {
|
|
1485
|
+
result.then(function (end) {
|
|
1486
|
+
return utils.callIfFunction(end);
|
|
1487
|
+
});
|
|
1488
|
+
};
|
|
1489
|
+
}, args);
|
|
1146
1490
|
};
|
|
1147
1491
|
|
|
1148
1492
|
var useUpdateEffect = function useUpdateEffect(effect, inputs) {
|
|
@@ -1194,9 +1538,11 @@ var parsePathOrSelector = function parsePathOrSelector(pathOrSelector) {
|
|
|
1194
1538
|
}
|
|
1195
1539
|
};
|
|
1196
1540
|
|
|
1197
|
-
var willUseSpreadState = function willUseSpreadState() {
|
|
1198
|
-
var
|
|
1541
|
+
var willUseSpreadState = function willUseSpreadState(defaultContextValue) {
|
|
1542
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1543
|
+
var Context = React__default['default'].createContext(defaultContextValue);
|
|
1199
1544
|
var EMPTY_GLOBAL = {};
|
|
1545
|
+
var prevInitState = EMPTY_GLOBAL;
|
|
1200
1546
|
var globalState = EMPTY_GLOBAL;
|
|
1201
1547
|
|
|
1202
1548
|
var getGlobalState = function getGlobalState() {
|
|
@@ -1213,10 +1559,22 @@ var willUseSpreadState = function willUseSpreadState() {
|
|
|
1213
1559
|
|
|
1214
1560
|
var state = useRefState(initState, setCallback);
|
|
1215
1561
|
|
|
1562
|
+
if (options.initRefCheck) {
|
|
1563
|
+
if (prevInitState !== initState) {
|
|
1564
|
+
globalState = initState;
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
prevInitState = initState;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1216
1570
|
if (globalState === EMPTY_GLOBAL) {
|
|
1217
1571
|
globalState = initState;
|
|
1218
1572
|
}
|
|
1219
1573
|
|
|
1574
|
+
React.useEffect(function () {
|
|
1575
|
+
globalState = state.get();
|
|
1576
|
+
}, []);
|
|
1577
|
+
|
|
1220
1578
|
var setState = function setState(newState, fastPath, config) {
|
|
1221
1579
|
// console.log("Fastpath noop:"+fastPath)
|
|
1222
1580
|
state.set(newState, config);
|
|
@@ -1273,9 +1631,16 @@ var willUseSpreadState = function willUseSpreadState() {
|
|
|
1273
1631
|
}, pathOrInput);
|
|
1274
1632
|
useCatalogManager(manager, input);
|
|
1275
1633
|
var setState = React.useCallback(function (v) {
|
|
1276
|
-
return setSpreadState((_isFunction__default['default'](v) ?
|
|
1634
|
+
return setSpreadState((_isFunction__default['default'](v) ? pathOrSelector === undefined ? function () {
|
|
1635
|
+
return v;
|
|
1636
|
+
} : _update__default['default'] : _set__default['default'])(path, v), path);
|
|
1277
1637
|
}, pathOrInput);
|
|
1278
|
-
|
|
1638
|
+
|
|
1639
|
+
var getValue = function getValue() {
|
|
1640
|
+
return selector(getGlobalState());
|
|
1641
|
+
};
|
|
1642
|
+
|
|
1643
|
+
return [value, setState, getValue];
|
|
1279
1644
|
};
|
|
1280
1645
|
|
|
1281
1646
|
return [useProvideSpreadState, useSpreadState, Context, getGlobalState];
|
|
@@ -1296,21 +1661,26 @@ exports.WithLazyResource = WithLazyResource;
|
|
|
1296
1661
|
exports.WithRef = WithRef;
|
|
1297
1662
|
exports.clearPopups = clearPopups;
|
|
1298
1663
|
exports.consumes = consumes;
|
|
1664
|
+
exports.useAsyncEffect = useAsyncEffect;
|
|
1299
1665
|
exports.useCatalogManager = useCatalogManager;
|
|
1300
1666
|
exports.useConstant = useConstant;
|
|
1301
1667
|
exports.useConsumerCatalog = useConsumerCatalog;
|
|
1302
1668
|
exports.useEnsureRef = useEnsureRef;
|
|
1303
1669
|
exports.useFill = useFill;
|
|
1670
|
+
exports.useForceUpdate = useForceUpdate;
|
|
1304
1671
|
exports.useHiddenFill = useHiddenFill;
|
|
1305
1672
|
exports.useIsUnmounted = useIsUnmounted;
|
|
1306
1673
|
exports.useLazyConstant = useLazyConstant;
|
|
1307
1674
|
exports.usePopupToggle = usePopupToggle;
|
|
1308
1675
|
exports.usePrevious = usePrevious;
|
|
1676
|
+
exports.usePreviousUnique = usePreviousUnique;
|
|
1309
1677
|
exports.useRefState = useRefState;
|
|
1310
1678
|
exports.useRefToggle = useRefToggle;
|
|
1311
1679
|
exports.useTitle = useTitle;
|
|
1312
1680
|
exports.useToggle = useToggle;
|
|
1313
1681
|
exports.useUpdateEffect = useUpdateEffect;
|
|
1682
|
+
exports.useUpdateOnResize = useUpdateOnResize;
|
|
1683
|
+
exports.willUseForceUpdate = willUseForceUpdate;
|
|
1314
1684
|
exports.willUseLayers = willUseLayers;
|
|
1315
1685
|
exports.willUseSharedCallback = willUseSharedCallback;
|
|
1316
1686
|
exports.willUseSharedState = willUseSharedState;
|