UNPKG

botframework-webchat-component

Version:
62 lines (61 loc) 15.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useRenderMarkdownAsHTML; var _css = require("@emotion/css"); var _botframeworkWebchatApi = require("botframework-webchat-api"); var _react = require("react"); var _parseDocumentFromString = _interopRequireDefault(require("../Utils/parseDocumentFromString")); var _serializeDocumentIntoString = _interopRequireDefault(require("../Utils/serializeDocumentIntoString")); var _useWebChatUIContext2 = _interopRequireDefault(require("./internal/useWebChatUIContext")); var _useStyleSet3 = _interopRequireDefault(require("./useStyleSet")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer, useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions; function useRenderMarkdownAsHTML() { var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'message activity'; var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(), renderMarkdown = _useWebChatUIContext.renderMarkdown; var _useStyleOptions = useStyleOptions(), _useStyleOptions2 = _slicedToArray(_useStyleOptions, 1), styleOptions = _useStyleOptions2[0]; var _useStyleSet = (0, _useStyleSet3.default)(), _useStyleSet2 = _slicedToArray(_useStyleSet, 1), renderMarkdownStyleSet = _useStyleSet2[0].renderMarkdown; var localize = useLocalizer(); var externalLinkAlt = localize('MARKDOWN_EXTERNAL_LINK_ALT'); var containerClassName = (0, _react.useMemo)(function () { return (0, _css.cx)('webchat__render-markdown', { 'webchat__render-markdown--adaptive-cards': mode === 'adaptive cards', 'webchat__render-markdown--citation': mode === 'citation modal', 'webchat__render-markdown--message-activity': mode !== 'accessible name' && mode !== 'adaptive cards' && mode !== 'citation modal' }, renderMarkdownStyleSet + ''); }, [mode, renderMarkdownStyleSet]); return (0, _react.useMemo)(function () { return renderMarkdown && function (markdown) { var _rootElement$classLis; var htmlAfterSanitization = renderMarkdown(markdown, styleOptions, { containerClassName: containerClassName, externalLinkAlt: externalLinkAlt }); var documentAfterSanitization = (0, _parseDocumentFromString.default)(htmlAfterSanitization); var rootElement = documentAfterSanitization.createElement('div'); containerClassName && (_rootElement$classLis = rootElement.classList).add.apply(_rootElement$classLis, _toConsumableArray(containerClassName.split(' ').filter(Boolean))); rootElement.append.apply(rootElement, _toConsumableArray(documentAfterSanitization.body.children)); documentAfterSanitization.body.append(rootElement); return (0, _serializeDocumentIntoString.default)(documentAfterSanitization); }; }, [containerClassName, externalLinkAlt, renderMarkdown, styleOptions]); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3NzIiwicmVxdWlyZSIsIl9ib3RmcmFtZXdvcmtXZWJjaGF0QXBpIiwiX3JlYWN0IiwiX3BhcnNlRG9jdW1lbnRGcm9tU3RyaW5nIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zZXJpYWxpemVEb2N1bWVudEludG9TdHJpbmciLCJfdXNlV2ViQ2hhdFVJQ29udGV4dDIiLCJfdXNlU3R5bGVTZXQzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiaXRlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJpIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX25vbkl0ZXJhYmxlUmVzdCIsIm8iLCJtaW5MZW4iLCJuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiX2FyciIsIl9uIiwiX2QiLCJfcyIsIl9lIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsInVzZVN0eWxlT3B0aW9ucyIsInVzZVJlbmRlck1hcmtkb3duQXNIVE1MIiwibW9kZSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl91c2VXZWJDaGF0VUlDb250ZXh0IiwidXNlV2ViQ2hhdFVJQ29udGV4dCIsInJlbmRlck1hcmtkb3duIiwiX3VzZVN0eWxlT3B0aW9ucyIsIl91c2VTdHlsZU9wdGlvbnMyIiwic3R5bGVPcHRpb25zIiwiX3VzZVN0eWxlU2V0IiwidXNlU3R5bGVTZXQiLCJfdXNlU3R5bGVTZXQyIiwicmVuZGVyTWFya2Rvd25TdHlsZVNldCIsImxvY2FsaXplIiwiZXh0ZXJuYWxMaW5rQWx0IiwiY29udGFpbmVyQ2xhc3NOYW1lIiwidXNlTWVtbyIsImN4IiwibWFya2Rvd24iLCJfcm9vdEVsZW1lbnQkY2xhc3NMaXMiLCJodG1sQWZ0ZXJTYW5pdGl6YXRpb24iLCJkb2N1bWVudEFmdGVyU2FuaXRpemF0aW9uIiwicGFyc2VEb2N1bWVudEZyb21TdHJpbmciLCJyb290RWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc0xpc3QiLCJhZGQiLCJhcHBseSIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImFwcGVuZCIsImJvZHkiLCJjaGlsZHJlbiIsInNlcmlhbGl6ZURvY3VtZW50SW50b1N0cmluZyJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVJlbmRlck1hcmtkb3duQXNIVE1MLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN4IH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IGhvb2tzLCBTdHJpY3RTdHlsZU9wdGlvbnMgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHBhcnNlRG9jdW1lbnRGcm9tU3RyaW5nIGZyb20gJy4uL1V0aWxzL3BhcnNlRG9jdW1lbnRGcm9tU3RyaW5nJztcbmltcG9ydCBzZXJpYWxpemVEb2N1bWVudEludG9TdHJpbmcgZnJvbSAnLi4vVXRpbHMvc2VyaWFsaXplRG9jdW1lbnRJbnRvU3RyaW5nJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi91c2VTdHlsZVNldCc7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyLCB1c2VTdHlsZU9wdGlvbnMgfSA9IGhvb2tzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZW5kZXJNYXJrZG93bkFzSFRNTChcbiAgbW9kZTogJ2FjY2Vzc2libGUgbmFtZScgfCAnYWRhcHRpdmUgY2FyZHMnIHwgJ2NpdGF0aW9uIG1vZGFsJyB8ICdtZXNzYWdlIGFjdGl2aXR5JyA9ICdtZXNzYWdlIGFjdGl2aXR5J1xuKTpcbiAgfCAoKFxuICAgICAgbWFya2Rvd246IHN0cmluZyxcbiAgICAgIHN0eWxlT3B0aW9ucz86IFJlYWRvbmx5PFN0cmljdFN0eWxlT3B0aW9ucz4sXG4gICAgICBvcHRpb25zPzogUmVhZG9ubHk8eyBleHRlcm5hbExpbmtBbHQ6IHN0cmluZyB9PlxuICAgICkgPT4gc3RyaW5nKVxuICB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgcmVuZGVyTWFya2Rvd24gfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcbiAgY29uc3QgW3N0eWxlT3B0aW9uc10gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgW3sgcmVuZGVyTWFya2Rvd246IHJlbmRlck1hcmtkb3duU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuXG4gIGNvbnN0IGV4dGVybmFsTGlua0FsdCA9IGxvY2FsaXplKCdNQVJLRE9XTl9FWFRFUk5BTF9MSU5LX0FMVCcpO1xuXG4gIGNvbnN0IGNvbnRhaW5lckNsYXNzTmFtZSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGN4KFxuICAgICAgICAnd2ViY2hhdF9fcmVuZGVyLW1hcmtkb3duJyxcbiAgICAgICAge1xuICAgICAgICAgICd3ZWJjaGF0X19yZW5kZXItbWFya2Rvd24tLWFkYXB0aXZlLWNhcmRzJzogbW9kZSA9PT0gJ2FkYXB0aXZlIGNhcmRzJyxcbiAgICAgICAgICAnd2ViY2hhdF9fcmVuZGVyLW1hcmtkb3duLS1jaXRhdGlvbic6IG1vZGUgPT09ICdjaXRhdGlvbiBtb2RhbCcsXG4gICAgICAgICAgJ3dlYmNoYXRfX3JlbmRlci1tYXJrZG93bi0tbWVzc2FnZS1hY3Rpdml0eSc6XG4gICAgICAgICAgICBtb2RlICE9PSAnYWNjZXNzaWJsZSBuYW1lJyAmJiBtb2RlICE9PSAnYWRhcHRpdmUgY2FyZHMnICYmIG1vZGUgIT09ICdjaXRhdGlvbiBtb2RhbCdcbiAgICAgICAgfSxcbiAgICAgICAgcmVuZGVyTWFya2Rvd25TdHlsZVNldCArICcnXG4gICAgICApLFxuICAgIFttb2RlLCByZW5kZXJNYXJrZG93blN0eWxlU2V0XVxuICApO1xuXG4gIHJldHVybiB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICByZW5kZXJNYXJrZG93biAmJlxuICAgICAgKG1hcmtkb3duID0+IHtcbiAgICAgICAgY29uc3QgaHRtbEFmdGVyU2FuaXRpemF0aW9uID0gcmVuZGVyTWFya2Rvd24obWFya2Rvd24sIHN0eWxlT3B0aW9ucywgeyBjb250YWluZXJDbGFzc05hbWUsIGV4dGVybmFsTGlua0FsdCB9KTtcblxuICAgICAgICBjb25zdCBkb2N1bWVudEFmdGVyU2FuaXRpemF0aW9uID0gcGFyc2VEb2N1bWVudEZyb21TdHJpbmcoaHRtbEFmdGVyU2FuaXRpemF0aW9uKTtcblxuICAgICAgICBjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50QWZ0ZXJTYW5pdGl6YXRpb24uY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgY29udGFpbmVyQ2xhc3NOYW1lICYmIHJvb3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uY29udGFpbmVyQ2xhc3NOYW1lLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pKTtcblxuICAgICAgICByb290RWxlbWVudC5hcHBlbmQoLi4uZG9jdW1lbnRBZnRlclNhbml0aXphdGlvbi5ib2R5LmNoaWxkcmVuKTtcbiAgICAgICAgZG9jdW1lbnRBZnRlclNhbml0aXphdGlvbi5ib2R5LmFwcGVuZChyb290RWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZURvY3VtZW50SW50b1N0cmluZyhkb2N1bWVudEFmdGVyU2FuaXRpemF0aW9uKTtcbiAgICAgIH0pLFxuICAgIFtjb250YWluZXJDbGFzc05hbWUsIGV4dGVybmFsTGlua0FsdCwgcmVuZGVyTWFya2Rvd24sIHN0eWxlT3B0aW9uc11cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsdUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLHdCQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyw0QkFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0scUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUgsc0JBQUEsQ0FBQUosT0FBQTtBQUF3QyxTQUFBSSx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLG1CQUFBQyxHQUFBLFdBQUFDLGtCQUFBLENBQUFELEdBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsR0FBQSxLQUFBRywyQkFBQSxDQUFBSCxHQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFILGlCQUFBSSxJQUFBLGVBQUFDLE1BQUEsb0JBQUFELElBQUEsQ0FBQUMsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLElBQUEsK0JBQUFHLEtBQUEsQ0FBQUMsSUFBQSxDQUFBSixJQUFBO0FBQUEsU0FBQUwsbUJBQUFELEdBQUEsUUFBQVMsS0FBQSxDQUFBRSxPQUFBLENBQUFYLEdBQUEsVUFBQVksaUJBQUEsQ0FBQVosR0FBQTtBQUFBLFNBQUFhLGVBQUFiLEdBQUEsRUFBQWMsQ0FBQSxXQUFBQyxlQUFBLENB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