UNPKG

botframework-webchat-component

Version:
109 lines (82 loc) 12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.connectDictationInterims = exports.default = void 0; var _botframeworkWebchatCore = require("botframework-webchat-core"); var _botframeworkWebchatApi = require("botframework-webchat-api"); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _connectToWebChat = _interopRequireDefault(require("../connectToWebChat")); var _useStyleSet3 = _interopRequireDefault(require("../hooks/useStyleSet")); var _useStyleToEmotionObject = _interopRequireDefault(require("../hooks/internal/useStyleToEmotionObject")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 _Constants$DictateSta = _botframeworkWebchatCore.Constants.DictateState, DICTATING = _Constants$DictateSta.DICTATING, STARTING = _Constants$DictateSta.STARTING, STOPPING = _Constants$DictateSta.STOPPING; var useDictateInterims = _botframeworkWebchatApi.hooks.useDictateInterims, useDictateState = _botframeworkWebchatApi.hooks.useDictateState, useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer; var ROOT_STYLE = { alignItems: 'center', display: 'flex' }; var connectDictationInterims = function connectDictationInterims() { for (var _len = arguments.length, selectors = new Array(_len), _key = 0; _key < _len; _key++) { selectors[_key] = arguments[_key]; } return _connectToWebChat.default.apply(void 0, [function (_ref) { var dictateInterims = _ref.dictateInterims, dictateState = _ref.dictateState, language = _ref.language; return { dictateInterims: dictateInterims, dictateState: dictateState, language: language }; }].concat(selectors)); }; exports.connectDictationInterims = connectDictationInterims; var DictationInterims = function DictationInterims(_ref2) { var className = _ref2.className; var _useDictateInterims = useDictateInterims(), _useDictateInterims2 = _slicedToArray(_useDictateInterims, 1), dictateInterims = _useDictateInterims2[0]; var _useDictateState = useDictateState(), _useDictateState2 = _slicedToArray(_useDictateState, 1), dictateState = _useDictateState2[0]; var _useStyleSet = (0, _useStyleSet3.default)(), _useStyleSet2 = _slicedToArray(_useStyleSet, 1), dictationInterimsStyleSet = _useStyleSet2[0].dictationInterims; var localize = useLocalizer(); var rootClassName = (0, _useStyleToEmotionObject.default)()(ROOT_STYLE) + ''; return dictateState === STARTING || dictateState === STOPPING ? /*#__PURE__*/_react.default.createElement("p", { className: (0, _classnames.default)(dictationInterimsStyleSet + '', rootClassName, (className || '') + '', 'status') }, dictateState === STARTING && localize('SPEECH_INPUT_STARTING')) : dictateState === DICTATING && (dictateInterims.length ? /*#__PURE__*/_react.default.createElement("p", { className: (0, _classnames.default)(dictationInterimsStyleSet + '', rootClassName, (className || '') + '', 'dictating') }, dictateInterims.map(function (interim, index) { return /*#__PURE__*/_react.default.createElement("span", { key: index }, interim, "\xA0"); })) : /*#__PURE__*/_react.default.createElement("p", { className: (0, _classnames.default)(dictationInterimsStyleSet + '', rootClassName, (className || '') + '', 'status') }, localize('SPEECH_INPUT_LISTENING'))); }; DictationInterims.defaultProps = { className: '' }; DictationInterims.propTypes = { className: _propTypes.default.string }; // TODO: [P3] After speech started, when clicking on the transcript, it should // stop the dictation and allow the user to type-correct the transcript var _default = DictationInterims; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZW5kQm94L0RpY3RhdGlvbkludGVyaW1zLmpzIl0sIm5hbWVzIjpbIkNvbnN0YW50cyIsIkRpY3RhdGVTdGF0ZSIsIkRJQ1RBVElORyIsIlNUQVJUSU5HIiwiU1RPUFBJTkciLCJ1c2VEaWN0YXRlSW50ZXJpbXMiLCJob29rcyIsInVzZURpY3RhdGVTdGF0ZSIsInVzZUxvY2FsaXplciIsIlJPT1RfU1RZTEUiLCJhbGlnbkl0ZW1zIiwiZGlzcGxheSIsImNvbm5lY3REaWN0YXRpb25JbnRlcmltcyIsInNlbGVjdG9ycyIsImNvbm5lY3RUb1dlYkNoYXQiLCJkaWN0YXRlSW50ZXJpbXMiLCJkaWN0YXRlU3RhdGUiLCJsYW5ndWFnZSIsIkRpY3RhdGlvbkludGVyaW1zIiwiY2xhc3NOYW1lIiwiZGljdGF0aW9uSW50ZXJpbXNTdHlsZVNldCIsImRpY3RhdGlvbkludGVyaW1zIiwibG9jYWxpemUiLCJyb290Q2xhc3NOYW1lIiwibGVuZ3RoIiwibWFwIiwiaW50ZXJpbSIsImluZGV4IiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7NEJBSUlBLGtDLENBREZDLFk7SUFBZ0JDLFMseUJBQUFBLFM7SUFBV0MsUSx5QkFBQUEsUTtJQUFVQyxRLHlCQUFBQSxRO0lBRy9CQyxrQixHQUFzREMsNkIsQ0FBdERELGtCO0lBQW9CRSxlLEdBQWtDRCw2QixDQUFsQ0MsZTtJQUFpQkMsWSxHQUFpQkYsNkIsQ0FBakJFLFk7QUFFN0MsSUFBTUMsVUFBVSxHQUFHO0FBQ2pCQyxFQUFBQSxVQUFVLEVBQUUsUUFESztBQUVqQkMsRUFBQUEsT0FBTyxFQUFFO0FBRlEsQ0FBbkI7O0FBS0EsSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQjtBQUFBLG9DQUFJQyxTQUFKO0FBQUlBLElBQUFBLFNBQUo7QUFBQTs7QUFBQSxTQUMvQkMseUNBQ0U7QUFBQSxRQUFHQyxlQUFILFFBQUdBLGVBQUg7QUFBQSxRQUFvQkMsWUFBcEIsUUFBb0JBLFlBQXBCO0FBQUEsUUFBa0NDLFFBQWxDLFFBQWtDQSxRQUFsQztBQUFBLFdBQWtEO0FBQ2hERixNQUFBQSxlQUFlLEVBQWZBLGVBRGdEO0FBRWhEQyxNQUFBQSxZQUFZLEVBQVpBLFlBRmdEO0FBR2hEQyxNQUFBQSxRQUFRLEVBQVJBO0FBSGdELEtBQWxEO0FBQUEsR0FERixTQU1LSixTQU5MLEVBRCtCO0FBQUEsQ0FBakM7Ozs7QUFVQSxJQUFNSyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLFFBQW1CO0FBQUEsTUFBaEJDLFNBQWdCLFNBQWhCQSxTQUFnQjs7QUFBQSw0QkFDakJkLGtCQUFrQixFQUREO0FBQUE7QUFBQSxNQUNwQ1UsZUFEb0M7O0FBQUEseUJBRXBCUixlQUFlLEVBRks7QUFBQTtBQUFBLE1BRXBDUyxZQUZvQzs7QUFBQSxxQkFHZ0IsNEJBSGhCO0FBQUE7QUFBQSxNQUdmSSx5QkFIZSxvQkFHbENDLGlCQUhrQzs7QUFJM0MsTUFBTUMsUUFBUSxHQUFHZCxZQUFZLEVBQTdCO0FBQ0EsTUFBTWUsYUFBYSxHQUFHLHdDQUEwQmQsVUFBMUIsSUFBd0MsRUFBOUQ7QUFFQSxTQUFPTyxZQUFZLEtBQUtiLFFBQWpCLElBQTZCYSxZQUFZLEtBQUtaLFFBQTlDLGdCQUNMO0FBQUcsSUFBQSxTQUFTLEVBQUUseUJBQVdnQix5QkFBeUIsR0FBRyxFQUF2QyxFQUEyQ0csYUFBM0MsRUFBMEQsQ0FBQ0osU0FBUyxJQUFJLEVBQWQsSUFBb0IsRUFBOUUsRUFBa0YsUUFBbEY7QUFBZCxLQUNHSCxZQUFZLEtBQUtiLFFBQWpCLElBQTZCbUIsUUFBUSxDQUFDLHVCQUFELENBRHhDLENBREssR0FLTE4sWUFBWSxLQUFLZCxTQUFqQixLQUNHYSxlQUFlLENBQUNTLE1BQWhCLGdCQUNDO0FBQUcsSUFBQSxTQUFTLEVBQUUseUJBQVdKLHlCQUF5QixHQUFHLEVBQXZDLEVBQTJDRyxhQUEzQyxFQUEwRCxDQUFDSixTQUFTLElBQUksRUFBZCxJQUFvQixFQUE5RSxFQUFrRixXQUFsRjtBQUFkLEtBQ0dKLGVBQWUsQ0FBQ1UsR0FBaEIsQ0FBb0IsVUFBQ0MsT0FBRCxFQUFVQyxLQUFWO0FBQUEsd0JBQ25CO0FBQU0sTUFBQSxHQUFHLEVBQUVBO0FBQVgsT0FDR0QsT0FESCxTQURtQjtBQUFBLEdBQXBCLENBREgsQ0FERCxnQkFVQztBQUFHLElBQUEsU0FBUyxFQUFFLHlCQUFXTix5QkFBeUIsR0FBRyxFQUF2QyxFQUEyQ0csYUFBM0MsRUFBMEQsQ0FBQ0osU0FBUyxJQUFJLEVBQWQsSUFBb0IsRUFBOUUsRUFBa0YsUUFBbEY7QUFBZCxLQUNHRyxRQUFRLENBQUMsd0JBQUQsQ0FEWCxDQVhKLENBTEY7QUFxQkQsQ0E1QkQ7O0FBOEJBSixpQkFBaUIsQ0FBQ1UsWUFBbEIsR0FBaUM7QUFDL0JULEVBQUFBLFNBQVMsRUFBRTtBQURvQixDQUFqQztBQUlBRCxpQkFBaUIsQ0FBQ1csU0FBbEIsR0FBOEI7QUFDNUJWLEVBQUFBLFNBQVMsRUFBRVcsbUJBQVVDO0FBRE8sQ0FBOUIsQyxDQUlBO0FBQ0E7O2VBRWViLGlCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5OiBcIm9mZlwiICovXG5cbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IGNvbm5lY3RUb1dlYkNoYXQgZnJvbSAnLi4vY29ubmVjdFRvV2ViQ2hhdCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0IGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9FbW90aW9uT2JqZWN0JztcblxuY29uc3Qge1xuICBEaWN0YXRlU3RhdGU6IHsgRElDVEFUSU5HLCBTVEFSVElORywgU1RPUFBJTkcgfVxufSA9IENvbnN0YW50cztcblxuY29uc3QgeyB1c2VEaWN0YXRlSW50ZXJpbXMsIHVzZURpY3RhdGVTdGF0ZSwgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGRpc3BsYXk6ICdmbGV4J1xufTtcblxuY29uc3QgY29ubmVjdERpY3RhdGlvbkludGVyaW1zID0gKC4uLnNlbGVjdG9ycykgPT5cbiAgY29ubmVjdFRvV2ViQ2hhdChcbiAgICAoeyBkaWN0YXRlSW50ZXJpbXMsIGRpY3RhdGVTdGF0ZSwgbGFuZ3VhZ2UgfSkgPT4gKHtcbiAgICAgIGRpY3RhdGVJbnRlcmltcyxcbiAgICAgIGRpY3RhdGVTdGF0ZSxcbiAgICAgIGxhbmd1YWdlXG4gICAgfSksXG4gICAgLi4uc2VsZWN0b3JzXG4gICk7XG5cbmNvbnN0IERpY3RhdGlvbkludGVyaW1zID0gKHsgY2xhc3NOYW1lIH0pID0+IHtcbiAgY29uc3QgW2RpY3RhdGVJbnRlcmltc10gPSB1c2VEaWN0YXRlSW50ZXJpbXMoKTtcbiAgY29uc3QgW2RpY3RhdGVTdGF0ZV0gPSB1c2VEaWN0YXRlU3RhdGUoKTtcbiAgY29uc3QgW3sgZGljdGF0aW9uSW50ZXJpbXM6IGRpY3RhdGlvbkludGVyaW1zU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCByb290Q2xhc3NOYW1lID0gdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QoKShST09UX1NUWUxFKSArICcnO1xuXG4gIHJldHVybiBkaWN0YXRlU3RhdGUgPT09IFNUQVJUSU5HIHx8IGRpY3RhdGVTdGF0ZSA9PT0gU1RPUFBJTkcgPyAoXG4gICAgPHAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGRpY3RhdGlvbkludGVyaW1zU3R5bGVTZXQgKyAnJywgcm9vdENsYXNzTmFtZSwgKGNsYXNzTmFtZSB8fCAnJykgKyAnJywgJ3N0YXR1cycpfT5cbiAgICAgIHtkaWN0YXRlU3RhdGUgPT09IFNUQVJUSU5HICYmIGxvY2FsaXplKCdTUEVFQ0hfSU5QVVRfU1RBUlRJTkcnKX1cbiAgICA8L3A+XG4gICkgOiAoXG4gICAgZGljdGF0ZVN0YXRlID09PSBESUNUQVRJTkcgJiZcbiAgICAgIChkaWN0YXRlSW50ZXJpbXMubGVuZ3RoID8gKFxuICAgICAgICA8cCBjbGFzc05hbWU9e2NsYXNzTmFtZXMoZGljdGF0aW9uSW50ZXJpbXNTdHlsZVNldCArICcnLCByb290Q2xhc3NOYW1lLCAoY2xhc3NOYW1lIHx8ICcnKSArICcnLCAnZGljdGF0aW5nJyl9PlxuICAgICAgICAgIHtkaWN0YXRlSW50ZXJpbXMubWFwKChpbnRlcmltLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPHNwYW4ga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgIHtpbnRlcmltfVxuICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9wPlxuICAgICAgKSA6IChcbiAgICAgICAgPHAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGRpY3RhdGlvbkludGVyaW1zU3R5bGVTZXQgKyAnJywgcm9vdENsYXNzTmFtZSwgKGNsYXNzTmFtZSB8fCAnJykgKyAnJywgJ3N0YXR1cycpfT5cbiAgICAgICAgICB7bG9jYWxpemUoJ1NQRUVDSF9JTlBVVF9MSVNURU5JTkcnKX1cbiAgICAgICAgPC9wPlxuICAgICAgKSlcbiAgKTtcbn07XG5cbkRpY3RhdGlvbkludGVyaW1zLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiAnJ1xufTtcblxuRGljdGF0aW9uSW50ZXJpbXMucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbi8vIFRPRE86IFtQM10gQWZ0ZXIgc3BlZWNoIHN0YXJ0ZWQsIHdoZW4gY2xpY2tpbmcgb24gdGhlIHRyYW5zY3JpcHQsIGl0IHNob3VsZFxuLy8gICAgICAgc3RvcCB0aGUgZGljdGF0aW9uIGFuZCBhbGxvdyB0aGUgdXNlciB0byB0eXBlLWNvcnJlY3QgdGhlIHRyYW5zY3JpcHRcblxuZXhwb3J0IGRlZmF1bHQgRGljdGF0aW9uSW50ZXJpbXM7XG5cbmV4cG9ydCB7IGNvbm5lY3REaWN0YXRpb25JbnRlcmltcyB9O1xuIl19