react-film
Version:
React component for showing carousel just like a film strip
42 lines (30 loc) • 3.01 kB
JavaScript
;
require("core-js/modules/es.object.define-property.js");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useAutoCenter;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _useScrolling3 = _interopRequireDefault(require("../useScrolling"));
var _useScrollTo = _interopRequireDefault(require("../useScrollTo"));
var _useStyleOptions3 = _interopRequireDefault(require("../useStyleOptions"));
var _useTimeout = _interopRequireDefault(require("./useTimeout"));
function useAutoCenter() {
var _useStyleOptions = (0, _useStyleOptions3["default"])(),
_useStyleOptions2 = (0, _slicedToArray2["default"])(_useStyleOptions, 1),
autoCenter = _useStyleOptions2[0].autoCenter;
var _useScrolling = (0, _useScrolling3["default"])(),
_useScrolling2 = (0, _slicedToArray2["default"])(_useScrolling, 1),
scrolling = _useScrolling2[0];
var scrollTo = (0, _useScrollTo["default"])();
var handleTrigger = (0, _react.useCallback)(function () {
return scrollTo(function (_ref) {
var index = _ref.index;
return index;
});
}, [scrollTo]);
(0, _useTimeout["default"])(!autoCenter || scrolling ? undefined : handleTrigger, 0);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VBdXRvQ2VudGVyLmpzIl0sIm5hbWVzIjpbInVzZUF1dG9DZW50ZXIiLCJhdXRvQ2VudGVyIiwic2Nyb2xsaW5nIiwic2Nyb2xsVG8iLCJoYW5kbGVUcmlnZ2VyIiwiaW5kZXgiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFZSxTQUFTQSxhQUFULEdBQXlCO0FBQ3RDLHlCQUF5QixtQ0FBekI7QUFBQTtBQUFBLE1BQVNDLFVBQVQsd0JBQVNBLFVBQVQ7O0FBQ0Esc0JBQW9CLGdDQUFwQjtBQUFBO0FBQUEsTUFBT0MsU0FBUDs7QUFDQSxNQUFNQyxRQUFRLEdBQUcsOEJBQWpCO0FBRUEsTUFBTUMsYUFBYSxHQUFHLHdCQUFZO0FBQUEsV0FBTUQsUUFBUSxDQUFDO0FBQUEsVUFBR0UsS0FBSCxRQUFHQSxLQUFIO0FBQUEsYUFBZUEsS0FBZjtBQUFBLEtBQUQsQ0FBZDtBQUFBLEdBQVosRUFBa0QsQ0FBQ0YsUUFBRCxDQUFsRCxDQUF0QjtBQUVBLDhCQUFXLENBQUNGLFVBQUQsSUFBZUMsU0FBZixHQUEyQkksU0FBM0IsR0FBdUNGLGFBQWxELEVBQWlFLENBQWpFO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVNjcm9sbGluZyBmcm9tICcuLi91c2VTY3JvbGxpbmcnO1xuaW1wb3J0IHVzZVNjcm9sbFRvIGZyb20gJy4uL3VzZVNjcm9sbFRvJztcbmltcG9ydCB1c2VTdHlsZU9wdGlvbnMgZnJvbSAnLi4vdXNlU3R5bGVPcHRpb25zJztcbmltcG9ydCB1c2VUaW1lb3V0IGZyb20gJy4vdXNlVGltZW91dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUF1dG9DZW50ZXIoKSB7XG4gIGNvbnN0IFt7IGF1dG9DZW50ZXIgfV0gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgW3Njcm9sbGluZ10gPSB1c2VTY3JvbGxpbmcoKTtcbiAgY29uc3Qgc2Nyb2xsVG8gPSB1c2VTY3JvbGxUbygpO1xuXG4gIGNvbnN0IGhhbmRsZVRyaWdnZXIgPSB1c2VDYWxsYmFjaygoKSA9PiBzY3JvbGxUbygoeyBpbmRleCB9KSA9PiBpbmRleCksIFtzY3JvbGxUb10pO1xuXG4gIHVzZVRpbWVvdXQoIWF1dG9DZW50ZXIgfHwgc2Nyb2xsaW5nID8gdW5kZWZpbmVkIDogaGFuZGxlVHJpZ2dlciwgMCk7XG59XG4iXX0=