react-film
Version:
React component for showing carousel just like a film strip
97 lines (92 loc) • 11.4 kB
JavaScript
import "core-js/modules/es.object.keys.js";
import "core-js/modules/es.symbol.js";
import "core-js/modules/es.array.filter.js";
import "core-js/modules/es.object.get-own-property-descriptor.js";
import "core-js/modules/es.array.for-each.js";
import "core-js/modules/web.dom-collections.for-each.js";
import "core-js/modules/es.object.get-own-property-descriptors.js";
import "core-js/modules/es.object.define-properties.js";
import "core-js/modules/es.object.define-property.js";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
import PropTypes from 'prop-types';
import React, { Children, useMemo } from 'react';
import BasicFilm from './BasicFilm';
import Composer from './Composer';
var ReactFilm = function ReactFilm(_ref) {
var autoCenter = _ref.autoCenter,
autoHide = _ref.autoHide,
autoHideFlipperOnEdge = _ref.autoHideFlipperOnEdge,
children = _ref.children,
className = _ref.className,
dir = _ref.dir,
flipperBlurFocusOnClick = _ref.flipperBlurFocusOnClick,
height = _ref.height,
leftFlipperText = _ref.leftFlipperText,
nonce = _ref.nonce,
rightFlipperText = _ref.rightFlipperText,
showDots = _ref.showDots,
showFlipper = _ref.showFlipper,
showScrollBar = _ref.showScrollBar,
styleSet = _ref.styleSet;
var styleOptions = useMemo(function () {
return {
autoCenter: autoCenter,
autoHide: autoHide,
autoHideFlipperOnEdge: autoHideFlipperOnEdge,
dir: dir,
leftFlipperText: leftFlipperText,
flipperBlurFocusOnClick: flipperBlurFocusOnClick,
rightFlipperText: rightFlipperText,
showDots: showDots,
showFlipper: showFlipper,
showScrollBar: showScrollBar
};
}, [autoCenter, autoHide, autoHideFlipperOnEdge, dir, leftFlipperText, flipperBlurFocusOnClick, rightFlipperText, showDots, showFlipper, showScrollBar]);
return /*#__PURE__*/React.createElement(Composer, {
dir: dir,
height: height,
nonce: nonce,
numItems: children ? Children.count(children) : 0,
styleOptions: styleOptions,
styleSet: styleSet
}, /*#__PURE__*/React.createElement(BasicFilm, {
className: className
}, children));
};
ReactFilm.defaultProps = _objectSpread(_objectSpread({}, BasicFilm.defaultProps), {}, {
autoCenter: undefined,
autoHide: undefined,
autoHideFlipperOnEdge: undefined,
children: undefined,
className: undefined,
dir: undefined,
flipperBlurFocusOnClick: undefined,
leftFlipperText: undefined,
nonce: undefined,
rightFlipperText: undefined,
showDots: undefined,
showFlipper: undefined,
showScrollBar: undefined,
styleSet: undefined
});
ReactFilm.propTypes = _objectSpread(_objectSpread({}, BasicFilm.propTypes), {}, {
autoCenter: PropTypes.bool,
autoHide: PropTypes.bool,
autoHideFlipperOnEdge: PropTypes.bool,
children: PropTypes.any,
className: PropTypes.string,
dir: PropTypes.oneOf(['auto', 'ltr', 'rtl']),
flipperBlurFocusOnClick: PropTypes.bool,
height: PropTypes.number,
leftFlipperText: PropTypes.string,
nonce: PropTypes.string,
rightFlipperText: PropTypes.string,
showDots: PropTypes.bool,
showFlipper: PropTypes.bool,
showScrollBar: PropTypes.bool,
styleSet: PropTypes.any
});
export default ReactFilm;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SZWFjdEZpbG0uanMiXSwibmFtZXMiOlsiUHJvcFR5cGVzIiwiUmVhY3QiLCJDaGlsZHJlbiIsInVzZU1lbW8iLCJCYXNpY0ZpbG0iLCJDb21wb3NlciIsIlJlYWN0RmlsbSIsImF1dG9DZW50ZXIiLCJhdXRvSGlkZSIsImF1dG9IaWRlRmxpcHBlck9uRWRnZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlyIiwiZmxpcHBlckJsdXJGb2N1c09uQ2xpY2siLCJoZWlnaHQiLCJsZWZ0RmxpcHBlclRleHQiLCJub25jZSIsInJpZ2h0RmxpcHBlclRleHQiLCJzaG93RG90cyIsInNob3dGbGlwcGVyIiwic2hvd1Njcm9sbEJhciIsInN0eWxlU2V0Iiwic3R5bGVPcHRpb25zIiwiY291bnQiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJib29sIiwiYW55Iiwic3RyaW5nIiwib25lT2YiLCJudW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxRQUFoQixFQUEwQkMsT0FBMUIsUUFBeUMsT0FBekM7QUFFQSxPQUFPQyxTQUFQLE1BQXNCLGFBQXRCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixZQUFyQjs7QUFFQSxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxPQWdCWjtBQUFBLE1BZkpDLFVBZUksUUFmSkEsVUFlSTtBQUFBLE1BZEpDLFFBY0ksUUFkSkEsUUFjSTtBQUFBLE1BYkpDLHFCQWFJLFFBYkpBLHFCQWFJO0FBQUEsTUFaSkMsUUFZSSxRQVpKQSxRQVlJO0FBQUEsTUFYSkMsU0FXSSxRQVhKQSxTQVdJO0FBQUEsTUFWSkMsR0FVSSxRQVZKQSxHQVVJO0FBQUEsTUFUSkMsdUJBU0ksUUFUSkEsdUJBU0k7QUFBQSxNQVJKQyxNQVFJLFFBUkpBLE1BUUk7QUFBQSxNQVBKQyxlQU9JLFFBUEpBLGVBT0k7QUFB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QixJQVJyQztBQVNFYixFQUFBQSxNQUFNLEVBQUVkLFNBQVMsQ0FBQytCLE1BVHBCO0FBVUVoQixFQUFBQSxlQUFlLEVBQUVmLFNBQVMsQ0FBQzZCLE1BVjdCO0FBV0ViLEVBQUFBLEtBQUssRUFBRWhCLFNBQVMsQ0FBQzZCLE1BWG5CO0FBWUVaLEVBQUFBLGdCQUFnQixFQUFFakIsU0FBUyxDQUFDNkIsTUFaOUI7QUFhRVgsRUFBQUEsUUFBUSxFQUFFbEIsU0FBUyxDQUFDMkIsSUFidEI7QUFjRVIsRUFBQUEsV0FBVyxFQUFFbkIsU0FBUyxDQUFDMkIsSUFkekI7QUFlRVAsRUFBQUEsYUFBYSxFQUFFcEIsU0FBUyxDQUFDMkIsSUFmM0I7QUFnQkVOLEVBQUFBLFFBQVEsRUFBRXJCLFNBQVMsQ0FBQzRCO0FBaEJ0QjtBQW1CQSxlQUFldEIsU0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgQ2hpbGRyZW4sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBCYXNpY0ZpbG0gZnJvbSAnLi9CYXNpY0ZpbG0nO1xuaW1wb3J0IENvbXBvc2VyIGZyb20gJy4vQ29tcG9zZXInO1xuXG5jb25zdCBSZWFjdEZpbG0gPSAoe1xuICBhdXRvQ2VudGVyLFxuICBhdXRvSGlkZSxcbiAgYXV0b0hpZGVGbGlwcGVyT25FZGdlLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBkaXIsXG4gIGZsaXBwZXJCbHVyRm9jdXNPbkNsaWNrLFxuICBoZWlnaHQsXG4gIGxlZnRGbGlwcGVyVGV4dCxcbiAgbm9uY2UsXG4gIHJpZ2h0RmxpcHBlclRleHQsXG4gIHNob3dEb3RzLFxuICBzaG93RmxpcHBlcixcbiAgc2hvd1Njcm9sbEJhcixcbiAgc3R5bGVTZXRcbn0pID0+IHtcbiAgY29uc3Qgc3R5bGVPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYXV0b0NlbnRlcixcbiAgICAgIGF1dG9IaWRlLFxuICAgICAgYXV0b0hpZGVGbGlwcGVyT25FZGdlLFxuICAgICAgZGlyLFxuICAgICAgbGVmdEZsaXBwZXJUZXh0LFxuICAgICAgZmxpcHBlckJsdXJGb2N1c09uQ2xpY2ssXG4gICAgICByaWdodEZsaXBwZXJUZXh0LFxuICAgICAgc2hvd0RvdHMsXG4gICAgICBzaG93RmxpcHBlcixcbiAgICAgIHNob3dTY3JvbGxCYXJcbiAgICB9KSxcbiAgICBbXG4gICAgICBhdXRvQ2VudGVyLFxuICAgICAgYXV0b0hpZGUsXG4gICAgICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2UsXG4gICAgICBkaXIsXG4gICAgICBsZWZ0RmxpcHBlclRleHQsXG4gICAgICBmbGlwcGVyQmx1ckZvY3VzT25DbGljayxcbiAgICAgIHJpZ2h0RmxpcHBlclRleHQsXG4gICAgICBzaG93RG90cyxcbiAgICAgIHNob3dGbGlwcGVyLFxuICAgICAgc2hvd1Njcm9sbEJhclxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb21wb3NlclxuICAgICAgZGlyPXtkaXJ9XG4gICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgIG5vbmNlPXtub25jZX1cbiAgICAgIG51bUl0ZW1zPXtjaGlsZHJlbiA/IENoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA6IDB9XG4gICAgICBzdHlsZU9wdGlvbnM9e3N0eWxlT3B0aW9uc31cbiAgICAgIHN0eWxlU2V0PXtzdHlsZVNldH1cbiAgICA+XG4gICAgICA8QmFzaWNGaWxtIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9CYXNpY0ZpbG0+XG4gICAgPC9Db21wb3Nlcj5cbiAgKTtcbn07XG5cblJlYWN0RmlsbS5kZWZhdWx0UHJvcHMgPSB7XG4gIC4uLkJhc2ljRmlsbS5kZWZhdWx0UHJvcHMsXG4gIGF1dG9DZW50ZXI6IHVuZGVmaW5lZCxcbiAgYXV0b0hpZGU6IHVuZGVmaW5lZCxcbiAgYXV0b0hpZGVGbGlwcGVyT25FZGdlOiB1bmRlZmluZWQsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBkaXI6IHVuZGVmaW5lZCxcbiAgZmxpcHBlckJsdXJGb2N1c09uQ2xpY2s6IHVuZGVmaW5lZCxcbiAgbGVmdEZsaXBwZXJUZXh0OiB1bmRlZmluZWQsXG4gIG5vbmNlOiB1bmRlZmluZWQsXG4gIHJpZ2h0RmxpcHBlclRleHQ6IHVuZGVmaW5lZCxcbiAgc2hvd0RvdHM6IHVuZGVmaW5lZCxcbiAgc2hvd0ZsaXBwZXI6IHVuZGVmaW5lZCxcbiAgc2hvd1Njcm9sbEJhcjogdW5kZWZpbmVkLFxuICBzdHlsZVNldDogdW5kZWZpbmVkXG59O1xuXG5SZWFjdEZpbG0ucHJvcFR5cGVzID0ge1xuICAuLi5CYXNpY0ZpbG0ucHJvcFR5cGVzLFxuICBhdXRvQ2VudGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgYXV0b0hpZGU6IFByb3BUeXBlcy5ib29sLFxuICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2U6IFByb3BUeXBlcy5ib29sLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXI6IFByb3BUeXBlcy5vbmVPZihbJ2F1dG8nLCAnbHRyJywgJ3J0bCddKSxcbiAgZmxpcHBlckJsdXJGb2N1c09uQ2xpY2s6IFByb3BUeXBlcy5ib29sLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGxlZnRGbGlwcGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbm9uY2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJpZ2h0RmxpcHBlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNob3dEb3RzOiBQcm9wVHlwZXMuYm9vbCxcbiAgc2hvd0ZsaXBwZXI6IFByb3BUeXBlcy5ib29sLFxuICBzaG93U2Nyb2xsQmFyOiBQcm9wVHlwZXMuYm9vbCxcbiAgc3R5bGVTZXQ6IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0RmlsbTtcbiJdfQ==