react-film
Version:
React component for showing carousel just like a film strip
25 lines (23 loc) • 2.79 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import { useCallback } from 'react';
import useScrolling from '../useScrolling';
import useScrollTo from '../useScrollTo';
import useStyleOptions from '../useStyleOptions';
import useTimeout from './useTimeout';
export default function useAutoCenter() {
var _useStyleOptions = useStyleOptions(),
_useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),
autoCenter = _useStyleOptions2[0].autoCenter;
var _useScrolling = useScrolling(),
_useScrolling2 = _slicedToArray(_useScrolling, 1),
scrolling = _useScrolling2[0];
var scrollTo = useScrollTo();
var handleTrigger = useCallback(function () {
return scrollTo(function (_ref) {
var index = _ref.index;
return index;
});
}, [scrollTo]);
useTimeout(!autoCenter || scrolling ? undefined : handleTrigger, 0);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VBdXRvQ2VudGVyLmpzIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwidXNlU2Nyb2xsaW5nIiwidXNlU2Nyb2xsVG8iLCJ1c2VTdHlsZU9wdGlvbnMiLCJ1c2VUaW1lb3V0IiwidXNlQXV0b0NlbnRlciIsImF1dG9DZW50ZXIiLCJzY3JvbGxpbmciLCJzY3JvbGxUbyIsImhhbmRsZVRyaWdnZXIiLCJpbmRleCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFdBQVQsUUFBNEIsT0FBNUI7QUFFQSxPQUFPQyxZQUFQLE1BQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsZ0JBQXhCO0FBQ0EsT0FBT0MsZUFBUCxNQUE0QixvQkFBNUI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBRUEsZUFBZSxTQUFTQyxhQUFULEdBQXlCO0FBQ3RDLHlCQUF5QkYsZUFBZSxFQUF4QztBQUFBO0FBQUEsTUFBU0csVUFBVCx3QkFBU0EsVUFBVDs7QUFDQSxzQkFBb0JMLFlBQVksRUFBaEM7QUFBQTtBQUFBLE1BQU9NLFNBQVA7O0FBQ0EsTUFBTUMsUUFBUSxHQUFHTixXQUFXLEVBQTVCO0FBRUEsTUFBTU8sYUFBYSxHQUFHVCxXQUFXLENBQUM7QUFBQSxXQUFNUSxRQUFRLENBQUM7QUFBQSxVQUFHRSxLQUFILFFBQUdBLEtBQUg7QUFBQSxhQUFlQSxLQUFmO0FBQUEsS0FBRCxDQUFkO0FBQUEsR0FBRCxFQUF1QyxDQUFDRixRQUFELENBQXZDLENBQWpDO0FBRUFKLEVBQUFBLFVBQVUsQ0FBQyxDQUFDRSxVQUFELElBQWVDLFNBQWYsR0FBMkJJLFNBQTNCLEdBQXVDRixhQUF4QyxFQUF1RCxDQUF2RCxDQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVNjcm9sbGluZyBmcm9tICcuLi91c2VTY3JvbGxpbmcnO1xuaW1wb3J0IHVzZVNjcm9sbFRvIGZyb20gJy4uL3VzZVNjcm9sbFRvJztcbmltcG9ydCB1c2VTdHlsZU9wdGlvbnMgZnJvbSAnLi4vdXNlU3R5bGVPcHRpb25zJztcbmltcG9ydCB1c2VUaW1lb3V0IGZyb20gJy4vdXNlVGltZW91dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUF1dG9DZW50ZXIoKSB7XG4gIGNvbnN0IFt7IGF1dG9DZW50ZXIgfV0gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgW3Njcm9sbGluZ10gPSB1c2VTY3JvbGxpbmcoKTtcbiAgY29uc3Qgc2Nyb2xsVG8gPSB1c2VTY3JvbGxUbygpO1xuXG4gIGNvbnN0IGhhbmRsZVRyaWdnZXIgPSB1c2VDYWxsYmFjaygoKSA9PiBzY3JvbGxUbygoeyBpbmRleCB9KSA9PiBpbmRleCksIFtzY3JvbGxUb10pO1xuXG4gIHVzZVRpbWVvdXQoIWF1dG9DZW50ZXIgfHwgc2Nyb2xsaW5nID8gdW5kZWZpbmVkIDogaGFuZGxlVHJpZ2dlciwgMCk7XG59XG4iXX0=