UNPKG

botframework-webchat-component

Version:
119 lines (100 loc) 9.89 kB
"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L1ZpZGVvQ29udGVudC5qcyJdLCJuYW1lcyI6WyJZT1VUVUJFX0RPTUFJTiIsIllPVVRVQkVfV1dXX0RPTUFJTiIsIllPVVRVQkVfU0hPUlRfRE9NQUlOIiwiWU9VVFVCRV9XV1dfU0hPUlRfRE9NQUlOIiwiVklNRU9fRE9NQUlOIiwiVklNRU9fV1dXX0RPTUFJTiIsInBhcnNlVVJMIiwidXJsIiwidXJsTGlrZSIsIlVSTCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImhvc3RuYW1lIiwicGF0aG5hbWUiLCJzZWFyY2giLCJWaWRlb0NvbnRlbnQiLCJhbHQiLCJhdXRvUGxheSIsImxvb3AiLCJwb3N0ZXIiLCJzcmMiLCJsYXN0U2VnbWVudCIsInNwbGl0IiwicG9wIiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiZ2V0IiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1BLGNBQWMsR0FBRyxhQUF2QjtBQUNBLElBQU1DLGtCQUFrQixHQUFHLGlCQUEzQjtBQUNBLElBQU1DLG9CQUFvQixHQUFHLFVBQTdCO0FBQ0EsSUFBTUMsd0JBQXdCLEdBQUcsY0FBakM7QUFDQSxJQUFNQyxZQUFZLEdBQUcsV0FBckI7QUFDQSxJQUFNQyxnQkFBZ0IsR0FBRyxlQUF6QixDLENBRUE7QUFDQTtBQUNBOztBQUNBLFNBQVNDLFFBQVQsQ0FBa0JDLEdBQWxCLEVBQXVCO0FBQ3JCLE1BQUlDLE9BQUo7O0FBRUEsTUFBSSxPQUFPQyxHQUFQLEtBQWUsVUFBbkIsRUFBK0I7QUFDN0JELElBQUFBLE9BQU8sR0FBRyxJQUFJQyxHQUFKLENBQVFGLEdBQVIsQ0FBVjtBQUNELEdBRkQsTUFFTztBQUNMQyxJQUFBQSxP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QlosRUFBQUEsTUFBTSxFQUFFVSxtQkFBVUMsTUFKSztBQUt2QlYsRUFBQUEsR0FBRyxFQUFFUyxtQkFBVUMsTUFBVixDQUFpQkU7QUFMQyxDQUF6QjtlQVFlakIsWSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBIVE1MVmlkZW9Db250ZW50IGZyb20gJy4vSFRNTFZpZGVvQ29udGVudCc7XG5pbXBvcnQgVmltZW9Db250ZW50IGZyb20gJy4vVmltZW9Db250ZW50JztcbmltcG9ydCBZb3VUdWJlQ29udGVudCBmcm9tICcuL1lvdVR1YmVDb250ZW50JztcblxuY29uc3QgWU9VVFVCRV9ET01BSU4gPSAneW91dHViZS5jb20nO1xuY29uc3QgWU9VVFVCRV9XV1dfRE9NQUlOID0gJ3d3dy55b3V0dWJlLmNvbSc7XG5jb25zdCBZT1VUVUJFX1NIT1JUX0RPTUFJTiA9ICd5b3V0dS5iZSc7XG5jb25zdCBZT1VUVUJFX1dXV19TSE9SVF9ET01BSU4gPSAnd3d3LnlvdXR1LmJlJztcbmNvbnN0IFZJTUVPX0RPTUFJTiA9ICd2aW1lby5jb20nO1xuY29uc3QgVklNRU9fV1dXX0RPTUFJTiA9ICd3d3cudmltZW8uY29tJztcblxuLy8gVGhpcyBpcyBhIHdvcmthcm91bmRcbi8vIC0gVG9kYXksIHRoZXJlIGlzIG5vIGdvb2QgVVJMIHBvbHlmaWxsIGZvciBvbGRlciBicm93c2VyXG4vLyAtIEluc3RlYWQgb2Ygd3JpdGluZyBhIFVSTCBwYXJzZXIsIGZvciBvbGRlciBicm93c2VyLCB3ZSB3aWxsIHVzZSB0aGlzIDxhIGhyZWY+IHRyaWNrIHRvIHBhcnNlIHRoZSBVUkxcbmZ1bmN0aW9uIHBhcnNlVVJMKHVybCkge1xuICBsZXQgdXJsTGlrZTtcblxuICBpZiAodHlwZW9mIFVSTCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHVybExpa2UgPSBuZXcgVVJMKHVybCk7XG4gIH0gZWxzZSB7XG4gICAgdXJsTGlrZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICB1cmxMaWtlLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gIH1cblxuICBjb25zdCB7IGhvc3RuYW1lLCBwYXRobmFtZSwgc2VhcmNoIH0gPSB1cmxMaWtlO1xuXG4gIHJldHVybiB7IGhvc3RuYW1lLCBwYXRobmFtZSwgc2VhcmNoIH07XG59XG5cbmNvbnN0IFZpZGVvQ29udGVudCA9ICh7IGFsdCwgYXV0b1BsYXksIGxvb3AsIHBvc3Rlciwgc3JjIH0pID0+IHtcbiAgY29uc3QgeyBob3N0bmFtZSwgcGF0aG5hbWUsIHNlYXJjaCB9ID0gcGFyc2VVUkwoc3JjKTtcbiAgY29uc3QgbGFzdFNlZ21lbnQgPSBwYXRobmFtZS5zcGxpdCgnLycpLnBvcCgpO1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHNlYXJjaCk7XG5cbiAgc3dpdGNoIChob3N0bmFtZSkge1xuICAgIGNhc2UgVklNRU9fRE9NQUlOOlxuICAgIGNhc2UgVklNRU9fV1dXX0RPTUFJTjpcbiAgICAgIHJldHVybiA8VmltZW9Db250ZW50IGFsdD17YWx0fSBhdXRvUGxheT17YXV0b1BsYXl9IGVtYmVkSUQ9e2xhc3RTZWdtZW50fSBsb29wPXtsb29wfSAvPjtcblxuICAgIGNhc2UgWU9VVFVCRV9ET01BSU46XG4gICAgY2FzZSBZT1VUVUJFX1dXV19ET01BSU46XG4gICAgICByZXR1cm4gPFlvdVR1YmVDb250ZW50IGFsdD17YWx0fSBhdXRvUGxheT17YXV0b1BsYXl9IGVtYmVkSUQ9e3NlYXJjaFBhcmFtcy5nZXQoJ3YnKX0gbG9vcD17bG9vcH0gLz47XG5cbiAgICBjYXNlIFlPVVRVQkVfU0hPUlRfRE9NQUlOOlxuICAgIGNhc2UgWU9VVFVCRV9XV1dfU0hPUlRfRE9NQUlOOlxuICAgICAgcmV0dXJuIDxZb3VUdWJlQ29udGVudCBhbHQ9e2FsdH0gYXV0b1BsYXk9e2F1dG9QbGF5fSBlbWJlZElEPXtsYXN0U2VnbWVudH0gbG9vcD17bG9vcH0gLz47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxIVE1MVmlkZW9Db250ZW50IGFsdD17YWx0fSBhdXRvUGxheT17YXV0b1BsYXl9IGxvb3A9e2xvb3B9IHBvc3Rlcj17cG9zdGVyfSBzcmM9e3NyY30gLz47XG4gIH1cbn07XG5cblZpZGVvQ29udGVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGFsdDogJycsXG4gIGF1dG9QbGF5OiBmYWxzZSxcbiAgbG9vcDogZmFsc2UsXG4gIHBvc3RlcjogJydcbn07XG5cblZpZGVvQ29udGVudC5wcm9wVHlwZXMgPSB7XG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYXV0b1BsYXk6IFByb3BUeXBlcy5ib29sLFxuICBsb29wOiBQcm9wVHlwZXMuYm9vbCxcbiAgcG9zdGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzcmM6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVmlkZW9Db250ZW50O1xuIl19