UNPKG

4.43 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _react = _interopRequireDefault(require("react"));
9
10var _overrides = require("../helpers/overrides.js");
11
12var _constants = require("./constants.js");
13
14var _styledComponents = require("./styled-components.js");
15
16var _utils = require("./utils.js");
17
18function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
22function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
23
24function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
25
26function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
27
28function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
30var ListItem = _react.default.forwardRef(function (props, ref) {
31 var _props$overrides = props.overrides,
32 overrides = _props$overrides === void 0 ? {} : _props$overrides;
33 var Artwork = props.artwork;
34 var EndEnhancer = props.endEnhancer;
35
36 var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledRoot),
37 _getOverrides2 = _slicedToArray(_getOverrides, 2),
38 Root = _getOverrides2[0],
39 rootProps = _getOverrides2[1];
40
41 var _getOverrides3 = (0, _overrides.getOverrides)(overrides.ArtworkContainer, _styledComponents.StyledArtworkContainer),
42 _getOverrides4 = _slicedToArray(_getOverrides3, 2),
43 ArtworkContainer = _getOverrides4[0],
44 artworkContainerProps = _getOverrides4[1];
45
46 var _getOverrides5 = (0, _overrides.getOverrides)(overrides.Content, _styledComponents.StyledContent),
47 _getOverrides6 = _slicedToArray(_getOverrides5, 2),
48 Content = _getOverrides6[0],
49 contentProps = _getOverrides6[1];
50
51 var _getOverrides7 = (0, _overrides.getOverrides)(overrides.EndEnhancerContainer, _styledComponents.StyledEndEnhancerContainer),
52 _getOverrides8 = _slicedToArray(_getOverrides7, 2),
53 EndEnhancerContainer = _getOverrides8[0],
54 endEnhancerContainerProps = _getOverrides8[1];
55
56 var artworkSize = _react.default.useMemo(function () {
57 if (typeof artworkSize === 'number') {
58 return artworkSize;
59 }
60
61 if (props.sublist) {
62 var size = props.artworkSize || _constants.ARTWORK_SIZES.SMALL;
63
64 if (props.artworkSize === _constants.ARTWORK_SIZES.MEDIUM) {
65 size = _constants.ARTWORK_SIZES.SMALL;
66
67 if (process.env.NODE_ENV !== "production") {
68 console.warn('When ListItem sublist prop is true, artworkSize MEDIUM is aliased to SMALL');
69 }
70 }
71
72 return size;
73 } else {
74 return props.artworkSize || _constants.ARTWORK_SIZES.MEDIUM;
75 }
76 }, [props.artworkSize, props.sublist]);
77
78 return (// eslint-disable-next-line flowtype/no-weak-types
79 _react.default.createElement(Root, _extends({
80 ref: ref
81 }, rootProps), Artwork && _react.default.createElement(ArtworkContainer, _extends({
82 $artworkSize: artworkSize,
83 $sublist: Boolean(props.sublist)
84 }, artworkContainerProps), _react.default.createElement(Artwork, {
85 size: typeof artworkSize === 'number' ? artworkSize : (0, _utils.artworkSizeToValue)(artworkSize, Boolean(props.sublist))
86 })), _react.default.createElement(Content, _extends({
87 $mLeft: !Artwork,
88 $sublist: !!props.sublist
89 }, contentProps), props.children, EndEnhancer && _react.default.createElement(EndEnhancerContainer, endEnhancerContainerProps, _react.default.createElement(EndEnhancer, null))))
90 );
91});
92
93ListItem.displayName = 'ListItem';
94var _default = ListItem;
95exports.default = _default;
\No newline at end of file