@startlibs/core 1.0.0-alpha-6u2 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,85 +1,198 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
- var _createClass = require('@babel/runtime/helpers/createClass');
7
- var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
8
- var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
9
- var _inherits = require('@babel/runtime/helpers/inherits');
10
- var _debounce = require('lodash/fp/debounce');
11
- var React = require('react');
12
- var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
13
- var _objectSpread = require('@babel/runtime/helpers/objectSpread');
14
- var _extends = require('@babel/runtime/helpers/extends');
15
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
16
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
- var _unset = require('lodash/fp/unset');
18
- var _uniqueId = require('lodash/fp/uniqueId');
19
- var _differenceBy = require('lodash/fp/differenceBy');
20
- var _set = require('lodash/fp/set');
21
- var _findIndex = require('lodash/fp/findIndex');
22
- var _isFinite = require('lodash/fp/isFinite');
23
- var _max = require('lodash/fp/max');
24
- var _flatMap = require('lodash/fp/flatMap');
25
- var _without = require('lodash/fp/without');
26
- var _union = require('lodash/fp/union');
27
- var _update = require('lodash/fp/update');
28
- var _flow = require('lodash/fp/flow');
29
- var ReactDOM = require('react-dom');
30
- var styled = require('styled-components');
31
- var utils = require('@startlibs/utils');
32
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
33
- var _typeof = require('@babel/runtime/helpers/typeof');
34
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
35
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
36
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
37
- var mitt = require('mitt');
38
- var _isArray = require('lodash/fp/isArray');
39
- var _isFunction = require('lodash/fp/isFunction');
40
- var _get = require('lodash/fp/get');
41
- var _isString = require('lodash/fp/isString');
42
- var _identity = require('lodash/fp/identity');
43
-
44
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
45
-
46
- var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
47
- var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
48
- var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
49
- var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
50
- var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
51
- var _debounce__default = /*#__PURE__*/_interopDefaultLegacy(_debounce);
52
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
53
- var _objectDestructuringEmpty__default = /*#__PURE__*/_interopDefaultLegacy(_objectDestructuringEmpty);
54
- var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
55
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
56
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
57
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
58
- var _unset__default = /*#__PURE__*/_interopDefaultLegacy(_unset);
59
- var _uniqueId__default = /*#__PURE__*/_interopDefaultLegacy(_uniqueId);
60
- var _differenceBy__default = /*#__PURE__*/_interopDefaultLegacy(_differenceBy);
61
- var _set__default = /*#__PURE__*/_interopDefaultLegacy(_set);
62
- var _findIndex__default = /*#__PURE__*/_interopDefaultLegacy(_findIndex);
63
- var _isFinite__default = /*#__PURE__*/_interopDefaultLegacy(_isFinite);
64
- var _max__default = /*#__PURE__*/_interopDefaultLegacy(_max);
65
- var _flatMap__default = /*#__PURE__*/_interopDefaultLegacy(_flatMap);
66
- var _without__default = /*#__PURE__*/_interopDefaultLegacy(_without);
67
- var _union__default = /*#__PURE__*/_interopDefaultLegacy(_union);
68
- var _update__default = /*#__PURE__*/_interopDefaultLegacy(_update);
69
- var _flow__default = /*#__PURE__*/_interopDefaultLegacy(_flow);
70
- var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
71
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
72
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
73
- var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
74
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
75
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
76
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
77
- var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
78
- var _isArray__default = /*#__PURE__*/_interopDefaultLegacy(_isArray);
79
- var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
80
- var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
81
- var _isString__default = /*#__PURE__*/_interopDefaultLegacy(_isString);
82
- var _identity__default = /*#__PURE__*/_interopDefaultLegacy(_identity);
1
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
+ import _createClass from '@babel/runtime/helpers/createClass';
3
+ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
4
+ import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
5
+ import _inherits from '@babel/runtime/helpers/inherits';
6
+ import _debounce from 'lodash/fp/debounce';
7
+ import React, { useCallback, useState, useRef, useEffect, useMemo, useContext, useLayoutEffect, useReducer, useInsertionEffect } from 'react';
8
+ import { callIfFunction, fixMediaQuery, ifUndefined, formatPath, _s, callIfFunctions, callMany } from '@startlibs/utils';
9
+ import { clearPopups as clearPopups$1, SlotProvider as SlotProvider$1, willUseSharedCallback as willUseSharedCallback$1, useConsumerCatalog as useConsumerCatalog$1, useRefState as useRefState$1, useIsUnmounted as useIsUnmounted$1, useCatalogManager as useCatalogManager$1, willUseSharedState as willUseSharedState$1, useConstant as useConstant$1, useCallState as useCallState$1, useToggle as useToggle$1, willUseLayers as willUseLayers$1, useForceUpdate as useForceUpdate$1, useLazyConstant as useLazyConstant$1 } from '@startlibs/core';
10
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
11
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
12
+ import _set from 'lodash/fp/set';
13
+ import _update from 'lodash/fp/update';
14
+ import _isFunction from 'lodash/fp/isFunction';
15
+ import _get from 'lodash/fp/get';
16
+ import _isArray from 'lodash/fp/isArray';
17
+ import _isString from 'lodash/fp/isString';
18
+ import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
19
+ import _objectSpread from '@babel/runtime/helpers/objectSpread';
20
+ import _extends from '@babel/runtime/helpers/extends';
21
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
22
+ import _unset from 'lodash/fp/unset';
23
+ import _uniqueId from 'lodash/fp/uniqueId';
24
+ import _differenceBy from 'lodash/fp/differenceBy';
25
+ import _findIndex from 'lodash/fp/findIndex';
26
+ import _isFinite from 'lodash/fp/isFinite';
27
+ import _max from 'lodash/fp/max';
28
+ import _flatMap from 'lodash/fp/flatMap';
29
+ import _without from 'lodash/fp/without';
30
+ import _union from 'lodash/fp/union';
31
+ import _flow from 'lodash/fp/flow';
32
+ import ReactDOM from 'react-dom';
33
+ import styled from 'styled-components';
34
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
35
+ import mitt from 'mitt';
36
+ import _typeof from '@babel/runtime/helpers/typeof';
37
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
38
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
39
+ import _identity from 'lodash/fp/identity';
40
+
41
+ var StartlibsContext = React.createContext({});
42
+ var PopupContext = React.createContext({});
43
+ var StartlibsMetacontext = React.createContext(function () {});
44
+ var StartlibsConsumer = StartlibsContext.Consumer;
45
+ var wrappeStyle = {
46
+ height: '100%'
47
+ };
48
+ var StartlibsProvider =
49
+ /*#__PURE__*/
50
+ function (_React$Component) {
51
+ _inherits(StartlibsProvider, _React$Component);
52
+
53
+ function StartlibsProvider() {
54
+ var _getPrototypeOf2;
55
+
56
+ var _this;
57
+
58
+ _classCallCheck(this, StartlibsProvider);
59
+
60
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
61
+ args[_key] = arguments[_key];
62
+ }
63
+
64
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(StartlibsProvider)).call.apply(_getPrototypeOf2, [this].concat(args)));
65
+ _this.openToggles = new Map();
66
+
67
+ _this.popupToggleRender = function (_ref, ref) {
68
+ var isOpen = _ref.isOpen,
69
+ close = _ref.close;
70
+
71
+ if (isOpen && !_this.openToggles.has(ref)) {
72
+ _this.closePopup();
73
+
74
+ _this.openToggles.set(ref, close);
75
+ }
76
+ };
77
+
78
+ _this.closePopup = function () {
79
+ clearPopups$1();
80
+ };
81
+
82
+ _this.startlibsMeta = new Map();
83
+
84
+ _this.getMeta = function (key, initValue) {
85
+ var exists = _this.startlibsMeta.get(key);
86
+
87
+ if (exists) return exists;
88
+
89
+ _this.startlibsMeta.set(key, callIfFunction(initValue));
90
+
91
+ return initValue;
92
+ };
93
+
94
+ return _this;
95
+ }
96
+
97
+ _createClass(StartlibsProvider, [{
98
+ key: "componentDidMount",
99
+ value: function componentDidMount() {
100
+ fixMediaQuery();
101
+
102
+ var addVHFix = function addVHFix() {
103
+ var _document$documentEle, _document$documentEle2;
104
+
105
+ var vh = window.innerHeight * 0.01;
106
+ (_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"));
107
+ };
108
+
109
+ window.addEventListener('resize', _debounce(200, addVHFix));
110
+ addVHFix();
111
+ }
112
+ }, {
113
+ key: "render",
114
+ value: function render() {
115
+ return React.createElement(StartlibsContext.Provider, {
116
+ value: this.props.value
117
+ }, React.createElement(StartlibsMetacontext.Provider, {
118
+ value: this.getMeta
119
+ }, React.createElement(PopupContext.Provider, {
120
+ value: this.popupToggleRender
121
+ }, React.createElement("div", {
122
+ style: wrappeStyle,
123
+ onClick: this.closePopup
124
+ }, React.createElement(SlotProvider$1, null, this.props.children)))));
125
+ }
126
+ }]);
127
+
128
+ return StartlibsProvider;
129
+ }(React.Component);
130
+
131
+ var willUseLayers = function willUseLayers() {
132
+ var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React.useEffect;
133
+
134
+ var _willUseSharedCallbac = willUseSharedCallback$1(useEffect),
135
+ _willUseSharedCallbac2 = _slicedToArray(_willUseSharedCallbac, 3),
136
+ useRegisterSharedCallback = _willUseSharedCallbac2[0],
137
+ callGroup = _willUseSharedCallbac2[1],
138
+ _getSize = _willUseSharedCallbac2[2];
139
+
140
+ var useLayer = function useLayer() {
141
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
142
+ onFirst = _ref.onFirst,
143
+ onEmpty = _ref.onEmpty,
144
+ onTop = _ref.onTop,
145
+ onRemove = _ref.onRemove;
146
+
147
+ var listener = arguments.length > 1 ? arguments[1] : undefined;
148
+ var resetIndex = useCallback(function () {
149
+ setIndex(getIndex());
150
+
151
+ if (getIndex() + 1 === _getSize()) {
152
+ callIfFunction(onTop, getIndex);
153
+ }
154
+ }, []);
155
+ var getIndex = useRegisterSharedCallback(resetIndex, listener);
156
+
157
+ var _useState = useState(getIndex()),
158
+ _useState2 = _slicedToArray(_useState, 2),
159
+ index = _useState2[0],
160
+ setIndex = _useState2[1];
161
+
162
+ useEffect(function () {
163
+ if (getIndex() === 0) {
164
+ callIfFunction(onFirst);
165
+ }
166
+
167
+ resetIndex();
168
+ return function () {
169
+ callIfFunction(onRemove, _getSize());
170
+
171
+ if (_getSize() === 0) {
172
+ callIfFunction(onEmpty);
173
+ }
174
+
175
+ callGroup();
176
+ };
177
+ }, []);
178
+ return [index, {
179
+ isFirst: function isFirst() {
180
+ return getIndex() === 1;
181
+ },
182
+ isTop: function isTop() {
183
+ return getIndex() === _getSize() - 1;
184
+ },
185
+ isEmpty: function isEmpty() {
186
+ return _getSize() === 0;
187
+ },
188
+ getSize: function getSize() {
189
+ return _getSize();
190
+ }
191
+ }];
192
+ };
193
+
194
+ return [useLayer, _getSize];
195
+ };
83
196
 
