botframework-webchat-component
Version:
React component of botframework-webchat
99 lines (72 loc) • 9.59 kB
JavaScript
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.connectSendButton = exports.default = void 0;
var _botframeworkWebchatApi = require("botframework-webchat-api");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _connectToWebChat = _interopRequireDefault(require("../connectToWebChat"));
var _IconButton = _interopRequireDefault(require("./IconButton"));
var _SendIcon = _interopRequireDefault(require("./Assets/SendIcon"));
var _useFocus = _interopRequireDefault(require("../hooks/useFocus"));
var _useScrollToEnd = _interopRequireDefault(require("../hooks/useScrollToEnd"));
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 useDisabled = _botframeworkWebchatApi.hooks.useDisabled,
useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer,
useSubmitSendBox = _botframeworkWebchatApi.hooks.useSubmitSendBox;
var connectSendButton = function connectSendButton() {
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 disabled = _ref.disabled,
language = _ref.language,
submitSendBox = _ref.submitSendBox;
return {
disabled: disabled,
language: language,
submitSendBox: submitSendBox
};
}].concat(selectors));
};
exports.connectSendButton = connectSendButton;
var SendButton = function SendButton(_ref2) {
var className = _ref2.className;
var _useDisabled = useDisabled(),
_useDisabled2 = _slicedToArray(_useDisabled, 1),
disabled = _useDisabled2[0];
var focus = (0, _useFocus.default)();
var localize = useLocalizer();
var scrollToEnd = (0, _useScrollToEnd.default)();
var submitSendBox = useSubmitSendBox();
var handleClick = (0, _react.useCallback)(function () {
focus('sendBoxWithoutKeyboard');
scrollToEnd();
submitSendBox();
}, [focus, scrollToEnd, submitSendBox]);
return /*#__PURE__*/_react.default.createElement(_IconButton.default, {
alt: localize('TEXT_INPUT_SEND_BUTTON_ALT'),
className: className,
disabled: disabled,
onClick: handleClick
}, /*#__PURE__*/_react.default.createElement(_SendIcon.default, null));
};
SendButton.defaultProps = {
className: undefined
};
SendButton.propTypes = {
className: _propTypes.default.string
};
var _default = SendButton;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZW5kQm94L1NlbmRCdXR0b24uanMiXSwibmFtZXMiOlsidXNlRGlzYWJsZWQiLCJob29rcyIsInVzZUxvY2FsaXplciIsInVzZVN1Ym1pdFNlbmRCb3giLCJjb25uZWN0U2VuZEJ1dHRvbiIsInNlbGVjdG9ycyIsImNvbm5lY3RUb1dlYkNoYXQiLCJkaXNhYmxlZCIsImxhbmd1YWdlIiwic3VibWl0U2VuZEJveCIsIlNlbmRCdXR0b24iLCJjbGFzc05hbWUiLCJmb2N1cyIsImxvY2FsaXplIiwic2Nyb2xsVG9FbmQiLCJoYW5kbGVDbGljayIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRVFBLFcsR0FBZ0RDLDZCLENBQWhERCxXO0lBQWFFLFksR0FBbUNELDZCLENBQW5DQyxZO0lBQWNDLGdCLEdBQXFCRiw2QixDQUFyQkUsZ0I7O0FBRW5DLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0I7QUFBQSxvQ0FBSUMsU0FBSjtBQUFJQSxJQUFBQSxTQUFKO0FBQUE7O0FBQUEsU0FDeEJDLHlDQUNFO0FBQUEsUUFBR0MsUUFBSCxRQUFHQSxRQUFIO0FBQUEsUUFBYUMsUUFBYixRQUFhQSxRQUFiO0FBQUEsUUFBdUJDLGFBQXZCLFFBQXVCQSxhQUF2QjtBQUFBLFdBQTRDO0FBQzFDRixNQUFBQSxRQUFRLEVBQVJBLFFBRDBDO0FBRTFDQyxNQUFBQSxRQUFRLEVBQVJBLFFBRjBDO0FBRzFDQyxNQUFBQSxhQUFhLEVBQWJBO0FBSDBDLEtBQTVDO0FBQUEsR0FERixTQU1LSixTQU5MLEVBRHdCO0FBQUEsQ0FBMUI7Ozs7QUFVQSxJQUFNSyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxRQUFtQjtBQUFBLE1BQWhCQyxTQUFnQixTQUFoQkEsU0FBZ0I7O0FBQUEscUJBQ2pCWCxXQUFXLEVBRE07QUFBQTtBQUFBLE1BQzdCTyxRQUQ2Qjs7QUFFcEMsTUFBTUssS0FBSyxHQUFHLHdCQUFkO0FBQ0EsTUFBTUMsUUFBUSxHQUFHWCxZQUFZLEVBQTdCO0FBQ0EsTUFBTVksV0FBVyxHQUFHLDhCQUFwQjtBQUNBLE1BQU1MLGFBQWEsR0FBR04sZ0JBQWdCLEVBQXRDO0FBRUEsTUFBTVksV0FBVyxHQUFHLHdCQUFZLFlBQU07QUFDcENILElBQUFBLEtBQUssQ0FBQyx3QkFBRCxDQUFMO0FBQ0FFLElBQUFBLFdBQVc7QUFDWEwsSUFBQUEsYUFBYTtBQUNkLEdBSm1CLEVBSWpCLENBQUNHLEtBQUQsRUFBUUUsV0FBUixFQUFxQkwsYUFBckIsQ0FKaUIsQ0FBcEI7QUFNQSxzQkFDRSw2QkFBQyxtQkFBRDtBQUNFLElBQUEsR0FBRyxFQUFFSSxRQUFRLENBQUMsNEJBQUQsQ0FEZjtBQUVFLElBQUEsU0FBUyxFQUFFRixTQUZiO0FBR0UsSUFBQSxRQUFRLEVBQUVKLFFBSFo7QUFJRSxJQUFBLE9BQU8sRUFBRVE7QUFKWCxrQkFNRSw2QkFBQyxpQkFBRCxPQU5GLENBREY7QUFVRCxDQXZCRDs7QUF5QkFMLFVBQVUsQ0FBQ00sWUFBWCxHQUEwQjtBQUN4QkwsRUFBQUEsU0FBUyxFQUFFTTtBQURhLENBQTFCO0FBSUFQLFVBQVUsQ0FBQ1EsU0FBWCxHQUF1QjtBQUNyQlAsRUFBQUEsU0FBUyxFQUFFUSxtQkFBVUM7QUFEQSxDQUF2QjtlQUllVixVIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgY29ubmVjdFRvV2ViQ2hhdCBmcm9tICcuLi9jb25uZWN0VG9XZWJDaGF0JztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJy4vSWNvbkJ1dHRvbic7XG5pbXBvcnQgU2VuZEljb24gZnJvbSAnLi9Bc3NldHMvU2VuZEljb24nO1xuaW1wb3J0IHVzZUZvY3VzIGZyb20gJy4uL2hvb2tzL3VzZUZvY3VzJztcbmltcG9ydCB1c2VTY3JvbGxUb0VuZCBmcm9tICcuLi9ob29rcy91c2VTY3JvbGxUb0VuZCc7XG5cbmNvbnN0IHsgdXNlRGlzYWJsZWQsIHVzZUxvY2FsaXplciwgdXNlU3VibWl0U2VuZEJveCB9ID0gaG9va3M7XG5cbmNvbnN0IGNvbm5lY3RTZW5kQnV0dG9uID0gKC4uLnNlbGVjdG9ycykgPT5cbiAgY29ubmVjdFRvV2ViQ2hhdChcbiAgICAoeyBkaXNhYmxlZCwgbGFuZ3VhZ2UsIHN1Ym1pdFNlbmRCb3ggfSkgPT4gKHtcbiAgICAgIGRpc2FibGVkLFxuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBzdWJtaXRTZW5kQm94XG4gICAgfSksXG4gICAgLi4uc2VsZWN0b3JzXG4gICk7XG5cbmNvbnN0IFNlbmRCdXR0b24gPSAoeyBjbGFzc05hbWUgfSkgPT4ge1xuICBjb25zdCBbZGlzYWJsZWRdID0gdXNlRGlzYWJsZWQoKTtcbiAgY29uc3QgZm9jdXMgPSB1c2VGb2N1cygpO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBzY3JvbGxUb0VuZCA9IHVzZVNjcm9sbFRvRW5kKCk7XG4gIGNvbnN0IHN1Ym1pdFNlbmRCb3ggPSB1c2VTdWJtaXRTZW5kQm94KCk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgZm9jdXMoJ3NlbmRCb3hXaXRob3V0S2V5Ym9hcmQnKTtcbiAgICBzY3JvbGxUb0VuZCgpO1xuICAgIHN1Ym1pdFNlbmRCb3goKTtcbiAgfSwgW2ZvY3VzLCBzY3JvbGxUb0VuZCwgc3VibWl0U2VuZEJveF0pO1xuXG4gIHJldHVybiAoXG4gICAgPEljb25CdXR0b25cbiAgICAgIGFsdD17bG9jYWxpemUoJ1RFWFRfSU5QVVRfU0VORF9CVVRUT05fQUxUJyl9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgID5cbiAgICAgIDxTZW5kSWNvbiAvPlxuICAgIDwvSWNvbkJ1dHRvbj5cbiAgKTtcbn07XG5cblNlbmRCdXR0b24uZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuU2VuZEJ1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2VuZEJ1dHRvbjtcblxuZXhwb3J0IHsgY29ubmVjdFNlbmRCdXR0b24gfTtcbiJdfQ==
;