UNPKG

react-say

Version:

[![npm version](https://badge.fury.io/js/react-say.svg)](https://badge.fury.io/js/react-say) [![Build Status](https://travis-ci.org/compulim/react-say.svg?branch=master)](https://travis-ci.org/compulim/react-say)

107 lines (93 loc) 11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireWildcard(require("react")); var _migrateDeprecatedProps = _interopRequireDefault(require("./migrateDeprecatedProps")); var _Say = _interopRequireDefault(require("./Say")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; } var SayButton = function SayButton(props) { var _migrateDeprecatedPro = (0, _migrateDeprecatedProps["default"])(props, SayButton), children = _migrateDeprecatedPro.children, disabled = _migrateDeprecatedPro.disabled, lang = _migrateDeprecatedPro.lang, onBoundary = _migrateDeprecatedPro.onBoundary, _onEnd = _migrateDeprecatedPro.onEnd, onError = _migrateDeprecatedPro.onError, onStart = _migrateDeprecatedPro.onStart, pitch = _migrateDeprecatedPro.pitch, ponyfill = _migrateDeprecatedPro.ponyfill, rate = _migrateDeprecatedPro.rate, text = _migrateDeprecatedPro.text, voice = _migrateDeprecatedPro.voice, volume = _migrateDeprecatedPro.volume; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), busy = _useState2[0], setBusy = _useState2[1]; var handleClick = (0, _react.useCallback)(function () { return setBusy(true); }); var sayProps = { lang: lang, onBoundary: onBoundary, onEnd: function onEnd(event) { setBusy(false); _onEnd && _onEnd(event); }, onError: onError, onStart: onStart, pitch: pitch, ponyfill: ponyfill, rate: rate, text: text, voice: voice, volume: volume }; return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { disabled: typeof disabled === 'boolean' ? disabled : busy, onClick: handleClick }, children), busy && /*#__PURE__*/_react["default"].createElement(_Say["default"], sayProps)); }; SayButton.defaultProps = { children: undefined, disabled: undefined, lang: undefined, onBoundary: undefined, onEnd: undefined, onError: undefined, onStart: undefined, pitch: undefined, ponyfill: undefined, rate: undefined, text: undefined, voice: undefined, volume: undefined }; SayButton.propTypes = { children: _propTypes["default"].any, disabled: _propTypes["default"].bool, lang: _propTypes["default"].string, onBoundary: _propTypes["default"].func, onEnd: _propTypes["default"].func, onError: _propTypes["default"].func, onStart: _propTypes["default"].func, pitch: _propTypes["default"].number, ponyfill: _propTypes["default"].shape({ speechSynthesis: _propTypes["default"].any.isRequired, SpeechSynthesisUtterance: _propTypes["default"].any.isRequired }), rate: _propTypes["default"].number, text: _propTypes["default"].string, voice: _propTypes["default"].oneOfType([_propTypes["default"].any, _propTypes["default"].func]), volume: _propTypes["default"].number }; var _default = SayButton; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TYXlCdXR0b24uanMiXSwibmFtZXMiOlsiU2F5QnV0dG9uIiwicHJvcHMiLCJjaGlsZHJlbiIsImRpc2FibGVkIiwibGFuZyIsIm9uQm91bmRhcnkiLCJvbkVuZCIsIm9uRXJyb3IiLCJvblN0YXJ0IiwicGl0Y2giLCJwb255ZmlsbCIsInJhdGUiLCJ0ZXh0Iiwidm9pY2UiLCJ2b2x1bWUiLCJidXN5Iiwic2V0QnVzeSIsImhhbmRsZUNsaWNrIiwic2F5UHJvcHMiLCJldmVudCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFueSIsImJvb2wiLCJzdHJpbmciLCJmdW5jIiwibnVtYmVyIiwic2hhcGUiLCJzcGVlY2hTeW50aGVzaXMiLCJpc1JlcXVpcmVkIiwiU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwib25lT2ZUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUFDLEtBQUssRUFBSTtBQUN6Qiw4QkFjSSx3Q0FBdUJBLEtBQXZCLEVBQThCRCxTQUE5QixDQWRKO0FBQUEsTUFDRUUsUUFERix5QkFDRUEsUUFERjtBQUFBLE1BRUVDLFFBRkYseUJBRUVBLFFBRkY7QUFBQSxNQUdFQyxJQUhGLHlCQUdFQSxJQUhGO0FBQUEsTUFJRUMsVUFKRix5QkFJRUEsVUFKRjtBQUFBLE1BS0VDLE1BTEYseUJBS0VBLEtBTEY7QUFBQSxNQU1FQyxPQU5GLHlCQU1FQSxPQU5GO0FBQUEsTUFPRUMsT0FQRix5QkFPRUEsT0FQRjtBQUFBLE1BUUVDLEtBUkYseUJBUUVBLEtBUkY7QUFBQSxNQVNFQyxRQVRGLHlCQVNFQSxRQVRGO0FBQUEsTUFVRUMsSUFWRix5QkFVRUEsSUFWRjtBQUFBLE1BV0VDLElBWEYseUJBV0VBLElBWEY7QUFBQSxNQVlFQyxLQVpGLHlCQVlFQSxLQVpGO0FBQUEs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YixFQUFBQSxLQUFLLEVBQUVVLHNCQUFVVSxTQUFWLENBQW9CLENBQUNWLHNCQUFVQyxHQUFYLEVBQWdCRCxzQkFBVUksSUFBMUIsQ0FBcEIsQ0FmYTtBQWdCcEJiLEVBQUFBLE1BQU0sRUFBRVMsc0JBQVVLO0FBaEJFLENBQXRCO2VBbUJlNUIsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgbWlncmF0ZURlcHJlY2F0ZWRQcm9wcyBmcm9tICcuL21pZ3JhdGVEZXByZWNhdGVkUHJvcHMnO1xuaW1wb3J0IFNheSBmcm9tICcuL1NheSc7XG5cbmNvbnN0IFNheUJ1dHRvbiA9IHByb3BzID0+IHtcbiAgY29uc3Qge1xuICAgIGNoaWxkcmVuLFxuICAgIGRpc2FibGVkLFxuICAgIGxhbmcsXG4gICAgb25Cb3VuZGFyeSxcbiAgICBvbkVuZCxcbiAgICBvbkVycm9yLFxuICAgIG9uU3RhcnQsXG4gICAgcGl0Y2gsXG4gICAgcG9ueWZpbGwsXG4gICAgcmF0ZSxcbiAgICB0ZXh0LFxuICAgIHZvaWNlLFxuICAgIHZvbHVtZVxuICB9ID0gbWlncmF0ZURlcHJlY2F0ZWRQcm9wcyhwcm9wcywgU2F5QnV0dG9uKTtcblxuICBjb25zdCBbYnVzeSwgc2V0QnVzeV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0QnVzeSh0cnVlKSk7XG4gIGNvbnN0IHNheVByb3BzID0ge1xuICAgIGxhbmcsXG4gICAgb25Cb3VuZGFyeSxcbiAgICBvbkVuZDogZXZlbnQgPT4ge1xuICAgICAgc2V0QnVzeShmYWxzZSk7XG4gICAgICBvbkVuZCAmJiBvbkVuZChldmVudCk7XG4gICAgfSxcbiAgICBvbkVycm9yLFxuICAgIG9uU3RhcnQsXG4gICAgcGl0Y2gsXG4gICAgcG9ueWZpbGwsXG4gICAgcmF0ZSxcbiAgICB0ZXh0LFxuICAgIHZvaWNlLFxuICAgIHZvbHVtZVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IHR5cGVvZiBkaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nID8gZGlzYWJsZWQgOiBidXN5IH1cbiAgICAgICAgb25DbGljaz17IGhhbmRsZUNsaWNrIH1cbiAgICAgID5cbiAgICAgICAgeyBjaGlsZHJlbiB9XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIHsgYnVzeSAmJiA8U2F5IHsgLi4uc2F5UHJvcHMgfSAvPiB9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cblNheUJ1dHRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGRpc2FibGVkOiB1bmRlZmluZWQsXG4gIGxhbmc6IHVuZGVmaW5lZCxcbiAgb25Cb3VuZGFyeTogdW5kZWZpbmVkLFxuICBvbkVuZDogdW5kZWZpbmVkLFxuICBvbkVycm9yOiB1bmRlZmluZWQsXG4gIG9uU3RhcnQ6IHVuZGVmaW5lZCxcbiAgcGl0Y2g6IHVuZGVmaW5lZCxcbiAgcG9ueWZpbGw6IHVuZGVmaW5lZCxcbiAgcmF0ZTogdW5kZWZpbmVkLFxuICB0ZXh0OiB1bmRlZmluZWQsXG4gIHZvaWNlOiB1bmRlZmluZWQsXG4gIHZvbHVtZTogdW5kZWZpbmVkXG59O1xuXG5TYXlCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkJvdW5kYXJ5OiBQcm9wVHlwZXMuZnVuYyxcbiAgb25FbmQ6IFByb3BUeXBlcy5mdW5jLFxuICBvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25TdGFydDogUHJvcFR5cGVzLmZ1bmMsXG4gIHBpdGNoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBwb255ZmlsbDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBzcGVlY2hTeW50aGVzaXM6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgICBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZFxuICB9KSxcbiAgcmF0ZTogUHJvcFR5cGVzLm51bWJlcixcbiAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdm9pY2U6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hbnksIFByb3BUeXBlcy5mdW5jXSksXG4gIHZvbHVtZTogUHJvcFR5cGVzLm51bWJlclxufTtcblxuZXhwb3J0IGRlZmF1bHQgU2F5QnV0dG9uXG4iXX0=