UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

58 lines β€’ 1.72 kB
import React, { useMemo } from 'react'; import cn from 'classnames'; import IconFont from "../../icon-font"; var ThumbItem = /*#__PURE__*/React.memo(function (_ref) { var index = _ref.index, item = _ref.item, instance = _ref.instance; var state = instance.state, slickGoTo = instance.slickGoTo, getIsVideo = instance.getIsVideo; var handleGoTo = function handleGoTo(e, number) { e.preventDefault(); slickGoTo(number); }; var renderView = useMemo(function () { if (getIsVideo(item)) { return /*#__PURE__*/React.createElement(IconFont, { type: "lmweb-video", className: "thumb_item_icon" }); } return /*#__PURE__*/React.createElement("img", { loading: "lazy", src: item, alt: "" }); }, [getIsVideo, item]); return /*#__PURE__*/React.createElement("div", { className: cn('thumb_item', state.currentIndex === index && 'active'), onClick: function onClick(e) { return handleGoTo(e, index); } }, renderView); }); var Thumb = function Thumb(_ref2) { var instance = _ref2.instance; var dataSource = instance.dataSource; var thumbProps = useMemo(function () { return { gridTemplateColumns: "repeat(".concat(dataSource.length, ", 90px)") }; }, [dataSource.length]); return /*#__PURE__*/React.createElement("div", { className: "lm_imglist_thumb", style: thumbProps, onClick: function onClick(e) { return e.stopPropagation(); } }, dataSource.map(function (v, idx) { return /*#__PURE__*/React.createElement(ThumbItem, { key: v || idx, index: idx, item: v, instance: instance }); })); }; export default /*#__PURE__*/React.memo(Thumb);