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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +249 -231
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -31,20 +31,15 @@ var styled = require('styled-components');
31
31
  var utils = require('@startlibs/utils');
32
32
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
33
33
  var _typeof = require('@babel/runtime/helpers/typeof');
34
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
35
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
34
36
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
35
37
  var mitt = require('mitt');
36
38
  var _isArray = require('lodash/fp/isArray');
37
- require('@babel/runtime/helpers/asyncToGenerator');
38
- require('@babel/runtime/regenerator');
39
- require('@babel/runtime/helpers/awaitAsyncGenerator');
40
- require('@babel/runtime/helpers/wrapAsyncGenerator');
41
- var _ = require('lodash/fp');
42
- var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
43
- require('polished');
44
- var createEmotion = require('create-emotion');
45
39
  var _isFunction = require('lodash/fp/isFunction');
46
40
  var _get = require('lodash/fp/get');
47
41
  var _isString = require('lodash/fp/isString');
42
+ var _identity = require('lodash/fp/identity');
48
43
 
49
44
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
50
45
 
@@ -76,15 +71,15 @@ var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
76
71
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
77
72
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
78
73
  var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
74
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
75
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
79
76
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
80
77
  var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
81
78
  var _isArray__default = /*#__PURE__*/_interopDefaultLegacy(_isArray);
82
- var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
83
- var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
84
- var createEmotion__default = /*#__PURE__*/_interopDefaultLegacy(createEmotion);
85
79
  var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
86
80
  var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
87
81
  var _isString__default = /*#__PURE__*/_interopDefaultLegacy(_isString);
82
+ var _identity__default = /*#__PURE__*/_interopDefaultLegacy(_identity);
88
83
 
89
84
  var callList = function callList(list, firstArg) {
90
85
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
@@ -529,7 +524,7 @@ var isPath = function isPath(path) {
529
524
 
530
525
  var getter = function getter(value) {
531
526
  return function (path) {
532
- return isPath(path) ? utils._s.get(path, value) : value;
527
+ return path !== "" && isPath(path) ? utils._s.get(path, value) : value;
533
528
  };
534
529
  };
535
530
 
@@ -682,17 +677,46 @@ var useToggleInternal = function useToggleInternal() {
682
677
  var _wait = function _wait(promise) {
683
678
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
684
679
  var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
685
- return function () {
686
- openWith(start);
687
-
688
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
689
- args[_key2] = arguments[_key2];
690
- }
691
-
692
- return utils.callIfFunction.apply(void 0, [promise].concat(args)).finally(function () {
693
- return openWith(end);
694
- });
695
- };
680
+ return (
681
+ /*#__PURE__*/
682
+ _asyncToGenerator__default['default'](
683
+ /*#__PURE__*/
684
+ _regeneratorRuntime__default['default'].mark(function _callee() {
685
+ var _len2,
686
+ args,
687
+ _key2,
688
+ _args = arguments;
689
+
690
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
691
+ while (1) {
692
+ switch (_context.prev = _context.next) {
693
+ case 0:
694
+ openWith(start);
695
+ _context.prev = 1;
696
+
697
+ for (_len2 = _args.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
698
+ args[_key2] = _args[_key2];
699
+ }
700
+
701
+ _context.next = 5;
702
+ return utils.callIfFunction.apply(void 0, [promise].concat(args));
703
+
704
+ case 5:
705
+ return _context.abrupt("return", _context.sent);
706
+
707
+ case 6:
708
+ _context.prev = 6;
709
+ openWith(end);
710
+ return _context.finish(6);
711
+
712
+ case 9:
713
+ case "end":
714
+ return _context.stop();
715
+ }
716
+ }
717
+ }, _callee, this, [[1,, 6, 9]]);
718
+ }))
719
+ );
696
720
  };
697
721
 
