UNPKG

simple-speak

Version:

Quickly add text-to-speech widgets to HTML, using the Web Speech API.

6 lines (5 loc) 5.91 kB
!function e(t,s,n){function o(i,l){if(!s[i]){if(!t[i]){var a="function"==typeof require&&require;if(!l&&a)return a(i,!0);if(r)return r(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var p=s[i]={exports:{}};t[i][0].call(p.exports,function(e){var s=t[i][1][e];return o(s||e)},p,p.exports,e,t,s,n)}return s[i].exports}for(var r="function"==typeof require&&require,i=0;i<n.length;i++)o(n[i]);return o}({1:[function(e,t,s){/*! simple-speak | © 2017 Nick Freear | License: MIT. https://github.com/nfreear/simple-speak */ !function(){"use strict";var t=e("./src/configure").configure("1.3.2");e("./src/compat").compatible(t)&&((t=e("./src/choose-voice").chooseVoice(t)).synth=e("./src/speak-methods"),e("./src/html-events").htmlEvents(t),e("./src/embed-dialog").embedDialog(t))}()},{"./src/choose-voice":2,"./src/compat":3,"./src/configure":4,"./src/embed-dialog":5,"./src/html-events":6,"./src/speak-methods":7}],2:[function(e,t,s){(function(e){function s(e,t){var s,o,r=e.getVoices();if(r.length&&!t.voice){var i=n(t.voiceFamily).split(/, ?/);for(o=0;o<i.length;o++){var l=i[o];for(s=0;s<r.length;s++){var a=r[s];if(l===n(a.name))return t.voice=a,void console.warn("simplespeak voice:",t.voice)}}}}function n(e){var t=e&&e.replace("(United States)","(US)").replace(/'"/g,"");return t?t.toLowerCase():""}t.exports.chooseVoice=function(t,n){"use strict";var o=(n=n||e).speechSynthesis;return o.onvoiceschanged=function(){s(o,t)},s(o,t),t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,t,s){(function(e){t.exports.compatible=function(t,s){"use strict";s=s||e;var n=t.isCompatible="speechSynthesis"in s;t.overrideCompat&&(n=t.isCompatible=!1);var o=s.jQuery("body");if(o.addClass(n?"simple-speak-ok":"no-compat-simple-speak"),!n){if(o.prepend(t.noCompatMsg).prepend("<style>.simple-speak-no-compat-msg{color:red}</style>"),t.throwError)throw new Error("Your browser does NOT support speech synthesis.");console.error("Warning. Your browser does NOT support speech synthesis.")}return n}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,s){(function(e){function s(e){return e.text=e.text.trim(),e.text?(/^spell/i.test(e.mode)&&(e.text_orig=e.text,e.text=e.text.replace(/\s/g,". ").replace(/(.)(?=\w)/g,"$1 ")),e):e}t.exports.configure=function(t,n){"use strict";var o={id:"id-simple-speak",mode:"say-html-on-submit",lang:"en-US",noCompatMsg:'<p class="simple-speak-no-compat-msg" role="alert">Sorry! Speech synthesis is not available in your browser.</p>',form:'<form id="simple-speak-frm" class="simple-speak-frm"><button class="sp" type="submit"><i>Speak</i></button><button class="cl"><i>Cancel</i></button></form>',style:!0,pitch:1,rate:1,volume:1,voice:null,voiceFamily:null},r=(n=n||e).jQuery,i=r("div, script, input").filter("[ data-simple-speak ]").first(),l=i.data(),a=r.extend(o,l?l.simpleSpeak:{});return a.version=t,a.global=n,a.processText=s,console.warn("simplespeak config:",l,i),a}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,s){t.exports.embedDialog=function(e){"use strict";var t="https://unpkg.com/simple-speak@%s#._.js".replace(/%s/,e.version),s=e.$form;s.append('<button class="em" title="Get the embed code">&lt;/></button>'),s.find(".em").on("click",function(e){var n=s.find("[ role = alertdialog ]");n.length?n.toggle():s.append('<div role="alertdialog"><label>Copy & paste the embed code <textarea readonly >%e</textarea></label></div>'.replace(/%e/,'&lt;div id="id-simple-speak">Hello&lt;/div>\n\n&lt;script src="%jq">&lt;/script>\n&lt;script src="%s">&lt;/script>').replace(/%s/,t).replace(/%jq/,"https://unpkg.com/jquery@3.2.1/dist/jquery.min.js")),console.warn("simplespeak: embed dialog"),e.preventDefault()})}},{}],6:[function(e,t,s){(function(e){function s(e){return e.get(0)&&"INPUT"===e.get(0).nodeName}function n(e){e.$form.append('<a class="by" href="%u" title="Powered by simple-speak v%s (MIT License)" target="_top">simple-speak</a>'.replace(/%u/,"https://github.com/nfreear/simple-speak?utm_source=simplespeak").replace(/%s/,e.version))}function o(e){e.script_url=e.$("script[ src *= simple-speak ]").attr("src"),e.style&&(e.style_url="/../../style/simple-speak.css",e.$("head").prepend('<link rel="stylesheet" href="%s">'.replace(/%s/,r(e))))}function r(e){return/@\d\.\d\.\d(-[\w.]+)(#|_.js|$)/.test(e.script_url)&&(console.warn("ss: npm @version found"),e.style_url=e.style_url.replace("/../..",""),e.script_url=e.script_url.replace(/(#.*|_\.js)/,"")),e.script_url+e.style_url}t.exports.htmlEvents=function(t,r){"use strict";var i=(r=r||e).jQuery,l=t.$elem=i("#"+t.id),a=t.$form=i(t.form);t.$=i,o(t),l.after(a),l.addClass("simple-speak-js").addClass(s(l)?"simple-speak-inp":""),s(l)&&l.attr({required:"required","aria-required":!0,form:"simple-speak-frm"}),a.find(".cl").on("click",function(e){t.synth.cancel(),e.preventDefault()}),a.on("submit",function(e){t.text=l.text()||l.val(),t.processText(t),t.synth.speak(t),e.preventDefault()}),n(t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(e,t,s){(function(e){t.exports={speak:function(t,s){"use strict";if(s=s||e,!t.text)return console.warn("simplespeak: nothing to say: ",t);var n=s.speechSynthesis,o=new s.SpeechSynthesisUtterance(t.text);o.lang=t.lang,o.rate=t.rate,o.volume=t.volume,o.voice=t.voice,t.utterance=o,t.$elem.trigger("speak.simpleSpeak",[o,t]),console.warn("simplespeak submit: ",o,t),n.speak(o)},cancel:function(t){(t=t||e).speechSynthesis.cancel(),console.warn("simplespeak cancel")}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]);