botframework-webchat-component
Version:
React component of botframework-webchat
49 lines (38 loc) • 4.63 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _ImageContent = _interopRequireDefault(require("./ImageContent"));
var _readDataURIToBlob = _interopRequireDefault(require("../Utils/readDataURIToBlob"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ImageAttachment = function ImageAttachment(_ref) {
var attachment = _ref.attachment;
var imageURL = attachment.thumbnailUrl || attachment.contentUrl; // To support Content Security Policy, data URI cannot be used.
// We need to parse the data URI into a blob: URL.
var blob = (0, _readDataURIToBlob.default)(imageURL);
if (blob) {
imageURL = URL.createObjectURL(blob);
}
return /*#__PURE__*/_react.default.createElement(_ImageContent.default, {
alt: attachment.name,
src: imageURL
});
};
ImageAttachment.propTypes = {
// Either attachment.contentUrl or attachment.thumbnailUrl must be specified.
attachment: _propTypes.default.oneOfType([_propTypes.default.shape({
contentUrl: _propTypes.default.string.isRequired,
name: _propTypes.default.string,
thumbnailUrl: _propTypes.default.string
}), _propTypes.default.shape({
contentUrl: _propTypes.default.string,
name: _propTypes.default.string,
thumbnailUrl: _propTypes.default.string.isRequired
})]).isRequired
};
var _default = ImageAttachment;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0ltYWdlQXR0YWNobWVudC5qcyJdLCJuYW1lcyI6WyJJbWFnZUF0dGFjaG1lbnQiLCJhdHRhY2htZW50IiwiaW1hZ2VVUkwiLCJ0aHVtYm5haWxVcmwiLCJjb250ZW50VXJsIiwiYmxvYiIsIlVSTCIsImNyZWF0ZU9iamVjdFVSTCIsIm5hbWUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvbmVPZlR5cGUiLCJzaGFwZSIsInN0cmluZyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUVBLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsT0FBb0I7QUFBQSxNQUFqQkMsVUFBaUIsUUFBakJBLFVBQWlCO0FBQzFDLE1BQUlDLFFBQVEsR0FBR0QsVUFBVSxDQUFDRSxZQUFYLElBQTJCRixVQUFVLENBQUNHLFVBQXJELENBRDBDLENBRzFDO0FBQ0E7O0FBQ0EsTUFBTUMsSUFBSSxHQUFHLGdDQUFrQkgsUUFBbEIsQ0FBYjs7QUFFQSxNQUFJRyxJQUFKLEVBQVU7QUFDUkgsSUFBQUEsUUFBUSxHQUFHSSxHQUFHLENBQUNDLGVBQUosQ0FBb0JGLElBQXBCLENBQVg7QUFDRDs7QUFFRCxzQkFBTyw2QkFBQyxxQkFBRDtBQUFjLElBQUEsR0FBRyxFQUFFSixVQUFVLENBQUNPLElBQTlCO0FBQW9DLElBQUEsR0FBRyxFQUFFTjtBQUF6QyxJQUFQO0FBQ0QsQ0FaRDs7QUFjQUYsZUFBZSxDQUFDUyxTQUFoQixHQUE0QjtBQUMxQjtBQUNBUixFQUFBQSxVQUFVLEVBQUVTLG1CQUFVQyxTQUFWLENBQW9CLENBQzlCRCxtQkFBVUUsS0FBVixDQUFnQjtBQUNkUixJQUFBQSxVQUFVLEVBQUVNLG1CQUFVRyxNQUFWLENBQWlCQyxVQURmO0FBRWROLElBQUFBLElBQUksRUFBRUUsbUJBQVVHLE1BRkY7QUFHZFYsSUFBQUEsWUFBWSxFQUFFTyxtQkFBVUc7QUFIVixHQUFoQixDQUQ4QixFQU05QkgsbUJBQVVFLEtBQVYsQ0FBZ0I7QUFDZFIsSUFBQUEsVUFBVSxFQUFFTSxtQkFBVUcsTUFEUjtBQUVkTCxJQUFBQSxJQUFJLEVBQUVFLG1CQUFVRyxNQUZGO0FBR2RWLElBQUFBLFlBQVksRUFBRU8sbUJBQVVHLE1BQVYsQ0FBaUJDO0FBSGpCLEdBQWhCLENBTjhCLENBQXBCLEVBV1RBO0FBYnVCLENBQTVCO2VBZ0JlZCxlIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEltYWdlQ29udGVudCBmcm9tICcuL0ltYWdlQ29udGVudCc7XG5pbXBvcnQgcmVhZERhdGFVUklUb0Jsb2IgZnJvbSAnLi4vVXRpbHMvcmVhZERhdGFVUklUb0Jsb2InO1xuXG5jb25zdCBJbWFnZUF0dGFjaG1lbnQgPSAoeyBhdHRhY2htZW50IH0pID0+IHtcbiAgbGV0IGltYWdlVVJMID0gYXR0YWNobWVudC50aHVtYm5haWxVcmwgfHwgYXR0YWNobWVudC5jb250ZW50VXJsO1xuXG4gIC8vIFRvIHN1cHBvcnQgQ29udGVudCBTZWN1cml0eSBQb2xpY3ksIGRhdGEgVVJJIGNhbm5vdCBiZSB1c2VkLlxuICAvLyBXZSBuZWVkIHRvIHBhcnNlIHRoZSBkYXRhIFVSSSBpbnRvIGEgYmxvYjogVVJMLlxuICBjb25zdCBibG9iID0gcmVhZERhdGFVUklUb0Jsb2IoaW1hZ2VVUkwpO1xuXG4gIGlmIChibG9iKSB7XG4gICAgaW1hZ2VVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICB9XG5cbiAgcmV0dXJuIDxJbWFnZUNvbnRlbnQgYWx0PXthdHRhY2htZW50Lm5hbWV9IHNyYz17aW1hZ2VVUkx9IC8+O1xufTtcblxuSW1hZ2VBdHRhY2htZW50LnByb3BUeXBlcyA9IHtcbiAgLy8gRWl0aGVyIGF0dGFjaG1lbnQuY29udGVudFVybCBvciBhdHRhY2htZW50LnRodW1ibmFpbFVybCBtdXN0IGJlIHNwZWNpZmllZC5cbiAgYXR0YWNobWVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNvbnRlbnRVcmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB0aHVtYm5haWxVcmw6IFByb3BUeXBlcy5zdHJpbmdcbiAgICB9KSxcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgY29udGVudFVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB0aHVtYm5haWxVcmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICAgIH0pXG4gIF0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlQXR0YWNobWVudDtcbiJdfQ==