698
722
  var setters = React.useMemo(function () {
@@ -1057,213 +1081,6 @@ function (_React$Component) {
1057
1081
  return WithRef;
1058
1082
  }(React__default['default'].Component);
1059
1083
 
1060
- var scrollWidth = function () {
1061
- if (!window.document) return 0;
1062
- var html = document.documentElement;
1063
- var oldOverflow = html.style.overflowY;
1064
- html.style.overflowY = 'scroll';
1065
- var width = window.innerWidth - html.clientWidth;
1066
- html.style.overflowY = oldOverflow;
1067
- return width;
1068
- }();
1069
-
1070
- var callIfFunction = function callIfFunction(prop) {
1071
- for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
1072
- args[_key6 - 1] = arguments[_key6];
1073
- }
1074
-
1075
- return typeof prop === "function" ? prop.apply(void 0, args) : prop;
1076
- };
1077
- var ifUndefined = function ifUndefined(v) {
1078
- for (var _len10 = arguments.length, or = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {
1079
- or[_key10 - 1] = arguments[_key10];
1080
- }
1081
-
1082
- return v !== undefined ? v : or.length === 1 ? or[0] : ifUndefined.apply(void 0, [or[0]].concat(_toConsumableArray__default['default'](or.slice(1))));
1083
- };
1084
-
1085
- var moveElement = ___default['default'].curry(function (from, to, list) {
1086
- var el = list[from];
1087
-
1088
- var without = ___default['default'].pullAt(from, list);
1089
-
1090
- without.splice(to, 0, el);
1091
- return without;
1092
- });
1093
- var unsetOrRemoveAt = ___default['default'].curry(function (path, value) {
1094
- var pathArr = toPath(path);
1095
-
1096
- var _pathArr$slice = pathArr.slice(-1),
1097
- _pathArr$slice2 = _slicedToArray__default['default'](_pathArr$slice, 1),
1098
- lastKey = _pathArr$slice2[0];
1099
-
1100
- return update(pathArr.slice(0, -1), function (v) {
1101
- return Array.isArray(v) ? removeAt(lastKey, v) : unset(lastKey, v);
1102
- }, value);
1103
- });
1104
-
1105
- var sanitizePath = function sanitizePath(path) {
1106
- return Array.isArray(path) ? path.map(sanitizePath) : typeof path === 'number' ? path.toString() : path === undefined ? [] : path;
1107
- };
1108
-
1109
- var toPath = function toPath(path) {
1110
- return ___default['default'].toPath(sanitizePath(path));
1111
- };
1112
-
1113
- var isEmptyPath = function isEmptyPath(path) {
1114
- return path && !path.length;
1115
- };
1116
-
1117
- var update = ___default['default'].curry(function (path, updater, state) {
1118
- var sanitizedPath = sanitizePath(path);
1119
-
1120
- if (isEmptyPath(sanitizedPath)) {
1121
- return updater(state);
1122
- } else {
1123
- return ___default['default'].update(sanitizedPath, updater, state);
1124
- }
1125
- });
1126
- var get = ___default['default'].curry(function (path, state) {
1127
- var sanitizedPath = sanitizePath(path);
1128
-
1129
- if (isEmptyPath(sanitizedPath)) {
1130
- return state;
1131
- } else {
1132
- return ___default['default'].get(sanitizedPath, state);
1133
- }
1134
- });
1135
- var set = ___default['default'].curry(function (path, value, state) {
1136
- var sanitizedPath = sanitizePath(path);
1137
-
1138
- if (isEmptyPath(sanitizedPath)) {
1139
- return value;
1140
- } else {
1141
- return ___default['default'].set(sanitizedPath, value, state);
1142
- }
1143
- });
1144
- var unset = ___default['default'].curry(function (path, state) {
1145
- var sanitizedPath = sanitizePath(path);
1146
-
1147
- if (isEmptyPath(sanitizedPath)) {
1148
- return undefined;
1149
- } else {
1150
- return ___default['default'].unset(sanitizedPath, state);
1151
- }
1152
- });
1153
- var removeNAt = ___default['default'].curry(function (pos, n, value) {
1154
- return _toConsumableArray__default['default'](value.slice(0, Number(pos))).concat(_toConsumableArray__default['default'](value.slice(Number(pos) + n)));
1155
- });
1156
- var removeAt = removeNAt(___default['default'].__, 1);
1157
- var when = ___default['default'].curry(function (cond, fn, value) {
1158
- return callIfFunction(cond, value) ? fn(value) : value;
1159
- });
1160
- var assign = ___default['default'].curry(function (a, b) {
1161
- return ___default['default'].assign(b, a);
1162
- });
1163
- var concat = ___default['default'].curry(function (a, b) {
1164
- return ___default['default'].concat(b, a);
1165
- });
1166
- var each = ___default['default'].each.convert({
1167
- cap: false
1168
- });
1169
- var find = ___default['default'].find.convert({
1170
- cap: false
1171
- });
1172
- var filter = ___default['default'].filter.convert({
1173
- cap: false
1174
- });
1175
- var map = ___default['default'].map.convert({
1176
- cap: false
1177
- });
1178
- var insertAt = ___default['default'].curry(function (pos, newElements, value) {
1179
- return _toConsumableArray__default['default'](value.slice(0, pos).concat(newElements)).concat(_toConsumableArray__default['default'](value.slice(pos)));
1180
- });
1181
-
1182
- function _templateObject() {
1183
- var data = _taggedTemplateLiteral__default['default'](["\n ", ""]);
1184
-
1185
- _templateObject = function _templateObject() {
1186
- return data;
1187
- };
1188
-
1189
- return data;
1190
- }
1191
-
1192
- var checkCustomScreenWidth = function checkCustomScreenWidth(sizeParis, customWidth) {
1193
- var currentWidth = callIfFunction(customWidth);
1194
- return !sizeParis.find(function (_ref4) {
1195
- var _ref5 = _slicedToArray__default['default'](_ref4, 2),
1196
- size = _ref5[0],
1197
- type = _ref5[1];
1198
-
1199
- if (type === "min-width") {
1200
- return currentWidth < size;
1201
- }
1202
-
1203
- if (type === "max-width") {
1204
- return currentWidth > size;
1205
- }
1206
- });
1207
- };
1208
-
1209
- var media = function media() {
1210
- for (var _len3 = arguments.length, sizePairs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1211
- sizePairs[_key3] = arguments[_key3];
1212
- }
1213
-
1214
- return function () {
1215
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1216
- args[_key4] = arguments[_key4];
1217
- }
1218
-
1219
- return styled.css(["", ""], function (props) {
1220
- var _props$theme, _props$theme2;
1221
-
1222
- return ((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.overrideMediaWidth) ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? styled.css.apply(void 0, args) : "" : styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref6) {
1223
- var _ref7 = _slicedToArray__default['default'](_ref6, 2),
1224
- size = _ref7[0],
1225
- type = _ref7[1];
1226
-
1227
- return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
1228
- }).join(' and '), styled.css.apply(void 0, args));
1229
- });
1230
- };
1231
- };
1232
- media.mobile = media([600, 'max-width']);
1233
-
1234
- media.between = function (min, max) {
1235
- return media([min, 'min-width'], [max, 'max-width']);
1236
- };
1237
-
1238
- media.max = function (n) {
1239
- return media([n, 'max-width']);
1240
- };
1241
-
1242
- media.min = function (n) {
1243
- return media([n, 'min-width']);
1244
- };
1245
-
1246
- media.desktop = media([601, 'min-width']);
1247
-
1248
- var getFrameOffset = function getFrameOffset(i, total) {
1249
- return Math.round(i * 100 / (total - 1));
1250
- };
1251
-
1252
- var emotion = createEmotion__default['default']({
1253
- nonce: __webpack_nonce__
1254
- });
1255
- var oneWayAnimation = function oneWayAnimation() {
1256
- for (var _len5 = arguments.length, frames = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
1257
- frames[_key5] = arguments[_key5];
1258
- }
1259
-
1260
- return emotion.keyframes(_templateObject(), frames.map(function (frame, i) {
1261
- return !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }");
1262
- }));
1263
- };
1264
- var identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
1265
- var identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
1266
-
1267
1084
  var addExtraProp = function addExtraProp(element, extra) {
1268
1085
  var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
1269
1086
  return React__default['default'].cloneElement(element, override ? _objectSpread__default['default']({}, element.props, extra) : _objectSpread__default['default']({}, extra, element.props), element.props.children);
@@ -1279,7 +1096,7 @@ var WithLazyResource = function WithLazyResource(_ref) {
1279
1096
  props = _objectWithoutProperties__default['default'](_ref, ["value", "wrap", "fallback", "children", "forwardProps"]);
1280
1097
 
1281
1098
  return wrap || fallback !== undefined ? React__default['default'].createElement(React__default['default'].Suspense, {
1282
- fallback: ifUndefined(fallback, null)
1099
+ fallback: utils.ifUndefined(fallback, null)
1283
1100
  }, React__default['default'].createElement(Load, {
1284
1101
  value: value,
1285
1102
  forwardProps: forwardProps && props,
@@ -1438,6 +1255,43 @@ var useTitle = function useTitle(title) {
1438
1255
  });
1439
1256
  };
1440
1257
 
1258
+ var TabFocus = styled__default['default'].div.withConfig({
1259
+ displayName: "useRecycleFocus__TabFocus",
1260
+ componentId: "kxnccs-0"
1261
+ })(["width:0;height:0;position:absolute;"]);
1262
+ var useRecycleFocus = function useRecycleFocus(ref) {
1263
+ var enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1264
+ var lastIndex = arguments.length > 2 ? arguments[2] : undefined;
1265
+
1266
+ var recycle = function recycle(i) {
1267
+ return function (e) {
1268
+ if (!enabled || !ref.current) {
1269
+ return;
1270
+ }
1271
+
1272
+ var nextTab = ref.current.querySelectorAll('[tabindex]');
1273
+
1274
+ if (nextTab) {
1275
+ if (i < 0) {
1276
+ console.log(nextTab[1]);
1277
+ nextTab[1].focus();
1278
+ } else {
1279
+ console.log(nextTab[nextTab.length - 2]);
1280
+ nextTab[nextTab.length - 2].focus();
1281
+ }
1282
+ }
1283
+ };
1284
+ };
1285
+
1286
+ return [React__default['default'].createElement(TabFocus, {
1287
+ tabIndex: 1,
1288
+ onFocus: recycle(0)
1289
+ }), React__default['default'].createElement(TabFocus, {
1290
+ tabIndex: lastIndex || 1,
1291
+ onFocus: recycle(-1)
1292
+ })];
1293
+ };
1294
+
1441
1295
  function usePrevious(value, initialValue) {
1442
1296
  var ref = React.useRef(initialValue);
1443
1297
  React.useEffect(function () {
@@ -1454,6 +1308,15 @@ function usePreviousUnique(value, initialValue) {
1454
1308
  });
1455
1309
  return ref.current;
1456
1310
  }
1311
+ function usePreviousForEffect(value, initialValue) {
1312
+ var ref = React.useRef(initialValue);
1313
+ React.useEffect(function () {
1314
+ return function () {
1315
+ ref.current = value;
1316
+ };
1317
+ }, [value]);
1318
+ return ref.current;
1319
+ }
1457
1320
 
1458
1321
  var useEnsureRef = function useEnsureRef(forwardedRef) {
1459
1322
  var ref = React.useRef();
@@ -1690,6 +1553,155 @@ var useRefMemo = function useRefMemo(value) {
1690
1553
  return ref;
1691
1554
  };
1692
1555
 
1556
+ var IS_ARRAY_ITEMS_EQUALS = function IS_ARRAY_ITEMS_EQUALS(a, b) {
1557
+ return a.length === b.length && !a.find(function (itemA, i) {
1558
+ return !Object.is(itemA, b[i]);
1559
+ });
1560
+ };
1561
+
1562
+ var IS_DEPS_EQUALS = function IS_DEPS_EQUALS() {
1563
+ var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1564
+ var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
1565
+ return Object.is(a, b) || IS_ARRAY_ITEMS_EQUALS(a, b);
1566
+ };
1567
+
1568
+ 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);
1570
+ };
1571
+
1572
+ var EMPTY_DEPS = [];
1573
+ var useUpdateSignal = function useUpdateSignal(initialValue) {
1574
+ var value = React.useRef(initialValue);
1575
+ value.current = initialValue;
1576
+ return useLazyConstant(function () {
1577
+ var registered = [];
1578
+
1579
+ var register = function register() {
1580
+ var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _identity__default['default'];
1581
+ var isEqual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SHALLOW_IS_EQUAL;
1582
+ var selectorRef = React.useRef();
1583
+ selectorRef.current = selector;
1584
+ var update = useForceUpdate();
1585
+ var lastValueRef = React.useRef(utils._s.select(selectorRef.current, value.current));
1586
+ React.useEffect(function () {
1587
+ var item = [update, selectorRef, isEqual, lastValueRef];
1588
+ registered = _toConsumableArray__default['default'](registered).concat([item]);
1589
+ return function () {
1590
+ registered = registered.filter(function (v) {
1591
+ return v !== item;
1592
+ });
1593
+ };
1594
+ }, []);
1595
+ return lastValueRef.current;
1596
+ };
1597
+
1598
+ var call = function call() {
1599
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1600
+ args[_key] = arguments[_key];
1601
+ }
1602
+
1603
+ return registered.forEach(function (_ref) {
1604
+ var _ref2 = _slicedToArray__default['default'](_ref, 4),
1605
+ fn = _ref2[0],
1606
+ selectorRef = _ref2[1],
1607
+ isEqual = _ref2[2],
1608
+ lastValueRef = _ref2[3];
1609
+
1610
+ var nextValue = utils._s.select.apply(utils._s, [selectorRef.current].concat(args));
1611
+
1612
+ if (!utils.callIfFunction(isEqual, nextValue, lastValueRef.current)) {
1613
+ lastValueRef.current = nextValue;
1614
+ fn(nextValue);
1615
+ }
1616
+ });
1617
+ };
1618
+
1619
+ return [register, call];
1620
+ });
1621
+ };
1622
+ var useSelectorSignal = function useSelectorSignal(value) {
1623
+ var prevValue = React.useRef(value);
1624
+ var prevDeps = React.useRef(EMPTY_DEPS);
1625
+
1626
+ var _useState = React.useState(prevDeps.current),
1627
+ _useState2 = _slicedToArray__default['default'](_useState, 2),
1628
+ currentDeps = _useState2[0],
1629
+ setCurrentDeps = _useState2[1];
1630
+
1631
+ var _useUpdateSignal = useUpdateSignal(value),
1632
+ _useUpdateSignal2 = _slicedToArray__default['default'](_useUpdateSignal, 2),
1633
+ _register = _useUpdateSignal2[0],
1634
+ call = _useUpdateSignal2[1];
1635
+
1636
+ var register = React.useCallback(function (selector, deps, isEqual) {
1637
+ if (!IS_DEPS_EQUALS(deps, prevDeps.current)) {
1638
+ setCurrentDeps(deps);
1639
+ }
1640
+
1641
+ return _register(selector, isEqual);
1642
+ }, []);
1643
+ React.useEffect(function () {
1644
+ if (prevValue.current !== value || currentDeps !== prevDeps.current) {
1645
+ prevValue.current = value;
1646
+ prevDeps.current = currentDeps;
1647
+ call(value);
1648
+ }
1649
+ }, [value, currentDeps]);
1650
+ return register;
1651
+ };
1652
+ var createStatefulContext = function createStatefulContext(v) {
1653
+ var Ctx = React__default['default'].createContext(v);
1654
+
1655
+ var Provider = function Provider(_ref3) {
1656
+ var value = _ref3.value,
1657
+ setValue = _ref3.setValue,
1658
+ utils = _ref3.utils,
1659
+ children = _ref3.children;
1660
+ var register = useSelectorSignal(value);
1661
+ var v = useLazyConstant(function () {
1662
+ return [register, setValue, utils];
1663
+ });
1664
+ return React__default['default'].createElement(Ctx.Provider, {
1665
+ value: v
1666
+ }, children);
1667
+ };
1668
+
1669
+ var useSelectValue = function useSelectValue(selector, deps, isEqual) {
1670
+ var _useContext = React.useContext(Ctx),
1671
+ _useContext2 = _slicedToArray__default['default'](_useContext, 1),
1672
+ useRegister = _useContext2[0];
1673
+
1674
+ return useRegister(selector, deps, isEqual);
1675
+ };
1676
+
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];
1683
+
1684
+ var setValue = useConstant(function (update) {
1685
+ 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);
1689
+ });
1690
+ });
1691
+ return [useRegister(path, deps), setValue, utils$1];
1692
+ };
1693
+
1694
+ return [Provider, useState, useSelectValue];
1695
+ };
1696
+ var createSelectableContext = function createSelectableContext(v) {
1697
+ var _createStatefulContex = createStatefulContext(v),
1698
+ _createStatefulContex2 = _slicedToArray__default['default'](_createStatefulContex, 3),
1699
+ Provider = _createStatefulContex2[0],
1700
+ useSelectValue = _createStatefulContex2[2];
1701
+
1702
+ return [Provider, useSelectValue];
1703
+ };
1704
+
1693
1705
  exports.Fill = Fill;
