botframework-webchat-component
Version:
React component of botframework-webchat
38 lines (36 loc) • 8.63 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useLocalizeAccessKey;
var _botframeworkWebchatApi = require("botframework-webchat-api");
var _react = require("react");
var _useNavigatorPlatform3 = _interopRequireDefault(require("./useNavigatorPlatform"));
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) { 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;
function useLocalizeAccessKey(type) {
var _useNavigatorPlatform = (0, _useNavigatorPlatform3.default)(),
_useNavigatorPlatform2 = _slicedToArray(_useNavigatorPlatform, 1),
apple = _useNavigatorPlatform2[0].apple;
var localize = useLocalizer();
return (0, _react.useCallback)(function (accessKey) {
if (!accessKey || typeof accessKey !== 'string' || !accessKey.length) {
throw new Error('useLocalizeAccessKey: "accessKey" must be a non-empty string');
}
if (type === 'accessible name') {
// This will localize as "Alt + Shift + A".
return localize(apple ? 'ACCESS_KEY_FOR_MAC_ALT' : 'ACCESS_KEY_ALT', accessKey[0]);
}
// "aria-keyshortcuts" do not need to be localized, it should be "alt+shift+a".
// On Mac, "AltGraph" is preferred over "Option" key.
// https://w3c.github.io/aria/#aria-keyshortcuts
return (apple ? 'Control+AltGraph+' : 'Alt+Shift+') + accessKey[0];
}, [apple, localize, type]);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdEFwaSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfdXNlTmF2aWdhdG9yUGxhdGZvcm0zIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJpIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsIm8iLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIm4iLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJhcnIyIiwiX2kiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9hcnIiLCJfbiIsIl9kIiwiX3MiLCJfZSIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiZXJyIiwiaXNBcnJheSIsInVzZUxvY2FsaXplciIsImhvb2tzIiwidXNlTG9jYWxpemVBY2Nlc3NLZXkiLCJ0eXBlIiwiX3VzZU5hdmlnYXRvclBsYXRmb3JtIiwidXNlTmF2aWdhdG9yUGxhdGZvcm0iLCJfdXNlTmF2aWdhdG9yUGxhdGZvcm0yIiwiYXBwbGUiLCJsb2NhbGl6ZSIsInVzZUNhbGxiYWNrIiwiYWNjZXNzS2V5IiwiRXJyb3IiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VMb2NhbGl6ZUFjY2Vzc0tleS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZU5hdmlnYXRvclBsYXRmb3JtIGZyb20gJy4vdXNlTmF2aWdhdG9yUGxhdGZvcm0nO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciB9ID0gaG9va3M7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2FsaXplQWNjZXNzS2V5KHR5cGU6ICdhY2Nlc3NpYmxlIG5hbWUnIHwgJ2FyaWEta2V5c2hvcnRjdXRzJykge1xuICBjb25zdCBbeyBhcHBsZSB9XSA9IHVzZU5hdmlnYXRvclBsYXRmb3JtKCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgIGFjY2Vzc0tleSA9PiB7XG4gICAgICBpZiAoIWFjY2Vzc0tleSB8fCB0eXBlb2YgYWNjZXNzS2V5ICE9PSAnc3RyaW5nJyB8fCAhYWNjZXNzS2V5Lmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUxvY2FsaXplQWNjZXNzS2V5OiBcImFjY2Vzc0tleVwiIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnYWNjZXNzaWJsZSBuYW1lJykge1xuICAgICAgICAvLyBUaGlzIHdpbGwgbG9jYWxpemUgYXMgXCJBbHQgKyBTaGlmdCArIEFcIi5cbiAgICAgICAgcmV0dXJuIGxvY2FsaXplKGFwcGxlID8gJ0FDQ0VTU19LRVlfRk9SX01BQ19BTFQnIDogJ0FDQ0VTU19LRVlfQUxUJywgYWNjZXNzS2V5WzBdKTtcbiAgICAgIH1cblxuICAgICAgLy8gXCJhcmlhLWtleXNob3J0Y3V0c1wiIGRvIG5vdCBuZWVkIHRvIGJlIGxvY2FsaXplZCwgaXQgc2hvdWxkIGJlIFwiYWx0K3NoaWZ0K2FcIi5cbiAgICAgIC8vIE9uIE1hYywgXCJBbHRHcmFwaFwiIGlzIHByZWZlcnJlZCBvdmVyIFwiT3B0aW9uXCIga2V5LlxuICAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2FyaWEvI2FyaWEta2V5c2hvcnRjdXRzXG4gICAgICByZXR1cm4gKGFwcGxlID8gJ0NvbnRyb2wrQWx0R3JhcGgrJyA6ICdBbHQrU2hpZnQrJykgKyBhY2Nlc3NLZXlbMF07XG4gICAgfSxcbiAgICBbYXBwbGUsIGxvY2FsaXplLCB0eXBlXVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsc0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEwRCxTQUFBRyx1QkFBQUMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLGVBQUFDLEdBQUEsRUFBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFGLEdBQUEsS0FBQUcscUJBQUEsQ0FBQUgsR0FBQSxFQUFBQyxDQUFBLEtBQUFHLDJCQUFBLENBQUFKLEdBQUEsRUFBQUMsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBRiw0QkFBQUcsQ0FBQSxFQUFBQyxNQUFBLFNBQUFELENBQUEscUJBQUFBLENBQUEsc0JBQUFFLGlCQUFBLENBQUFGLENBQUEsRUFBQUMsTUFBQSxPQUFBRSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxDQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxFQUFBUSxLQUFBLGFBQUFMLENBQUEsaUJBQUFILENBQUEsQ0FBQVMsV0FBQSxFQUFBTixDQUFBLEdBQUFILENBQUEsQ0FBQVMsV0FBQSxDQUFBQyxJQUFBLE1BQUFQLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVEsS0FBQSxDQUFBQyxJQUFBLENBQUFaLENBQUEsT0FBQUcsQ0FBQSwrREFBQVUsSUFBQSxDQUFBVixDQUFBLFVBQUFELGlCQUFBLENBQUFGLENBQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFDLGtCQUFBVCxHQUFBLEVBQUFxQixHQUFBLFFBQUFBLEdBQUEsWUFBQUEsR0FBQSxHQUFBckIsR0FBQSxDQUFBc0IsTUFBQSxFQUFBRCxHQUFBLEdBQUFyQixHQUFBLENBQUFzQixNQUFBLFdBQUFyQixDQUFBLE1BQUFzQixJQUFBLE9BQUFMLEtBQUEsQ0FBQUcsR0FBQSxHQUFBcEIsQ0FBQSxHQUFBb0IsR0FBQSxFQUFBcEIsQ0FBQSxNQUFBc0IsSUFBQSxDQUFBdEIsQ0FBQSxJQUFBRCxHQUFBLENBQUFDLENBQUEsWUFBQXNCLElBQUE7QUFBQSxTQUFBcEIsc0JBQUFILEdBQUEsRUFBQUMsQ0FBQSxRQUFBdUIsRUFBQSxHQUFBeEIsR0FBQSx5QkFBQXlCLE1BQUEsb0JBQUF6QixHQUFBLENBQUF5QixNQUFBLENBQUFDLFFBQUEsS0FBQTFCLEdBQUEsb0JBQUF3QixFQUFBLHNCQUFBRyxJQUFBLFdBQUFDLEVBQUEsYUFBQUMsRUFBQSxjQUFBQyxFQUFBLEVBQUFDLEVBQUEsYUFBQVAsRUFBQSxHQUFBQSxFQUFBLENBQUFWLElBQUEsQ0FBQWQsR0FBQSxLQUFBNEIsRUFBQSxJQUFBRSxFQUFBLEdBQUFOLEVBQUEsQ0FBQVEsSUFBQSxJQUFBQyxJQUFBLEdBQUFMLEVBQUEsV0FBQUQsSUFBQSxDQUFBTyxJQUFBLENBQUFKLEVBQUEsQ0FBQUssS0FBQSxPQUFBbEMsQ0FBQSxJQUFBMEIsSUFBQSxDQUFBTCxNQUFBLEtBQUFyQixDQUFBLG9CQUFBbUMsR0FBQSxJQUFBUCxFQUFBLFNBQUFFLEVBQUEsR0FBQUssR0FBQSx5QkFBQVIsRUFBQSxJQUFBSixFQUFBLG9CQUFBQSxFQUFBLDhCQUFBSyxFQUFBLFFBQUFFLEVBQUEsYUFBQUosSUFBQTtBQUFBLFNBQUF6QixnQkFBQUYsR0FBQSxRQUFBa0IsS0FBQSxDQUFBbUIsT0FBQSxDQUFBckMsR0FBQSxVQUFBQSxHQUFBO0FBRTFELElBQVFzQyxZQUFZLEdBQUtDLDZCQUFLLENBQXRCRCxZQUFZO0FBRUwsU0FBU0Usb0JBQW9CQSxDQUFDQyxJQUE2QyxFQUFFO0VBQzFGLElBQUFDLHFCQUFBLEdBQW9CLElBQUFDLDhCQUFvQixFQUFDLENBQUM7SUFBQUMsc0JBQUEsR0FBQTdDLGNBQUEsQ0FBQTJDLHFCQUFBO0lBQWpDRyxLQUFLLEdBQUFELHNCQUFBLElBQUxDLEtBQUs7RUFDZCxJQUFNQyxRQUFRLEdBQUdSLFlBQVksQ0FBQyxDQUFDO0VBRS9CLE9BQU8sSUFBQVMsa0JBQVcsRUFDaEIsVUFBQUMsU0FBUyxFQUFJO0lBQ1gsSUFBSSxDQUFDQSxTQUFTLElBQUksT0FBT0EsU0FBUyxLQUFLLFFBQVEsSUFBSSxDQUFDQSxTQUFTLENBQUMxQixNQUFNLEVBQUU7TUFDcEUsTUFBTSxJQUFJMkIsS0FBSyxDQUFDLDhEQUE4RCxDQUFDO0lBQ2pGO0lBRUEsSUFBSVIsSUFBSSxLQUFLLGlCQUFpQixFQUFFO01BQzlCO01BQ0EsT0FBT0ssUUFBUSxDQUFDRCxLQUFLLEdBQUcsd0JBQXdCLEdBQUcsZ0JBQWdCLEVBQUVHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRjs7SUFFQTtJQUNBO0lBQ0E7SUFDQSxPQUFPLENBQUNILEtBQUssR0FBRyxtQkFBbUIsR0FBRyxZQUFZLElBQUlHLFNBQVMsQ0FBQyxDQUFDLENBQUM7RUFDcEUsQ0FBQyxFQUNELENBQUNILEtBQUssRUFBRUMsUUFBUSxFQUFFTCxJQUFJLENBQ3hCLENBQUM7QUFDSCJ9
;