extra-react-hooks 0.1.13 → 0.2.0
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/README.md +21 -3
- package/dist/es2015/index.min.mjs +2 -2
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +42 -7
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +44 -6
- package/dist/es2015/index.umd.js.map +1 -1
- package/dist/es2015/index.umd.min.js +2 -2
- package/dist/es2015/index.umd.min.js.map +1 -1
- package/dist/es2018/index.min.mjs +2 -2
- package/dist/es2018/index.min.mjs.map +1 -1
- package/dist/es2018/index.mjs +42 -7
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +44 -6
- package/dist/es2018/index.umd.js.map +1 -1
- package/dist/es2018/index.umd.min.js +2 -2
- package/dist/es2018/index.umd.min.js.map +1 -1
- package/lib/es2015/index.d.ts +3 -0
- package/lib/es2015/index.js +3 -0
- package/lib/es2015/index.js.map +1 -1
- package/lib/es2015/use-is-first-render.d.ts +1 -0
- package/lib/es2015/use-is-first-render.js +25 -0
- package/lib/es2015/use-is-first-render.js.map +1 -0
- package/lib/es2015/use-multiple-selection.d.ts +1 -1
- package/lib/es2015/use-multiple-selection.js +3 -3
- package/lib/es2015/use-multiple-selection.js.map +1 -1
- package/lib/es2015/use-render-counter.d.ts +1 -0
- package/lib/es2015/use-render-counter.js +11 -0
- package/lib/es2015/use-render-counter.js.map +1 -0
- package/lib/es2015/use-single-selection.d.ts +2 -2
- package/lib/es2015/use-single-selection.js +3 -3
- package/lib/es2015/use-single-selection.js.map +1 -1
- package/lib/es2015/use-update-effect.d.ts +2 -0
- package/lib/es2015/use-update-effect.js +15 -0
- package/lib/es2015/use-update-effect.js.map +1 -0
- package/lib/es2018/index.d.ts +3 -0
- package/lib/es2018/index.js +3 -0
- package/lib/es2018/index.js.map +1 -1
- package/lib/es2018/use-is-first-render.d.ts +1 -0
- package/lib/es2018/use-is-first-render.js +25 -0
- package/lib/es2018/use-is-first-render.js.map +1 -0
- package/lib/es2018/use-multiple-selection.d.ts +1 -1
- package/lib/es2018/use-multiple-selection.js +3 -3
- package/lib/es2018/use-multiple-selection.js.map +1 -1
- package/lib/es2018/use-render-counter.d.ts +1 -0
- package/lib/es2018/use-render-counter.js +11 -0
- package/lib/es2018/use-render-counter.js.map +1 -0
- package/lib/es2018/use-single-selection.d.ts +2 -2
- package/lib/es2018/use-single-selection.js +3 -3
- package/lib/es2018/use-single-selection.js.map +1 -1
- package/lib/es2018/use-update-effect.d.ts +2 -0
- package/lib/es2018/use-update-effect.js +15 -0
- package/lib/es2018/use-update-effect.js.map +1 -0
- package/package.json +1 -1
package/dist/es2018/index.umd.js
CHANGED
|
@@ -2515,6 +2515,41 @@
|
|
|
2515
2515
|
return () => isMounted.current;
|
|
2516
2516
|
}
|
|
2517
2517
|
|
|
2518
|
+
var State;
|
|
2519
|
+
(function (State) {
|
|
2520
|
+
State[State["InitialValue"] = 0] = "InitialValue";
|
|
2521
|
+
State[State["First"] = 1] = "First";
|
|
2522
|
+
State[State["NotFirst"] = 2] = "NotFirst";
|
|
2523
|
+
})(State || (State = {}));
|
|
2524
|
+
function useIsFirstRender() {
|
|
2525
|
+
const state = react.exports.useRef(State.InitialValue);
|
|
2526
|
+
switch (state.current) {
|
|
2527
|
+
case State.InitialValue:
|
|
2528
|
+
state.current = State.First;
|
|
2529
|
+
break;
|
|
2530
|
+
case State.First:
|
|
2531
|
+
state.current = State.NotFirst;
|
|
2532
|
+
break;
|
|
2533
|
+
case State.NotFirst: break;
|
|
2534
|
+
}
|
|
2535
|
+
return () => state.current === State.First;
|
|
2536
|
+
}
|
|
2537
|
+
|
|
2538
|
+
function useRenderCounter() {
|
|
2539
|
+
const counter = react.exports.useRef(0);
|
|
2540
|
+
counter.current++;
|
|
2541
|
+
return counter.current;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
function useUpdateEffect(effect, deps) {
|
|
2545
|
+
const isFirstRender = useIsFirstRender();
|
|
2546
|
+
react.exports.useEffect(() => {
|
|
2547
|
+
if (!isFirstRender()) {
|
|
2548
|
+
return effect();
|
|
2549
|
+
}
|
|
2550
|
+
}, deps);
|
|
2551
|
+
}
|
|
2552
|
+
|
|
2518
2553
|
var es2018$7 = {};
|
|
2519
2554
|
|
|
2520
2555
|
var array = {};
|
|
@@ -5338,15 +5373,15 @@
|
|
|
5338
5373
|
es2018Exports$1.assert(defaultSelectedIndex >= 0 && defaultSelectedIndex < values.length, 'The parameter defaultSelectedIndex must be in the range of 0 to values.length');
|
|
5339
5374
|
}
|
|
5340
5375
|
const [selectedIndex, setSelectedIndex] = react.exports.useState(defaultSelectedIndex);
|
|
5341
|
-
return {
|
|
5342
|
-
|
|
5376
|
+
return react.exports.useMemo(() => ({
|
|
5377
|
+
selectedValue: es2018$7.isUndefined(selectedIndex) ? undefined : values[selectedIndex],
|
|
5343
5378
|
options: values.map((value, index) => ({
|
|
5344
5379
|
value,
|
|
5345
5380
|
index,
|
|
5346
5381
|
selected: index === selectedIndex,
|
|
5347
5382
|
select: () => setSelectedIndex(index)
|
|
5348
5383
|
}))
|
|
5349
|
-
};
|
|
5384
|
+
}), [selectedIndex]);
|
|
5350
5385
|
}
|
|
5351
5386
|
|
|
5352
5387
|
var es2018Exports = requireEs2018$1();
|
|
@@ -5357,8 +5392,8 @@
|
|
|
5357
5392
|
es2018Exports$1.assert(index >= 0 && index < values.length, 'The index of parameter defaultSelectedIndexes must be in the range of 0 to values.length');
|
|
5358
5393
|
}
|
|
5359
5394
|
const [selectedIndexes, setSelectedIndexes] = react.exports.useState(new Set(defaultSelectedIndexes));
|
|
5360
|
-
return {
|
|
5361
|
-
|
|
5395
|
+
return react.exports.useMemo(() => ({
|
|
5396
|
+
selectedValues: es2018Exports.toArray(es2018Exports.map(selectedIndexes, i => values[i])),
|
|
5362
5397
|
options: values.map((value, index) => {
|
|
5363
5398
|
const selected = selectedIndexes.has(index);
|
|
5364
5399
|
const select = () => {
|
|
@@ -5380,7 +5415,7 @@
|
|
|
5380
5415
|
toggle: selected ? unselect : select
|
|
5381
5416
|
};
|
|
5382
5417
|
})
|
|
5383
|
-
};
|
|
5418
|
+
}), [selectedIndexes]);
|
|
5384
5419
|
}
|
|
5385
5420
|
|
|
5386
5421
|
function useStateCycle(stateList, initialStateIndex = 0) {
|
|
@@ -13662,14 +13697,17 @@
|
|
|
13662
13697
|
exports.useFiniteStateMachine = useFiniteStateMachine;
|
|
13663
13698
|
exports.useForceUpdate = useForceUpdate;
|
|
13664
13699
|
exports.useIncrement = useIncrement;
|
|
13700
|
+
exports.useIsFirstRender = useIsFirstRender;
|
|
13665
13701
|
exports.useIsMounted = useIsMounted;
|
|
13666
13702
|
exports.useMount = useMount;
|
|
13667
13703
|
exports.useMultipleSelection = useMultipleSelection;
|
|
13704
|
+
exports.useRenderCounter = useRenderCounter;
|
|
13668
13705
|
exports.useResizeObserver = useResizeObserver;
|
|
13669
13706
|
exports.useSingleSelection = useSingleSelection;
|
|
13670
13707
|
exports.useStateCycle = useStateCycle;
|
|
13671
13708
|
exports.useStep = useStep;
|
|
13672
13709
|
exports.useToggle = useToggle;
|
|
13710
|
+
exports.useUpdateEffect = useUpdateEffect;
|
|
13673
13711
|
|
|
13674
13712
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
13675
13713
|
|