1694
1706
  exports.GroupEventFactory = GroupEventFactory;
1695
1707
  exports.PopupContext = PopupContext;
@@ -1705,6 +1717,8 @@ exports.WithLazyResource = WithLazyResource;
1705
1717
  exports.WithRef = WithRef;
1706
1718
  exports.clearPopups = clearPopups;
1707
1719
  exports.consumes = consumes;
1720
+ exports.createSelectableContext = createSelectableContext;
1721
+ exports.createStatefulContext = createStatefulContext;
1708
1722
  exports.useAsyncEffect = useAsyncEffect;
1709
1723
  exports.useCatalogManager = useCatalogManager;
1710
1724
  exports.useConstant = useConstant;
@@ -1717,14 +1731,18 @@ exports.useIsUnmounted = useIsUnmounted;
1717
1731
  exports.useLazyConstant = useLazyConstant;
1718
1732
  exports.usePopupToggle = usePopupToggle;
1719
1733
  exports.usePrevious = usePrevious;
1734
+ exports.usePreviousForEffect = usePreviousForEffect;
1720
1735
  exports.usePreviousUnique = usePreviousUnique;
1736
+ exports.useRecycleFocus = useRecycleFocus;
1721
1737
  exports.useRefMemo = useRefMemo;
1722
1738
  exports.useRefState = useRefState;
