@poovit-banton/speech-recognition-sdk 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/speech-recognition-sdk.cjs.js +2 -7
- package/dist/lib/speech-recognition-sdk.cjs.js.map +1 -1
- package/dist/lib/speech-recognition-sdk.es.js +341 -600
- package/dist/lib/speech-recognition-sdk.es.js.map +1 -1
- package/dist/lib/speech-recognition-sdk.umd.js +2 -7
- package/dist/lib/speech-recognition-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react");function ie(){return typeof window>"u"?!1:!!(window.SpeechRecognition||window.webkitSpeechRecognition)}function ae(){return typeof window>"u"?null:window.SpeechRecognition||window.webkitSpeechRecognition||null}async function se(){try{return(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(a=>a.stop()),!0}catch{return!1}}async function fe(){try{return(await navigator.mediaDevices.enumerateDevices()).some(a=>a.kind==="audioinput")}catch{return!1}}function he(){return["th-TH","en-US","en-GB","en-AU","zh-CN","zh-TW","ja-JP","ko-KR","vi-VN","id-ID","ms-MY","fr-FR","de-DE","es-ES","pt-BR","ru-RU","ar-SA","hi-IN"]}function ge(r){return`${Math.round(r*100)}%`}const xe={language:"th-TH",continuous:!0,interimResults:!0,maxAlternatives:1};function q(r={}){const{config:a={},callbacks:d={}}=r,[i,s]=c.useState(!1),[p,m]=c.useState(""),[_,l]=c.useState(""),[j,v]=c.useState(""),[T,b]=c.useState(null),[y,C]=c.useState(!0),h=c.useRef(null),n=c.useRef(d);c.useEffect(()=>{n.current=d},[d]);const k=ie(),M=c.useCallback(async I=>{if(!k){b("Speech recognition is not supported in this browser");return}if(!await se()){b("Microphone permission denied"),C(!1);return}h.current&&h.current.abort();const z=ae();if(!z)return;const w=new z,S={...xe,...a,...I};w.lang=S.language||"th-TH",w.continuous=S.continuous??!0,w.interimResults=S.interimResults??!0,w.maxAlternatives=S.maxAlternatives??1,w.onstart=()=>{s(!0),b(null),n.current.onStart?.()},w.onend=()=>{s(!1),n.current.onEnd?.()},w.onerror=E=>{const A=me(E.error);b(A),s(!1),n.current.onError?.(A)},w.onresult=E=>{let A="",N="";for(let P=E.resultIndex;P<E.results.length;P++){const F=E.results[P],O=F[0].transcript;F.isFinal?(N+=O,n.current.onResult?.({transcript:O,confidence:F[0].confidence,isFinal:!0})):A+=O}l(A),v(P=>{const F=P+N,O=F+A;return m(O),n.current.onTranscriptChange?.(O),F})},h.current=w,w.start()},[k,a]),R=c.useCallback(()=>{h.current&&h.current.stop()},[]),B=c.useCallback(()=>{h.current&&h.current.abort(),s(!1)},[]),G=c.useCallback(()=>{m(""),l(""),v("")},[]);return c.useEffect(()=>()=>{h.current&&h.current.abort()},[]),{isListening:i,transcript:p,interimTranscript:_,finalTranscript:j,isSupported:k,isMicrophoneAvailable:y,error:T,startListening:M,stopListening:R,abortListening:B,resetTranscript:G}}function me(r){return{"not-allowed":"Microphone permission was denied","no-speech":"No speech was detected","audio-capture":"No microphone was found",network:"Network error occurred",aborted:"Speech recognition was aborted","language-not-supported":"Language is not supported","service-not-allowed":"Speech recognition service is not allowed"}[r]||`Speech recognition error: ${r}`}var Y={exports:{}},L={};var te;function ye(){if(te)return L;te=1;var r=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function d(i,s,p){var m=null;if(p!==void 0&&(m=""+p),s.key!==void 0&&(m=""+s.key),"key"in s){p={};for(var _ in s)_!=="key"&&(p[_]=s[_])}else p=s;return s=p.ref,{$$typeof:r,type:i,key:m,ref:s!==void 0?s:null,props:p}}return L.Fragment=a,L.jsx=d,L.jsxs=d,L}var V={};var re;function _e(){return re||(re=1,process.env.NODE_ENV!=="production"&&(function(){function r(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===E?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case n:return"Fragment";case M:return"Profiler";case k:return"StrictMode";case I:return"Suspense";case H:return"SuspenseList";case S:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case h:return"Portal";case B:return e.displayName||"Context";case R:return(e._context.displayName||"Context")+".Consumer";case G:var o=e.render;return e=e.displayName,e||(e=o.displayName||o.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z:return o=e.displayName||null,o!==null?o:r(e.type)||"Memo";case w:o=e._payload,e=e._init;try{return r(e(o))}catch{}}return null}function a(e){return""+e}function d(e){try{a(e);var o=!1}catch{o=!0}if(o){o=console;var f=o.error,g=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return f.call(o,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",g),a(e)}}function i(e){if(e===n)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===w)return"<...>";try{var o=r(e);return o?"<"+o+">":"<...>"}catch{return"<...>"}}function s(){var e=A.A;return e===null?null:e.getOwner()}function p(){return Error("react-stack-top-frame")}function m(e){if(N.call(e,"key")){var o=Object.getOwnPropertyDescriptor(e,"key").get;if(o&&o.isReactWarning)return!1}return e.key!==void 0}function _(e,o){function f(){O||(O=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",o))}f.isReactWarning=!0,Object.defineProperty(e,"key",{get:f,configurable:!0})}function l(){var e=r(this.type);return X[e]||(X[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function j(e,o,f,g,W,$){var x=f.ref;return e={$$typeof:C,type:e,key:o,props:f,_owner:g},(x!==void 0?x:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:l}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:W}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:$}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function v(e,o,f,g,W,$){var x=o.children;if(x!==void 0)if(g)if(P(x)){for(g=0;g<x.length;g++)T(x[g]);Object.freeze&&Object.freeze(x)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else T(x);if(N.call(o,"key")){x=r(e);var D=Object.keys(o).filter(function(pe){return pe!=="key"});g=0<D.length?"{key: someKey, "+D.join(": ..., ")+": ...}":"{key: someKey}",ee[x+g]||(D=0<D.length?"{"+D.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
-
let props = %s;
|
|
3
|
-
<%s {...props} />
|
|
4
|
-
React keys must be passed directly to JSX without using spread:
|
|
5
|
-
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,g,x,D,x),ee[x+g]=!0)}if(x=null,f!==void 0&&(d(f),x=""+f),m(o)&&(d(o.key),x=""+o.key),"key"in o){f={};for(var Z in o)Z!=="key"&&(f[Z]=o[Z])}else f=o;return x&&_(f,typeof e=="function"?e.displayName||e.name||"Unknown":e),j(e,x,f,s(),W,$)}function T(e){b(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===w&&(e._payload.status==="fulfilled"?b(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function b(e){return typeof e=="object"&&e!==null&&e.$$typeof===C}var y=c,C=Symbol.for("react.transitional.element"),h=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),B=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),H=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),E=Symbol.for("react.client.reference"),A=y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,N=Object.prototype.hasOwnProperty,P=Array.isArray,F=console.createTask?console.createTask:function(){return null};y={react_stack_bottom_frame:function(e){return e()}};var O,X={},Q=y.react_stack_bottom_frame.bind(y,p)(),K=F(i(p)),ee={};V.Fragment=n,V.jsx=function(e,o,f){var g=1e4>A.recentlyCreatedOwnerStacks++;return v(e,o,f,!1,g?Error("react-stack-top-frame"):Q,g?F(i(e)):K)},V.jsxs=function(e,o,f){var g=1e4>A.recentlyCreatedOwnerStacks++;return v(e,o,f,!0,g?Error("react-stack-top-frame"):Q,g?F(i(e)):K)}})()),V}var oe;function be(){return oe||(oe=1,process.env.NODE_ENV==="production"?Y.exports=ye():Y.exports=_e()),Y.exports}var t=be();const J="data:image/svg+xml,%3csvg%20width='117'%20height='120'%20viewBox='0%200%20117%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='%23FF8800'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint0_radial_6015_131977)'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint1_radial_6015_131977)'%20fill-opacity='0.4'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='%23FF8800'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint2_radial_6015_131977)'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint3_radial_6015_131977)'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint4_radial_6015_131977)'%20fill-opacity='0.3'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20stroke='url(%23paint5_linear_6015_131977)'%20stroke-width='1.81818'%20/%3e%3cg%20opacity='0.4'%3e%3cpath%20d='M27.2731%20104.474C27.0272%2082.1726%209.92689%2079.0823%203.63672%2079.4341C25.2722%2077.2252%2027.1558%2041.2543%2027.2731%2031.9004C27.4055%2041.4094%2029.3496%2077.2327%2050.9094%2079.4379C44.6231%2079.0861%2027.5341%2082.2028%2027.2731%20104.478V104.474Z'%20fill='url(%23paint6_radial_6015_131977)'%20/%3e%3c/g%3e%3cg%20opacity='0.4'%3e%3cg%20clip-path='url(%23clip0_6015_131977)'%3e%3cpath%20d='M87.2716%2014.546C87.4985%2035.1318%20103.284%2037.9843%20109.09%2037.6596C89.1186%2039.6987%2087.3798%2072.9027%2087.2716%2081.5371C87.1494%2072.7595%2085.3547%2039.6917%2065.4533%2037.6561C71.2561%2037.9809%2087.0306%2035.1039%2087.2716%2014.5425L87.2716%2014.546Z'%20fill='url(%23paint7_radial_6015_131977)'%20/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23clip1_6015_131977)'%20filter='url(%23filter0_i_6015_131977)'%20%3e%3cpath%20d='M77.1274%2060.0186C77.1274%2058.8913%2076.2654%2058.0293%2075.1381%2058.0293C74.0108%2058.0293%2073.1488%2058.8913%2073.1488%2060.0186C73.1488%2067.7769%2066.8493%2074.0764%2059.0911%2074.0764C51.3328%2074.0764%2045.0333%2067.7769%2045.0333%2060.0186C45.0333%2058.8913%2044.1713%2058.0293%2043.044%2058.0293C41.9167%2058.0293%2041.0547%2058.8913%2041.0547%2060.0186C41.0547%2069.2357%2047.9509%2076.994%2057.1017%2077.9887V83.2935H49.8739C48.7467%2083.2935%2047.8846%2084.1555%2047.8846%2085.2828C47.8846%2086.41%2048.7467%2087.2721%2049.8739%2087.2721H68.3082C69.4354%2087.2721%2070.2975%2086.41%2070.2975%2085.2828C70.2975%2084.1555%2069.4354%2083.2935%2068.3082%2083.2935H61.0804V77.9887C70.2312%2076.994%2077.1274%2069.2357%2077.1274%2060.0186Z'%20fill='white'%20/%3e%3cpath%20d='M59.0933%2030.9082C52.9928%2030.9082%2048.0195%2035.8815%2048.0195%2041.982V59.9521C48.0195%2066.1189%2052.9928%2071.0259%2059.0933%2071.0922C65.1939%2071.0922%2070.1671%2066.1189%2070.1671%2060.0184V41.982C70.1671%2035.8815%2065.1939%2030.9082%2059.0933%2030.9082Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_i_6015_131977'%20x='30.9102'%20y='30.9082'%20width='56.3633'%20height='58.1815'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20dy='1.81818'%20/%3e%3cfeGaussianBlur%20stdDeviation='0.909091'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='arithmetic'%20k2='-1'%20k3='1'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.937087%200%200%200%200%200.449802%200%200%200%200%200%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='shape'%20result='effect1_innerShadow_6015_131977'%20/%3e%3c/filter%3e%3cradialGradient%20id='paint0_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-150.909)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23DBFF00'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint1_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(25.124%20-134.545%2037.8392%2053.435%2043.6364%20120)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint2_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-154.545)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23FFC700'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint3_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(45.6198%20-45.4545%2027.7487%20210.613%206.61157%20116.364)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23F6FB22'%20stop-opacity='0.51'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF9E45'%20stop-opacity='0'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint4_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-36.3636%2036.3636%20-36.3636%20-275%20112.397%2036.3637)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'%20/%3e%3c/radialGradient%3e%3clinearGradient%20id='paint5_linear_6015_131977'%20x1='58.1818'%20y1='0'%20x2='58.1818'%20y2='116.364'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'%20stop-opacity='0'%20/%3e%3c/linearGradient%3e%3cradialGradient%20id='paint6_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(10.2066%20-83.9173%2015.3722%2033.328%2021.364%20104.478)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.2'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint7_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-9.42152%2077.4625%20-14.1898%20-30.7644%2092.7261%2014.5425)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.1'%20/%3e%3c/radialGradient%3e%3cclipPath%20id='clip0_6015_131977'%3e%3crect%20width='43.6366'%20height='66.9911'%20fill='white'%20transform='translate(109.09%2081.5371)%20rotate(180)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clip1_6015_131977'%3e%3crect%20width='56.3636'%20height='56.3636'%20fill='white'%20transform='translate(30.9102%2030.9082)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",le="data:image/svg+xml,%3csvg%20width='117'%20height='120'%20viewBox='0%200%20117%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cg%20filter='url(%23filter0_i_6104_131024)'%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='%23FF8800'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint0_radial_6104_131024)'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint1_radial_6104_131024)'%20fill-opacity='0.4'%20/%3e%3c/g%3e%3crect%20x='1.08067'%20y='1.08067'%20width='114.202'%20height='114.202'%20rx='57.1011'%20fill='white'%20stroke='url(%23paint2_linear_6104_131024)'%20stroke-width='2.16135'%20/%3e%3cg%20filter='url(%23filter1_d_6104_131024)'%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='%23FBEDD9'%20/%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='%23FF7A00'%20/%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='url(%23paint3_radial_6104_131024)'%20fill-opacity='0.4'%20/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_i_6104_131024'%20x='0'%20y='3.63672'%20width='116.363'%20height='116.363'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20/%3e%3cfeGaussianBlur%20stdDeviation='3.63636'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='arithmetic'%20k2='-1'%20k3='1'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='shape'%20result='effect1_innerShadow_6104_131024'%20/%3e%3c/filter%3e%3cfilter%20id='filter1_d_6104_131024'%20x='34.5828'%20y='38.8992'%20width='47.5493'%20height='43.227'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20/%3e%3cfeGaussianBlur%20stdDeviation='1.08067'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%201%200%200%200%200%200.565%200%200%200%200%200%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_6104_131024'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_6104_131024'%20result='shape'%20/%3e%3c/filter%3e%3cradialGradient%20id='paint0_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-150.909)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23DBFF00'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint1_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(25.124%20-134.545%2037.8392%2053.435%2043.6364%20120)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3clinearGradient%20id='paint2_linear_6104_131024'%20x1='58.1818'%20y1='0'%20x2='58.1818'%20y2='116.364'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='0.515'%20stop-color='%23FCEAD2'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'%20/%3e%3c/linearGradient%3e%3cradialGradient%20id='paint3_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(9.33301%20-44.9831%2014.0564%2017.8651%2052.9541%2079.9648)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3c/defs%3e%3c/svg%3e",we="data:image/svg+xml,%3csvg%20width='640'%20height='640'%20viewBox='0%200%20640%20640'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_f_5207_91652)'%3e%3cg%20filter='url(%23filter1_f_5207_91652)'%3e%3crect%20x='45'%20y='45'%20width='550'%20height='550'%20rx='275'%20fill='url(%23paint0_linear_5207_91652)'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_f_5207_91652'%20x='-32'%20y='-32'%20width='704'%20height='704'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='16'%20result='effect1_foregroundBlur_5207_91652'/%3e%3c/filter%3e%3cfilter%20id='filter1_f_5207_91652'%20x='41.4052'%20y='41.4052'%20width='557.19'%20height='557.19'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='1.79739'%20result='effect1_foregroundBlur_5207_91652'/%3e%3c/filter%3e%3clinearGradient%20id='paint0_linear_5207_91652'%20x1='320'%20y1='45'%20x2='326.74'%20y2='605.784'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.177383'%20stop-color='%23EBDDFF'/%3e%3cstop%20offset='0.755511'%20stop-color='%23FEBB63'/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",u={overlay:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,padding:"20px"},modal:{backgroundColor:"#ffffff",borderRadius:"32px",padding:"40px",width:"100%",maxWidth:"480px",maxHeight:"90vh",overflow:"auto",boxShadow:"0 25px 80px rgba(0, 0, 0, 0.15)",position:"relative"},header:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"32px"},title:{fontSize:"18px",fontWeight:600,color:"#1f2937",margin:0,display:"flex",alignItems:"center",gap:"8px"},closeButton:{background:"transparent",border:"none",color:"#9ca3af",cursor:"pointer",padding:"8px",borderRadius:"8px",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},micSection:{display:"flex",flexDirection:"column",alignItems:"center",gap:"24px",marginBottom:"32px",position:"relative"},bgCircle:{position:"absolute",width:"280px",height:"280px",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:0,opacity:.8,transition:"opacity 0.3s ease"},micButton:{width:"120px",height:"120px",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",padding:0,position:"relative",zIndex:1,transition:"transform 0.2s ease"},micImage:{width:"100%",height:"100%",objectFit:"contain"},statusText:{fontSize:"16px",fontWeight:500,color:"#6b7280",textAlign:"center",position:"relative",zIndex:1},statusTextActive:{color:"#FF7A00",fontWeight:600},transcriptBox:{background:"#f9fafb",border:"1px solid #e5e7eb",borderRadius:"16px",padding:"20px",minHeight:"100px",maxHeight:"160px",overflow:"auto",marginBottom:"24px"},transcriptText:{fontSize:"15px",lineHeight:1.7,color:"#1f2937",margin:0,wordWrap:"break-word"},placeholderText:{fontSize:"14px",color:"#9ca3af",textAlign:"center",margin:0,padding:"16px 0"},actions:{display:"flex",justifyContent:"center"},generateButton:{padding:"14px 48px",borderRadius:"100px",border:"2px solid #9333ea",background:"transparent",color:"#9333ea",fontSize:"15px",fontWeight:600,cursor:"pointer",transition:"all 0.2s ease",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px"},generateButtonDisabled:{opacity:.4,cursor:"not-allowed",borderColor:"#d1d5db",color:"#9ca3af"},loadingOverlay:{position:"absolute",inset:0,background:"rgba(255, 255, 255, 0.95)",borderRadius:"32px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"24px",zIndex:10},loadingBars:{display:"flex",flexDirection:"column",gap:"12px",width:"200px"},loadingBar:{height:"12px",borderRadius:"6px",background:"linear-gradient(90deg, #e5e7eb 0%, #d1d5db 50%, #e5e7eb 100%)",backgroundSize:"200% 100%",animation:"shimmer 1.5s ease-in-out infinite"},loadingText:{fontSize:"16px",fontWeight:600,color:"#6b7280",display:"flex",alignItems:"center",gap:"8px"},sparkleIcon:{color:"#9333ea"},footer:{marginTop:"24px",textAlign:"center",fontSize:"12px",color:"#9ca3af"}},ve=`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),e=require("react/jsx-runtime");function E(){return typeof window>"u"?!1:!!(window.SpeechRecognition||window.webkitSpeechRecognition)}function V(){return typeof window>"u"?null:window.SpeechRecognition||window.webkitSpeechRecognition||null}async function L(){try{return(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(a=>a.stop()),!0}catch{return!1}}async function q(){try{return(await navigator.mediaDevices.enumerateDevices()).some(a=>a.kind==="audioinput")}catch{return!1}}function $(){return["th-TH","en-US","en-GB","en-AU","zh-CN","zh-TW","ja-JP","ko-KR","vi-VN","id-ID","ms-MY","fr-FR","de-DE","es-ES","pt-BR","ru-RU","ar-SA","hi-IN"]}function Y(t){return`${Math.round(t*100)}%`}const J={language:"th-TH",continuous:!0,interimResults:!0,maxAlternatives:1};function O(t={}){const{config:a={},callbacks:c={}}=t,[s,l]=i.useState(!1),[p,g]=i.useState(""),[w,o]=i.useState(""),[b,x]=i.useState(""),[S,u]=i.useState(null),[f,_]=i.useState(!0),d=i.useRef(null),r=i.useRef(c);i.useEffect(()=>{r.current=c},[c]);const y=E(),T=i.useCallback(async B=>{if(!y){u("Speech recognition is not supported in this browser");return}if(!await L()){u("Microphone permission denied"),_(!1);return}d.current&&d.current.abort();const U=V();if(!U)return;const m=new U,h={...J,...a,...B};m.lang=h.language||"th-TH",m.continuous=h.continuous??!0,m.interimResults=h.interimResults??!0,m.maxAlternatives=h.maxAlternatives??1,m.onstart=()=>{l(!0),u(null),r.current.onStart?.()},m.onend=()=>{l(!1),r.current.onEnd?.()},m.onerror=v=>{const F=K(v.error);u(F),l(!1),r.current.onError?.(F)},m.onresult=v=>{let F="",D="";for(let A=v.resultIndex;A<v.results.length;A++){const M=v.results[A],I=M[0].transcript;M.isFinal?(D+=I,r.current.onResult?.({transcript:I,confidence:M[0].confidence,isFinal:!0})):F+=I}o(F),x(A=>{const M=A+D,I=M+F;return g(I),r.current.onTranscriptChange?.(I),M})},d.current=m,m.start()},[y,a]),C=i.useCallback(()=>{d.current&&d.current.stop()},[]),j=i.useCallback(()=>{d.current&&d.current.abort(),l(!1)},[]),R=i.useCallback(()=>{g(""),o(""),x("")},[]);return i.useEffect(()=>()=>{d.current&&d.current.abort()},[]),{isListening:s,transcript:p,interimTranscript:w,finalTranscript:b,isSupported:y,isMicrophoneAvailable:f,error:S,startListening:T,stopListening:C,abortListening:j,resetTranscript:R}}function K(t){return{"not-allowed":"Microphone permission was denied","no-speech":"No speech was detected","audio-capture":"No microphone was found",network:"Network error occurred",aborted:"Speech recognition was aborted","language-not-supported":"Language is not supported","service-not-allowed":"Speech recognition service is not allowed"}[t]||`Speech recognition error: ${t}`}const G="data:image/svg+xml,%3csvg%20width='117'%20height='120'%20viewBox='0%200%20117%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='%23FF8800'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint0_radial_6015_131977)'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint1_radial_6015_131977)'%20fill-opacity='0.4'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='%23FF8800'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint2_radial_6015_131977)'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint3_radial_6015_131977)'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20fill='url(%23paint4_radial_6015_131977)'%20fill-opacity='0.3'%20/%3e%3crect%20x='0.909091'%20y='0.909091'%20width='114.545'%20height='114.545'%20rx='57.2727'%20stroke='url(%23paint5_linear_6015_131977)'%20stroke-width='1.81818'%20/%3e%3cg%20opacity='0.4'%3e%3cpath%20d='M27.2731%20104.474C27.0272%2082.1726%209.92689%2079.0823%203.63672%2079.4341C25.2722%2077.2252%2027.1558%2041.2543%2027.2731%2031.9004C27.4055%2041.4094%2029.3496%2077.2327%2050.9094%2079.4379C44.6231%2079.0861%2027.5341%2082.2028%2027.2731%20104.478V104.474Z'%20fill='url(%23paint6_radial_6015_131977)'%20/%3e%3c/g%3e%3cg%20opacity='0.4'%3e%3cg%20clip-path='url(%23clip0_6015_131977)'%3e%3cpath%20d='M87.2716%2014.546C87.4985%2035.1318%20103.284%2037.9843%20109.09%2037.6596C89.1186%2039.6987%2087.3798%2072.9027%2087.2716%2081.5371C87.1494%2072.7595%2085.3547%2039.6917%2065.4533%2037.6561C71.2561%2037.9809%2087.0306%2035.1039%2087.2716%2014.5425L87.2716%2014.546Z'%20fill='url(%23paint7_radial_6015_131977)'%20/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23clip1_6015_131977)'%20filter='url(%23filter0_i_6015_131977)'%20%3e%3cpath%20d='M77.1274%2060.0186C77.1274%2058.8913%2076.2654%2058.0293%2075.1381%2058.0293C74.0108%2058.0293%2073.1488%2058.8913%2073.1488%2060.0186C73.1488%2067.7769%2066.8493%2074.0764%2059.0911%2074.0764C51.3328%2074.0764%2045.0333%2067.7769%2045.0333%2060.0186C45.0333%2058.8913%2044.1713%2058.0293%2043.044%2058.0293C41.9167%2058.0293%2041.0547%2058.8913%2041.0547%2060.0186C41.0547%2069.2357%2047.9509%2076.994%2057.1017%2077.9887V83.2935H49.8739C48.7467%2083.2935%2047.8846%2084.1555%2047.8846%2085.2828C47.8846%2086.41%2048.7467%2087.2721%2049.8739%2087.2721H68.3082C69.4354%2087.2721%2070.2975%2086.41%2070.2975%2085.2828C70.2975%2084.1555%2069.4354%2083.2935%2068.3082%2083.2935H61.0804V77.9887C70.2312%2076.994%2077.1274%2069.2357%2077.1274%2060.0186Z'%20fill='white'%20/%3e%3cpath%20d='M59.0933%2030.9082C52.9928%2030.9082%2048.0195%2035.8815%2048.0195%2041.982V59.9521C48.0195%2066.1189%2052.9928%2071.0259%2059.0933%2071.0922C65.1939%2071.0922%2070.1671%2066.1189%2070.1671%2060.0184V41.982C70.1671%2035.8815%2065.1939%2030.9082%2059.0933%2030.9082Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_i_6015_131977'%20x='30.9102'%20y='30.9082'%20width='56.3633'%20height='58.1815'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20dy='1.81818'%20/%3e%3cfeGaussianBlur%20stdDeviation='0.909091'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='arithmetic'%20k2='-1'%20k3='1'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.937087%200%200%200%200%200.449802%200%200%200%200%200%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='shape'%20result='effect1_innerShadow_6015_131977'%20/%3e%3c/filter%3e%3cradialGradient%20id='paint0_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-150.909)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23DBFF00'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint1_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(25.124%20-134.545%2037.8392%2053.435%2043.6364%20120)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint2_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-154.545)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23FFC700'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint3_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(45.6198%20-45.4545%2027.7487%20210.613%206.61157%20116.364)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23F6FB22'%20stop-opacity='0.51'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF9E45'%20stop-opacity='0'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint4_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-36.3636%2036.3636%20-36.3636%20-275%20112.397%2036.3637)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'%20/%3e%3c/radialGradient%3e%3clinearGradient%20id='paint5_linear_6015_131977'%20x1='58.1818'%20y1='0'%20x2='58.1818'%20y2='116.364'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'%20stop-opacity='0'%20/%3e%3c/linearGradient%3e%3cradialGradient%20id='paint6_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(10.2066%20-83.9173%2015.3722%2033.328%2021.364%20104.478)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.2'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint7_radial_6015_131977'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-9.42152%2077.4625%20-14.1898%20-30.7644%2092.7261%2014.5425)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.1'%20/%3e%3c/radialGradient%3e%3cclipPath%20id='clip0_6015_131977'%3e%3crect%20width='43.6366'%20height='66.9911'%20fill='white'%20transform='translate(109.09%2081.5371)%20rotate(180)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clip1_6015_131977'%3e%3crect%20width='56.3636'%20height='56.3636'%20fill='white'%20transform='translate(30.9102%2030.9082)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",P="data:image/svg+xml,%3csvg%20width='117'%20height='120'%20viewBox='0%200%20117%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cg%20filter='url(%23filter0_i_6104_131024)'%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='%23FF8800'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint0_radial_6104_131024)'%20/%3e%3crect%20y='3.63672'%20width='116.364'%20height='116.364'%20rx='58.1818'%20fill='url(%23paint1_radial_6104_131024)'%20fill-opacity='0.4'%20/%3e%3c/g%3e%3crect%20x='1.08067'%20y='1.08067'%20width='114.202'%20height='114.202'%20rx='57.1011'%20fill='white'%20stroke='url(%23paint2_linear_6104_131024)'%20stroke-width='2.16135'%20/%3e%3cg%20filter='url(%23filter1_d_6104_131024)'%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='%23FBEDD9'%20/%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='%23FF7A00'%20/%3e%3cpath%20d='M49.7119%2041.0605C52.0993%2041.0605%2054.0352%2042.9964%2054.0352%2045.3838V75.6426C54.0351%2078.0299%2052.0992%2079.9648%2049.7119%2079.9648H41.0664C38.6793%2079.9646%2036.7442%2078.0297%2036.7441%2075.6426V45.3838C36.7441%2042.9966%2038.6793%2041.0608%2041.0664%2041.0605H49.7119ZM75.6484%2041.0605C78.0358%2041.0605%2079.9707%2042.9964%2079.9707%2045.3838V75.6426C79.9706%2078.0299%2078.0357%2079.9648%2075.6484%2079.9648H67.0029C64.6157%2079.9648%2062.6808%2078.0298%2062.6807%2075.6426V45.3838C62.6807%2042.9965%2064.6156%2041.0606%2067.0029%2041.0605H75.6484Z'%20fill='url(%23paint3_radial_6104_131024)'%20fill-opacity='0.4'%20/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_i_6104_131024'%20x='0'%20y='3.63672'%20width='116.363'%20height='116.363'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20/%3e%3cfeGaussianBlur%20stdDeviation='3.63636'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='arithmetic'%20k2='-1'%20k3='1'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='shape'%20result='effect1_innerShadow_6104_131024'%20/%3e%3c/filter%3e%3cfilter%20id='filter1_d_6104_131024'%20x='34.5828'%20y='38.8992'%20width='47.5493'%20height='43.227'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%20%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20/%3e%3cfeGaussianBlur%20stdDeviation='1.08067'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%201%200%200%200%200%200.565%200%200%200%200%200%200%200%200%201%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_6104_131024'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_6104_131024'%20result='shape'%20/%3e%3c/filter%3e%3cradialGradient%20id='paint0_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(-107.107%20232.727%20-57.2274%20-199.178%20110.413%20-150.909)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20offset='0.67589'%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='1'%20stop-color='%23DBFF00'%20stop-opacity='0.38'%20/%3e%3c/radialGradient%3e%3cradialGradient%20id='paint1_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(25.124%20-134.545%2037.8392%2053.435%2043.6364%20120)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3clinearGradient%20id='paint2_linear_6104_131024'%20x1='58.1818'%20y1='0'%20x2='58.1818'%20y2='116.364'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='%23FF7A00'%20/%3e%3cstop%20offset='0.515'%20stop-color='%23FCEAD2'%20/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'%20/%3e%3c/linearGradient%3e%3cradialGradient%20id='paint3_radial_6104_131024'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(9.33301%20-44.9831%2014.0564%2017.8651%2052.9541%2079.9648)'%20gradientUnits='userSpaceOnUse'%20%3e%3cstop%20stop-color='white'%20stop-opacity='0.73'%20/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0.12'%20/%3e%3c/radialGradient%3e%3c/defs%3e%3c/svg%3e",Q="data:image/svg+xml,%3csvg%20width='640'%20height='640'%20viewBox='0%200%20640%20640'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_f_5207_91652)'%3e%3cg%20filter='url(%23filter1_f_5207_91652)'%3e%3crect%20x='45'%20y='45'%20width='550'%20height='550'%20rx='275'%20fill='url(%23paint0_linear_5207_91652)'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_f_5207_91652'%20x='-32'%20y='-32'%20width='704'%20height='704'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='16'%20result='effect1_foregroundBlur_5207_91652'/%3e%3c/filter%3e%3cfilter%20id='filter1_f_5207_91652'%20x='41.4052'%20y='41.4052'%20width='557.19'%20height='557.19'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='1.79739'%20result='effect1_foregroundBlur_5207_91652'/%3e%3c/filter%3e%3clinearGradient%20id='paint0_linear_5207_91652'%20x1='320'%20y1='45'%20x2='326.74'%20y2='605.784'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.177383'%20stop-color='%23EBDDFF'/%3e%3cstop%20offset='0.755511'%20stop-color='%23FEBB63'/%3e%3cstop%20offset='1'%20stop-color='%23FF7A00'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",n={overlay:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,padding:"20px"},modal:{backgroundColor:"#ffffff",borderRadius:"32px",padding:"40px",width:"100%",maxWidth:"480px",maxHeight:"90vh",overflow:"auto",boxShadow:"0 25px 80px rgba(0, 0, 0, 0.15)",position:"relative"},header:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"32px"},title:{fontSize:"18px",fontWeight:600,color:"#1f2937",margin:0,display:"flex",alignItems:"center",gap:"8px"},closeButton:{background:"transparent",border:"none",color:"#9ca3af",cursor:"pointer",padding:"8px",borderRadius:"8px",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},micSection:{display:"flex",flexDirection:"column",alignItems:"center",gap:"24px",marginBottom:"32px",position:"relative"},bgCircle:{position:"absolute",width:"280px",height:"280px",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:0,opacity:.8,transition:"opacity 0.3s ease"},micButton:{width:"120px",height:"120px",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",padding:0,position:"relative",zIndex:1,transition:"transform 0.2s ease"},micImage:{width:"100%",height:"100%",objectFit:"contain"},statusText:{fontSize:"16px",fontWeight:500,color:"#6b7280",textAlign:"center",position:"relative",zIndex:1},statusTextActive:{color:"#FF7A00",fontWeight:600},transcriptBox:{background:"#f9fafb",border:"1px solid #e5e7eb",borderRadius:"16px",padding:"20px",minHeight:"100px",maxHeight:"160px",overflow:"auto",marginBottom:"24px"},transcriptText:{fontSize:"15px",lineHeight:1.7,color:"#1f2937",margin:0,wordWrap:"break-word"},placeholderText:{fontSize:"14px",color:"#9ca3af",textAlign:"center",margin:0,padding:"16px 0"},actions:{display:"flex",justifyContent:"center"},generateButton:{padding:"14px 48px",borderRadius:"100px",border:"2px solid #9333ea",background:"transparent",color:"#9333ea",fontSize:"15px",fontWeight:600,cursor:"pointer",transition:"all 0.2s ease",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px"},generateButtonDisabled:{opacity:.4,cursor:"not-allowed",borderColor:"#d1d5db",color:"#9ca3af"},loadingOverlay:{position:"absolute",inset:0,background:"rgba(255, 255, 255, 0.95)",borderRadius:"32px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"24px",zIndex:10},loadingBars:{display:"flex",flexDirection:"column",gap:"12px",width:"200px"},loadingBar:{height:"12px",borderRadius:"6px",background:"linear-gradient(90deg, #e5e7eb 0%, #d1d5db 50%, #e5e7eb 100%)",backgroundSize:"200% 100%",animation:"shimmer 1.5s ease-in-out infinite"},loadingText:{fontSize:"16px",fontWeight:600,color:"#6b7280",display:"flex",alignItems:"center",gap:"8px"},sparkleIcon:{color:"#9333ea"},footer:{marginTop:"24px",textAlign:"center",fontSize:"12px",color:"#9ca3af"}},X=`
|
|
7
2
|
@keyframes shimmer {
|
|
8
3
|
0% { background-position: 200% 0; }
|
|
9
4
|
100% { background-position: -200% 0; }
|
|
@@ -16,5 +11,5 @@ React keys must be passed directly to JSX without using spread:
|
|
|
16
11
|
0%, 100% { opacity: 0.8; transform: translate(-50%, -50%) scale(1); }
|
|
17
12
|
50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); }
|
|
18
13
|
}
|
|
19
|
-
`,Se=()=>t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:t.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})}),Ce=()=>t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:t.jsx("path",{d:"M12 2L9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2z"})}),ke=()=>t.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",children:[t.jsx("path",{d:"M12 2L10.5 8.5L4 10L10.5 11.5L12 18L13.5 11.5L20 10L13.5 8.5L12 2Z",fill:"#9333ea"}),t.jsx("path",{d:"M5 14L4 17L7 16L5 14Z",fill:"#9333ea",opacity:"0.6"}),t.jsx("path",{d:"M19 14L20 17L17 16L19 14Z",fill:"#9333ea",opacity:"0.6"})]});function ce({isOpen:r,onClose:a,isListening:d,transcript:i,onStartListening:s,onStopListening:p,onResetTranscript:m,onGenerate:_,isGenerating:l=!1,title:j="AI Speech-to-Data",generateButtonText:v="Generate",placeholder:T="Click the microphone and start speaking..."}){const b=c.useRef(null);c.useEffect(()=>{const n=k=>{k.key==="Escape"&&r&&!l&&a()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[r,a,l]);const y=n=>{n.target===n.currentTarget&&!l&&a()};if(!r)return null;const C=()=>{l||(d?p():(m(),s()))},h=()=>{i&&!l&&_(i)};return t.jsxs(t.Fragment,{children:[t.jsx("style",{children:ve}),t.jsx("div",{style:u.overlay,onClick:y,children:t.jsxs("div",{ref:b,style:{...u.modal,animation:"fadeIn 0.25s ease-out"},onClick:n=>n.stopPropagation(),children:[l&&t.jsxs("div",{style:u.loadingOverlay,children:[t.jsx(ke,{}),t.jsxs("div",{style:u.loadingBars,children:[t.jsx("div",{style:{...u.loadingBar,width:"100%"}}),t.jsx("div",{style:{...u.loadingBar,width:"80%"}}),t.jsx("div",{style:{...u.loadingBar,width:"90%"}}),t.jsx("div",{style:{...u.loadingBar,width:"70%"}})]}),t.jsxs("span",{style:u.loadingText,children:[t.jsx("span",{style:u.sparkleIcon,children:"✨"}),"AI Analyzing"]})]}),t.jsxs("div",{style:u.header,children:[t.jsxs("h2",{style:u.title,children:[t.jsx("span",{style:{fontSize:"20px"},children:"✨"}),j]}),t.jsx("button",{style:u.closeButton,onClick:a,disabled:l,onMouseOver:n=>{l||(n.currentTarget.style.background="#f3f4f6")},onMouseOut:n=>{n.currentTarget.style.background="transparent"},children:t.jsx(Se,{})})]}),t.jsxs("div",{style:u.micSection,children:[t.jsx("img",{src:we,alt:"",style:{...u.bgCircle,opacity:d?1:.6,animation:d?"pulse-glow 2s ease-in-out infinite":"none"}}),t.jsx("button",{style:u.micButton,onClick:C,disabled:l,onMouseOver:n=>{l||(n.currentTarget.style.transform="scale(1.05)")},onMouseOut:n=>{n.currentTarget.style.transform="scale(1)"},children:t.jsx("img",{src:d?le:J,alt:d?"Stop":"Start recording",style:u.micImage})}),t.jsx("p",{style:{...u.statusText,...d?u.statusTextActive:{}},children:d?"AI is listening.":"Generate result"})]}),(i||!d)&&!l&&t.jsx("div",{style:u.transcriptBox,children:i?t.jsx("p",{style:u.transcriptText,children:i}):t.jsx("p",{style:u.placeholderText,children:T})}),!l&&t.jsx("div",{style:u.actions,children:t.jsxs("button",{style:{...u.generateButton,...i?{}:u.generateButtonDisabled},onClick:h,disabled:!i||l,onMouseOver:n=>{i&&!l&&(n.currentTarget.style.background="#9333ea",n.currentTarget.style.color="white")},onMouseOut:n=>{n.currentTarget.style.background="transparent",n.currentTarget.style.color=i?"#9333ea":"#9ca3af"},children:[t.jsx(Ce,{}),v]})}),t.jsx("div",{style:u.footer,children:t.jsxs("span",{children:["Powered by ",t.jsx("strong",{children:"DFM"})]})})]})})]})}const je=r=>{if(typeof r=="object")return{top:r.top,right:r.right,bottom:r.bottom,left:r.left};const a={"bottom-left":{bottom:"24px",left:"24px"},"bottom-right":{bottom:"24px",right:"24px"},"top-left":{top:"24px",left:"24px"},"top-right":{top:"24px",right:"24px"}};return a[r]||a["bottom-left"]};function de({enabled:r=!0,position:a="bottom-left",config:d={language:"th-TH",continuous:!0},onGenerate:i,onGenerateComplete:s,onGenerateError:p,modalTitle:m="AI Speech-to-Data",generateButtonText:_="Generate",buttonContent:l,buttonSize:j=64,buttonStyle:v,zIndex:T=9998}){const[b,y]=c.useState(!1),[C,h]=c.useState(!1),{transcript:n,isListening:k,startListening:M,stopListening:R,resetTranscript:B}=q({config:d}),G=c.useCallback(()=>{y(!0)},[]),I=c.useCallback(()=>{y(!1),k&&R()},[k,R]),H=c.useCallback(async S=>{if(!i){s?.(S),I(),B();return}h(!0);try{const E=await i(S);s?.(E),I(),B()}catch(E){p?.(E)}finally{h(!1)}},[i,s,p,I,B]);if(!r)return null;const w={position:"fixed",...je(a),zIndex:T,width:j,height:j,borderRadius:"50%",border:"none",cursor:"pointer",background:"transparent",padding:0,transition:"all 0.3s ease",filter:"drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))",...v};return t.jsxs(t.Fragment,{children:[t.jsx("button",{style:w,onClick:G,"aria-label":"Open voice input",onMouseOver:S=>{S.currentTarget.style.transform="scale(1.1)",S.currentTarget.style.filter="drop-shadow(0 6px 20px rgba(255, 122, 0, 0.5))"},onMouseOut:S=>{S.currentTarget.style.transform="scale(1)",S.currentTarget.style.filter="drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))"},children:l||t.jsx("img",{src:J,alt:"Voice input",style:{width:"100%",height:"100%"}})}),t.jsx(ce,{isOpen:b,onClose:I,isListening:k,transcript:n,onStartListening:M,onStopListening:R,onResetTranscript:B,onGenerate:H,isGenerating:C,title:m,generateButtonText:_})]})}const ue=c.createContext(null);function Te({children:r,config:a,callbacks:d,showWidget:i=!1,widgetEnabled:s=!0,widgetPosition:p="bottom-left",widgetButtonSize:m=60,widgetZIndex:_=9998,modalTitle:l,generateButtonText:j,onGenerate:v,onGenerateComplete:T,onGenerateError:b}){const[y,C]=c.useState(s),h=q({config:a,callbacks:d}),n=c.useCallback(R=>{C(R)},[]),k=c.useCallback(()=>{C(R=>!R)},[]),M=c.useMemo(()=>({...h,isWidgetEnabled:y,setWidgetEnabled:n,toggleWidget:k}),[h,y,n,k]);return t.jsxs(ue.Provider,{value:M,children:[r,i&&t.jsx(de,{enabled:y,position:p,config:a,buttonSize:m,zIndex:_,modalTitle:l,generateButtonText:j,onGenerate:v,onGenerateComplete:T,onGenerateError:b})]})}function Re(){const r=c.useContext(ue);if(!r)throw new Error("useSpeechContext must be used within a SpeechProvider");return r}const Ee={sm:60,md:100,lg:140},ne={button:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",border:"none",borderRadius:"50%",cursor:"pointer",transition:"all 0.2s ease",background:"transparent",padding:0},disabled:{opacity:.5,cursor:"not-allowed"}},Ae=()=>t.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"32",height:"32",children:[t.jsx("path",{d:"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm-1-9c0-.55.45-1 1-1s1 .45 1 1v6c0 .55-.45 1-1 1s-1-.45-1-1V5z"}),t.jsx("path",{d:"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z"})]}),Fe=()=>t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"32",height:"32",children:t.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})});function Oe({isListening:r,onStart:a,onStop:d,disabled:i=!1,className:s,style:p,startIcon:m,stopIcon:_,startLabel:l,stopLabel:j,size:v="md",useAssets:T=!0}){const b=()=>{i||(r?d():a())},y=Ee[v],C={...ne.button,width:y,height:y,...i&&ne.disabled,filter:T?"drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))":void 0,...p};return T?t.jsx("button",{type:"button",onClick:b,disabled:i,className:s,style:C,"aria-label":r?"Stop recording":"Start recording",children:t.jsx("img",{src:r?le:J,alt:r?"Stop":"Start",style:{width:"100%",height:"100%"}})}):t.jsx("button",{type:"button",onClick:b,disabled:i,className:s,style:{...C,background:r?"linear-gradient(135deg, #ef4444 0%, #dc2626 100%)":"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",color:"white",boxShadow:r?"0 10px 40px rgba(239, 68, 68, 0.4)":"0 10px 40px rgba(102, 126, 234, 0.4)"},"aria-label":r?"Stop recording":"Start recording",children:t.jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"4px"},children:[r?_||t.jsx(Fe,{}):m||t.jsx(Ae,{}),(l||j)&&t.jsx("span",{style:{fontSize:v==="sm"?"10px":v==="md"?"12px":"14px"},children:r?j||"Stop":l||"Start"})]})})}const U={container:{width:"100%"},header:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"12px"},title:{fontSize:"18px",fontWeight:600,margin:0},resetButton:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 16px",borderRadius:"8px",border:"1px solid #374151",background:"transparent",color:"#9ca3af",fontSize:"14px",cursor:"pointer"},box:{background:"rgba(255, 255, 255, 0.03)",border:"1px solid #374151",borderRadius:"16px",padding:"24px",minHeight:"150px",overflowY:"auto"},text:{fontSize:"18px",lineHeight:1.75,margin:0,wordWrap:"break-word"},placeholder:{color:"#6b7280",fontSize:"16px",textAlign:"center",margin:0,padding:"32px 0"}},Be=()=>t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"16",height:"16",children:t.jsx("path",{d:"M17.65 6.35A7.958 7.958 0 0012 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0112 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"})});function Ie({transcript:r,placeholder:a="Click the microphone to start speaking...",isListening:d=!1,className:i,style:s,onReset:p,showResetButton:m=!0,maxHeight:_="300px"}){const l={...U.box,maxHeight:_,...s};return t.jsxs("div",{className:i,style:U.container,children:[t.jsxs("div",{style:U.header,children:[t.jsx("h2",{style:U.title,children:"📝 Transcript"}),m&&p&&t.jsxs("button",{type:"button",onClick:p,disabled:!r,style:{...U.resetButton,opacity:r?1:.5,cursor:r?"pointer":"not-allowed"},children:[t.jsx(Be,{}),"Clear"]})]}),t.jsx("div",{style:l,children:r?t.jsx("p",{style:U.text,children:r}):t.jsx("p",{style:U.placeholder,children:d?"🎧 Listening... Speak now!":a})})]})}exports.SpeechButton=Oe;exports.SpeechModal=ce;exports.SpeechProvider=Te;exports.SpeechWidget=de;exports.TranscriptDisplay=Ie;exports.formatConfidence=ge;exports.getSpeechRecognition=ae;exports.getSupportedLanguages=he;exports.isMicrophoneAvailable=fe;exports.isSpeechRecognitionSupported=ie;exports.requestMicrophonePermission=se;exports.useSpeechContext=Re;exports.useSpeechRecognition=q;
|
|
14
|
+
`,e0=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})}),t0=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:e.jsx("path",{d:"M12 2L9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2z"})}),r0=()=>e.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",children:[e.jsx("path",{d:"M12 2L10.5 8.5L4 10L10.5 11.5L12 18L13.5 11.5L20 10L13.5 8.5L12 2Z",fill:"#9333ea"}),e.jsx("path",{d:"M5 14L4 17L7 16L5 14Z",fill:"#9333ea",opacity:"0.6"}),e.jsx("path",{d:"M19 14L20 17L17 16L19 14Z",fill:"#9333ea",opacity:"0.6"})]});function W({isOpen:t,onClose:a,isListening:c,transcript:s,onStartListening:l,onStopListening:p,onResetTranscript:g,onGenerate:w,isGenerating:o=!1,title:b="AI Speech-to-Data",generateButtonText:x="Generate",placeholder:S="Click the microphone and start speaking..."}){const u=i.useRef(null);i.useEffect(()=>{const r=y=>{y.key==="Escape"&&t&&!o&&a()};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[t,a,o]);const f=r=>{r.target===r.currentTarget&&!o&&a()};if(!t)return null;const _=()=>{o||(c?p():(g(),l()))},d=()=>{s&&!o&&w(s)};return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:X}),e.jsx("div",{style:n.overlay,onClick:f,children:e.jsxs("div",{ref:u,style:{...n.modal,animation:"fadeIn 0.25s ease-out"},onClick:r=>r.stopPropagation(),children:[o&&e.jsxs("div",{style:n.loadingOverlay,children:[e.jsx(r0,{}),e.jsxs("div",{style:n.loadingBars,children:[e.jsx("div",{style:{...n.loadingBar,width:"100%"}}),e.jsx("div",{style:{...n.loadingBar,width:"80%"}}),e.jsx("div",{style:{...n.loadingBar,width:"90%"}}),e.jsx("div",{style:{...n.loadingBar,width:"70%"}})]}),e.jsxs("span",{style:n.loadingText,children:[e.jsx("span",{style:n.sparkleIcon,children:"✨"}),"AI Analyzing"]})]}),e.jsxs("div",{style:n.header,children:[e.jsxs("h2",{style:n.title,children:[e.jsx("span",{style:{fontSize:"20px"},children:"✨"}),b]}),e.jsx("button",{style:n.closeButton,onClick:a,disabled:o,onMouseOver:r=>{o||(r.currentTarget.style.background="#f3f4f6")},onMouseOut:r=>{r.currentTarget.style.background="transparent"},children:e.jsx(e0,{})})]}),e.jsxs("div",{style:n.micSection,children:[e.jsx("img",{src:Q,alt:"",style:{...n.bgCircle,opacity:c?1:.6,animation:c?"pulse-glow 2s ease-in-out infinite":"none"}}),e.jsx("button",{style:n.micButton,onClick:_,disabled:o,onMouseOver:r=>{o||(r.currentTarget.style.transform="scale(1.05)")},onMouseOut:r=>{r.currentTarget.style.transform="scale(1)"},children:e.jsx("img",{src:c?P:G,alt:c?"Stop":"Start recording",style:n.micImage})}),e.jsx("p",{style:{...n.statusText,...c?n.statusTextActive:{}},children:c?"AI is listening.":"Generate result"})]}),(s||!c)&&!o&&e.jsx("div",{style:n.transcriptBox,children:s?e.jsx("p",{style:n.transcriptText,children:s}):e.jsx("p",{style:n.placeholderText,children:S})}),!o&&e.jsx("div",{style:n.actions,children:e.jsxs("button",{style:{...n.generateButton,...s?{}:n.generateButtonDisabled},onClick:d,disabled:!s||o,onMouseOver:r=>{s&&!o&&(r.currentTarget.style.background="#9333ea",r.currentTarget.style.color="white")},onMouseOut:r=>{r.currentTarget.style.background="transparent",r.currentTarget.style.color=s?"#9333ea":"#9ca3af"},children:[e.jsx(t0,{}),x]})}),e.jsx("div",{style:n.footer,children:e.jsxs("span",{children:["Powered by ",e.jsx("strong",{children:"DFM"})]})})]})})]})}const i0=t=>{if(typeof t=="object")return{top:t.top,right:t.right,bottom:t.bottom,left:t.left};const a={"bottom-left":{bottom:"24px",left:"24px"},"bottom-right":{bottom:"24px",right:"24px"},"top-left":{top:"24px",left:"24px"},"top-right":{top:"24px",right:"24px"}};return a[t]||a["bottom-left"]};function Z({enabled:t=!0,position:a="bottom-left",config:c={language:"th-TH",continuous:!0},onGenerate:s,onGenerateComplete:l,onGenerateError:p,modalTitle:g="AI Speech-to-Data",generateButtonText:w="Generate",buttonContent:o,buttonSize:b=64,buttonStyle:x,zIndex:S=9998}){const[u,f]=i.useState(!1),[_,d]=i.useState(!1),{transcript:r,isListening:y,startListening:T,stopListening:C,resetTranscript:j}=O({config:c}),R=i.useCallback(()=>{f(!0)},[]),B=i.useCallback(()=>{f(!1),y&&C()},[y,C]),z=i.useCallback(async h=>{if(!s){l?.(h),B(),j();return}d(!0);try{const v=await s(h);l?.(v),B(),j()}catch(v){p?.(v)}finally{d(!1)}},[s,l,p,B,j]);if(!t)return null;const m={position:"fixed",...i0(a),zIndex:S,width:b,height:b,borderRadius:"50%",border:"none",cursor:"pointer",background:"transparent",padding:0,transition:"all 0.3s ease",filter:"drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))",...x};return e.jsxs(e.Fragment,{children:[e.jsx("button",{style:m,onClick:R,"aria-label":"Open voice input",onMouseOver:h=>{h.currentTarget.style.transform="scale(1.1)",h.currentTarget.style.filter="drop-shadow(0 6px 20px rgba(255, 122, 0, 0.5))"},onMouseOut:h=>{h.currentTarget.style.transform="scale(1)",h.currentTarget.style.filter="drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))"},children:o||e.jsx("img",{src:G,alt:"Voice input",style:{width:"100%",height:"100%"}})}),e.jsx(W,{isOpen:u,onClose:B,isListening:y,transcript:r,onStartListening:T,onStopListening:C,onResetTranscript:j,onGenerate:z,isGenerating:_,title:g,generateButtonText:w})]})}const N=i.createContext(null);function o0({children:t,config:a,callbacks:c,showWidget:s=!1,widgetEnabled:l=!0,widgetPosition:p="bottom-left",widgetButtonSize:g=60,widgetZIndex:w=9998,modalTitle:o,generateButtonText:b,onGenerate:x,onGenerateComplete:S,onGenerateError:u}){const[f,_]=i.useState(l),d=O({config:a,callbacks:c}),r=i.useCallback(C=>{_(C)},[]),y=i.useCallback(()=>{_(C=>!C)},[]),T=i.useMemo(()=>({...d,isWidgetEnabled:f,setWidgetEnabled:r,toggleWidget:y}),[d,f,r,y]);return e.jsxs(N.Provider,{value:T,children:[t,s&&e.jsx(Z,{enabled:f,position:p,config:a,buttonSize:g,zIndex:w,modalTitle:o,generateButtonText:b,onGenerate:x,onGenerateComplete:S,onGenerateError:u})]})}function n0(){const t=i.useContext(N);if(!t)throw new Error("useSpeechContext must be used within a SpeechProvider");return t}const a0={sm:60,md:100,lg:140},H={button:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",border:"none",borderRadius:"50%",cursor:"pointer",transition:"all 0.2s ease",background:"transparent",padding:0},disabled:{opacity:.5,cursor:"not-allowed"}},s0=()=>e.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"32",height:"32",children:[e.jsx("path",{d:"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm-1-9c0-.55.45-1 1-1s1 .45 1 1v6c0 .55-.45 1-1 1s-1-.45-1-1V5z"}),e.jsx("path",{d:"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z"})]}),c0=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"32",height:"32",children:e.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})});function l0({isListening:t,onStart:a,onStop:c,disabled:s=!1,className:l,style:p,startIcon:g,stopIcon:w,startLabel:o,stopLabel:b,size:x="md",useAssets:S=!0}){const u=()=>{s||(t?c():a())},f=a0[x],_={...H.button,width:f,height:f,...s&&H.disabled,filter:S?"drop-shadow(0 4px 12px rgba(255, 122, 0, 0.4))":void 0,...p};return S?e.jsx("button",{type:"button",onClick:u,disabled:s,className:l,style:_,"aria-label":t?"Stop recording":"Start recording",children:e.jsx("img",{src:t?P:G,alt:t?"Stop":"Start",style:{width:"100%",height:"100%"}})}):e.jsx("button",{type:"button",onClick:u,disabled:s,className:l,style:{..._,background:t?"linear-gradient(135deg, #ef4444 0%, #dc2626 100%)":"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",color:"white",boxShadow:t?"0 10px 40px rgba(239, 68, 68, 0.4)":"0 10px 40px rgba(102, 126, 234, 0.4)"},"aria-label":t?"Stop recording":"Start recording",children:e.jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"4px"},children:[t?w||e.jsx(c0,{}):g||e.jsx(s0,{}),(o||b)&&e.jsx("span",{style:{fontSize:x==="sm"?"10px":x==="md"?"12px":"14px"},children:t?b||"Stop":o||"Start"})]})})}const k={container:{width:"100%"},header:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"12px"},title:{fontSize:"18px",fontWeight:600,margin:0},resetButton:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 16px",borderRadius:"8px",border:"1px solid #374151",background:"transparent",color:"#9ca3af",fontSize:"14px",cursor:"pointer"},box:{background:"rgba(255, 255, 255, 0.03)",border:"1px solid #374151",borderRadius:"16px",padding:"24px",minHeight:"150px",overflowY:"auto"},text:{fontSize:"18px",lineHeight:1.75,margin:0,wordWrap:"break-word"},placeholder:{color:"#6b7280",fontSize:"16px",textAlign:"center",margin:0,padding:"32px 0"}},d0=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"16",height:"16",children:e.jsx("path",{d:"M17.65 6.35A7.958 7.958 0 0012 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0112 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"})});function p0({transcript:t,placeholder:a="Click the microphone to start speaking...",isListening:c=!1,className:s,style:l,onReset:p,showResetButton:g=!0,maxHeight:w="300px"}){const o={...k.box,maxHeight:w,...l};return e.jsxs("div",{className:s,style:k.container,children:[e.jsxs("div",{style:k.header,children:[e.jsx("h2",{style:k.title,children:"📝 Transcript"}),g&&p&&e.jsxs("button",{type:"button",onClick:p,disabled:!t,style:{...k.resetButton,opacity:t?1:.5,cursor:t?"pointer":"not-allowed"},children:[e.jsx(d0,{}),"Clear"]})]}),e.jsx("div",{style:o,children:t?e.jsx("p",{style:k.text,children:t}):e.jsx("p",{style:k.placeholder,children:c?"🎧 Listening... Speak now!":a})})]})}exports.SpeechButton=l0;exports.SpeechModal=W;exports.SpeechProvider=o0;exports.SpeechWidget=Z;exports.TranscriptDisplay=p0;exports.formatConfidence=Y;exports.getSpeechRecognition=V;exports.getSupportedLanguages=$;exports.isMicrophoneAvailable=q;exports.isSpeechRecognitionSupported=E;exports.requestMicrophonePermission=L;exports.useSpeechContext=n0;exports.useSpeechRecognition=O;
|
|
20
15
|
//# sourceMappingURL=speech-recognition-sdk.cjs.js.map
|