botframework-webchat-component
Version:
React component of botframework-webchat
103 lines (101 loc) • 10.9 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 _HTMLVideoContent = _interopRequireDefault(require("./HTMLVideoContent"));
var _VimeoContent = _interopRequireDefault(require("./VimeoContent"));
var _YouTubeContent = _interopRequireDefault(require("./YouTubeContent"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var YOUTUBE_DOMAIN = 'youtube.com';
var YOUTUBE_WWW_DOMAIN = 'www.youtube.com';
var YOUTUBE_SHORT_DOMAIN = 'youtu.be';
var YOUTUBE_WWW_SHORT_DOMAIN = 'www.youtu.be';
var VIMEO_DOMAIN = 'vimeo.com';
var VIMEO_WWW_DOMAIN = 'www.vimeo.com';
// This is a workaround
// - Today, there is no good URL polyfill for older browser
// - Instead of writing a URL parser, for older browser, we will use this <a href> trick to parse the URL
function parseURL(url) {
var urlLike;
if (typeof URL === 'function') {
urlLike = new URL(url);
} else {
urlLike = document.createElement('a');
urlLike.setAttribute('href', url);
}
var _urlLike = urlLike,
hostname = _urlLike.hostname,
pathname = _urlLike.pathname,
search = _urlLike.search;
return {
hostname: hostname,
pathname: pathname,
search: search
};
}
var VideoContent = function VideoContent(_ref) {
var alt = _ref.alt,
autoPlay = _ref.autoPlay,
loop = _ref.loop,
poster = _ref.poster,
src = _ref.src;
var _parseURL = parseURL(src),
hostname = _parseURL.hostname,
pathname = _parseURL.pathname,
search = _parseURL.search;
var lastSegment = pathname.split('/').pop();
var searchParams = new URLSearchParams(search);
switch (hostname) {
case VIMEO_DOMAIN:
case VIMEO_WWW_DOMAIN:
return /*#__PURE__*/_react.default.createElement(_VimeoContent.default, {
alt: alt,
autoPlay: autoPlay,
embedID: lastSegment,
loop: loop
});
case YOUTUBE_DOMAIN:
case YOUTUBE_WWW_DOMAIN:
return /*#__PURE__*/_react.default.createElement(_YouTubeContent.default, {
alt: alt,
autoPlay: autoPlay,
embedID: searchParams.get('v'),
loop: loop
});
case YOUTUBE_SHORT_DOMAIN:
case YOUTUBE_WWW_SHORT_DOMAIN:
return /*#__PURE__*/_react.default.createElement(_YouTubeContent.default, {
alt: alt,
autoPlay: autoPlay,
embedID: lastSegment,
loop: loop
});
default:
return /*#__PURE__*/_react.default.createElement(_HTMLVideoContent.default, {
alt: alt,
autoPlay: autoPlay,
loop: loop,
poster: poster,
src: src
});
}
};
VideoContent.defaultProps = {
alt: '',
autoPlay: false,
loop: false,
poster: ''
};
VideoContent.propTypes = {
alt: _propTypes.default.string,
autoPlay: _propTypes.default.bool,
loop: _propTypes.default.bool,
poster: _propTypes.default.string,
src: _propTypes.default.string.isRequired
};
var _default = VideoContent;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfSFRNTFZpZGVvQ29udGVudCIsIl9WaW1lb0NvbnRlbnQiLCJfWW91VHViZUNvbnRlbnQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIllPVVRVQkVfRE9NQUlOIiwiWU9VVFVCRV9XV1dfRE9NQUlOIiwiWU9VVFVCRV9TSE9SVF9ET01BSU4iLCJZT1VUVUJFX1dXV19TSE9SVF9ET01BSU4iLCJWSU1FT19ET01BSU4iLCJWSU1FT19XV1dfRE9NQUlOIiwicGFyc2VVUkwiLCJ1cmwiLCJ1cmxMaWtlIiwiVVJMIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiX3VybExpa2UiLCJob3N0bmFtZSIsInBhdGhuYW1lIiwic2VhcmNoIiwiVmlkZW9Db250ZW50IiwiX3JlZiIsImFsdCIsImF1dG9QbGF5IiwibG9vcCIsInBvc3RlciIsInNyYyIsIl9wYXJzZVVSTCIsImxhc3RTZWdtZW50Iiwic3BsaXQiLCJwb3AiLCJzZWFyY2hQYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJlbWJlZElEIiwiZ2V0IiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L1ZpZGVvQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEhUTUxWaWRlb0NvbnRlbnQgZnJvbSAnLi9IVE1MVmlkZW9Db250ZW50JztcbmltcG9ydCBWaW1lb0NvbnRlbnQgZnJvbSAnLi9WaW1lb0NvbnRlbnQnO1xuaW1wb3J0IFlvdVR1YmVDb250ZW50IGZyb20gJy4vWW91VHViZUNvbnRlbnQnO1xuXG5jb25zdCBZT1VUVUJFX0RPTUFJTiA9ICd5b3V0dWJlLmNvbSc7XG5jb25zdCBZT1VUVUJFX1dXV19ET01BSU4gPSAnd3d3LnlvdXR1YmUuY29tJztcbmNvbnN0IFlPVVRVQkVfU0hPUlRfRE9NQUlOID0gJ3lvdXR1LmJlJztcbmNvbnN0IFlPVVRVQkVfV1dXX1NIT1JUX0RPTUFJTiA9ICd3d3cueW91dHUuYmUnO1xuY29uc3QgVklNRU9fRE9NQUlOID0gJ3ZpbWVvLmNvbSc7XG5jb25zdCBWSU1FT19XV1dfRE9NQUlOID0gJ3d3dy52aW1lby5jb20nO1xuXG4vLyBUaGlzIGlzIGEgd29ya2Fyb3VuZFxuLy8gLSBUb2RheSwgdGhlcmUgaXMgbm8gZ29vZCBVUkwgcG9seWZpbGwgZm9yIG9sZGVyIGJyb3dzZXJcbi8vIC0gSW5zdGVhZCBvZiB3cml0aW5nIGEgVVJMIHBhcnNlciwgZm9yIG9sZGVyIGJyb3dzZXIsIHdlIHdpbGwgdXNlIHRoaXMgPGEgaHJlZj4gdHJpY2sgdG8gcGFyc2UgdGhlIFVSTFxuZnVuY3Rpb24gcGFyc2VVUkwodXJsKSB7XG4gIGxldCB1cmxMaWtlO1xuXG4gIGlmICh0eXBlb2YgVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdXJsTGlrZSA9IG5ldyBVUkwodXJsKTtcbiAgfSBlbHNlIHtcbiAgICB1cmxMaWtlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIHVybExpa2Uuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgfVxuXG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBhdGhuYW1lLCBzZWFyY2ggfSA9IHVybExpa2U7XG5cbiAgcmV0dXJuIHsgaG9zdG5hbWUsIHBhdGhuYW1lLCBzZWFyY2ggfTtcbn1cblxudHlwZSBWaWRlb0NvbnRlbnRQcm9wcyA9IHtcbiAgYWx0Pzogc3RyaW5nO1xuICBhdXRvUGxheT86IGJvb2xlYW47XG4gIGxvb3A/OiBib29sZWFuO1xuICBwb3N0ZXI/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xufTtcblxuY29uc3QgVmlkZW9Db250ZW50OiBGQzxWaWRlb0NvbnRlbnRQcm9wcz4gPSAoeyBhbHQsIGF1dG9QbGF5LCBsb29wLCBwb3N0ZXIsIHNyYyB9KSA9PiB7XG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBhdGhuYW1lLCBzZWFyY2ggfSA9IHBhcnNlVVJMKHNyYyk7XG4gIGNvbnN0IGxhc3RTZWdtZW50ID0gcGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2gpO1xuXG4gIHN3aXRjaCAoaG9zdG5hbWUpIHtcbiAgICBjYXNlIFZJTUVPX0RPTUFJTjpcbiAgICBjYXNlIFZJTUVPX1dXV19ET01BSU46XG4gICAgICByZXR1cm4gPFZpbWVvQ29udGVudCBhbHQ9e2FsdH0gYXV0b1BsYXk9e2F1dG9QbGF5fSBlbWJlZElEPXtsYXN0U2VnbWVudH0gbG9vcD17bG9vcH0gLz47XG5cbiAgICBjYXNlIFlPVVRVQkVfRE9NQUlOOlxuICAgIGNhc2UgWU9VVFVCRV9XV1dfRE9NQUlOOlxuICAgICAgcmV0dXJuIDxZb3VUdWJlQ29udGVudCBhbHQ9e2FsdH0gYXV0b1BsYXk9e2F1dG9QbGF5fSBlbWJlZElEPXtzZWFyY2hQYXJhbXMuZ2V0KCd2Jyl9IGxvb3A9e2xvb3B9IC8+O1xuXG4gICAgY2FzZSBZT1VUVUJFX1NIT1JUX0RPTUFJTjpcbiAgICBjYXNlIFlPVVRVQkVfV1dXX1NIT1JUX0RPTUFJTjpcbiAgICAgIHJldHVybiA8WW91VHViZUNvbnRlbnQgYWx0PXthbHR9IGF1dG9QbGF5PXthdXRvUGxheX0gZW1iZWRJRD17bGFzdFNlZ21lbnR9IGxvb3A9e2xvb3B9IC8+O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8SFRNTFZpZGVvQ29udGVudCBhbHQ9e2FsdH0gYXV0b1BsYXk9e2F1dG9QbGF5fSBsb29wPXtsb29wfSBwb3N0ZXI9e3Bvc3Rlcn0gc3JjPXtzcmN9IC8+O1xuICB9XG59O1xuXG5WaWRlb0NvbnRlbnQuZGVmYXVsdFByb3BzID0ge1xuICBhbHQ6ICcnLFxuICBhdXRvUGxheTogZmFsc2UsXG4gIGxvb3A6IGZhbHNlLFxuICBwb3N0ZXI6ICcnXG59O1xuXG5WaWRlb0NvbnRlbnQucHJvcFR5cGVzID0ge1xuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGF1dG9QbGF5OiBQcm9wVHlwZXMuYm9vbCxcbiAgbG9vcDogUHJvcFR5cGVzLmJvb2wsXG4gIHBvc3RlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3JjOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFZpZGVvQ29udGVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsaUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUE4QyxTQUFBRCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUU5QyxJQUFNRyxjQUFjLEdBQUcsYUFBYTtBQUNwQyxJQUFNQyxrQkFBa0IsR0FBRyxpQkFBaUI7QUFDNUMsSUFBTUMsb0JBQW9CLEdBQUcsVUFBVTtBQUN2QyxJQUFNQyx3QkFBd0IsR0FBRyxjQUFjO0FBQy9DLElBQU1DLFlBQVksR0FBRyxXQUFXO0FBQ2hDLElBQU1DLGdCQUFnQixHQUFHLGVBQWU7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLFFBQVFBLENBQUNDLEdBQUcsRUFBRTtFQUNyQixJQUFJQyxPQUFPO0VBRVgs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