1723
1739
  exports.useRefToggle = useRefToggle;
1740
+ exports.useSelectorSignal = useSelectorSignal;
1724
1741
  exports.useTitle = useTitle;
1725
1742
  exports.useToggle = useToggle;
1726
1743
  exports.useUpdateEffect = useUpdateEffect;
1727
1744
  exports.useUpdateOnResize = useUpdateOnResize;
1745
+ exports.useUpdateSignal = useUpdateSignal;
1728
1746
  exports.willUseForceUpdate = willUseForceUpdate;
1729
1747
  exports.willUseLayers = willUseLayers;
1730
1748
  exports.willUseSharedCallback = willUseSharedCallback;
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@startlibs/core",
3
- "version": "1.0.0-alpha-6t2",
3
+ "version": "1.0.0-alpha-6u2",
4
4
  "description": "Startlibs Core",
5
5
  "main": "lib/index.js",
6
6
  "sideEffects": false,
7
7
  "source": true,
8
8
  "peerDependencies": {
9
+ "@startlibs/utils": "^1.0",
9
10
  "lodash": "^4.17.11",
10
11
  "react": "^18.0",
11
12
  "react-dom": "^18.0",
12
- "styled-components": "^5.2.0",
13
- "@startlibs/utils": "^1.0"
13
+ "styled-components": "^5.2.0"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@babel/core": "^7.2.0",