84
197
  var callList = function callList(list, firstArg) {
85
198
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
@@ -93,7 +206,7 @@ var callList = function callList(list, firstArg) {
93
206
  };
94
207
 
95
208
  var willUseSharedCallback = function willUseSharedCallback() {
96
- var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React__default['default'].useEffect;
209
+ var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React.useEffect;
97
210
  var mountedCallbacks = [];
98
211
  var listenerCallbacks = [];
99
212
 
@@ -148,7 +261,7 @@ var willUseSharedCallback = function willUseSharedCallback() {
148
261
 
149
262
  var useRegister = function useRegister(callback) {
150
263
  var listener = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
151
- var ref = React.useRef(callback);
264
+ var ref = useRef(callback);
152
265
 
153
266
  if (ref.current !== callback) {
154
267
  ref.current = callback;
@@ -166,7 +279,7 @@ var willUseSharedCallback = function willUseSharedCallback() {
166
279
  add(ref);
167
280
 
168
281
  if (lastCallIndex !== lastCall.index && lastCall.current) {
169
- callList.apply(void 0, [[ref]].concat(_toConsumableArray__default['default'](lastCall.current)));
282
+ callList.apply(void 0, [[ref]].concat(_toConsumableArray(lastCall.current)));
170
283
  }
171
284
  }
172
285
 
@@ -188,16 +301,16 @@ var willUseSharedCallback = function willUseSharedCallback() {
188
301
 
189
302
  var notDefined = {};
190
303
  var willUseSharedState = function willUseSharedState(initialValue) {
191
- var _willUseSharedCallbac = willUseSharedCallback(),
192
- _willUseSharedCallbac2 = _slicedToArray__default['default'](_willUseSharedCallbac, 3),
304
+ var _willUseSharedCallbac = willUseSharedCallback$1(),
305
+ _willUseSharedCallbac2 = _slicedToArray(_willUseSharedCallbac, 3),
193
306
  useRegisterGroupCallback = _willUseSharedCallbac2[0],
194
307
  callGroup = _willUseSharedCallbac2[1],
195
308
  getSize = _willUseSharedCallbac2[2];
196
309
 
197
- var sharedValue = utils.ifUndefined(initialValue, notDefined);
310
+ var sharedValue = ifUndefined(initialValue, notDefined);
198
311
 
199
312
  var setGroupState = function setGroupState(newValue) {
200
- sharedValue = utils.callIfFunction(newValue, sharedValue);
313
+ sharedValue = callIfFunction(newValue, sharedValue);
201
314
  callGroup(sharedValue);
202
315
  };
203
316
 
@@ -215,8 +328,8 @@ var willUseSharedState = function willUseSharedState(initialValue) {
215
328
  sharedValue = defaultValue;
216
329
  }
217
330
 
218
- var _useState = React.useState(prevValue),
219
- _useState2 = _slicedToArray__default['default'](_useState, 2),
331
+ var _useState = useState(prevValue),
332
+ _useState2 = _slicedToArray(_useState, 2),
220
333
  value = _useState2[0],
221
334
  setValue = _useState2[1];
222
335
 
@@ -233,64 +346,190 @@ var willUseSharedState = function willUseSharedState(initialValue) {
233
346
  }, clear];
234
347
  };
235
348
 
236
- var not_defined = {};
237
- var useConstant = function useConstant(value) {
238
- var ref = React.useRef(not_defined);
349
+ var updateAllInputsState = function updateAllInputsState(inputs, values) {
350
+ var deferedUndefined = [];
351
+ inputs.forEach(function (input) {
352
+ var _input = _slicedToArray(input, 2),
353
+ setValue = _input[0],
354
+ selector = _input[1];
239
355
 
240
- if (ref.current === not_defined) {
241
- ref.current = value;
242
- }
356
+ var newValue = selector(values);
243
357
 
244
- return ref.current;
358
+ if (newValue === undefined) {
359
+ deferedUndefined.push([setValue, newValue]);
360
+ } else {
361
+ setValue(newValue);
362
+ }
363
+ });
364
+ deferedUndefined.forEach(function (_ref) {
365
+ var _ref2 = _slicedToArray(_ref, 2),
366
+ set = _ref2[0],
367
+ value = _ref2[1];
368
+
369
+ return set(value);
370
+ });
245
371
  };
246
- var useLazyConstant = function useLazyConstant(value) {
247
- var ref = React.useRef(not_defined);
248
372
 
249
- if (ref.current === not_defined) {
250
- ref.current = utils.callIfFunction(value);
373
+ var pathSelector = function pathSelector(path) {
374
+ return _s.get(path || []);
375
+ };
376
+
377
+ var parsePathOrSelector = function parsePathOrSelector(pathOrSelector) {
378
+ var isNotSelector = typeof pathOrSelector !== 'function';
379
+
380
+ if (isNotSelector) {
381
+ return [formatPath(pathOrSelector), pathSelector(pathOrSelector)];
382
+ } else {
383
+ return ['', pathOrSelector];
251
384
  }
385
+ };
252
386
 
253
- return ref.current;
387
+ var willUseSpreadState = function willUseSpreadState(defaultContextValue) {
388
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
389
+ var Context = React.createContext(defaultContextValue);
390
+ var EMPTY_GLOBAL = {};
391
+ var prevInitState = EMPTY_GLOBAL;
392
+ var globalState = EMPTY_GLOBAL;
393
+
394
+ var getGlobalState = function getGlobalState(key) {
395
+ return _isString(key) || _isArray(key) ? _get(key, globalState) : globalState;
396
+ };
397
+
398
+ var useProvideSpreadState = function useProvideSpreadState(initState, setCallback) {
399
+ var _useConsumerCatalog = useConsumerCatalog$1(function (input) {
400
+ return updateAllInputsState([input], state.get());
401
+ }),
402
+ _useConsumerCatalog2 = _slicedToArray(_useConsumerCatalog, 2),
403
+ consumerList = _useConsumerCatalog2[0],
404
+ manager = _useConsumerCatalog2[1];
405
+
406
+ var state = useRefState$1(initState, setCallback);
407
+
408
+ if (options.initRefCheck) {
409
+ if (prevInitState !== initState) {
410
+ globalState = initState;
411
+ }
412
+
413
+ prevInitState = initState;
414
+ }
415
+
416
+ if (globalState === EMPTY_GLOBAL) {
417
+ globalState = initState;
418
+ }
419
+
420
+ useEffect(function () {
421
+ globalState = state.get();
422
+ }, []);
423
+
424
+ var setState = function setState(newState, fastPath, config) {
425
+ // console.log("Fastpath noop:"+fastPath)
426
+ state.set(newState, config);
427
+ globalState = state.get();
428
+ updateAllInputsState(consumerList(), state.get());
429
+ };
430
+
431
+ var contextValue = useMemo(function () {
432
+ return [state.get, setState, manager];
433
+ }, []);
434
+ return [Context.Provider, contextValue, [state.get, setState]];
435
+ };
436
+
437
+ var useSpreadState = function useSpreadState(pathOrSelector, inputs) {
438
+ var _useContext = useContext(Context),
439
+ _useContext2 = _slicedToArray(_useContext, 3),
440
+ getSpreadState = _useContext2[0],
441
+ setSpreadState = _useContext2[1],
442
+ manager = _useContext2[2];
443
+
444
+ var _parsePathOrSelector = parsePathOrSelector(pathOrSelector),
445
+ _parsePathOrSelector2 = _slicedToArray(_parsePathOrSelector, 2),
446
+ path = _parsePathOrSelector2[0],
447
+ selector = _parsePathOrSelector2[1];
448
+
449
+ var pathOrInput = [path] || inputs || [];
450
+
451
+ var _useState = useState(selector(getSpreadState())),
452
+ _useState2 = _slicedToArray(_useState, 2),
453
+ value = _useState2[0],
454
+ setValue = _useState2[1];
455
+
456
+ var isUnmounted = useIsUnmounted$1();
457
+ var currentPath = useRefState$1(path);
458
+
459
+ if (path !== currentPath.get()) {
460
+ /* when path changes, the consumerCatalogCallback will update the new value
461
+ * another solution would be to call setValue here directly
462
+ * the return value will still be the old, but will be changed before render, just like getDerivedStateFromProps
463
+ *
464
+ * if there's a need for the return value to be the same, the value or, if enters here new value,
465
+ * can be returned in an temp variable
466
+ * */
467
+ currentPath.set(path);
468
+ }
469
+
470
+ var input = useMemo(function () {
471
+ return [function (v) {
472
+ /* noop for elements that may be unregistered while looping through consumerList */
473
+ if (path === currentPath.get() && !isUnmounted()) {
474
+ setValue(v);
475
+ }
476
+ }, selector];
477
+ }, pathOrInput);
478
+ useCatalogManager$1(manager, input);
479
+ var setState = useCallback(function (v) {
480
+ return setSpreadState((_isFunction(v) ? pathOrSelector === undefined ? function () {
481
+ return v;
482
+ } : _update : _set)(path, v), path);
483
+ }, pathOrInput);
484
+
485
+ var getValue = function getValue() {
486
+ return selector(getGlobalState());
487
+ };
488
+
489
+ return [value, setState, getValue];
490
+ };
491
+
492
+ return [useProvideSpreadState, useSpreadState, Context, getGlobalState];
254
493
  };
255
494
 
256
- var SlotContext = React__default['default'].createContext(new Map());
495
+ var SlotContext = React.createContext(new Map());
257
496
 
258
- var _willUseSharedState = willUseSharedState(),
259
- _willUseSharedState2 = _slicedToArray__default['default'](_willUseSharedState, 2),
497
+ var _willUseSharedState = willUseSharedState$1(),
498
+ _willUseSharedState2 = _slicedToArray(_willUseSharedState, 2),
260
499
  useFillHookState = _willUseSharedState2[0],
261
500
  useFillHookStateRef = _willUseSharedState2[1];
262
501
 
263
- var _willUseSharedState3 = willUseSharedState(),
264
- _willUseSharedState4 = _slicedToArray__default['default'](_willUseSharedState3, 2),
502
+ var _willUseSharedState3 = willUseSharedState$1(),
503
+ _willUseSharedState4 = _slicedToArray(_willUseSharedState3, 2),
265
504
  useHiddenFillHookState = _willUseSharedState4[0],
266
505
  useHiddenFillHookStateRef = _willUseSharedState4[1];
267
506
 
268
507
  var DEFAULT_CONTEXT = new Map();
269
508
  var SlotProvider = function SlotProvider(_ref) {
270
509
  var children = _ref.children;
271
- return React__default['default'].createElement(SlotContext.Provider, {
510
+ return React.createElement(SlotContext.Provider, {
272
511
  value: DEFAULT_CONTEXT
273
- }, children, React__default['default'].createElement(React__default['default'].Suspense, {
512
+ }, children, React.createElement(React.Suspense, {
274
513
  fallback: null
275
- }, React__default['default'].createElement(FillHooks, null)), React__default['default'].createElement(HiddenFillHooks, null));
514
+ }, React.createElement(FillHooks, null)), React.createElement(HiddenFillHooks, null));
276
515
  };
277
516
  var Slot = function Slot(_ref2) {
278
517
  var name = _ref2.name,
279
518
  children = _ref2.children,
280
- rest = _objectWithoutProperties__default['default'](_ref2, ["name", "children"]);
519
+ rest = _objectWithoutProperties(_ref2, ["name", "children"]);
281
520
 
282
- var ref = React.useRef();
283
- var slotInfo = useConstant({
521
+ var ref = useRef();
522
+ var slotInfo = useConstant$1({
284
523
  ref: ref
285
524
  });
286
- var slots = React.useContext(SlotContext);
287
- React.useLayoutEffect(function () {
525
+ var slots = useContext(SlotContext);
526
+ useLayoutEffect(function () {
288
527
  var previous = slots.get(name);
289
528
  var updates = (previous === null || previous === void 0 ? void 0 : previous.updates) || [];
290
529
 
291
530
  if (previous === null || previous === void 0 ? void 0 : previous.children) ;
292
531
 
293
- slots.set(name, _flow__default['default'](_update__default['default']('infos', _union__default['default']([slotInfo])))(previous));
532
+ slots.set(name, _flow(_update('infos', _union([slotInfo])))(previous));
294
533
  updates.forEach(function (v) {
295
534
  return v({});
296
535
  });
@@ -298,29 +537,29 @@ var Slot = function Slot(_ref2) {
298
537
  var _previous$infos, _previous$updates;
299
538
 
300
539
  var previous = slots.get(name);
301
- previous.infos = _without__default['default']([slotInfo], previous.infos);
540
+ previous.infos = _without([slotInfo], previous.infos);
302
541
 
303
542
  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)) {
304
543
  slots.delete(name);
305
544
  }
306
545
  };
307
546
  }, [name]);
308
- return children ? React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("div", _extends__default['default']({
547
+ return children ? React.createElement(React.Fragment, null, React.createElement("div", _extends({
309
548
  "data-id": name
310
549
  }, rest, {
311
550
  ref: ref
312
- })), React__default['default'].Children.map(children, function (c) {
313
- return React__default['default'].cloneElement(c, _objectSpread__default['default']({}, c.props, {
551
+ })), React.Children.map(children, function (c) {
552
+ return React.cloneElement(c, _objectSpread({}, c.props, {
314
553
  name: name,
315
554
  stack: Number.MIN_SAFE_INTEGER
316
555
  }));
317
- })) : React__default['default'].createElement("div", _extends__default['default']({
556
+ })) : React.createElement("div", _extends({
318
557
  "data-id": name
319
558
  }, rest, {
320
559
  ref: ref
321
560
  }));
322
561
  };
323
- var Invisible = styled__default['default'].div.withConfig({
562
+ var Invisible = styled.div.withConfig({
324
563
  displayName: "SlotFill__Invisible",
325
564
  componentId: "h3oh7r-0"
326
565
  })(["display:none"]);
@@ -329,14 +568,14 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
329
568
  var name = _ref3.name,
330
569
  children = _ref3.children,
331
570
  slot = _ref3.slot;
332
- var slots = React.useContext(SlotContext);
333
- var ref = React.useRef();
334
- React.useLayoutEffect(function () {
571
+ var slots = useContext(SlotContext);
572
+ var ref = useRef();
573
+ useLayoutEffect(function () {
335
574
  var _slots$get;
336
575
 
337
576
  var infos = ((_slots$get = slots.get(name)) === null || _slots$get === void 0 ? void 0 : _slots$get.infos) || [];
338
577
 
339
- var mounted = _flatMap__default['default'](function (_ref4) {
578
+ var mounted = _flatMap(function (_ref4) {
340
579
  var ref = _ref4.ref;
341
580
  return ref === null || ref === void 0 ? void 0 : ref.current;
342
581
  }, infos);
@@ -359,23 +598,23 @@ var FillBeforeFlip = function FillBeforeFlip(_ref3) {
359
598
  });
360
599
  };
361
600
  }, []);
362
- return React__default['default'].createElement(Invisible, {
601
+ return React.createElement(Invisible, {
363
602
  ref: ref
364
603
  }, children);
365
604
  };
366
605
 
367
606
  var useFillState = function useFillState(name, stack) {
368
- var forceUpdate = React__default['default'].useState(false)[1];
369
- var slots = React.useContext(SlotContext);
607
+ var forceUpdate = React.useState(false)[1];
608
+ var slots = useContext(SlotContext);
370
609
  var renderSlot = slots.get(name);
371
610
 
372
- var maxStack = _max__default['default'](renderSlot === null || renderSlot === void 0 ? void 0 : renderSlot.stacks);
611
+ var maxStack = _max(renderSlot === null || renderSlot === void 0 ? void 0 : renderSlot.stacks);
373
612
 
374
- var onStack = !_isFinite__default['default'](maxStack) || maxStack === stack;
375
- React.useLayoutEffect(function () {
613
+ var onStack = !_isFinite(maxStack) || maxStack === stack;
614
+ useLayoutEffect(function () {
376
615
  var slot = slots.get(name);
377
616
 
378
- var updatedSlot = _flow__default['default'](_update__default['default']('updates', _union__default['default']([forceUpdate])), _update__default['default']('stacks', _union__default['default']([stack])))(slot);
617
+ var updatedSlot = _flow(_update('updates', _union([forceUpdate])), _update('stacks', _union([stack])))(slot);
379
618
 
380
619
  slots.set(name, updatedSlot);
381
620
  updatedSlot.updates.forEach(function (v) {
@@ -385,7 +624,7 @@ var useFillState = function useFillState(name, stack) {
385
624
  var previous = slots.get(name);
386
625
  var index = previous.updates.indexOf(forceUpdate);
387
626
 
388
- var next = _flow__default['default'](_update__default['default']('updates', utils._s.removeAt(index)), _update__default['default']('stacks', utils._s.removeAt(index)))(previous);
627
+ var next = _flow(_update('updates', _s.removeAt(index)), _update('stacks', _s.removeAt(index)))(previous);
389
628
 
390
629
  slots.set(name, next);
391
630
  next.updates.forEach(function (v) {
@@ -404,7 +643,7 @@ var Fill = function Fill(_ref5) {
404
643
  mountBeforeFlip = _ref5.mountBeforeFlip;
405
644
 
406
645
  var _useFillState = useFillState(name, stack),
407
- _useFillState2 = _slicedToArray__default['default'](_useFillState, 2),
646
+ _useFillState2 = _slicedToArray(_useFillState, 2),
408
647
  slot = _useFillState2[0],
409
648
  onStack = _useFillState2[1];
410
649
 
@@ -412,10 +651,10 @@ var Fill = function Fill(_ref5) {
412
651
  return slot === null || slot === void 0 ? void 0 : slot.infos.map(function (info) {
413
652
  var _info$ref;
414
653
 
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);
654
+ return ((_info$ref = info.ref) === null || _info$ref === void 0 ? void 0 : _info$ref.current) && ReactDOM.createPortal(callIfFunction(children, info), info.ref.current);
416
655
  });
417
656
  } else if (mountBeforeFlip) {
418
- return React__default['default'].createElement(FillBeforeFlip, {
657
+ return React.createElement(FillBeforeFlip, {
419
658
  name: name,
420
659
  slot: slot
421
660
  }, children);
@@ -425,20 +664,20 @@ var Fill = function Fill(_ref5) {
425
664
  };
426
665
 
427
666
  var FillHooks = function FillHooks(_ref6) {
428
- _objectDestructuringEmpty__default['default'](_ref6);
667
+ _objectDestructuringEmpty(_ref6);
429
668
 
430
669
  var _useFillHookState = useFillHookState({}),
431
- _useFillHookState2 = _slicedToArray__default['default'](_useFillHookState, 1),
670
+ _useFillHookState2 = _slicedToArray(_useFillHookState, 1),
432
671
  hooked = _useFillHookState2[0];
433
672
 
434
673
  return Object.entries(hooked).map(function (_ref7) {
435
- var _ref8 = _slicedToArray__default['default'](_ref7, 2),
674
+ var _ref8 = _slicedToArray(_ref7, 2),
436
675
  name = _ref8[0],
437
676
  childs = _ref8[1];
438
677
 
439
678
  return childs.map(function (_ref9, i) {
440
679
  var children = _ref9.children;
441
- return React__default['default'].createElement(Fill, {
680
+ return React.createElement(Fill, {
442
681
  key: name + i,
443
682
  name: name
444
683
  }, children);
@@ -449,16 +688,16 @@ var FillHooks = function FillHooks(_ref6) {
449
688
  var uid = 0;
450
689
  var useFill = function useFill(name, children, inputs) {
451
690
  var _useFillHookStateRef = useFillHookStateRef(),
452
- _useFillHookStateRef2 = _slicedToArray__default['default'](_useFillHookStateRef, 2),
691
+ _useFillHookStateRef2 = _slicedToArray(_useFillHookStateRef, 2),
453
692
  set = _useFillHookStateRef2[1];
454
693
 
455
- var key = React.useRef(uid++);
456
- React.useLayoutEffect(function () {
694
+ var key = useRef(uid++);
695
+ useLayoutEffect(function () {
457
696
  if (children) {
458
- set(_update__default['default']([name], function () {
697
+ set(_update([name], function () {
459
698
  var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
460
699
 
461
- var index = _findIndex__default['default'](['key', key.current], list);
700
+ var index = _findIndex(['key', key.current], list);
462
701
 
463
702
  var value = {
464
703
  children: children,
@@ -466,21 +705,21 @@ var useFill = function useFill(name, children, inputs) {
466
705
  };
467
706
 
468
707
  if (index >= 0) {
469
- return _set__default['default']([index], value, list);
708
+ return _set([index], value, list);
470
709
  } else {
471
710
  return list.concat(value);
472
711
  }
473
712
  }));
474
713
  } else {
475
- set(_update__default['default']([name], _differenceBy__default['default']('key', _differenceBy__default['default'].placeholder, [{
714
+ set(_update([name], _differenceBy('key', _differenceBy.placeholder, [{
476
715
  children: children,
477
716
  key: key.current
478
717
  }])));
479
718
  }
480
719
  }, inputs || children);
481
- React.useLayoutEffect(function () {
720
+ useLayoutEffect(function () {
482
721
  return function () {
483
- return set(_update__default['default']([name], _differenceBy__default['default']('key', _differenceBy__default['default'].placeholder, [{
722
+ return set(_update([name], _differenceBy('key', _differenceBy.placeholder, [{
484
723
  key: key.current
485
724
  }])));
486
725
  };
@@ -488,106 +727,289 @@ var useFill = function useFill(name, children, inputs) {
488
727
  };
489
728
 
490
729
  var HiddenFillHooks = function HiddenFillHooks(_ref10) {
491
- _objectDestructuringEmpty__default['default'](_ref10);
730
+ _objectDestructuringEmpty(_ref10);
492
731
 
493
732
  var _useHiddenFillHookSta = useHiddenFillHookState({}),
494
- _useHiddenFillHookSta2 = _slicedToArray__default['default'](_useHiddenFillHookSta, 1),
733
+ _useHiddenFillHookSta2 = _slicedToArray(_useHiddenFillHookSta, 1),
495
734
  hookedChildren = _useHiddenFillHookSta2[0];
496
735
 
497
- return React__default['default'].createElement("div", null, Object.values(hookedChildren));
736
+ return React.createElement("div", null, Object.values(hookedChildren));
498
737
  };
499
738
 
500
739
  var useHiddenFill = function useHiddenFill(children, inputs) {
501
740
  var _useHiddenFillHookSta3 = useHiddenFillHookStateRef(),
502
- _useHiddenFillHookSta4 = _slicedToArray__default['default'](_useHiddenFillHookSta3, 2),
741
+ _useHiddenFillHookSta4 = _slicedToArray(_useHiddenFillHookSta3, 2),
503
742
  set = _useHiddenFillHookSta4[1];
504
743
 
505
- var _useMemo = React.useMemo(function () {
506
- return _uniqueId__default['default']("");
744
+ var _useMemo = useMemo(function () {
745
+ return _uniqueId("");
507
746
  }, []),
508
- _useMemo2 = _slicedToArray__default['default'](_useMemo, 1),
747
+ _useMemo2 = _slicedToArray(_useMemo, 1),
509
748
  uid = _useMemo2[0];
510
749
 
511
- set(_set__default['default']([uid], children ? React__default['default'].cloneElement(children, {
750
+ set(_set([uid], children ? React.cloneElement(children, {
512
751
  key: uid
513
752
  }) : null));
514
- React.useEffect(function () {
753
+ useEffect(function () {
515
754
  return function () {
516
- return set(_unset__default['default']([uid]));
755
+ return set(_unset([uid]));
517
756
  };
518
757
  }, []);
519
758
  };
520
759
 
521
- var isPath = function isPath(path) {
522
- return typeof path === 'string' || typeof path === 'number' || Array.isArray(path);
760
+ var propsOrConsume = function propsOrConsume(prop, Consumer, childrenAsFunction) {
761
+ return prop ? childrenAsFunction(prop) : React.createElement(Consumer, null, childrenAsFunction);
523
762
  };
524
763
 
525
- var getter = function getter(value) {
526
- return function (path) {
527
- return path !== "" && isPath(path) ? utils._s.get(path, value) : value;
764
+ var addConsumers = function addConsumers(Component, obj) {
765
+ return Object.entries(obj).reduce(function (acc, _ref) {
766
+ var _ref2 = _slicedToArray(_ref, 2),
767
+ propKey = _ref2[0],
768
+ Consumer = _ref2[1];
769
+
770
+ return function (props) {
771
+ return propsOrConsume(props[propKey], Consumer, function (v) {
772
+ return acc(_objectSpread(_defineProperty({}, propKey, v), props));
773
+ });
774
+ };
775
+ }, function (props) {
776
+ return React.createElement(Component, props);
777
+ });
778
+ };
779
+
780
+ var consumes = function consumes(obj) {
781
+ return function (Component) {
782
+ var withConsumers = addConsumers(Component, obj);
783
+ return function (props) {
784
+ return withConsumers(props);
785
+ };
528
786
  };
529
787
  };
530
788
 
531
- var uninitialized = {};
532
- var useRefState = function useRefState(defaultValue, setCallback) {
533
- var ref = React.useRef(uninitialized);
789
+ var withDialogError = function withDialogError(Dialog) {
790
+ var ErrorBoundedComponent = React.forwardRef(function (props, ref) {
791
+ return React.createElement(Dialog, _extends({
792
+ ref: ref
793
+ }, props)); // const ErrorBoundary = __internals('ErrorBoundary')
534
794
 
535
- if (ref.current === uninitialized) {
536
- ref.current = utils.callIfFunction(defaultValue);
537
- }
795
+ /*return (
796
+ <ErrorBoundary Error={props.Error || __internals('DialogError')} closeDialog={props.closeDialog}>
797
+ <Dialog {...props}/>
798
+ </ErrorBoundary>
799
+ )*/
800
+ }); // ErrorBoundedComponent.contextTypes = {startlibs:()=>null}
538
801
 
539
- return React.useMemo(function () {
540
- var get = function get(path) {
541
- return getter(ref.current)(path);
542
- };
802
+ return ErrorBoundedComponent;
803
+ };
543
804
 
544
- var set = function set(v, config) {
545
- var prev = ref.current;
546
- ref.current = utils.callIfFunctions(v, function () {
547
- return get();
548
- });
805
+ var GroupEventFactory = function GroupEventFactory() {
806
+ var emitter = mitt();
549
807
 
550
- if (prev !== ref.current && (!config || !config.ignoreCallback)) {
551
- utils.callIfFunction(setCallback, prev, ref.current);
808
+ var WithGroupEvent =
809
+ /*#__PURE__*/
810
+ function (_React$Component) {
811
+ _inherits(WithGroupEvent, _React$Component);
812
+
813
+ function WithGroupEvent() {
814
+ var _getPrototypeOf2;
815
+
816
+ var _this;
817
+
818
+ _classCallCheck(this, WithGroupEvent);
819
+
820
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
821
+ args[_key] = arguments[_key];
552
822
  }
553
- };
554
823
 
555
- return {
556
- get: get,
557
- set: set
558
- };
559
- }, []);
824
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithGroupEvent)).call.apply(_getPrototypeOf2, [this].concat(args)));
825
+ _this.events = {};
826
+
827
+ _this.processEvent = function (type, event) {
828
+ (_this.events[type] || []).forEach(function (c) {
829
+ return c(event);
830
+ });
831
+ };
832
+
833
+ _this.groupEventProps = {
834
+ on: function on(type, callback) {
835
+ _this.events[type] = (_this.events[type] || []).concat(callback);
836
+ },
837
+ off: function off(type, callback) {
838
+ _this.events[type] = (_this.events[type] || []).filter(function (e) {
839
+ return e !== callback;
840
+ });
841
+ },
842
+ emit: emitter.emit
843
+ };
844
+ return _this;
845
+ }
846
+
847
+ _createClass(WithGroupEvent, [{
848
+ key: "componentDidMount",
849
+ value: function componentDidMount() {
850
+ emitter.on('*', this.processEvent);
851
+ }
852
+ }, {
853
+ key: "componentWillUnmount",
854
+ value: function componentWillUnmount() {
855
+ emitter.off('*', this.processEvent);
856
+ }
857
+ }, {
858
+ key: "render",
859
+ value: function render() {
860
+ return this.props.children(this.groupEventProps);
861
+ }
862
+ }]);
863
+
864
+ return WithGroupEvent;
865
+ }(React.Component);
866
+
867
+ return WithGroupEvent;
868
+ };
869
+ var withGroupEvent = function withGroupEvent(Component) {
870
+ var WithGroupEvent = GroupEventFactory();
871
+ return React.forwardRef(function (props, ref) {
872
+ return React.createElement(WithGroupEvent, null, function (groupEvent) {
873
+ return React.createElement(Component, _extends({}, props, {
874
+ ref: ref,
875
+ groupEvent: groupEvent
876
+ }));
877
+ });
878
+ });
560
879
  };
561
880
 
562
- var useCallState = function useCallState(defaultValue, setCallback) {
563
- var _useState = React.useState(defaultValue),
564
- _useState2 = _slicedToArray__default['default'](_useState, 2),
565
- val = _useState2[0],
566
- setValue = _useState2[1];
881
+ var WithRef =
882
+ /*#__PURE__*/
883
+ function (_React$Component) {
884
+ _inherits(WithRef, _React$Component);
567
885
 
568
- return React.useMemo(function () {
569
- var get = function get() {
570
- return val;
571
- };
886
+ function WithRef(props) {
887
+ var _this;
572
888
 
573
- return {
574
- get: get,
575
- val: val,
576
- set: setValue
577
- };
578
- }, [val]);
889
+ _classCallCheck(this, WithRef);
890
+
891
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(WithRef).call(this, props));
892
+ var total = props.length || props.children.length;
893
+ var refs = new Array(total);
894
+
895
+ for (var i = 0; i < total; i++) {
896
+ refs[i] = React.createRef();
897
+ }
898
+
899
+ _this.createdRefs = refs;
900
+ return _this;
901
+ }
902
+
903
+ _createClass(WithRef, [{
904
+ key: "render",
905
+ value: function render() {
906
+ var children = this.props.children;
907
+ return children.apply(void 0, _toConsumableArray(this.createdRefs));
908
+ }
909
+ }]);
910
+
911
+ return WithRef;
912
+ }(React.Component);
913
+
914
+ var addExtraProp = function addExtraProp(element, extra) {
915
+ var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
916
+ return React.cloneElement(element, override ? _objectSpread({}, element.props, extra) : _objectSpread({}, extra, element.props), element.props.children);
579
917
  };
580
918
 
581
- var useIsUnmounted = function useIsUnmounted() {
582
- var unmounted = React.useRef();
583
- React.useEffect(function () {
584
- return function () {
585
- return unmounted.current = true;
586
- };
587
- }, []);
588
- return function () {
589
- return unmounted.current;
919
+ var WithLazyPlaceholder = function WithLazyPlaceholder(_ref) {
920
+ var value = _ref.value,
921
+ fallback = _ref.fallback,
922
+ children = _ref.children,
923
+ _ref$forwardProps = _ref.forwardProps,
924
+ forwardProps = _ref$forwardProps === void 0 ? false : _ref$forwardProps,
925
+ props = _objectWithoutProperties(_ref, ["value", "fallback", "children", "forwardProps"]);
926
+
927
+ return React.createElement(React.Suspense, {
928
+ fallback: React.Children.map(children(fallback, {
929
+ isLoading: true
930
+ }), function (child) {
931
+ return React.isValidElement(child) ? addExtraProp(child, {
932
+ isLoading: true
933
+ }, false) : child;
934
+ })
935
+ }, React.createElement(Load, {
936
+ value: value,
937
+ children: children,
938
+ forwardProps: forwardProps && props
939
+ }));
940
+ };
941
+ var WithLazyResource = function WithLazyResource(_ref2) {
942
+ var value = _ref2.value,
943
+ wrap = _ref2.wrap,
944
+ fallback = _ref2.fallback,
945
+ children = _ref2.children,
946
+ _ref2$forwardProps = _ref2.forwardProps,
947
+ forwardProps = _ref2$forwardProps === void 0 ? false : _ref2$forwardProps,
948
+ props = _objectWithoutProperties(_ref2, ["value", "wrap", "fallback", "children", "forwardProps"]);
949
+
950
+ return wrap || fallback !== undefined ? React.createElement(React.Suspense, {
951
+ fallback: ifUndefined(fallback, null)
952
+ }, React.createElement(Load, {
953
+ value: value,
954
+ forwardProps: forwardProps && props,
955
+ children: children
956
+ })) : React.createElement(Load, {
957
+ value: value,
958
+ children: children,
959
+ forwardProps: forwardProps && props
960
+ });
961
+ };
962
+
963
+ var Load = function Load(_ref3) {
964
+ var value = _ref3.value,
965
+ children = _ref3.children,
966
+ forwardProps = _ref3.forwardProps;
967
+ var loaded = _isArray(value) ? value.forEach(function (v) {
968
+ return v.promise();
969
+ }) || value.map(function (v) {
970
+ return v.read();
971
+ }) : value.read();
972
+
973
+ var _useReducer = useReducer(function (s) {
974
+ return s + 1;
975
+ }, 0),
976
+ _useReducer2 = _slicedToArray(_useReducer, 2),
977
+ update = _useReducer2[1];
978
+
979
+ var refresh = function refresh() {
980
+ return Promise.all(_isArray(value) ? value.map(function (v) {
981
+ return v.refresh().promise();
982
+ }) : [value.refresh().promise()]).then(update);
590
983
  };
984
+
985
+ return forwardProps ? addExtraProp(children(loaded, {
986
+ refresh: refresh,
987
+ update: update
988
+ }), forwardProps) : children(loaded, {
989
+ refresh: refresh,
990
+ update: update
991
+ });
992
+ };
993
+
994
+ var useCallbackStable = function useCallbackStable(fn) {
995
+ var ref = React.useRef([fn, function () {
996
+ return ref[0].apply(ref, arguments);
997
+ }]).current; // Per Dan Abramov: useInsertionEffect executes marginally closer to the
998
+ // correct timing for ref synchronization than useLayoutEffect on React 18.
999
+ // See: https://github.com/facebook/react/pull/25881#issuecomment-1356244360
1000
+
1001
+ useInsertionEffect(function () {
1002
+ ref[0] = fn;
1003
+ });
1004
+ return ref[1];
1005
+ };
1006
+
1007
+ var WithEffect = function WithEffect(_ref) {
1008
+ var _ref$inputs = _ref.inputs,
1009
+ inputs = _ref$inputs === void 0 ? [] : _ref$inputs,
1010
+ children = _ref.children;
1011
+ useEffect(children, inputs);
1012
+ return null;
591
1013
  };
592
1014
 
593
1015
  var useToggleInternal = function useToggleInternal() {
@@ -597,10 +1019,10 @@ var useToggleInternal = function useToggleInternal() {
597
1019
  var key = arguments.length > 3 ? arguments[3] : undefined;
598
1020
  var isOpen = useStore(startWith);
599
1021
  var closing = useStore(false);
600
- var refIsOpen = useRefState(isOpen.get());
601
- var refIsClosing = useRefState(closing.get());
602
- var timerId = React.useRef();
603
- var isUnmounted = useIsUnmounted();
1022
+ var refIsOpen = useRefState$1(isOpen.get());
1023
+ var refIsClosing = useRefState$1(closing.get());
1024
+ var timerId = useRef();
1025
+ var isUnmounted = useIsUnmounted$1();
604
1026
 
605
1027
  var clearClosing = function clearClosing() {
606
1028
  if (refIsClosing.get() !== false) {
@@ -612,11 +1034,11 @@ var useToggleInternal = function useToggleInternal() {
612
1034
 
613
1035
  var toggleWith = function toggleWith() {
614
1036
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
615
- var calledValue = utils.callIfFunction(value, refIsOpen.get());
1037
+ var calledValue = callIfFunction(value, refIsOpen.get());
616
1038
  var newValue = refIsOpen.get() === calledValue ? !calledValue : calledValue;
617
1039
 
618
1040
  if (!isUnmounted() && refIsOpen.get() !== newValue) {
619
- var result = utils.callIfFunction(callback, newValue, refIsOpen.get());
1041
+ var result = callIfFunction(callback, newValue, refIsOpen.get());
620
1042
 
621
1043
  if (result === false) {
622
1044
  return;
@@ -633,7 +1055,7 @@ var useToggleInternal = function useToggleInternal() {
633
1055
  console.log(key, refIsOpen.get() !== value ? "toggle" : "clear", refIsOpen.get(), value);
634
1056
  }
635
1057
 
636
- var nextValue = utils.callIfFunction(value, refIsOpen.get());
1058
+ var nextValue = callIfFunction(value, refIsOpen.get());
637
1059
 
638
1060
  if (refIsOpen.get() !== nextValue) {
639
1061
  toggleWith(function () {
@@ -679,15 +1101,15 @@ var useToggleInternal = function useToggleInternal() {
679
1101
  var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
680
1102
  return (
681
1103
  /*#__PURE__*/
682
- _asyncToGenerator__default['default'](
1104
+ _asyncToGenerator(
683
1105
  /*#__PURE__*/
684
- _regeneratorRuntime__default['default'].mark(function _callee() {
1106
+ _regeneratorRuntime.mark(function _callee() {
685
1107
  var _len2,
686
1108
  args,
687
1109
  _key2,
688
1110
  _args = arguments;
689
1111
 
690
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1112
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
691
1113
  while (1) {
692
1114
  switch (_context.prev = _context.next) {
693
1115
  case 0:
@@ -699,7 +1121,7 @@ var useToggleInternal = function useToggleInternal() {
699
1121
  }
700
1122
 
701
1123
  _context.next = 5;
702
- return utils.callIfFunction.apply(void 0, [promise].concat(args));
1124
+ return callIfFunction.apply(void 0, [promise].concat(args));
703
1125
 
704
1126
  case 5:
705
1127
  return _context.abrupt("return", _context.sent);
@@ -719,7 +1141,7 @@ var useToggleInternal = function useToggleInternal() {
719
1141
  );
720
1142
  };
721
1143
 
722
- var setters = React.useMemo(function () {
1144
+ var setters = useMemo(function () {
723
1145
  return {
724
1146
  wait: function wait(promise) {
725
1147
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
@@ -729,7 +1151,7 @@ var useToggleInternal = function useToggleInternal() {
729
1151
  willWait: _wait,
730
1152
  open: function open(e) {
731
1153
  if (process.env.NODE_ENV !== 'production') {
732
- if (['string', 'number', 'boolean'].indexOf(_typeof__default['default'](e)) >= 0) {
1154
+ if (['string', 'number', 'boolean'].indexOf(_typeof(e)) >= 0) {
733
1155
  console.log("You are trying to open toggle with ".concat(e, ". Please, use openWith to open with a value"));
734
1156
  }
735
1157
  }
@@ -741,7 +1163,7 @@ var useToggleInternal = function useToggleInternal() {
741
1163
  },
742
1164
  toggle: function toggle(e) {
743
1165
  if (process.env.NODE_ENV !== 'production') {
744
- if (['string', 'number', 'boolean'].indexOf(_typeof__default['default'](e)) >= 0) {
1166
+ if (['string', 'number', 'boolean'].indexOf(_typeof(e)) >= 0) {
745
1167
  console.log("You are trying to toogle a toggle with ".concat(e, ". Please, use openWith to open with a value"));
746
1168
  }
747
1169
  }
@@ -774,7 +1196,7 @@ var useToggleInternal = function useToggleInternal() {
774
1196
  };
775
1197
  }, []);
776
1198
 
777
- var settersWithNewRef = _objectSpread__default['default']({}, setters);
1199
+ var settersWithNewRef = _objectSpread({}, setters);
778
1200
 
779
1201
  if (closing.val) {
780
1202
  return Object.assign(settersWithNewRef, {
@@ -797,10 +1219,10 @@ var useToggleInternal = function useToggleInternal() {
797
1219
  };
798
1220
 
799
1221
  var useToggle = function useToggle(startWith, callback, key) {
800
- return useToggleInternal(startWith, useCallState, callback, key);
1222
+ return useToggleInternal(startWith, useCallState$1, callback, key);
801
1223
  };
802
1224
  var useRefToggle = function useRefToggle(startWith) {
803
- return useToggleInternal(startWith, useRefState);
1225
+ return useToggleInternal(startWith, useRefState$1);
804
1226
  };
805
1227
 
806
1228
  var prevOpenToggleClose = function prevOpenToggleClose() {};
@@ -814,8 +1236,8 @@ var clearPopups = function clearPopups() {
814
1236
  }
815
1237
  };
816
1238
  var usePopupToggle = function usePopupToggle(startWith, callback) {
817
- var toggle = useToggle(startWith, function (v, prev) {
818
- var result = utils.callIfFunction(callback, v, prev);
1239
+ var toggle = useToggle$1(startWith, function (v, prev) {
1240
+ var result = callIfFunction(callback, v, prev);
819
1241
 
820
1242
  if (result === false) {
821
1243
  return false;
@@ -837,331 +1259,81 @@ var usePopupToggle = function usePopupToggle(startWith, callback) {
837
1259
  return toggle;
838
1260
  };
839
1261
 
840
- var StartlibsContext = React__default['default'].createContext({});
841
- var PopupContext = React__default['default'].createContext({});
842
- var StartlibsMetacontext = React__default['default'].createContext(function () {});
843
- var StartlibsConsumer = StartlibsContext.Consumer;
844
- var wrappeStyle = {
845
- height: '100%'
846
- };
847
- var StartlibsProvider =
848
- /*#__PURE__*/
849
- function (_React$Component) {
850
- _inherits__default['default'](StartlibsProvider, _React$Component);
851
-
852
- function StartlibsProvider() {
853
- var _getPrototypeOf2;
854
-
855
- var _this;
856
-
857
- _classCallCheck__default['default'](this, StartlibsProvider);
858
-
859
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
860
- args[_key] = arguments[_key];
861
- }
862
-
863
- _this = _possibleConstructorReturn__default['default'](this, (_getPrototypeOf2 = _getPrototypeOf__default['default'](StartlibsProvider)).call.apply(_getPrototypeOf2, [this].concat(args)));
864
- _this.openToggles = new Map();
865
-
866
- _this.popupToggleRender = function (_ref, ref) {
867
- var isOpen = _ref.isOpen,
868
- close = _ref.close;
869
-
870
- if (isOpen && !_this.openToggles.has(ref)) {
871
- _this.closePopup();
872
-
873
- _this.openToggles.set(ref, close);
874
- }
875
- };
1262
+ var useCallState = function useCallState(defaultValue, setCallback) {
1263
+ var _useState = useState(defaultValue),
1264
+ _useState2 = _slicedToArray(_useState, 2),
1265
+ val = _useState2[0],
1266
+ setValue = _useState2[1];
876
1267
 
877
- _this.closePopup = function () {
878
- clearPopups();
1268
+ return useMemo(function () {
1269
+ var get = function get() {
1270
+ return val;
879
1271
  };
880
1272
 
881
- _this.startlibsMeta = new Map();
882
-
883
- _this.getMeta = function (key, initValue) {
884
- var exists = _this.startlibsMeta.get(key);
885
-
886
- if (exists) return exists;
887
-
888
- _this.startlibsMeta.set(key, utils.callIfFunction(initValue));
889
-
890
- return initValue;
1273
+ return {
1274
+ get: get,
1275
+ val: val,
1276
+ set: setValue
891
1277
  };
892
-
893
- return _this;
894
- }
895
-
896
- _createClass__default['default'](StartlibsProvider, [{
897
- key: "componentDidMount",
898
- value: function componentDidMount() {
899
- utils.fixMediaQuery();
900
-
901
- var addVHFix = function addVHFix() {
902
- var _document$documentEle, _document$documentEle2;
903
-
904
- var vh = window.innerHeight * 0.01;
905
- (_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"));
906
- };
907
-
908
- window.addEventListener('resize', _debounce__default['default'](200, addVHFix));
909
- addVHFix();
910
- }
911
- }, {
912
- key: "render",
913
- value: function render() {
914
- return React__default['default'].createElement(StartlibsContext.Provider, {
915
- value: this.props.value
916
- }, React__default['default'].createElement(StartlibsMetacontext.Provider, {
917
- value: this.getMeta
918
- }, React__default['default'].createElement(PopupContext.Provider, {
919
- value: this.popupToggleRender
920
- }, React__default['default'].createElement(SlotProvider, null, React__default['default'].createElement("div", {
921
- style: wrappeStyle,
922
- onClick: this.closePopup
923
- }, this.props.children)))));
924
- }
925
- }]);
926
-
927
- return StartlibsProvider;
928
- }(React__default['default'].Component);
929
-
930
- var propsOrConsume = function propsOrConsume(prop, Consumer, childrenAsFunction) {
931
- return prop ? childrenAsFunction(prop) : React__default['default'].createElement(Consumer, null, childrenAsFunction);
1278
+ }, [val]);
932
1279
  };
933
1280
 
934
- var addConsumers = function addConsumers(Component, obj) {
935
- return Object.entries(obj).reduce(function (acc, _ref) {
936
- var _ref2 = _slicedToArray__default['default'](_ref, 2),
937
- propKey = _ref2[0],
938
- Consumer = _ref2[1];
939
-
940
- return function (props) {
941
- return propsOrConsume(props[propKey], Consumer, function (v) {
942
- return acc(_objectSpread__default['default'](_defineProperty__default['default']({}, propKey, v), props));
943
- });
944
- };
945
- }, function (props) {
946
- return React__default['default'].createElement(Component, props);
947
- });
1281
+ var isPath = function isPath(path) {
1282
+ return typeof path === 'string' || typeof path === 'number' || Array.isArray(path);
948
1283
  };
949
1284
 
950
- var consumes = function consumes(obj) {
951
- return function (Component) {
952
- var withConsumers = addConsumers(Component, obj);
953
- return function (props) {
954
- return withConsumers(props);
955
- };
1285
+ var getter = function getter(value) {
1286
+ return function (path) {
1287
+ return path !== "" && isPath(path) ? _s.get(path, value) : value;
956
1288
  };
957
1289
  };
958
1290
 
959
- var withDialogError = function withDialogError(Dialog) {
960
- var ErrorBoundedComponent = React__default['default'].forwardRef(function (props, ref) {
961
- return React__default['default'].createElement(Dialog, _extends__default['default']({
962
- ref: ref
963
- }, props)); // const ErrorBoundary = __internals('ErrorBoundary')
964
-
965
- /*return (
966
- <ErrorBoundary Error={props.Error || __internals('DialogError')} closeDialog={props.closeDialog}>
967
- <Dialog {...props}/>
968
- </ErrorBoundary>
969
- )*/
970
- }); // ErrorBoundedComponent.contextTypes = {startlibs:()=>null}
971
-
972
- return ErrorBoundedComponent;
973
- };
974
-
975
- var GroupEventFactory = function GroupEventFactory() {
976
- var emitter = mitt__default['default']();
977
-
978
- var WithGroupEvent =
979
- /*#__PURE__*/
980
- function (_React$Component) {
981
- _inherits__default['default'](WithGroupEvent, _React$Component);
982
-
983
- function WithGroupEvent() {
984
- var _getPrototypeOf2;
985
-
986
- var _this;
987
-
988
- _classCallCheck__default['default'](this, WithGroupEvent);
989
-
990
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
991
- args[_key] = arguments[_key];
992
- }
993
-
994
- _this = _possibleConstructorReturn__default['default'](this, (_getPrototypeOf2 = _getPrototypeOf__default['default'](WithGroupEvent)).call.apply(_getPrototypeOf2, [this].concat(args)));
995
- _this.events = {};
996
-
997
- _this.processEvent = function (type, event) {
998
- (_this.events[type] || []).forEach(function (c) {
999
- return c(event);
1000
- });
1001
- };
1002
-
1003
- _this.groupEventProps = {
1004
- on: function on(type, callback) {
1005
- _this.events[type] = (_this.events[type] || []).concat(callback);
1006
- },
1007
- off: function off(type, callback) {
1008
- _this.events[type] = (_this.events[type] || []).filter(function (e) {
1009
- return e !== callback;
1010
- });
1011
- },
1012
- emit: emitter.emit
1013
- };
1014
- return _this;
1015
- }
1016
-
1017
- _createClass__default['default'](WithGroupEvent, [{
1018
- key: "componentDidMount",
1019
- value: function componentDidMount() {
1020
- emitter.on('*', this.processEvent);
1021
- }
1022
- }, {
1023
- key: "componentWillUnmount",
1024
- value: function componentWillUnmount() {
1025
- emitter.off('*', this.processEvent);
1026
- }
1027
- }, {
1028
- key: "render",
1029
- value: function render() {
1030
- return this.props.children(this.groupEventProps);
1031
- }
1032
- }]);
1033
-
1034
- return WithGroupEvent;
1035
- }(React__default['default'].Component);
1036
-
1037
- return WithGroupEvent;
1038
- };
1039
- var withGroupEvent = function withGroupEvent(Component) {
1040
- var WithGroupEvent = GroupEventFactory();
1041
- return React__default['default'].forwardRef(function (props, ref) {
1042
- return React__default['default'].createElement(WithGroupEvent, null, function (groupEvent) {
1043
- return React__default['default'].createElement(Component, _extends__default['default']({}, props, {
1044
- ref: ref,
1045
- groupEvent: groupEvent
1046
- }));
1047
- });
1048
- });
1049
- };
1050
-
1051
- var WithRef =
1052
- /*#__PURE__*/
1053
- function (_React$Component) {
1054
- _inherits__default['default'](WithRef, _React$Component);
1055
-
1056
- function WithRef(props) {
1057
- var _this;
1058
-
1059
- _classCallCheck__default['default'](this, WithRef);
1060
-
1061
- _this = _possibleConstructorReturn__default['default'](this, _getPrototypeOf__default['default'](WithRef).call(this, props));
1062
- var total = props.length || props.children.length;
1063
- var refs = new Array(total);
1064
-
1065
- for (var i = 0; i < total; i++) {
1066
- refs[i] = React__default['default'].createRef();
1067
- }
1291
+ var uninitialized = {};
1292
+ var useRefState = function useRefState(defaultValue, setCallback) {
1293
+ var ref = useRef(uninitialized);
1068
1294
 
1069
- _this.createdRefs = refs;
1070
- return _this;
1295
+ if (ref.current === uninitialized) {
1296
+ ref.current = callIfFunction(defaultValue);
1071
1297
  }
1072
1298
 
1073
- _createClass__default['default'](WithRef, [{
1074
- key: "render",
1075
- value: function render() {
1076
- var children = this.props.children;
1077
- return children.apply(void 0, _toConsumableArray__default['default'](this.createdRefs));
1078
- }
1079
- }]);
1080
-
1081
- return WithRef;
1082
- }(React__default['default'].Component);
1083
-
1084
- var addExtraProp = function addExtraProp(element, extra) {
1085
- var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
1086
- return React__default['default'].cloneElement(element, override ? _objectSpread__default['default']({}, element.props, extra) : _objectSpread__default['default']({}, extra, element.props), element.props.children);
1087
- };
1088
-
1089
- var WithLazyResource = function WithLazyResource(_ref) {
1090
- var value = _ref.value,
1091
- wrap = _ref.wrap,
1092
- fallback = _ref.fallback,
1093
- children = _ref.children,
1094
- _ref$forwardProps = _ref.forwardProps,
1095
- forwardProps = _ref$forwardProps === void 0 ? false : _ref$forwardProps,
1096
- props = _objectWithoutProperties__default['default'](_ref, ["value", "wrap", "fallback", "children", "forwardProps"]);
1097
-
1098
- return wrap || fallback !== undefined ? React__default['default'].createElement(React__default['default'].Suspense, {
1099
- fallback: utils.ifUndefined(fallback, null)
1100
- }, React__default['default'].createElement(Load, {
1101
- value: value,
1102
- forwardProps: forwardProps && props,
1103
- children: children
1104
- })) : React__default['default'].createElement(Load, {
1105
- value: value,
1106
- children: children,
1107
- forwardProps: forwardProps && props
1108
- });
1109
- };
1110
-
1111
- var Load = function Load(_ref2) {
1112
- var value = _ref2.value,
1113
- children = _ref2.children,
1114
- forwardProps = _ref2.forwardProps;
1115
- var loaded = _isArray__default['default'](value) ? value.forEach(function (v) {
1116
- return v.promise();
1117
- }) || value.map(function (v) {
1118
- return v.read();
1119
- }) : value.read();
1120
-
1121
- var _useReducer = React.useReducer(function (s) {
1122
- return s + 1;
1123
- }, 0),
1124
- _useReducer2 = _slicedToArray__default['default'](_useReducer, 2),
1125
- update = _useReducer2[1];
1299
+ return useMemo(function () {
1300
+ var get = function get(path) {
1301
+ return getter(ref.current)(path);
1302
+ };
1126
1303
 
1127
- var refresh = function refresh() {
1128
- return Promise.all(_isArray__default['default'](value) ? value.map(function (v) {
1129
- return v.refresh().promise();
1130
- }) : [value.refresh().promise()]).then(update);
1131
- };
1304
+ var set = function set(v, config) {
1305
+ var prev = ref.current;
1306
+ ref.current = callIfFunctions(v, function () {
1307
+ return get();
1308
+ });
1132
1309
 
1133
- return forwardProps ? addExtraProp(children(loaded, {
1134
- refresh: refresh,
1135
- update: update
1136
- }), forwardProps) : children(loaded, {
1137
- refresh: refresh,
1138
- update: update
1139
- });
1140
- };
1310
+ if (prev !== ref.current && (!config || !config.ignoreCallback)) {
1311
+ callIfFunction(setCallback, prev, ref.current);
1312
+ }
1313
+ };
1141
1314
 
1142
- var WithEffect = function WithEffect(_ref) {
1143
- var _ref$inputs = _ref.inputs,
1144
- inputs = _ref$inputs === void 0 ? [] : _ref$inputs,
1145
- children = _ref.children;
1146
- React.useEffect(children, inputs);
1147
- return null;
1315
+ return {
1316
+ get: get,
1317
+ set: set
1318
+ };
1319
+ }, []);
1148
1320
  };
1149
1321
 
1150
1322
  var useConsumerCatalog = function useConsumerCatalog(mountCallback, unmountCallback) {
1151
- var elements = useRefState([]);
1152
- var register = utils.callMany(function (element) {
1323
+ var elements = useRefState$1([]);
1324
+ var register = callMany(function (element) {
1153
1325
  return elements.set(function (elements) {
1154
1326
  return elements.concat([element]);
1155
1327
  });
1156
1328
  }, mountCallback);
1157
- var unregister = utils.callMany(function (element) {
1329
+ var unregister = callMany(function (element) {
1158
1330
  return elements.set(function (elements) {
1159
1331
  return elements.filter(function (_) {
1160
1332
  return _ !== element;
1161
1333
  });
1162
1334
  });
1163
1335
  }, unmountCallback);
1164
- var manager = React.useMemo(function () {
1336
+ var manager = useMemo(function () {
1165
1337
  return {
1166
1338
  register: register,
1167
1339
  unregister: unregister
@@ -1172,7 +1344,7 @@ var useConsumerCatalog = function useConsumerCatalog(mountCallback, unmountCallb
1172
1344
  var useCatalogManager = function useCatalogManager(_ref, ref) {
1173
1345
  var register = _ref.register,
1174
1346
  unregister = _ref.unregister;
1175
- React.useEffect(function () {
1347
+ useEffect(function () {
1176
1348
  register(ref);
1177
1349
  return function () {
1178
1350
  return unregister(ref);
@@ -1180,71 +1352,8 @@ var useCatalogManager = function useCatalogManager(_ref, ref) {
1180
1352
  }, [ref]);
1181
1353
  };
1182
1354
 
1183
- var willUseLayers = function willUseLayers() {
1184
- var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React__default['default'].useEffect;
1185
-
1186
- var _willUseSharedCallbac = willUseSharedCallback(useEffect),
1187
- _willUseSharedCallbac2 = _slicedToArray__default['default'](_willUseSharedCallbac, 3),
1188
- useRegisterSharedCallback = _willUseSharedCallbac2[0],
1189
- callGroup = _willUseSharedCallbac2[1],
1190
- _getSize = _willUseSharedCallbac2[2];
1191
-
1192
- var useLayer = function useLayer() {
1193
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1194
- onFirst = _ref.onFirst,
1195
- onEmpty = _ref.onEmpty,
1196
- onTop = _ref.onTop;
1197
-
1198
- var listener = arguments.length > 1 ? arguments[1] : undefined;
1199
- var resetIndex = React.useCallback(function () {
1200
- setIndex(getIndex());
1201
-
1202
- if (getIndex() + 1 === _getSize()) {
1203
- utils.callIfFunction(onTop, getIndex);
1204
- }
1205
- }, []);
1206
- var getIndex = useRegisterSharedCallback(resetIndex, listener);
1207
-
1208
- var _useState = React.useState(getIndex()),
1209
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1210
- index = _useState2[0],
1211
- setIndex = _useState2[1];
1212
-
1213
- useEffect(function () {
1214
- if (getIndex() === 0) {
1215
- utils.callIfFunction(onFirst);
1216
- }
1217
-
1218
- resetIndex();
1219
- return function () {
1220
- if (_getSize() === 0) {
1221
- utils.callIfFunction(onEmpty);
1222
- }
1223
-
1224
- callGroup();
1225
- };
1226
- }, []);
1227
- return [index, {
1228
- isFirst: function isFirst() {
1229
- return getIndex() === 1;
1230
- },
1231
- isTop: function isTop() {
1232
- return getIndex() === _getSize() - 1;
1233
- },
1234
- isEmpty: function isEmpty() {
1235
- return _getSize() === 0;
1236
- },
1237
- getSize: function getSize() {
1238
- return _getSize();
1239
- }
1240
- }];
1241
- };
1242
-
1243
- return [useLayer, _getSize];
1244
- };
1245
-
1246
- var _willUseLayers = willUseLayers(),
1247
- _willUseLayers2 = _slicedToArray__default['default'](_willUseLayers, 1),
1355
+ var _willUseLayers = willUseLayers$1(),
1356
+ _willUseLayers2 = _slicedToArray(_willUseLayers, 1),
1248
1357
  useTitleLayers = _willUseLayers2[0];
1249
1358
 
1250
1359
  var useTitle = function useTitle(title) {
@@ -1255,7 +1364,7 @@ var useTitle = function useTitle(title) {
1255
1364
  });
1256
1365
  };
1257
1366
 
1258
- var TabFocus = styled__default['default'].div.withConfig({
1367
+ var TabFocus = styled.div.withConfig({
1259
1368
  displayName: "useRecycleFocus__TabFocus",
1260
1369
  componentId: "kxnccs-0"
1261
1370
  })(["width:0;height:0;position:absolute;"]);
@@ -1283,25 +1392,25 @@ var useRecycleFocus = function useRecycleFocus(ref) {
1283
1392
  };
1284
1393
  };
1285
1394
 
1286
- return [React__default['default'].createElement(TabFocus, {
1395
+ return [React.createElement(TabFocus, {
1287
1396
  tabIndex: 1,
1288
1397
  onFocus: recycle(0)
1289
- }), React__default['default'].createElement(TabFocus, {
1398
+ }), React.createElement(TabFocus, {
1290
1399
  tabIndex: lastIndex || 1,
1291
1400
  onFocus: recycle(-1)
1292
1401
  })];
1293
1402
  };
1294
1403
 
1295
1404
  function usePrevious(value, initialValue) {
1296
- var ref = React.useRef(initialValue);
1297
- React.useEffect(function () {
1405
+ var ref = useRef(initialValue);
1406
+ useEffect(function () {
1298
1407
  ref.current = value;
1299
1408
  });
1300
1409
  return ref.current;
1301
1410
  }
1302
1411
  function usePreviousUnique(value, initialValue) {
1303
- var ref = React.useRef(initialValue);
1304
- React.useEffect(function () {
1412
+ var ref = useRef(initialValue);
1413
+ useEffect(function () {
1305
1414
  if (value !== ref.current) {
1306
1415
  ref.current = value;
1307
1416
  }
@@ -1309,8 +1418,8 @@ function usePreviousUnique(value, initialValue) {
1309
1418
  return ref.current;
1310
1419
  }
1311
1420
  function usePreviousForEffect(value, initialValue) {
1312
- var ref = React.useRef(initialValue);
1313
- React.useEffect(function () {
1421
+ var ref = useRef(initialValue);
1422
+ useEffect(function () {
1314
1423
  return function () {
1315
1424
  ref.current = value;
1316
1425
  };
@@ -1318,14 +1427,46 @@ function usePreviousForEffect(value, initialValue) {
1318
1427
  return ref.current;
1319
1428
  }
1320
1429
 
1430
+ var useIsUnmounted = function useIsUnmounted() {
1431
+ var unmounted = useRef();
1432
+ useEffect(function () {
1433
+ return function () {
1434
+ return unmounted.current = true;
1435
+ };
1436
+ }, []);
1437
+ return function () {
1438
+ return unmounted.current;
1439
+ };
1440
+ };
1441
+
1321
1442
  var useEnsureRef = function useEnsureRef(forwardedRef) {
1322
- var ref = React.useRef();
1443
+ var ref = useRef();
1323
1444
  return forwardedRef || ref;
1324
1445
  };
1325
1446
 
1447
+ var not_defined = {};
1448
+ var useConstant = function useConstant(value) {
1449
+ var ref = useRef(not_defined);
1450
+
1451
+ if (ref.current === not_defined) {
1452
+ ref.current = value;
1453
+ }
1454
+
1455
+ return ref.current;
1456
+ };
1457
+ var useLazyConstant = function useLazyConstant(value) {
1458
+ var ref = useRef(not_defined);
1459
+
1460
+ if (ref.current === not_defined) {
1461
+ ref.current = callIfFunction(value);
1462
+ }
1463
+
1464
+ return ref.current;
1465
+ };
1466
+
1326
1467
  var useForceUpdate = function useForceUpdate() {
1327
- var _useState = React.useState(0),
1328
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1468
+ var _useState = useState(0),
1469
+ _useState2 = _slicedToArray(_useState, 2),
1329
1470
  value = _useState2[0],
1330
1471
  setValue = _useState2[1]; // integer state
1331
1472
 
@@ -1337,14 +1478,14 @@ var useForceUpdate = function useForceUpdate() {
1337
1478
  }; // update the state to force render
1338
1479
  };
1339
1480
  var willUseForceUpdate = function willUseForceUpdate() {
1340
- var _willUseSharedState = willUseSharedState(),
1341
- _willUseSharedState2 = _slicedToArray__default['default'](_willUseSharedState, 3),
1481
+ var _willUseSharedState = willUseSharedState$1(),
1482
+ _willUseSharedState2 = _slicedToArray(_willUseSharedState, 3),
1342
1483
  useValue = _willUseSharedState2[0],
1343
1484
  set = _willUseSharedState2[2];
1344
1485
 
1345
1486
  var useForceUpdate = function useForceUpdate() {
1346
1487
  var _useValue = useValue(0),
1347
- _useValue2 = _slicedToArray__default['default'](_useValue, 2),
1488
+ _useValue2 = _slicedToArray(_useValue, 2),
1348
1489
  v = _useValue2[0],
1349
1490
  setV = _useValue2[1];
1350
1491
 
@@ -1364,9 +1505,9 @@ var willUseForceUpdate = function willUseForceUpdate() {
1364
1505
 
1365
1506
  var useUpdateOnResize = function useUpdateOnResize() {
1366
1507
  var debounceInterval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
1367
- var update = useForceUpdate();
1368
- React.useEffect(function () {
1369
- var trigger = _debounce__default['default'](debounceInterval, update);
1508
+ var update = useForceUpdate$1();
1509
+ useEffect(function () {
1510
+ var trigger = _debounce(debounceInterval, update);
1370
1511
 
1371
1512
  window.addEventListener('resize', trigger);
1372
1513
  return function () {
@@ -1376,19 +1517,19 @@ var useUpdateOnResize = function useUpdateOnResize() {
1376
1517
  };
1377
1518
 
1378
1519
  var useAsyncEffect = function useAsyncEffect(fn, args) {
1379
- React.useEffect(function () {
1520
+ useEffect(function () {
1380
1521
  var result = fn();
1381
1522
  return function () {
1382
1523
  result.then(function (end) {
1383
- return utils.callIfFunction(end);
1524
+ return callIfFunction(end);
1384
1525
  });
1385
1526
  };
1386
1527
  }, args);
1387
1528
  };
1388
1529
 
1389
1530
  var useUpdateEffect = function useUpdateEffect(effect, inputs) {
1390
- var pastFirstTime = React.useRef();
1391
- React.useEffect(function () {
1531
+ var pastFirstTime = useRef();
1532
+ useEffect(function () {
1392
1533
  if (pastFirstTime.current) {
1393
1534
  return effect();
1394
1535
  } else {
@@ -1397,166 +1538,20 @@ var useUpdateEffect = function useUpdateEffect(effect, inputs) {
1397
1538
  }, inputs);
1398
1539
  };
1399
1540
 
1400
- var updateAllInputsState = function updateAllInputsState(inputs, values) {
1401
- var deferedUndefined = [];
1402
- inputs.forEach(function (input) {
1403
- var _input = _slicedToArray__default['default'](input, 2),
1404
- setValue = _input[0],
1405
- selector = _input[1];
1406
-
1407
- var newValue = selector(values);
1408
-
1409
- if (newValue === undefined) {
1410
- deferedUndefined.push([setValue, newValue]);
1411
- } else {
1412
- setValue(newValue);
1413
- }
1414
- });
1415
- deferedUndefined.forEach(function (_ref) {
1416
- var _ref2 = _slicedToArray__default['default'](_ref, 2),
1417
- set = _ref2[0],
1418
- value = _ref2[1];
1419
-
1420
- return set(value);
1421
- });
1422
- };
1423
-
1424
- var pathSelector = function pathSelector(path) {
1425
- return utils._s.get(path || []);
1426
- };
1427
-
1428
- var parsePathOrSelector = function parsePathOrSelector(pathOrSelector) {
1429
- var isNotSelector = typeof pathOrSelector !== 'function';
1430
-
1431
- if (isNotSelector) {
1432
- return [utils.formatPath(pathOrSelector), pathSelector(pathOrSelector)];
1433
- } else {
1434
- return ['', pathOrSelector];
1435
- }
1436
- };
1437
-
1438
- var willUseSpreadState = function willUseSpreadState(defaultContextValue) {
1439
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1440
- var Context = React__default['default'].createContext(defaultContextValue);
1441
- var EMPTY_GLOBAL = {};
1442
- var prevInitState = EMPTY_GLOBAL;
1443
- var globalState = EMPTY_GLOBAL;
1444
-
1445
- var getGlobalState = function getGlobalState(key) {
1446
- return _isString__default['default'](key) || _isArray__default['default'](key) ? _get__default['default'](key, globalState) : globalState;
1447
- };
1448
-
1449
- var useProvideSpreadState = function useProvideSpreadState(initState, setCallback) {
1450
- var _useConsumerCatalog = useConsumerCatalog(function (input) {
1451
- return updateAllInputsState([input], state.get());
1452
- }),
1453
- _useConsumerCatalog2 = _slicedToArray__default['default'](_useConsumerCatalog, 2),
1454
- consumerList = _useConsumerCatalog2[0],
1455
- manager = _useConsumerCatalog2[1];
1456
-
1457
- var state = useRefState(initState, setCallback);
1458
-
1459
- if (options.initRefCheck) {
1460
- if (prevInitState !== initState) {
1461
- globalState = initState;
1462
- }
1463
-
1464
- prevInitState = initState;
1465
- }
1466
-
1467
- if (globalState === EMPTY_GLOBAL) {
1468
- globalState = initState;
1469
- }
1470
-
1471
- React.useEffect(function () {
1472
- globalState = state.get();
1473
- }, []);
1474
-
1475
- var setState = function setState(newState, fastPath, config) {
1476
- // console.log("Fastpath noop:"+fastPath)
1477
- state.set(newState, config);
1478
- globalState = state.get();
1479
- updateAllInputsState(consumerList(), state.get());
1480
- };
1481
-
1482
- var contextValue = React.useMemo(function () {
1483
- return [state.get, setState, manager];
1484
- }, []);
1485
- return [Context.Provider, contextValue, [state.get, setState]];
1486
- };
1487
-
1488
- var useSpreadState = function useSpreadState(pathOrSelector, inputs) {
1489
- var _useContext = React.useContext(Context),
1490
- _useContext2 = _slicedToArray__default['default'](_useContext, 3),
1491
- getSpreadState = _useContext2[0],
1492
- setSpreadState = _useContext2[1],
1493
- manager = _useContext2[2];
1494
-
1495
- var _parsePathOrSelector = parsePathOrSelector(pathOrSelector),
1496
- _parsePathOrSelector2 = _slicedToArray__default['default'](_parsePathOrSelector, 2),
1497
- path = _parsePathOrSelector2[0],
1498
- selector = _parsePathOrSelector2[1];
1499
-
1500
- var pathOrInput = [path] || inputs || [];
1501
-
1502
- var _useState = React.useState(selector(getSpreadState())),
1503
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1504
- value = _useState2[0],
1505
- setValue = _useState2[1];
1506
-
1507
- var isUnmounted = useIsUnmounted();
1508
- var currentPath = useRefState(path);
1509
-
1510
- if (path !== currentPath.get()) {
1511
- /* when path changes, the consumerCatalogCallback will update the new value
1512
- * another solution would be to call setValue here directly
1513
- * the return value will still be the old, but will be changed before render, just like getDerivedStateFromProps
1514
- *
1515
- * if there's a need for the return value to be the same, the value or, if enters here new value,
1516
- * can be returned in an temp variable
1517
- * */
1518
- currentPath.set(path);
1519
- }
1520
-
1521
- var input = React.useMemo(function () {
1522
- return [function (v) {
1523
- /* noop for elements that may be unregistered while looping through consumerList */
1524
- if (path === currentPath.get() && !isUnmounted()) {
1525
- setValue(v);
1526
- }
1527
- }, selector];
1528
- }, pathOrInput);
1529
- useCatalogManager(manager, input);
1530
- var setState = React.useCallback(function (v) {
1531
- return setSpreadState((_isFunction__default['default'](v) ? pathOrSelector === undefined ? function () {
1532
- return v;
1533
- } : _update__default['default'] : _set__default['default'])(path, v), path);
1534
- }, pathOrInput);
1535
-
1536
- var getValue = function getValue() {
1537
- return selector(getGlobalState());
1538
- };
1539
-
1540
- return [value, setState, getValue];
1541
- };
1542
-
1543
- return [useProvideSpreadState, useSpreadState, Context, getGlobalState];
1544
- };
1545
-
1546
1541
  var useRefMemo = function useRefMemo(value) {
1547
- var ref = React.useRef(value);
1542
+ var ref = useRef(value);
1548
1543
 
1549
1544
  if (ref.current !== value) {
1550
- ref.current = utils.callIfFunction(value);
1545
+ ref.current = callIfFunction(value);
1551
1546
  }
1552
1547
 
1553
1548
  return ref;
1554
1549
  };
1555
1550
 
1556
1551
  var IS_ARRAY_ITEMS_EQUALS = function IS_ARRAY_ITEMS_EQUALS(a, b) {
1557
- return a.length === b.length && !a.find(function (itemA, i) {
1552
+ return a.length === b.length && a.findIndex(function (itemA, i) {
1558
1553
  return !Object.is(itemA, b[i]);
1559
- });
1554
+ }) < 0;
1560
1555
  };
1561
1556
 
1562
1557
  var IS_DEPS_EQUALS = function IS_DEPS_EQUALS() {
@@ -1566,26 +1561,26 @@ var IS_DEPS_EQUALS = function IS_DEPS_EQUALS() {
1566
1561
  };
1567
1562
 
1568
1563
  var SHALLOW_IS_EQUAL = function SHALLOW_IS_EQUAL(a, b) {
1569
- return Object.is(a, b) || _isArray__default['default'](a) && _isArray__default['default'](b) && IS_ARRAY_ITEMS_EQUALS(a, b);
1564
+ return Object.is(a, b) || _isArray(a) && _isArray(b) && IS_ARRAY_ITEMS_EQUALS(a, b);
1570
1565
  };
1571
1566
 
1572
1567
  var EMPTY_DEPS = [];
1573
1568
  var useUpdateSignal = function useUpdateSignal(initialValue) {
1574
- var value = React.useRef(initialValue);
1569
+ var value = useRef(initialValue);
1575
1570
  value.current = initialValue;
1576
- return useLazyConstant(function () {
1571
+ return useLazyConstant$1(function () {
1577
1572
  var registered = [];
1578
1573
 
1579
1574
  var register = function register() {
1580
- var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _identity__default['default'];
1575
+ var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _identity;
1581
1576
  var isEqual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SHALLOW_IS_EQUAL;
1582
- var selectorRef = React.useRef();
1577
+ var selectorRef = useRef();
1583
1578
  selectorRef.current = selector;
1584
- var update = useForceUpdate();
1585
- var lastValueRef = React.useRef(utils._s.select(selectorRef.current, value.current));
1586
- React.useEffect(function () {
1579
+ var update = useForceUpdate$1();
1580
+ var lastValueRef = useRef(_s.select(selectorRef.current, value.current));
1581
+ useEffect(function () {
1587
1582
  var item = [update, selectorRef, isEqual, lastValueRef];
1588
- registered = _toConsumableArray__default['default'](registered).concat([item]);
1583
+ registered = _toConsumableArray(registered).concat([item]);
1589
1584
  return function () {
1590
1585
  registered = registered.filter(function (v) {
1591
1586
  return v !== item;
@@ -1601,15 +1596,15 @@ var useUpdateSignal = function useUpdateSignal(initialValue) {
1601
1596
  }
1602
1597
 
1603
1598
  return registered.forEach(function (_ref) {
1604
- var _ref2 = _slicedToArray__default['default'](_ref, 4),
1599
+ var _ref2 = _slicedToArray(_ref, 4),
1605
1600
  fn = _ref2[0],
1606
1601
  selectorRef = _ref2[1],
1607
1602
  isEqual = _ref2[2],
1608
1603
  lastValueRef = _ref2[3];
1609
1604
 
1610
- var nextValue = utils._s.select.apply(utils._s, [selectorRef.current].concat(args));
1605
+ var nextValue = _s.select.apply(_s, [selectorRef.current].concat(args));
1611
1606
 
1612
- if (!utils.callIfFunction(isEqual, nextValue, lastValueRef.current)) {
1607
+ if (!callIfFunction(isEqual, nextValue, lastValueRef.current)) {
1613
1608
  lastValueRef.current = nextValue;
1614
1609
  fn(nextValue);
1615
1610
  }
@@ -1620,27 +1615,27 @@ var useUpdateSignal = function useUpdateSignal(initialValue) {
1620
1615
  });
1621
1616
  };
1622
1617
  var useSelectorSignal = function useSelectorSignal(value) {
1623
- var prevValue = React.useRef(value);
1624
- var prevDeps = React.useRef(EMPTY_DEPS);
1618
+ var prevValue = useRef(value);
1619
+ var prevDeps = useRef(EMPTY_DEPS);
1625
1620
 
1626
- var _useState = React.useState(prevDeps.current),
1627
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1621
+ var _useState = useState(prevDeps.current),
1622
+ _useState2 = _slicedToArray(_useState, 2),
1628
1623
  currentDeps = _useState2[0],
1629
1624
  setCurrentDeps = _useState2[1];
1630
1625
 
1631
1626
  var _useUpdateSignal = useUpdateSignal(value),
1632
- _useUpdateSignal2 = _slicedToArray__default['default'](_useUpdateSignal, 2),
1627
+ _useUpdateSignal2 = _slicedToArray(_useUpdateSignal, 2),
1633
1628
  _register = _useUpdateSignal2[0],
1634
1629
  call = _useUpdateSignal2[1];
1635
1630
 
1636
- var register = React.useCallback(function (selector, deps, isEqual) {
1631
+ var register = useCallback(function (selector, deps, isEqual) {
1637
1632
  if (!IS_DEPS_EQUALS(deps, prevDeps.current)) {
1638
1633
  setCurrentDeps(deps);
1639
1634
  }
1640
1635
 
1641
1636
  return _register(selector, isEqual);
1642
1637
  }, []);
1643
- React.useEffect(function () {
1638
+ useEffect(function () {
1644
1639
  if (prevValue.current !== value || currentDeps !== prevDeps.current) {
1645
1640
  prevValue.current = value;
1646
1641
  prevDeps.current = currentDeps;
@@ -1650,7 +1645,7 @@ var useSelectorSignal = function useSelectorSignal(value) {
1650
1645
  return register;
1651
1646
  };
1652
1647
  var createStatefulContext = function createStatefulContext(v) {
1653
- var Ctx = React__default['default'].createContext(v);
1648
+ var Ctx = React.createContext(v);
1654
1649
 
1655
1650
  var Provider = function Provider(_ref3) {
1656
1651
  var value = _ref3.value,
@@ -1658,95 +1653,159 @@ var createStatefulContext = function createStatefulContext(v) {
1658
1653
  utils = _ref3.utils,
1659
1654
  children = _ref3.children;
1660
1655
  var register = useSelectorSignal(value);
1661
- var v = useLazyConstant(function () {
1656
+ var v = useLazyConstant$1(function () {
1662
1657
  return [register, setValue, utils];
1663
1658
  });
1664
- return React__default['default'].createElement(Ctx.Provider, {
1659
+ return React.createElement(Ctx.Provider, {
1665
1660
  value: v
1666
1661
  }, children);
1667
1662
  };
1668
1663
 
1669
1664
  var useSelectValue = function useSelectValue(selector, deps, isEqual) {
1670
- var _useContext = React.useContext(Ctx),
1671
- _useContext2 = _slicedToArray__default['default'](_useContext, 1),
1665
+ var _useContext = useContext(Ctx),
1666
+ _useContext2 = _slicedToArray(_useContext, 1),
1672
1667
  useRegister = _useContext2[0];
1673
1668
 
1674
1669
  return useRegister(selector, deps, isEqual);
1675
1670
  };
1676
1671
 
1677
- var useState = function useState(path, deps) {
1678
- var _useContext3 = React.useContext(Ctx),
1679
- _useContext4 = _slicedToArray__default['default'](_useContext3, 3),
1680
- useRegister = _useContext4[0],
1681
- set = _useContext4[1],
1682
- utils$1 = _useContext4[2];
1672
+ var useSetValue = function useSetValue(path, deps) {
1673
+ var _useContext3 = useContext(Ctx),
1674
+ _useContext4 = _slicedToArray(_useContext3, 2),
1675
+ reg = _useContext4[0],
1676
+ set = _useContext4[1];
1677
+
1678
+ return useConstant$1(function (update) {
1679
+ return set(function (state) {
1680
+ return path ? _update(path, function (v) {
1681
+ return callIfFunction(update, v);
1682
+ }, state) : callIfFunction(update, state);
1683
+ });
1684
+ });
1685
+ };
1686
+
1687
+ var useUtils = function useUtils(path, deps) {
1688
+ var _useContext5 = useContext(Ctx),
1689
+ _useContext6 = _slicedToArray(_useContext5, 3),
1690
+ reg = _useContext6[0],
1691
+ set = _useContext6[1],
1692
+ utils = _useContext6[2];
1693
+
1694
+ return utils;
1695
+ };
1696
+
1697
+ return [Provider, [useSelectValue, useSetValue, useUtils]];
1698
+ };
1699
+ var createSelfStatefulContext = function createSelfStatefulContext(v) {
1700
+ var Ctx = React.createContext(v);
1701
+
1702
+ var Provider = function Provider(_ref4) {
1703
+ var _ref4$init = _ref4.init,
1704
+ init = _ref4$init === void 0 ? {} : _ref4$init,
1705
+ utils = _ref4.utils,
1706
+ children = _ref4.children;
1707
+
1708
+ var _useState3 = useState(init),
1709
+ _useState4 = _slicedToArray(_useState3, 2),
1710
+ value = _useState4[0],
1711
+ setValue = _useState4[1];
1712
+
1713
+ var register = useSelectorSignal(value);
1714
+ var v = useLazyConstant$1(function () {
1715
+ return [register, setValue, utils];
1716
+ });
1717
+ return React.createElement(Ctx.Provider, {
1718
+ value: v
1719
+ }, children);
1720
+ };
1721
+
1722
+ var useSelectValue = function useSelectValue(selector, deps, isEqual) {
1723
+ var _useContext7 = useContext(Ctx),
1724
+ _useContext8 = _slicedToArray(_useContext7, 1),
1725
+ useRegister = _useContext8[0];
1726
+
1727
+ return useRegister(selector, deps, isEqual);
1728
+ };
1729
+
1730
+ var useSetState = function useSetState(path, deps) {
1731
+ var _useContext9 = useContext(Ctx),
1732
+ _useContext10 = _slicedToArray(_useContext9, 3),
1733
+ useRegister = _useContext10[0],
1734
+ set = _useContext10[1],
1735
+ utils = _useContext10[2];
1683
1736
 
1684
- var setValue = useConstant(function (update) {
1737
+ var setValue = useConstant$1(function (update) {
1685
1738
  return set(function (state) {
1686
- return path ? _update__default['default'](path, function (v) {
1687
- return utils.callIfFunction(update, v);
1688
- }, state) : utils.callIfFunction(update, state);
1739
+ return path ? _update(path, function (v) {
1740
+ return callIfFunction(update, v);
1741
+ }, state) : callIfFunction(update, state);
1689
1742
  });
1690
1743
  });
1691
- return [useRegister(path, deps), setValue, utils$1];
1744
+ return setValue;
1692
1745
  };
1693
1746
 
1694
- return [Provider, useState, useSelectValue];
1747
+ var useUtils = function useUtils(path, deps) {
1748
+ var _useContext11 = useContext(Ctx),
1749
+ _useContext12 = _slicedToArray(_useContext11, 3),
1750
+ useRegister = _useContext12[0],
1751
+ set = _useContext12[1],
1752
+ utils = _useContext12[2];
1753
+
1754
+ return utils;
1755
+ };
1756
+
1757
+ return [Provider, [useSelectValue, useSetState, useUtils]];
1695
1758
  };
1696
1759
  var createSelectableContext = function createSelectableContext(v) {
1697
1760
  var _createStatefulContex = createStatefulContext(v),
1698
- _createStatefulContex2 = _slicedToArray__default['default'](_createStatefulContex, 3),
1761
+ _createStatefulContex2 = _slicedToArray(_createStatefulContex, 2),
1699
1762
  Provider = _createStatefulContex2[0],
1700
- useSelectValue = _createStatefulContex2[2];
1763
+ _createStatefulContex3 = _slicedToArray(_createStatefulContex2[1], 1),
1764
+ useSelectValue = _createStatefulContex3[0];
1701
1765
 
1702
1766
  return [Provider, useSelectValue];
1703
1767
  };
1768
+ var createTriggerUpdateContext = function createTriggerUpdateContext(v) {
1769
+ var _createStatefulContex4 = createStatefulContext(v),
1770
+ _createStatefulContex5 = _slicedToArray(_createStatefulContex4, 2),
1771
+ Provider = _createStatefulContex5[0],
1772
+ _createStatefulContex6 = _slicedToArray(_createStatefulContex5[1], 1),
1773
+ useSelectValue = _createStatefulContex6[0];
1774
+
1775
+ var TriggerProvider = React.forwardRef(function (_ref5, ref) {
1776
+ var children = _ref5.children;
1777
+
1778
+ var _useState5 = useState(0),
1779
+ _useState6 = _slicedToArray(_useState5, 2),
1780
+ v = _useState6[0],
1781
+ setV = _useState6[1];
1782
+
1783
+ var trigger = React.useMemo(function () {
1784
+ return function () {
1785
+ return setV(function (v) {
1786
+ return v + 1;
1787
+ });
1788
+ };
1789
+ }, [v]);
1790
+ React.useImperativeHandle(ref, function () {
1791
+ return {
1792
+ trigger: trigger
1793
+ };
1794
+ }, []);
1795
+ return React.createElement(Provider, {
1796
+ value: trigger
1797
+ }, children);
1798
+ });
1799
+ return [TriggerProvider, useSelectValue];
1800
+ };
1801
+
1802
+ var WithConstant = function WithConstant(_ref) {
1803
+ var _ref$inputs = _ref.inputs,
1804
+ inputs = _ref$inputs === void 0 ? [] : _ref$inputs,
1805
+ value = _ref.value,
1806
+ children = _ref.children;
1807
+ var constant = useLazyConstant$1(value, inputs);
1808
+ return children(constant);
1809
+ };
1704
1810
 
1705
- exports.Fill = Fill;
1706
- exports.GroupEventFactory = GroupEventFactory;
1707
- exports.PopupContext = PopupContext;
1708
- exports.Slot = Slot;
1709
- exports.SlotContext = SlotContext;
1710
- exports.SlotProvider = SlotProvider;
1711
- exports.StartlibsConsumer = StartlibsConsumer;
1712
- exports.StartlibsContext = StartlibsContext;
1713
- exports.StartlibsMetacontext = StartlibsMetacontext;
1714
- exports.StartlibsProvider = StartlibsProvider;
1715
- exports.WithEffect = WithEffect;
1716
- exports.WithLazyResource = WithLazyResource;
1717
- exports.WithRef = WithRef;
1718
- exports.clearPopups = clearPopups;
1719
- exports.consumes = consumes;
1720
- exports.createSelectableContext = createSelectableContext;
1721
- exports.createStatefulContext = createStatefulContext;
1722
- exports.useAsyncEffect = useAsyncEffect;
1723
- exports.useCatalogManager = useCatalogManager;
1724
- exports.useConstant = useConstant;
1725
- exports.useConsumerCatalog = useConsumerCatalog;
1726
- exports.useEnsureRef = useEnsureRef;
1727
- exports.useFill = useFill;
1728
- exports.useForceUpdate = useForceUpdate;
1729
- exports.useHiddenFill = useHiddenFill;
1730
- exports.useIsUnmounted = useIsUnmounted;
1731
- exports.useLazyConstant = useLazyConstant;
1732
- exports.usePopupToggle = usePopupToggle;
1733
- exports.usePrevious = usePrevious;
1734
- exports.usePreviousForEffect = usePreviousForEffect;
1735
- exports.usePreviousUnique = usePreviousUnique;
1736
- exports.useRecycleFocus = useRecycleFocus;
1737
- exports.useRefMemo = useRefMemo;
1738
- exports.useRefState = useRefState;
1739
- exports.useRefToggle = useRefToggle;
1740
- exports.useSelectorSignal = useSelectorSignal;
1741
- exports.useTitle = useTitle;
1742
- exports.useToggle = useToggle;
1743
- exports.useUpdateEffect = useUpdateEffect;
1744
- exports.useUpdateOnResize = useUpdateOnResize;
1745
- exports.useUpdateSignal = useUpdateSignal;
1746
- exports.willUseForceUpdate = willUseForceUpdate;
1747
- exports.willUseLayers = willUseLayers;
1748
- exports.willUseSharedCallback = willUseSharedCallback;
1749
- exports.willUseSharedState = willUseSharedState;
1750
- exports.willUseSpreadState = willUseSpreadState;
1751
- exports.withDialogError = withDialogError;
1752
- exports.withGroupEvent = withGroupEvent;
1811
+ export { Fill, GroupEventFactory, PopupContext, Slot, SlotContext, SlotProvider, StartlibsConsumer, StartlibsContext, StartlibsMetacontext, StartlibsProvider, WithConstant, WithEffect, WithLazyPlaceholder, WithLazyResource, WithRef, clearPopups, consumes, createSelectableContext, createSelfStatefulContext, createStatefulContext, createTriggerUpdateContext, useAsyncEffect, useCallState, useCallbackStable, useCatalogManager, useConstant, useConsumerCatalog, useEnsureRef, useFill, useForceUpdate, useHiddenFill, useIsUnmounted, useLazyConstant, usePopupToggle, usePrevious, usePreviousForEffect, usePreviousUnique, useRecycleFocus, useRefMemo, useRefState, useRefToggle, useSelectorSignal, useTitle, useToggle, useUpdateEffect, useUpdateOnResize, useUpdateSignal, willUseForceUpdate, willUseLayers, willUseSharedCallback, willUseSharedState, willUseSpreadState, withDialogError, withGroupEvent };