extra-react-hooks 0.1.12 → 0.1.13
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 +30 -5
- package/dist/es2015/index.min.mjs +2 -2
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +41 -7
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +41 -6
- package/dist/es2015/index.umd.js.map +1 -1
- package/dist/es2015/index.umd.min.js +1 -1
- 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 +41 -7
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +41 -6
- package/dist/es2018/index.umd.js.map +1 -1
- package/dist/es2018/index.umd.min.js +1 -1
- package/dist/es2018/index.umd.min.js.map +1 -1
- package/lib/es2015/index.d.ts +1 -0
- package/lib/es2015/index.js +1 -0
- package/lib/es2015/index.js.map +1 -1
- package/lib/es2015/use-multiple-selection.d.ts +13 -0
- package/lib/es2015/use-multiple-selection.js +39 -0
- package/lib/es2015/use-multiple-selection.js.map +1 -0
- package/lib/es2015/use-single-selection.d.ts +5 -6
- package/lib/es2015/use-single-selection.js +4 -4
- package/lib/es2015/use-single-selection.js.map +1 -1
- package/lib/es2018/index.d.ts +1 -0
- package/lib/es2018/index.js +1 -0
- package/lib/es2018/index.js.map +1 -1
- package/lib/es2018/use-multiple-selection.d.ts +13 -0
- package/lib/es2018/use-multiple-selection.js +39 -0
- package/lib/es2018/use-multiple-selection.js.map +1 -0
- package/lib/es2018/use-single-selection.d.ts +5 -6
- package/lib/es2018/use-single-selection.js +4 -4
- package/lib/es2018/use-single-selection.js.map +1 -1
- package/package.json +12 -11
package/dist/es2015/index.umd.js
CHANGED
|
@@ -5330,14 +5330,14 @@
|
|
|
5330
5330
|
return es2018$6;
|
|
5331
5331
|
}
|
|
5332
5332
|
|
|
5333
|
-
var es2018Exports = requireEs2018();
|
|
5333
|
+
var es2018Exports$1 = requireEs2018();
|
|
5334
5334
|
|
|
5335
|
-
function useSingleSelection(values,
|
|
5336
|
-
es2018Exports.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5337
|
-
if (es2018$7.isntUndefined(
|
|
5338
|
-
es2018Exports.assert(
|
|
5335
|
+
function useSingleSelection(values, defaultSelectedIndex) {
|
|
5336
|
+
es2018Exports$1.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5337
|
+
if (es2018$7.isntUndefined(defaultSelectedIndex)) {
|
|
5338
|
+
es2018Exports$1.assert(defaultSelectedIndex >= 0 && defaultSelectedIndex < values.length, 'The parameter defaultSelectedIndex must be in the range of 0 to values.length');
|
|
5339
5339
|
}
|
|
5340
|
-
const [selectedIndex, setSelectedIndex] = react.exports.useState(
|
|
5340
|
+
const [selectedIndex, setSelectedIndex] = react.exports.useState(defaultSelectedIndex);
|
|
5341
5341
|
return {
|
|
5342
5342
|
value: es2018$7.isUndefined(selectedIndex) ? undefined : values[selectedIndex],
|
|
5343
5343
|
options: values.map((value, index) => ({
|
|
@@ -5349,6 +5349,40 @@
|
|
|
5349
5349
|
};
|
|
5350
5350
|
}
|
|
5351
5351
|
|
|
5352
|
+
var es2018Exports = requireEs2018$1();
|
|
5353
|
+
|
|
5354
|
+
function useMultipleSelection(values, defaultSelectedIndexes = []) {
|
|
5355
|
+
es2018Exports$1.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5356
|
+
for (const index of defaultSelectedIndexes) {
|
|
5357
|
+
es2018Exports$1.assert(index >= 0 && index < values.length, 'The index of parameter defaultSelectedIndexes must be in the range of 0 to values.length');
|
|
5358
|
+
}
|
|
5359
|
+
const [selectedIndexes, setSelectedIndexes] = react.exports.useState(new Set(defaultSelectedIndexes));
|
|
5360
|
+
return {
|
|
5361
|
+
values: es2018Exports.toArray(es2018Exports.map(selectedIndexes, i => values[i])),
|
|
5362
|
+
options: values.map((value, index) => {
|
|
5363
|
+
const selected = selectedIndexes.has(index);
|
|
5364
|
+
const select = () => {
|
|
5365
|
+
const set = new Set(selectedIndexes);
|
|
5366
|
+
set.add(index);
|
|
5367
|
+
setSelectedIndexes(set);
|
|
5368
|
+
};
|
|
5369
|
+
const unselect = () => {
|
|
5370
|
+
const set = new Set(selectedIndexes);
|
|
5371
|
+
set.delete(index);
|
|
5372
|
+
setSelectedIndexes(set);
|
|
5373
|
+
};
|
|
5374
|
+
return {
|
|
5375
|
+
value,
|
|
5376
|
+
index,
|
|
5377
|
+
selected,
|
|
5378
|
+
select,
|
|
5379
|
+
unselect,
|
|
5380
|
+
toggle: selected ? unselect : select
|
|
5381
|
+
};
|
|
5382
|
+
})
|
|
5383
|
+
};
|
|
5384
|
+
}
|
|
5385
|
+
|
|
5352
5386
|
function useStateCycle(stateList, initialStateIndex = 0) {
|
|
5353
5387
|
const [index, setIndex] = react.exports.useState(initialStateIndex);
|
|
5354
5388
|
return [
|
|
@@ -13630,6 +13664,7 @@
|
|
|
13630
13664
|
exports.useIncrement = useIncrement;
|
|
13631
13665
|
exports.useIsMounted = useIsMounted;
|
|
13632
13666
|
exports.useMount = useMount;
|
|
13667
|
+
exports.useMultipleSelection = useMultipleSelection;
|
|
13633
13668
|
exports.useResizeObserver = useResizeObserver;
|
|
13634
13669
|
exports.useSingleSelection = useSingleSelection;
|
|
13635
13670
|
exports.useStateCycle = useStateCycle;
|