tdesign-react
Version:
TDesign Component for React
42 lines (38 loc) • 1.12 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _slicedToArray } from '../../_chunks/dep-10d5731f.js';
import { useCallback } from 'react';
import useControlled from '../../hooks/useControlled.js';
import '../../_chunks/dep-74a10cfb.js';
import 'lodash-es';
import '../../_util/noop.js';
var useIndex = function useIndex(resProps, images) {
var _useControlled = useControlled(resProps, "index", resProps.onIndexChange),
_useControlled2 = _slicedToArray(_useControlled, 2),
index = _useControlled2[0],
setIndex = _useControlled2[1];
var next = useCallback(function () {
var newIndex = index + 1;
if (newIndex >= images.length) return index;
setIndex(newIndex, {
trigger: "next"
});
}, [setIndex, index, images.length]);
var prev = useCallback(function () {
var newIndex = index - 1 > 0 ? index - 1 : 0;
setIndex(newIndex, {
trigger: "prev"
});
}, [index, setIndex]);
return {
index: index,
next: next,
prev: prev,
setIndex: setIndex
};
};
export { useIndex as default };
//# sourceMappingURL=useIndex.js.map