@startlibs/core 1.0.0-alpha-6m → 1.0.0-alpha-6q
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 +378 -58
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -9,6 +9,7 @@ var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
|
9
9
|
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
10
10
|
var React = require('react');
|
|
11
11
|
var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
|
|
12
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread');
|
|
12
13
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
13
14
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
15
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
@@ -17,19 +18,29 @@ var _uniqueId = require('lodash/fp/uniqueId');
|
|
|
17
18
|
var _differenceBy = require('lodash/fp/differenceBy');
|
|
18
19
|
var _set = require('lodash/fp/set');
|
|
19
20
|
var _findIndex = require('lodash/fp/findIndex');
|
|
20
|
-
var
|
|
21
|
+
var _isFinite = require('lodash/fp/isFinite');
|
|
22
|
+
var _max = require('lodash/fp/max');
|
|
21
23
|
var _flatMap = require('lodash/fp/flatMap');
|
|
22
24
|
var _without = require('lodash/fp/without');
|
|
23
|
-
var
|
|
25
|
+
var _union = require('lodash/fp/union');
|
|
26
|
+
var _update = require('lodash/fp/update');
|
|
27
|
+
var _flow = require('lodash/fp/flow');
|
|
24
28
|
var ReactDOM = require('react-dom');
|
|
25
29
|
var styled = require('styled-components');
|
|
26
30
|
var utils = require('@startlibs/utils');
|
|
27
|
-
var
|
|
31
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
28
32
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
29
33
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
30
34
|
var mitt = require('mitt');
|
|
31
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
32
35
|
var _isArray = require('lodash/fp/isArray');
|
|
36
|
+
require('@babel/runtime/helpers/asyncToGenerator');
|
|
37
|
+
require('@babel/runtime/regenerator');
|
|
38
|
+
require('@babel/runtime/helpers/awaitAsyncGenerator');
|
|
39
|
+
require('@babel/runtime/helpers/wrapAsyncGenerator');
|
|
40
|
+
var _ = require('lodash/fp');
|
|
41
|
+
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
42
|
+
require('polished');
|
|
43
|
+
var emotion = require('emotion');
|
|
33
44
|
var _isFunction = require('lodash/fp/isFunction');
|
|
34
45
|
|
|
35
46
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -41,6 +52,7 @@ var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeO
|
|
|
41
52
|
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
42
53
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
54
|
var _objectDestructuringEmpty__default = /*#__PURE__*/_interopDefaultLegacy(_objectDestructuringEmpty);
|
|
55
|
+
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
44
56
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
45
57
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
46
58
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
@@ -49,18 +61,22 @@ var _uniqueId__default = /*#__PURE__*/_interopDefaultLegacy(_uniqueId);
|
|
|
49
61
|
var _differenceBy__default = /*#__PURE__*/_interopDefaultLegacy(_differenceBy);
|
|
50
62
|
var _set__default = /*#__PURE__*/_interopDefaultLegacy(_set);
|
|
51
63
|
var _findIndex__default = /*#__PURE__*/_interopDefaultLegacy(_findIndex);
|
|
52
|
-
var
|
|
64
|
+
var _isFinite__default = /*#__PURE__*/_interopDefaultLegacy(_isFinite);
|
|
65
|
+
var _max__default = /*#__PURE__*/_interopDefaultLegacy(_max);
|
|
53
66
|
var _flatMap__default = /*#__PURE__*/_interopDefaultLegacy(_flatMap);
|
|
54
67
|
var _without__default = /*#__PURE__*/_interopDefaultLegacy(_without);
|
|
55
|
-
var
|
|
68
|
+
var _union__default = /*#__PURE__*/_interopDefaultLegacy(_union);
|
|
69
|
+
var _update__default = /*#__PURE__*/_interopDefaultLegacy(_update);
|
|
70
|
+
var _flow__default = /*#__PURE__*/_interopDefaultLegacy(_flow);
|
|
56
71
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
57
72
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
58
|
-
var
|
|
73
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
59
74
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
60
75
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
61
76
|
var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
|
|
62
|
-
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
63
77
|
var _isArray__default = /*#__PURE__*/_interopDefaultLegacy(_isArray);
|
|
78
|
+
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
79
|
+
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
|
|
64
80
|
var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
|
|
65
81
|
|
|
66
82
|
var callList = function callList(list, firstArg) {
|
|
@@ -107,6 +123,11 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
107
123
|
return listenerCallbacks;
|
|
108
124
|
};
|
|
109
125
|
|
|
126
|
+
var lastCall = {
|
|
127
|
+
current: null,
|
|
128
|
+
index: 0
|
|
129
|
+
};
|
|
130
|
+
|
|
110
131
|
var call = function call() {
|
|
111
132
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
112
133
|
args[_key2] = arguments[_key2];
|
|
@@ -114,6 +135,8 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
114
135
|
|
|
115
136
|
var resp = callList.apply(void 0, [get()].concat(args));
|
|
116
137
|
callList.apply(void 0, [getListeners()].concat(args));
|
|
138
|
+
lastCall.current = args;
|
|
139
|
+
lastCall.index++;
|
|
117
140
|
return resp;
|
|
118
141
|
};
|
|
119
142
|
|
|
@@ -129,6 +152,7 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
129
152
|
ref.current = callback;
|
|
130
153
|
}
|
|
131
154
|
|
|
155
|
+
var lastCallIndex = lastCall.index;
|
|
132
156
|
useEffect(function () {
|
|
133
157
|
if (!ref.current) {
|
|
134
158
|
return;
|
|
@@ -138,6 +162,10 @@ var willUseSharedCallback = function willUseSharedCallback() {
|
|
|
138
162
|
addListener(ref);
|
|
139
163
|
} else {
|
|
140
164
|
add(ref);
|
|
165
|
+
|
|
166
|
+
if (lastCallIndex !== lastCall.index && lastCall.current) {
|
|
167
|
+
callList.apply(void 0, [[ref]].concat(_toConsumableArray__default['default'](lastCall.current)));
|
|
168
|
+
}
|
|
141
169
|
}
|
|
142
170
|
|
|
143
171
|
return function () {
|
|
@@ -203,6 +231,26 @@ var willUseSharedState = function willUseSharedState(initialValue) {
|
|
|
203
231
|
}, clear];
|
|
204
232
|
};
|
|
205
233
|
|
|
234
|
+
var not_defined = {};
|
|
235
|
+
var useConstant = function useConstant(value) {
|
|
236
|
+
var ref = React.useRef(not_defined);
|
|
237
|
+
|
|
238
|
+
if (ref.current === not_defined) {
|
|
239
|
+
ref.current = value;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return ref.current;
|
|
243
|
+
};
|
|
244
|
+
var useLazyConstant = function useLazyConstant(value) {
|
|
245
|
+
var ref = React.useRef(not_defined);
|
|
246
|
+
|
|
247
|
+
if (ref.current === not_defined) {
|
|
248
|
+
ref.current = utils.callIfFunction(value);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return ref.current;
|
|
252
|
+
};
|
|
253
|
+
|
|
206
254
|
var SlotContext = React__default['default'].createContext(new Map());
|
|
207
255
|
|
|
208
256
|
var _willUseSharedState = willUseSharedState(),
|
|
@@ -226,30 +274,45 @@ var SlotProvider = function SlotProvider(_ref) {
|
|
|
226
274
|
};
|
|
227
275
|
var Slot = function Slot(_ref2) {
|
|
228
276
|
var name = _ref2.name,
|
|
229
|
-
|
|
277
|
+
children = _ref2.children,
|
|
278
|
+
rest = _objectWithoutProperties__default['default'](_ref2, ["name", "children"]);
|
|
230
279
|
|
|
231
280
|
var ref = React.useRef();
|
|
281
|
+
var slotInfo = useConstant({
|
|
282
|
+
ref: ref
|
|
283
|
+
});
|
|
232
284
|
var slots = React.useContext(SlotContext);
|
|
233
285
|
React.useLayoutEffect(function () {
|
|
234
286
|
var previous = slots.get(name);
|
|
235
|
-
var
|
|
287
|
+
var updates = (previous === null || previous === void 0 ? void 0 : previous.updates) || [];
|
|
236
288
|
|
|
237
289
|
if (previous === null || previous === void 0 ? void 0 : previous.children) ;
|
|
238
290
|
|
|
239
|
-
slots.set(name,
|
|
240
|
-
|
|
291
|
+
slots.set(name, _flow__default['default'](_update__default['default']('infos', _union__default['default']([slotInfo])))(previous));
|
|
292
|
+
updates.forEach(function (v) {
|
|
293
|
+
return v({});
|
|
241
294
|
});
|
|
242
|
-
update();
|
|
243
295
|
return function () {
|
|
296
|
+
var _previous$infos, _previous$updates;
|
|
297
|
+
|
|
244
298
|
var previous = slots.get(name);
|
|
245
|
-
previous.
|
|
299
|
+
previous.infos = _without__default['default']([slotInfo], previous.infos);
|
|
246
300
|
|
|
247
|
-
if (!previous.
|
|
301
|
+
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
302
|
slots.delete(name);
|
|
249
303
|
}
|
|
250
304
|
};
|
|
251
305
|
}, [name]);
|
|
252
|
-
return React__default['default'].createElement("div", _extends__default['default']({
|
|
306
|
+
return children ? React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("div", _extends__default['default']({
|
|
307
|
+
"data-id": name
|
|
308
|
+
}, rest, {
|
|
309
|
+
ref: ref
|
|
310
|
+
})), React__default['default'].Children.map(children, function (c) {
|
|
311
|
+
return React__default['default'].cloneElement(c, _objectSpread__default['default']({}, c.props, {
|
|
312
|
+
name: name,
|
|
313
|
+
stack: Number.MIN_SAFE_INTEGER
|
|
314
|
+
}));
|
|
315
|
+
})) : React__default['default'].createElement("div", _extends__default['default']({
|
|
253
316
|
"data-id": name
|
|
254
317
|
}, rest, {
|
|
255
318
|
ref: ref
|
|
@@ -269,12 +332,12 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
|
|
|
269
332
|
React.useLayoutEffect(function () {
|
|
270
333
|
var _slots$get;
|
|
271
334
|
|
|
272
|
-
var
|
|
335
|
+
var infos = ((_slots$get = slots.get(name)) === null || _slots$get === void 0 ? void 0 : _slots$get.infos) || [];
|
|
273
336
|
|
|
274
337
|
var mounted = _flatMap__default['default'](function (_ref4) {
|
|
275
|
-
var
|
|
276
|
-
return current;
|
|
277
|
-
},
|
|
338
|
+
var ref = _ref4.ref;
|
|
339
|
+
return ref === null || ref === void 0 ? void 0 : ref.current;
|
|
340
|
+
}, infos);
|
|
278
341
|
|
|
279
342
|
var clones = [];
|
|
280
343
|
|
|
@@ -299,30 +362,62 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
|
|
|
299
362
|
}, children);
|
|
300
363
|
};
|
|
301
364
|
|
|
365
|
+
var useFillState = function useFillState(name, stack) {
|
|
366
|
+
var forceUpdate = React__default['default'].useState(false)[1];
|
|
367
|
+
var slots = React.useContext(SlotContext);
|
|
368
|
+
var renderSlot = slots.get(name);
|
|
369
|
+
|
|
370
|
+
var maxStack = _max__default['default'](renderSlot === null || renderSlot === void 0 ? void 0 : renderSlot.stacks);
|
|
371
|
+
|
|
372
|
+
var onStack = !_isFinite__default['default'](maxStack) || maxStack === stack;
|
|
373
|
+
React.useLayoutEffect(function () {
|
|
374
|
+
var slot = slots.get(name);
|
|
375
|
+
|
|
376
|
+
var updatedSlot = _flow__default['default'](_update__default['default']('updates', _union__default['default']([forceUpdate])), _update__default['default']('stacks', _union__default['default']([stack])))(slot);
|
|
377
|
+
|
|
378
|
+
slots.set(name, updatedSlot);
|
|
379
|
+
updatedSlot.updates.forEach(function (v) {
|
|
380
|
+
return v({});
|
|
381
|
+
});
|
|
382
|
+
return function () {
|
|
383
|
+
var previous = slots.get(name);
|
|
384
|
+
var index = previous.updates.indexOf(forceUpdate);
|
|
385
|
+
|
|
386
|
+
var next = _flow__default['default'](_update__default['default']('updates', utils._s.removeAt(index)), _update__default['default']('stacks', utils._s.removeAt(index)))(previous);
|
|
387
|
+
|
|
388
|
+
slots.set(name, next);
|
|
389
|
+
next.updates.forEach(function (v) {
|
|
390
|
+
return v({});
|
|
391
|
+
});
|
|
392
|
+
};
|
|
393
|
+
}, []);
|
|
394
|
+
return [renderSlot, onStack];
|
|
395
|
+
};
|
|
396
|
+
|
|
302
397
|
var Fill = function Fill(_ref5) {
|
|
303
398
|
var name = _ref5.name,
|
|
304
399
|
children = _ref5.children,
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
400
|
+
_ref5$stack = _ref5.stack,
|
|
401
|
+
stack = _ref5$stack === void 0 ? 0 : _ref5$stack,
|
|
402
|
+
mountBeforeFlip = _ref5.mountBeforeFlip;
|
|
403
|
+
|
|
404
|
+
var _useFillState = useFillState(name, stack),
|
|
405
|
+
_useFillState2 = _slicedToArray__default['default'](_useFillState, 2),
|
|
406
|
+
slot = _useFillState2[0],
|
|
407
|
+
onStack = _useFillState2[1];
|
|
309
408
|
|
|
310
|
-
if (slot === null || slot === void 0 ? void 0 : slot.
|
|
311
|
-
return slot === null || slot === void 0 ? void 0 : slot.
|
|
312
|
-
|
|
409
|
+
if ((slot === null || slot === void 0 ? void 0 : slot.infos) && onStack) {
|
|
410
|
+
return slot === null || slot === void 0 ? void 0 : slot.infos.map(function (info) {
|
|
411
|
+
var _info$ref;
|
|
412
|
+
|
|
413
|
+
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
414
|
});
|
|
314
|
-
} else if (
|
|
415
|
+
} else if (mountBeforeFlip) {
|
|
315
416
|
return React__default['default'].createElement(FillBeforeFlip, {
|
|
316
417
|
name: name,
|
|
317
418
|
slot: slot
|
|
318
419
|
}, children);
|
|
319
420
|
} else {
|
|
320
|
-
slots.set(name, {
|
|
321
|
-
children: children,
|
|
322
|
-
update: function update() {
|
|
323
|
-
return forceUpdate({});
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
421
|
return null;
|
|
327
422
|
}
|
|
328
423
|
};
|
|
@@ -519,7 +614,7 @@ var useToggleInternal = function useToggleInternal() {
|
|
|
519
614
|
var newValue = refIsOpen.get() === calledValue ? !calledValue : calledValue;
|
|
520
615
|
|
|
521
616
|
if (!isUnmounted() && refIsOpen.get() !== newValue) {
|
|
522
|
-
var result = utils.callIfFunction(callback, newValue,
|
|
617
|
+
var result = utils.callIfFunction(callback, newValue, refIsOpen.get());
|
|
523
618
|
|
|
524
619
|
if (result === false) {
|
|
525
620
|
return;
|
|
@@ -536,8 +631,12 @@ var useToggleInternal = function useToggleInternal() {
|
|
|
536
631
|
console.log(key, refIsOpen.get() !== value ? "toggle" : "clear", refIsOpen.get(), value);
|
|
537
632
|
}
|
|
538
633
|
|
|
539
|
-
|
|
540
|
-
|
|
634
|
+
var nextValue = utils.callIfFunction(value, refIsOpen.get());
|
|
635
|
+
|
|
636
|
+
if (refIsOpen.get() !== nextValue) {
|
|
637
|
+
toggleWith(function () {
|
|
638
|
+
return nextValue;
|
|
639
|
+
});
|
|
541
640
|
} else {
|
|
542
641
|
clearClosing();
|
|
543
642
|
}
|
|
@@ -688,7 +787,7 @@ var usePopupToggle = function usePopupToggle(startWith, callback) {
|
|
|
688
787
|
var result = utils.callIfFunction(callback, v, prev);
|
|
689
788
|
|
|
690
789
|
if (result === false) {
|
|
691
|
-
return;
|
|
790
|
+
return false;
|
|
692
791
|
}
|
|
693
792
|
|
|
694
793
|
if (v !== false && prevOpenToggleClose !== toggle.close) {
|
|
@@ -699,6 +798,10 @@ var usePopupToggle = function usePopupToggle(startWith, callback) {
|
|
|
699
798
|
return sameTick = false;
|
|
700
799
|
}, 1);
|
|
701
800
|
}
|
|
801
|
+
|
|
802
|
+
if (v === false) {
|
|
803
|
+
prevOpenToggleClose = function prevOpenToggleClose() {};
|
|
804
|
+
}
|
|
702
805
|
});
|
|
703
806
|
return toggle;
|
|
704
807
|
};
|
|
@@ -937,6 +1040,184 @@ function (_React$Component) {
|
|
|
937
1040
|
return WithRef;
|
|
938
1041
|
}(React__default['default'].Component);
|
|
939
1042
|
|
|
1043
|
+
var scrollWidth = function () {
|
|
1044
|
+
if (!window.document) return 0;
|
|
1045
|
+
var html = document.documentElement;
|
|
1046
|
+
var oldOverflow = html.style.overflowY;
|
|
1047
|
+
html.style.overflowY = 'scroll';
|
|
1048
|
+
var width = window.innerWidth - html.clientWidth;
|
|
1049
|
+
html.style.overflowY = oldOverflow;
|
|
1050
|
+
return width;
|
|
1051
|
+
}();
|
|
1052
|
+
|
|
1053
|
+
var callIfFunction = function callIfFunction(prop) {
|
|
1054
|
+
for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
|
|
1055
|
+
args[_key6 - 1] = arguments[_key6];
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
return typeof prop === "function" ? prop.apply(void 0, args) : prop;
|
|
1059
|
+
};
|
|
1060
|
+
var ifUndefined = function ifUndefined(v) {
|
|
1061
|
+
for (var _len10 = arguments.length, or = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {
|
|
1062
|
+
or[_key10 - 1] = arguments[_key10];
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
return v !== undefined ? v : or.length === 1 ? or[0] : ifUndefined.apply(void 0, [or[0]].concat(_toConsumableArray__default['default'](or.slice(1))));
|
|
1066
|
+
};
|
|
1067
|
+
|
|
1068
|
+
var moveElement = ___default['default'].curry(function (from, to, list) {
|
|
1069
|
+
var el = list[from];
|
|
1070
|
+
|
|
1071
|
+
var without = ___default['default'].pullAt(from, list);
|
|
1072
|
+
|
|
1073
|
+
without.splice(to, 0, el);
|
|
1074
|
+
return without;
|
|
1075
|
+
});
|
|
1076
|
+
var unsetOrRemoveAt = ___default['default'].curry(function (path, value) {
|
|
1077
|
+
var pathArr = toPath(path);
|
|
1078
|
+
|
|
1079
|
+
var _pathArr$slice = pathArr.slice(-1),
|
|
1080
|
+
_pathArr$slice2 = _slicedToArray__default['default'](_pathArr$slice, 1),
|
|
1081
|
+
lastKey = _pathArr$slice2[0];
|
|
1082
|
+
|
|
1083
|
+
return update(pathArr.slice(0, -1), function (v) {
|
|
1084
|
+
return Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v);
|
|
1085
|
+
}, value);
|
|
1086
|
+
});
|
|
1087
|
+
|
|
1088
|
+
var sanitizePath = function sanitizePath(path) {
|
|
1089
|
+
return Array.isArray(path) ? path.map(sanitizePath) : typeof path === 'number' ? path.toString() : path === undefined ? [] : path;
|
|
1090
|
+
};
|
|
1091
|
+
|
|
1092
|
+
var toPath = function toPath(path) {
|
|
1093
|
+
return ___default['default'].toPath(sanitizePath(path));
|
|
1094
|
+
};
|
|
1095
|
+
|
|
1096
|
+
var isEmptyPath = function isEmptyPath(path) {
|
|
1097
|
+
return path && !path.length;
|
|
1098
|
+
};
|
|
1099
|
+
|
|
1100
|
+
var update = ___default['default'].curry(function (path, updater, state) {
|
|
1101
|
+
var sanitizedPath = sanitizePath(path);
|
|
1102
|
+
|
|
1103
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1104
|
+
return updater(state);
|
|
1105
|
+
} else {
|
|
1106
|
+
return ___default['default'].update(sanitizedPath, updater, state);
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
var get = ___default['default'].curry(function (path, state) {
|
|
1110
|
+
var sanitizedPath = sanitizePath(path);
|
|
1111
|
+
|
|
1112
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1113
|
+
return state;
|
|
1114
|
+
} else {
|
|
1115
|
+
return ___default['default'].get(sanitizedPath, state);
|
|
1116
|
+
}
|
|
1117
|
+
});
|
|
1118
|
+
var set = ___default['default'].curry(function (path, value, state) {
|
|
1119
|
+
var sanitizedPath = sanitizePath(path);
|
|
1120
|
+
|
|
1121
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1122
|
+
return value;
|
|
1123
|
+
} else {
|
|
1124
|
+
return ___default['default'].set(sanitizedPath, value, state);
|
|
1125
|
+
}
|
|
1126
|
+
});
|
|
1127
|
+
var unset = ___default['default'].curry(function (path, state) {
|
|
1128
|
+
var sanitizedPath = sanitizePath(path);
|
|
1129
|
+
|
|
1130
|
+
if (isEmptyPath(sanitizedPath)) {
|
|
1131
|
+
return undefined;
|
|
1132
|
+
} else {
|
|
1133
|
+
return ___default['default'].unset(sanitizedPath, state);
|
|
1134
|
+
}
|
|
1135
|
+
});
|
|
1136
|
+
var removeNAt = ___default['default'].curry(function (pos, n, value) {
|
|
1137
|
+
return _toConsumableArray__default['default'](value.slice(0, Number(pos))).concat(_toConsumableArray__default['default'](value.slice(Number(pos) + n)));
|
|
1138
|
+
});
|
|
1139
|
+
var removeAt = removeNAt(___default['default'].__, 1);
|
|
1140
|
+
var when = ___default['default'].curry(function (cond, fn, value) {
|
|
1141
|
+
return callIfFunction(cond, value) ? fn(value) : value;
|
|
1142
|
+
});
|
|
1143
|
+
var assign = ___default['default'].curry(function (a, b) {
|
|
1144
|
+
return ___default['default'].assign(b, a);
|
|
1145
|
+
});
|
|
1146
|
+
var concat = ___default['default'].curry(function (a, b) {
|
|
1147
|
+
return ___default['default'].concat(b, a);
|
|
1148
|
+
});
|
|
1149
|
+
var each = ___default['default'].each.convert({
|
|
1150
|
+
cap: false
|
|
1151
|
+
});
|
|
1152
|
+
var find = ___default['default'].find.convert({
|
|
1153
|
+
cap: false
|
|
1154
|
+
});
|
|
1155
|
+
var filter = ___default['default'].filter.convert({
|
|
1156
|
+
cap: false
|
|
1157
|
+
});
|
|
1158
|
+
var map = ___default['default'].map.convert({
|
|
1159
|
+
cap: false
|
|
1160
|
+
});
|
|
1161
|
+
var insertAt = ___default['default'].curry(function (pos, newElements, value) {
|
|
1162
|
+
return _toConsumableArray__default['default'](value.slice(0, pos).concat(newElements)).concat(_toConsumableArray__default['default'](value.slice(pos)));
|
|
1163
|
+
});
|
|
1164
|
+
|
|
1165
|
+
function _templateObject() {
|
|
1166
|
+
var data = _taggedTemplateLiteral__default['default'](["\n ", ""]);
|
|
1167
|
+
|
|
1168
|
+
_templateObject = function _templateObject() {
|
|
1169
|
+
return data;
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1172
|
+
return data;
|
|
1173
|
+
}
|
|
1174
|
+
var media = function media() {
|
|
1175
|
+
for (var _len = arguments.length, sizePairs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1176
|
+
sizePairs[_key] = arguments[_key];
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
return function () {
|
|
1180
|
+
return styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref4) {
|
|
1181
|
+
var _ref5 = _slicedToArray__default['default'](_ref4, 2),
|
|
1182
|
+
size = _ref5[0],
|
|
1183
|
+
type = _ref5[1];
|
|
1184
|
+
|
|
1185
|
+
return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
|
|
1186
|
+
}).join(' and '), styled.css.apply(void 0, arguments));
|
|
1187
|
+
};
|
|
1188
|
+
};
|
|
1189
|
+
media.mobile = media([600, 'max-width']);
|
|
1190
|
+
|
|
1191
|
+
media.between = function (min, max) {
|
|
1192
|
+
return media([min, 'min-width'], [max, 'max-width']);
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1195
|
+
media.max = function (n) {
|
|
1196
|
+
return media([n, 'max-width']);
|
|
1197
|
+
};
|
|
1198
|
+
|
|
1199
|
+
media.min = function (n) {
|
|
1200
|
+
return media([n, 'min-width']);
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
media.desktop = media([601, 'min-width']);
|
|
1204
|
+
|
|
1205
|
+
var getFrameOffset = function getFrameOffset(i, total) {
|
|
1206
|
+
return Math.round(i * 100 / (total - 1));
|
|
1207
|
+
};
|
|
1208
|
+
|
|
1209
|
+
var oneWayAnimation = function oneWayAnimation() {
|
|
1210
|
+
for (var _len2 = arguments.length, frames = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
1211
|
+
frames[_key2] = arguments[_key2];
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
return emotion.keyframes(_templateObject(), frames.map(function (frame, i) {
|
|
1215
|
+
return !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }");
|
|
1216
|
+
}));
|
|
1217
|
+
};
|
|
1218
|
+
var identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
|
|
1219
|
+
var identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
|
|
1220
|
+
|
|
940
1221
|
var addExtraProp = function addExtraProp(element, extra) {
|
|
941
1222
|
var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
942
1223
|
return React__default['default'].cloneElement(element, override ? _objectSpread__default['default']({}, element.props, extra) : _objectSpread__default['default']({}, extra, element.props), element.props.children);
|
|
@@ -945,15 +1226,14 @@ var addExtraProp = function addExtraProp(element, extra) {
|
|
|
945
1226
|
var WithLazyResource = function WithLazyResource(_ref) {
|
|
946
1227
|
var value = _ref.value,
|
|
947
1228
|
wrap = _ref.wrap,
|
|
948
|
-
|
|
949
|
-
fallback = _ref$fallback === void 0 ? null : _ref$fallback,
|
|
1229
|
+
fallback = _ref.fallback,
|
|
950
1230
|
children = _ref.children,
|
|
951
1231
|
_ref$forwardProps = _ref.forwardProps,
|
|
952
1232
|
forwardProps = _ref$forwardProps === void 0 ? false : _ref$forwardProps,
|
|
953
1233
|
props = _objectWithoutProperties__default['default'](_ref, ["value", "wrap", "fallback", "children", "forwardProps"]);
|
|
954
1234
|
|
|
955
|
-
return wrap ? React__default['default'].createElement(React__default['default'].Suspense, {
|
|
956
|
-
fallback: fallback
|
|
1235
|
+
return wrap || fallback !== undefined ? React__default['default'].createElement(React__default['default'].Suspense, {
|
|
1236
|
+
fallback: ifUndefined(fallback, null)
|
|
957
1237
|
}, React__default['default'].createElement(Load, {
|
|
958
1238
|
value: value,
|
|
959
1239
|
forwardProps: forwardProps && props,
|
|
@@ -1119,30 +1399,58 @@ function usePrevious(value, initialValue) {
|
|
|
1119
1399
|
});
|
|
1120
1400
|
return ref.current;
|
|
1121
1401
|
}
|
|
1402
|
+
function usePreviousUnique(value, initialValue) {
|
|
1403
|
+
var ref = React.useRef(initialValue);
|
|
1404
|
+
React.useEffect(function () {
|
|
1405
|
+
if (value !== ref.current) {
|
|
1406
|
+
ref.current = value;
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
return ref.current;
|
|
1410
|
+
}
|
|
1122
1411
|
|
|
1123
1412
|
var useEnsureRef = function useEnsureRef(forwardedRef) {
|
|
1124
1413
|
var ref = React.useRef();
|
|
1125
1414
|
return forwardedRef || ref;
|
|
1126
1415
|
};
|
|
1127
1416
|
|
|
1128
|
-
var
|
|
1129
|
-
var
|
|
1130
|
-
|
|
1417
|
+
var useForceUpdate = function useForceUpdate() {
|
|
1418
|
+
var _useState = React.useState(0),
|
|
1419
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
1420
|
+
value = _useState2[0],
|
|
1421
|
+
setValue = _useState2[1]; // integer state
|
|
1131
1422
|
|
|
1132
|
-
if (ref.current === not_defined) {
|
|
1133
|
-
ref.current = value;
|
|
1134
|
-
}
|
|
1135
1423
|
|
|
1136
|
-
return
|
|
1424
|
+
return function () {
|
|
1425
|
+
return setValue(function (value) {
|
|
1426
|
+
return value + 1;
|
|
1427
|
+
});
|
|
1428
|
+
}; // update the state to force render
|
|
1137
1429
|
};
|
|
1138
|
-
var
|
|
1139
|
-
var
|
|
1430
|
+
var willUseForceUpdate = function willUseForceUpdate() {
|
|
1431
|
+
var _willUseSharedState = willUseSharedState(),
|
|
1432
|
+
_willUseSharedState2 = _slicedToArray__default['default'](_willUseSharedState, 3),
|
|
1433
|
+
useValue = _willUseSharedState2[0],
|
|
1434
|
+
set = _willUseSharedState2[2];
|
|
1435
|
+
|
|
1436
|
+
var useForceUpdate = function useForceUpdate() {
|
|
1437
|
+
var _useValue = useValue(0),
|
|
1438
|
+
_useValue2 = _slicedToArray__default['default'](_useValue, 2),
|
|
1439
|
+
v = _useValue2[0],
|
|
1440
|
+
setV = _useValue2[1];
|
|
1140
1441
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1442
|
+
return function () {
|
|
1443
|
+
return setV(function (value) {
|
|
1444
|
+
return value + 1;
|
|
1445
|
+
});
|
|
1446
|
+
};
|
|
1447
|
+
};
|
|
1144
1448
|
|
|
1145
|
-
return
|
|
1449
|
+
return [useForceUpdate, function () {
|
|
1450
|
+
return set(function (value) {
|
|
1451
|
+
return value + 1;
|
|
1452
|
+
});
|
|
1453
|
+
}];
|
|
1146
1454
|
};
|
|
1147
1455
|
|
|
1148
1456
|
var useUpdateEffect = function useUpdateEffect(effect, inputs) {
|
|
@@ -1194,8 +1502,8 @@ var parsePathOrSelector = function parsePathOrSelector(pathOrSelector) {
|
|
|
1194
1502
|
}
|
|
1195
1503
|
};
|
|
1196
1504
|
|
|
1197
|
-
var willUseSpreadState = function willUseSpreadState() {
|
|
1198
|
-
var Context = React__default['default'].createContext();
|
|
1505
|
+
var willUseSpreadState = function willUseSpreadState(defaultContextValue) {
|
|
1506
|
+
var Context = React__default['default'].createContext(defaultContextValue);
|
|
1199
1507
|
var EMPTY_GLOBAL = {};
|
|
1200
1508
|
var globalState = EMPTY_GLOBAL;
|
|
1201
1509
|
|
|
@@ -1217,6 +1525,10 @@ var willUseSpreadState = function willUseSpreadState() {
|
|
|
1217
1525
|
globalState = initState;
|
|
1218
1526
|
}
|
|
1219
1527
|
|
|
1528
|
+
React.useEffect(function () {
|
|
1529
|
+
globalState = state.get();
|
|
1530
|
+
}, []);
|
|
1531
|
+
|
|
1220
1532
|
var setState = function setState(newState, fastPath, config) {
|
|
1221
1533
|
// console.log("Fastpath noop:"+fastPath)
|
|
1222
1534
|
state.set(newState, config);
|
|
@@ -1275,7 +1587,12 @@ var willUseSpreadState = function willUseSpreadState() {
|
|
|
1275
1587
|
var setState = React.useCallback(function (v) {
|
|
1276
1588
|
return setSpreadState((_isFunction__default['default'](v) ? _update__default['default'] : _set__default['default'])(path, v), path);
|
|
1277
1589
|
}, pathOrInput);
|
|
1278
|
-
|
|
1590
|
+
|
|
1591
|
+
var getValue = function getValue() {
|
|
1592
|
+
return selector(getGlobalState());
|
|
1593
|
+
};
|
|
1594
|
+
|
|
1595
|
+
return [value, setState, getValue];
|
|
1279
1596
|
};
|
|
1280
1597
|
|
|
1281
1598
|
return [useProvideSpreadState, useSpreadState, Context, getGlobalState];
|
|
@@ -1301,16 +1618,19 @@ exports.useConstant = useConstant;
|
|
|
1301
1618
|
exports.useConsumerCatalog = useConsumerCatalog;
|
|
1302
1619
|
exports.useEnsureRef = useEnsureRef;
|
|
1303
1620
|
exports.useFill = useFill;
|
|
1621
|
+
exports.useForceUpdate = useForceUpdate;
|
|
1304
1622
|
exports.useHiddenFill = useHiddenFill;
|
|
1305
1623
|
exports.useIsUnmounted = useIsUnmounted;
|
|
1306
1624
|
exports.useLazyConstant = useLazyConstant;
|
|
1307
1625
|
exports.usePopupToggle = usePopupToggle;
|
|
1308
1626
|
exports.usePrevious = usePrevious;
|
|
1627
|
+
exports.usePreviousUnique = usePreviousUnique;
|
|
1309
1628
|
exports.useRefState = useRefState;
|
|
1310
1629
|
exports.useRefToggle = useRefToggle;
|
|
1311
1630
|
exports.useTitle = useTitle;
|
|
1312
1631
|
exports.useToggle = useToggle;
|
|
1313
1632
|
exports.useUpdateEffect = useUpdateEffect;
|
|
1633
|
+
exports.willUseForceUpdate = willUseForceUpdate;
|
|
1314
1634
|
exports.willUseLayers = willUseLayers;
|
|
1315
1635
|
exports.willUseSharedCallback = willUseSharedCallback;
|
|
1316
1636
|
exports.willUseSharedState = willUseSharedState;
|