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.mjs
CHANGED
|
@@ -5324,14 +5324,14 @@ function requireEs2018 () {
|
|
|
5324
5324
|
return es2018$6;
|
|
5325
5325
|
}
|
|
5326
5326
|
|
|
5327
|
-
var es2018Exports = requireEs2018();
|
|
5327
|
+
var es2018Exports$1 = requireEs2018();
|
|
5328
5328
|
|
|
5329
|
-
function useSingleSelection(values,
|
|
5330
|
-
es2018Exports.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5331
|
-
if (es2018$7.isntUndefined(
|
|
5332
|
-
es2018Exports.assert(
|
|
5329
|
+
function useSingleSelection(values, defaultSelectedIndex) {
|
|
5330
|
+
es2018Exports$1.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5331
|
+
if (es2018$7.isntUndefined(defaultSelectedIndex)) {
|
|
5332
|
+
es2018Exports$1.assert(defaultSelectedIndex >= 0 && defaultSelectedIndex < values.length, 'The parameter defaultSelectedIndex must be in the range of 0 to values.length');
|
|
5333
5333
|
}
|
|
5334
|
-
const [selectedIndex, setSelectedIndex] = react.exports.useState(
|
|
5334
|
+
const [selectedIndex, setSelectedIndex] = react.exports.useState(defaultSelectedIndex);
|
|
5335
5335
|
return {
|
|
5336
5336
|
value: es2018$7.isUndefined(selectedIndex) ? undefined : values[selectedIndex],
|
|
5337
5337
|
options: values.map((value, index) => ({
|
|
@@ -5343,6 +5343,40 @@ function useSingleSelection(values, defaultIndex) {
|
|
|
5343
5343
|
};
|
|
5344
5344
|
}
|
|
5345
5345
|
|
|
5346
|
+
var es2018Exports = requireEs2018$1();
|
|
5347
|
+
|
|
5348
|
+
function useMultipleSelection(values, defaultSelectedIndexes = []) {
|
|
5349
|
+
es2018Exports$1.assert(values.length > 0, 'The parameter values must be a non-empty array');
|
|
5350
|
+
for (const index of defaultSelectedIndexes) {
|
|
5351
|
+
es2018Exports$1.assert(index >= 0 && index < values.length, 'The index of parameter defaultSelectedIndexes must be in the range of 0 to values.length');
|
|
5352
|
+
}
|
|
5353
|
+
const [selectedIndexes, setSelectedIndexes] = react.exports.useState(new Set(defaultSelectedIndexes));
|
|
5354
|
+
return {
|
|
5355
|
+
values: es2018Exports.toArray(es2018Exports.map(selectedIndexes, i => values[i])),
|
|
5356
|
+
options: values.map((value, index) => {
|
|
5357
|
+
const selected = selectedIndexes.has(index);
|
|
5358
|
+
const select = () => {
|
|
5359
|
+
const set = new Set(selectedIndexes);
|
|
5360
|
+
set.add(index);
|
|
5361
|
+
setSelectedIndexes(set);
|
|
5362
|
+
};
|
|
5363
|
+
const unselect = () => {
|
|
5364
|
+
const set = new Set(selectedIndexes);
|
|
5365
|
+
set.delete(index);
|
|
5366
|
+
setSelectedIndexes(set);
|
|
5367
|
+
};
|
|
5368
|
+
return {
|
|
5369
|
+
value,
|
|
5370
|
+
index,
|
|
5371
|
+
selected,
|
|
5372
|
+
select,
|
|
5373
|
+
unselect,
|
|
5374
|
+
toggle: selected ? unselect : select
|
|
5375
|
+
};
|
|
5376
|
+
})
|
|
5377
|
+
};
|
|
5378
|
+
}
|
|
5379
|
+
|
|
5346
5380
|
function useStateCycle(stateList, initialStateIndex = 0) {
|
|
5347
5381
|
const [index, setIndex] = react.exports.useState(initialStateIndex);
|
|
5348
5382
|
return [
|
|
@@ -13619,5 +13653,5 @@ function useFiniteStateMachine(schema, initialState) {
|
|
|
13619
13653
|
}
|
|
13620
13654
|
|
|
13621
13655
|
var ObservableFiniteStateMachine = es2018$2.ObservableFiniteStateMachine;
|
|
13622
|
-
export { ObservableFiniteStateMachine, useFiniteStateMachine, useForceUpdate, useIncrement, useIsMounted, useMount, useResizeObserver, useSingleSelection, useStateCycle, useStep, useToggle };
|
|
13656
|
+
export { ObservableFiniteStateMachine, useFiniteStateMachine, useForceUpdate, useIncrement, useIsMounted, useMount, useMultipleSelection, useResizeObserver, useSingleSelection, useStateCycle, useStep, useToggle };
|
|
13623
13657
|
//# sourceMappingURL=index.mjs.map
|