UNPKG

@risecx/carespace-chat-ui

Version:

carespace-chat-ui React component

59 lines (56 loc) 2.47 kB
function _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); } import React from 'react'; import Button from '../../Button'; import './list.css'; var ListMessage = function ListMessage(props) { var _props$data = props.data, image_url = _props$data.image_url, title = _props$data.title, subtitle = _props$data.subtitle, _props$data$elements = _props$data.elements, elements = _props$data$elements === void 0 ? [] : _props$data$elements, _props$data$buttons = _props$data.buttons, buttons = _props$data$buttons === void 0 ? [] : _props$data$buttons; var isImageList = elements.some(function (e) { return e.hasOwnProperty('default_action'); }); return /*#__PURE__*/React.createElement("div", { className: "card " + (!isImageList ? 'list' : '') + " sc-message--list" }, /*#__PURE__*/React.createElement("div", { className: "list-container" }, /*#__PURE__*/React.createElement("ul", null, elements.map(function (_ref, index) { var title = _ref.title, subtitle = _ref.subtitle, image_url = _ref.image_url, _ref$buttons = _ref.buttons, buttons = _ref$buttons === void 0 ? [] : _ref$buttons; return /*#__PURE__*/React.createElement("li", { key: index }, /*#__PURE__*/React.createElement("img", { src: image_url }), /*#__PURE__*/React.createElement("div", { className: "list-content" }, /*#__PURE__*/React.createElement("h5", null, title), /*#__PURE__*/React.createElement("p", null, subtitle), buttons.map(function (button, index) { return /*#__PURE__*/React.createElement("div", { className: "buttons" }, /*#__PURE__*/React.createElement(Button, _extends({ key: index }, button, { onClick: function onClick() { return props.onPostBack(button); } }))); }))); })), buttons && /*#__PURE__*/React.createElement("div", { className: "buttons" }, buttons.map(function (button, index) { return /*#__PURE__*/React.createElement(Button, _extends({ key: index }, button, { onClick: function onClick() { return props.onPostBack(button); } })); })))); }; export default ListMessage;