@tdh-keyboard/react 1.0.0
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/LICENSE +190 -0
- package/README.md +278 -0
- package/dist/App.d.ts +2 -0
- package/dist/components/CandidateBar.d.ts +12 -0
- package/dist/components/CandidateList.d.ts +7 -0
- package/dist/components/CandidateSelection.d.ts +8 -0
- package/dist/components/HandwritingInput.d.ts +12 -0
- package/dist/components/KeyboardBase.d.ts +14 -0
- package/dist/components/KeyboardToolbar.d.ts +9 -0
- package/dist/components/NumericKeyboard.d.ts +9 -0
- package/dist/components/SymbolKeyboard.d.ts +8 -0
- package/dist/components/TdhKeyboard.d.ts +16 -0
- package/dist/hooks/useActiveElement.d.ts +6 -0
- package/dist/hooks/useInit.d.ts +1 -0
- package/dist/hooks/useKeyRepeater.d.ts +5 -0
- package/dist/lib.d.ts +5 -0
- package/dist/main.d.ts +1 -0
- package/dist/style.css +2 -0
- package/dist/tdh-keyboard-react.js +2403 -0
- package/dist/tdh-keyboard-react.js.map +1 -0
- package/dist/tdh-keyboard-react.umd.cjs +17 -0
- package/dist/tdh-keyboard-react.umd.cjs.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/utils/useHandwritingRecognizer.d.ts +4 -0
- package/package.json +58 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`@tdh-keyboard/core`),require(`react-dom`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`@tdh-keyboard/core`,`react-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.TdhKeyboardReact={},e.React,e.TdhKeyboardCore,e.ReactDOM))})(this,function(e,t,n,r){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:i(c(e)),d(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=f(t),r=f(r);var p=typeof global==`object`&&global&&global.Object===Object&&global,m=typeof self==`object`&&self&&self.Object===Object&&self,h=p||m||Function(`return this`)(),g=h.Symbol,_=Object.prototype,v=_.hasOwnProperty,y=_.toString,b=g?g.toStringTag:void 0;function x(e){var t=v.call(e,b),n=e[b];try{e[b]=void 0;var r=!0}catch{}var i=y.call(e);return r&&(t?e[b]=n:delete e[b]),i}var S=Object.prototype.toString;function ee(e){return S.call(e)}var te=`[object Null]`,ne=`[object Undefined]`,C=g?g.toStringTag:void 0;function w(e){return e==null?e===void 0?ne:te:C&&C in Object(e)?x(e):ee(e)}function T(e){return typeof e==`object`&&!!e}var E=Array.isArray;function D(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var O=`[object AsyncFunction]`,k=`[object Function]`,A=`[object GeneratorFunction]`,re=`[object Proxy]`;function j(e){if(!D(e))return!1;var t=w(e);return t==k||t==A||t==O||t==re}var M=h[`__core-js_shared__`],ie=function(){var e=/[^.]+$/.exec(M&&M.keys&&M.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function N(e){return!!ie&&ie in e}var ae=Function.prototype.toString;function P(e){if(e!=null){try{return ae.call(e)}catch{}try{return e+``}catch{}}return``}var oe=/[\\^$.*+?()[\]{}|]/g,F=/^\[object .+?Constructor\]$/,I=Function.prototype,L=Object.prototype,R=I.toString,z=L.hasOwnProperty,B=RegExp(`^`+R.call(z).replace(oe,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function se(e){return!D(e)||N(e)?!1:(j(e)?B:F).test(P(e))}function ce(e,t){return e?.[t]}function V(e,t){var n=ce(e,t);return se(n)?n:void 0}var H=V(h,`WeakMap`),U=9007199254740991,le=/^(?:0|[1-9]\d*)$/;function ue(e,t){var n=typeof e;return t??=U,!!t&&(n==`number`||n!=`symbol`&&le.test(e))&&e>-1&&e%1==0&&e<t}function W(e,t){return e===t||e!==e&&t!==t}var de=9007199254740991;function fe(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=de}function pe(e){return e!=null&&fe(e.length)&&!j(e)}var me=Object.prototype;function he(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||me)}function ge(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var _e=`[object Arguments]`;function G(e){return T(e)&&w(e)==_e}var ve=Object.prototype,ye=ve.hasOwnProperty,be=ve.propertyIsEnumerable,xe=G(function(){return arguments}())?G:function(e){return T(e)&&ye.call(e,`callee`)&&!be.call(e,`callee`)};function Se(){return!1}var Ce=typeof e==`object`&&e&&!e.nodeType&&e,we=Ce&&typeof module==`object`&&module&&!module.nodeType&&module,Te=we&&we.exports===Ce?h.Buffer:void 0,Ee=(Te?Te.isBuffer:void 0)||Se,De=`[object Arguments]`,Oe=`[object Array]`,ke=`[object Boolean]`,Ae=`[object Date]`,K=`[object Error]`,je=`[object Function]`,Me=`[object Map]`,Ne=`[object Number]`,Pe=`[object Object]`,Fe=`[object RegExp]`,Ie=`[object Set]`,Le=`[object String]`,Re=`[object WeakMap]`,ze=`[object ArrayBuffer]`,Be=`[object DataView]`,Ve=`[object Float32Array]`,He=`[object Float64Array]`,Ue=`[object Int8Array]`,We=`[object Int16Array]`,Ge=`[object Int32Array]`,Ke=`[object Uint8Array]`,qe=`[object Uint8ClampedArray]`,Je=`[object Uint16Array]`,Ye=`[object Uint32Array]`,q={};q[Ve]=q[He]=q[Ue]=q[We]=q[Ge]=q[Ke]=q[qe]=q[Je]=q[Ye]=!0,q[De]=q[Oe]=q[ze]=q[ke]=q[Be]=q[Ae]=q[K]=q[je]=q[Me]=q[Ne]=q[Pe]=q[Fe]=q[Ie]=q[Le]=q[Re]=!1;function Xe(e){return T(e)&&fe(e.length)&&!!q[w(e)]}function Ze(e){return function(t){return e(t)}}var Qe=typeof e==`object`&&e&&!e.nodeType&&e,$e=Qe&&typeof module==`object`&&module&&!module.nodeType&&module,et=$e&&$e.exports===Qe&&p.process,tt=function(){try{return $e&&$e.require&&$e.require(`util`).types||et&&et.binding&&et.binding(`util`)}catch{}}(),nt=tt&&tt.isTypedArray,rt=nt?Ze(nt):Xe,it=Object.prototype.hasOwnProperty;function at(e,t){var n=E(e),r=!n&&xe(e),i=!n&&!r&&Ee(e),a=!n&&!r&&!i&&rt(e),o=n||r||i||a,s=o?ge(e.length,String):[],c=s.length;for(var l in e)(t||it.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||ue(l,c)))&&s.push(l);return s}function ot(e,t){return function(n){return e(t(n))}}var st=ot(Object.keys,Object),ct=Object.prototype.hasOwnProperty;function lt(e){if(!he(e))return st(e);var t=[];for(var n in Object(e))ct.call(e,n)&&n!=`constructor`&&t.push(n);return t}function ut(e){return pe(e)?at(e):lt(e)}var dt=V(Object,`create`);function ft(){this.__data__=dt?dt(null):{},this.size=0}function pt(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var mt=`__lodash_hash_undefined__`,ht=Object.prototype.hasOwnProperty;function gt(e){var t=this.__data__;if(dt){var n=t[e];return n===mt?void 0:n}return ht.call(t,e)?t[e]:void 0}var _t=Object.prototype.hasOwnProperty;function vt(e){var t=this.__data__;return dt?t[e]!==void 0:_t.call(t,e)}var yt=`__lodash_hash_undefined__`;function bt(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=dt&&t===void 0?yt:t,this}function J(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}J.prototype.clear=ft,J.prototype.delete=pt,J.prototype.get=gt,J.prototype.has=vt,J.prototype.set=bt;function xt(){this.__data__=[],this.size=0}function St(e,t){for(var n=e.length;n--;)if(W(e[n][0],t))return n;return-1}var Ct=Array.prototype.splice;function wt(e){var t=this.__data__,n=St(t,e);return n<0?!1:(n==t.length-1?t.pop():Ct.call(t,n,1),--this.size,!0)}function Tt(e){var t=this.__data__,n=St(t,e);return n<0?void 0:t[n][1]}function Et(e){return St(this.__data__,e)>-1}function Dt(e,t){var n=this.__data__,r=St(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Y(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Y.prototype.clear=xt,Y.prototype.delete=wt,Y.prototype.get=Tt,Y.prototype.has=Et,Y.prototype.set=Dt;var Ot=V(h,`Map`);function kt(){this.size=0,this.__data__={hash:new J,map:new(Ot||Y),string:new J}}function At(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function jt(e,t){var n=e.__data__;return At(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function Mt(e){var t=jt(this,e).delete(e);return this.size-=t?1:0,t}function Nt(e){return jt(this,e).get(e)}function Pt(e){return jt(this,e).has(e)}function Ft(e,t){var n=jt(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function X(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}X.prototype.clear=kt,X.prototype.delete=Mt,X.prototype.get=Nt,X.prototype.has=Pt,X.prototype.set=Ft;function It(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Lt(){this.__data__=new Y,this.size=0}function Rt(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function zt(e){return this.__data__.get(e)}function Bt(e){return this.__data__.has(e)}var Vt=200;function Ht(e,t){var n=this.__data__;if(n instanceof Y){var r=n.__data__;if(!Ot||r.length<Vt-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new X(r)}return n.set(e,t),this.size=n.size,this}function Z(e){this.size=(this.__data__=new Y(e)).size}Z.prototype.clear=Lt,Z.prototype.delete=Rt,Z.prototype.get=zt,Z.prototype.has=Bt,Z.prototype.set=Ht;function Ut(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function Wt(){return[]}var Gt=Object.prototype.propertyIsEnumerable,Kt=Object.getOwnPropertySymbols,qt=Kt?function(e){return e==null?[]:(e=Object(e),Ut(Kt(e),function(t){return Gt.call(e,t)}))}:Wt;function Jt(e,t,n){var r=t(e);return E(e)?r:It(r,n(e))}function Yt(e){return Jt(e,ut,qt)}var Xt=V(h,`DataView`),Zt=V(h,`Promise`),Qt=V(h,`Set`),$t=`[object Map]`,en=`[object Object]`,tn=`[object Promise]`,nn=`[object Set]`,rn=`[object WeakMap]`,an=`[object DataView]`,on=P(Xt),sn=P(Ot),cn=P(Zt),ln=P(Qt),un=P(H),Q=w;(Xt&&Q(new Xt(new ArrayBuffer(1)))!=an||Ot&&Q(new Ot)!=$t||Zt&&Q(Zt.resolve())!=tn||Qt&&Q(new Qt)!=nn||H&&Q(new H)!=rn)&&(Q=function(e){var t=w(e),n=t==en?e.constructor:void 0,r=n?P(n):``;if(r)switch(r){case on:return an;case sn:return $t;case cn:return tn;case ln:return nn;case un:return rn}return t});var dn=Q,fn=h.Uint8Array,pn=`__lodash_hash_undefined__`;function mn(e){return this.__data__.set(e,pn),this}function hn(e){return this.__data__.has(e)}function gn(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new X;++t<n;)this.add(e[t])}gn.prototype.add=gn.prototype.push=mn,gn.prototype.has=hn;function _n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function vn(e,t){return e.has(t)}var yn=1,bn=2;function xn(e,t,n,r,i,a){var o=n&yn,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&bn?new gn:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!_n(t,function(e,t){if(!vn(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function Sn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Cn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var wn=1,Tn=2,En=`[object Boolean]`,Dn=`[object Date]`,On=`[object Error]`,kn=`[object Map]`,An=`[object Number]`,jn=`[object RegExp]`,Mn=`[object Set]`,Nn=`[object String]`,Pn=`[object Symbol]`,Fn=`[object ArrayBuffer]`,In=`[object DataView]`,Ln=g?g.prototype:void 0,Rn=Ln?Ln.valueOf:void 0;function zn(e,t,n,r,i,a,o){switch(n){case In:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Fn:return!(e.byteLength!=t.byteLength||!a(new fn(e),new fn(t)));case En:case Dn:case An:return W(+e,+t);case On:return e.name==t.name&&e.message==t.message;case jn:case Nn:return e==t+``;case kn:var s=Sn;case Mn:var c=r&wn;if(s||=Cn,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Tn,o.set(e,t);var u=xn(s(e),s(t),r,i,a,o);return o.delete(e),u;case Pn:if(Rn)return Rn.call(e)==Rn.call(t)}return!1}var Bn=1,Vn=Object.prototype.hasOwnProperty;function Hn(e,t,n,r,i,a){var o=n&Bn,s=Yt(e),c=s.length;if(c!=Yt(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Vn.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var Un=1,Wn=`[object Arguments]`,Gn=`[object Array]`,Kn=`[object Object]`,qn=Object.prototype.hasOwnProperty;function Jn(e,t,n,r,i,a){var o=E(e),s=E(t),c=o?Gn:dn(e),l=s?Gn:dn(t);c=c==Wn?Kn:c,l=l==Wn?Kn:l;var u=c==Kn,d=l==Kn,f=c==l;if(f&&Ee(e)){if(!Ee(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new Z,o||rt(e)?xn(e,t,n,r,i,a):zn(e,t,c,n,r,i,a);if(!(n&Un)){var p=u&&qn.call(e,`__wrapped__`),m=d&&qn.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new Z,i(h,g,n,r,a)}}return f?(a||=new Z,Hn(e,t,n,r,i,a)):!1}function Yn(e,t,n,r,i){return e===t?!0:e==null||t==null||!T(e)&&!T(t)?e!==e&&t!==t:Jn(e,t,n,r,Yn,i)}function Xn(e,t){return Yn(e,t)}function Zn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var Qn={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function $n(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=Zn({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,Zn({},t,{expires:-1}))},withAttributes:function(e){return $n(this.converter,Zn({},this.attributes,e))},withConverter:function(e){return $n(Zn({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}$n(Qn,{path:`/`});var er=u(((e,t)=>{(function(){"use strict";var e=typeof window<`u`&&window.document!==void 0?window.document:{},n=t!==void 0&&t.exports,r=(function(){for(var t,n=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],r=0,i=n.length,a={};r<i;r++)if(t=n[r],t&&t[1]in e){for(r=0;r<t.length;r++)a[n[0][r]]=t[r];return a}return!1})(),i={change:r.fullscreenchange,error:r.fullscreenerror},a={request:function(t,n){return new Promise(function(i,a){var o=function(){this.off(`change`,o),i()}.bind(this);this.on(`change`,o),t||=e.documentElement;var s=t[r.requestFullscreen](n);s instanceof Promise&&s.then(o).catch(a)}.bind(this))},exit:function(){return new Promise(function(t,n){if(!this.isFullscreen){t();return}var i=function(){this.off(`change`,i),t()}.bind(this);this.on(`change`,i);var a=e[r.exitFullscreen]();a instanceof Promise&&a.then(i).catch(n)}.bind(this))},toggle:function(e,t){return this.isFullscreen?this.exit():this.request(e,t)},onchange:function(e){this.on(`change`,e)},onerror:function(e){this.on(`error`,e)},on:function(t,n){var r=i[t];r&&e.addEventListener(r,n,!1)},off:function(t,n){var r=i[t];r&&e.removeEventListener(r,n,!1)},raw:r};if(!r){n?t.exports={isEnabled:!1}:window.screenfull={isEnabled:!1};return}Object.defineProperties(a,{isFullscreen:{get:function(){return!!e[r.fullscreenElement]}},element:{enumerable:!0,get:function(){return e[r.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return!!e[r.fullscreenEnabled]}}}),n?t.exports=a:window.screenfull=a})()})),tr=u((e=>{var t=require(`react`);function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),nr=u((e=>{process.env.NODE_ENV!==`production`&&(function(){function t(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}function n(e,t){d||a.startTransition===void 0||(d=!0,console.error(`You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.`));var n=t();if(!f){var i=t();o(n,i)||(console.error(`The result of getSnapshot should be cached to avoid an infinite loop`),f=!0)}i=s({inst:{value:n,getSnapshot:t}});var p=i[0].inst,m=i[1];return l(function(){p.value=n,p.getSnapshot=t,r(p)&&m({inst:p})},[e,n,t]),c(function(){return r(p)&&m({inst:p}),e(function(){r(p)&&m({inst:p})})},[e]),u(n),n}function r(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch{return!0}}function i(e,t){return t()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var a=require(`react`),o=typeof Object.is==`function`?Object.is:t,s=a.useState,c=a.useEffect,l=a.useLayoutEffect,u=a.useDebugValue,d=!1,f=!1,p=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?i:n;e.useSyncExternalStore=a.useSyncExternalStore===void 0?p:a.useSyncExternalStore,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),rr=u(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=tr():t.exports=nr()}));f(er(),1),rr();function ir(e){return typeof e==`function`}var ar=process.env.NODE_ENV===`development`||process.env.NODE_ENV===`test`,or=typeof window<`u`,sr=typeof navigator<`u`;or&&window?.navigator?.userAgent&&/iP(?:ad|hone|od)/.test(window.navigator.userAgent);var cr=or?t.useLayoutEffect:t.useEffect,lr=e=>{let n=(0,t.useRef)(e);return cr(()=>{n.current=e},[e]),n};function ur(e,...t){e&&e.addEventListener&&e.addEventListener(...t)}function dr(e,...t){e&&e.removeEventListener&&e.removeEventListener(...t)}var fr=typeof window<`u`?window:void 0,pr={};function mr(e,t){if(!or)return;if(!e)return t;let n;return n=ir(e)?e():`current`in e?e.current:e,n}var hr=e=>(e+1)%1e6;function gr(){let[,e]=(0,t.useReducer)(hr,0);return e}var _r=(e,n,r)=>{process.env.NODE_ENV!==`production`&&((!Array.isArray(n)||!n.length)&&console.warn("`useCustomCompareEffect` should not be used with no dependencies. Use React.useEffect instead."),typeof r!=`function`&&console.warn("`useCustomCompareEffect` should be used with depsEqual callback for comparing deps list"));let i=(0,t.useRef)(void 0),a=gr();i.current||=n,cr(()=>{r(n,i.current)||(i.current=n,a())}),(0,t.useEffect)(e,i.current)},vr=(e,t)=>{process.env.NODE_ENV!==`production`&&(!Array.isArray(t)||!t.length)&&console.warn("`useDeepCompareEffect` should not be used with no dependencies. Use React.useEffect instead."),_r(e,t,Xn)};function yr(e,t,n,r=pr){let i=lr(t);vr(()=>{let t=mr(n,fr);if(!(t&&t.addEventListener))return;let a=e=>i.current(e);return ur(t,e,a,r),()=>{t&&t.removeEventListener&&dr(t,e,a)}},[e,n,r])}var br=e=>{ar&&(ir(e)||console.error(`useMount: parameter \`fn\` expected to be a function, but got "${typeof e}".`)),(0,t.useEffect)(()=>{e?.()},[])},xr=()=>{let[e,n]=(0,t.useState)(null),r=(0,t.useCallback)(()=>{n(window?.document.activeElement)},[]);return yr(`blur`,r,fr,!0),yr(`focus`,r,fr,!0),br(()=>{n(window?.document.activeElement)}),e},Sr=(e,n,r=pr)=>{let i=lr(n),a=(0,t.useRef)(),o=(0,t.useCallback)(()=>{a.current&&a.current.disconnect()},[]);return vr(()=>{let t=mr(e);if(t)return a.current=new ResizeObserver(i.current),a.current.observe(t,r),o},[i,o,e,r]),o},Cr=(e,n=pr)=>{let{box:r=`content-box`}=n,[i,a]=(0,t.useState)(0),[o,s]=(0,t.useState)(0);return Sr(e,([e])=>{let t=r===`border-box`?e.borderBoxSize:r===`content-box`?e.contentBoxSize:e.devicePixelContentBoxSize;t?(a(t.reduce((e,{inlineSize:t})=>e+t,0)),s(t.reduce((e,{blockSize:t})=>e+t,0))):(a(e.contentRect.width),s(e.contentRect.height))},n),[i,o]};t.useEffect;var wr=sr?navigator:void 0;wr&&(wr.connection||wr.mozConnection||wr.webkitConnection),t.useEffect,t.useLayoutEffect,t.useLayoutEffect,t.default.use;var Tr=f(u(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1);function Er(e=!1){let[r,i]=(0,t.useState)(!1),[a,o]=(0,t.useState)(0),s=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{s.current=r},[r]),(0,t.useEffect)(()=>{if(!e){i(!1),o(0);return}let t=!1;async function r(){let e=(0,n.getHandwritingRecognizer)();if(e)try{let n=await e.initialize({onProgress:e=>{t||o(e)}});t||i(n)}catch(e){console.error(`初始化手写识别服务失败:`,e),t||i(!1)}else console.warn(`未注册手写识别服务`),t||i(!1)}return r(),()=>{t=!0;let e=(0,n.getHandwritingRecognizer)();e&&s.current&&e.close().catch(e=>{console.error(`关闭手写识别服务失败:`,e)})}},[e]),{recognizerInitialized:r,recognizerProgress:a}}var Dr=`data:image/svg+xml,%3csvg%20t='1777011781316'%20class='icon'%20viewBox='0%200%201439%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5887'%20width='200'%20height='200'%3e%3cpath%20d='M1283.03672%200.000187H465.243153a158.045778%20158.045778%200%200%200-122.329921%2057.680486L24.083875%20440.475014c-0.622227%200.68445-1.182232%201.431123-1.742237%202.177796A115.672087%20115.672087%200%200%200%200.003672%20511.906728a118.658779%20118.658779%200%200%200%2026.818004%2074.667297l316.713783%20380.492099a158.232446%20158.232446%200%200%200%20121.707694%2056.933814H1283.03672a156.303541%20156.303541%200%200%200%20156.05465-156.116873V156.054837A156.241318%20156.241318%200%200%200%201283.03672%200.000187z%20m-257.477728%20689.863598a47.538179%2047.538179%200%200%201-33.600284%2013.937896%2047.662624%2047.662624%200%200%201-33.662506-13.937896L847.72638%20579.293963l-110.569822%20110.569822a47.911515%2047.911515%200%200%201-33.724729%2013.937896%2047.662624%2047.662624%200%200%201-33.662506-81.325131l110.383154-110.569822-110.569822-110.569822a47.662624%2047.662624%200%200%201%200-67.387235%2047.600402%2047.600402%200%200%201%2067.325012%200l110.632045%20110.632045%20110.569822-110.632045A47.625291%2047.625291%200%200%201%201025.434546%20401.336906l-110.383153%20110.569822%20110.569821%20110.569822a47.662624%2047.662624%200%200%201-0.062222%2067.387235z'%20fill='%232C2C2C'%20p-id='5888'%3e%3c/path%3e%3c/svg%3e`,Or=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z'%20/%3e%3c/svg%3e`;function kr(){let e=(0,t.useRef)((0,n.createKeyRepeater)());return(0,t.useEffect)(()=>{let t=e.current;return()=>{t.stop()}},[]),{startRepeat:(0,t.useCallback)((t,n)=>{t.preventDefault(),t.currentTarget?.setPointerCapture?.(t.pointerId),e.current.start(n)},[]),stopRepeat:(0,t.useCallback)(()=>{e.current.stop()},[])}}var Ar=u((e=>{var t=require(`react`),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),jr=u((e=>{process.env.NODE_ENV!==`production`&&(function(){"use strict";var t=require(`react`),n=Symbol.for(`react.element`),r=Symbol.for(`react.portal`),i=Symbol.for(`react.fragment`),a=Symbol.for(`react.strict_mode`),o=Symbol.for(`react.profiler`),s=Symbol.for(`react.provider`),c=Symbol.for(`react.context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`),m=Symbol.for(`react.offscreen`),h=Symbol.iterator,g=`@@iterator`;function _(e){if(typeof e!=`object`||!e)return null;var t=h&&e[h]||e[g];return typeof t==`function`?t:null}var v=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){b(`error`,e,[...arguments].slice(1))}function b(e,t,n){var r=v.ReactDebugCurrentFrame.getStackAddendum();r!==``&&(t+=`%s`,n=n.concat([r]));var i=n.map(function(e){return String(e)});i.unshift(`Warning: `+t),Function.prototype.apply.call(console[e],console,i)}var x=!1,S=!1,ee=!1,te=!1,ne=!1,C=Symbol.for(`react.module.reference`);function w(e){return!!(typeof e==`string`||typeof e==`function`||e===i||e===o||ne||e===a||e===u||e===d||te||e===m||x||S||ee||typeof e==`object`&&e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===s||e.$$typeof===c||e.$$typeof===l||e.$$typeof===C||e.getModuleId!==void 0))}function T(e,t,n){var r=e.displayName;if(r)return r;var i=t.displayName||t.name||``;return i===``?n:n+`(`+i+`)`}function E(e){return e.displayName||`Context`}function D(e){if(e==null)return null;if(typeof e.tag==`number`&&y(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case i:return`Fragment`;case r:return`Portal`;case o:return`Profiler`;case a:return`StrictMode`;case u:return`Suspense`;case d:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case c:return E(e)+`.Consumer`;case s:return E(e._context)+`.Provider`;case l:return T(e,e.render,`ForwardRef`);case f:var t=e.displayName||null;return t===null?D(e.type)||`Memo`:t;case p:var n=e,m=n._payload,h=n._init;try{return D(h(m))}catch{return null}}return null}var O=Object.assign,k=0,A,re,j,M,ie,N,ae;function P(){}P.__reactDisabledLog=!0;function oe(){if(k===0){A=console.log,re=console.info,j=console.warn,M=console.error,ie=console.group,N=console.groupCollapsed,ae=console.groupEnd;var e={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}k++}function F(){if(k--,k===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:O({},e,{value:A}),info:O({},e,{value:re}),warn:O({},e,{value:j}),error:O({},e,{value:M}),group:O({},e,{value:ie}),groupCollapsed:O({},e,{value:N}),groupEnd:O({},e,{value:ae})})}k<0&&y(`disabledDepth fell below zero. This is a bug in React. Please file an issue.`)}var I=v.ReactCurrentDispatcher,L;function R(e,t,n){if(L===void 0)try{throw Error()}catch(e){var r=e.stack.trim().match(/\n( *(at )?)/);L=r&&r[1]||``}return`
|
|
2
|
+
`+L+e}var z=!1,B=new(typeof WeakMap==`function`?WeakMap:Map);function se(e,t){if(!e||z)return``;var n=B.get(e);if(n!==void 0)return n;var r;z=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var a=I.current;I.current=null,oe();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(o,[])}catch(e){r=e}Reflect.construct(e,[],o)}else{try{o.call()}catch(e){r=e}e.call(o.prototype)}}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var s=t.stack.split(`
|
|
3
|
+
`),c=r.stack.split(`
|
|
4
|
+
`),l=s.length-1,u=c.length-1;l>=1&&u>=0&&s[l]!==c[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==c[u]){if(l!==1||u!==1)do if(l--,u--,u<0||s[l]!==c[u]){var d=`
|
|
5
|
+
`+s[l].replace(` at new `,` at `);return e.displayName&&d.includes(`<anonymous>`)&&(d=d.replace(`<anonymous>`,e.displayName)),typeof e==`function`&&B.set(e,d),d}while(l>=1&&u>=0);break}}}finally{z=!1,I.current=a,F(),Error.prepareStackTrace=i}var f=e?e.displayName||e.name:``,p=f?R(f):``;return typeof e==`function`&&B.set(e,p),p}function ce(e,t,n){return se(e,!1)}function V(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function H(e,t,n){if(e==null)return``;if(typeof e==`function`)return se(e,V(e));if(typeof e==`string`)return R(e);switch(e){case u:return R(`Suspense`);case d:return R(`SuspenseList`)}if(typeof e==`object`)switch(e.$$typeof){case l:return ce(e.render);case f:return H(e.type,t,n);case p:var r=e,i=r._payload,a=r._init;try{return H(a(i),t,n)}catch{}}return``}var U=Object.prototype.hasOwnProperty,le={},ue=v.ReactDebugCurrentFrame;function W(e){if(e){var t=e._owner,n=H(e.type,e._source,t?t.type:null);ue.setExtraStackFrame(n)}else ue.setExtraStackFrame(null)}function de(e,t,n,r,i){var a=Function.call.bind(U);for(var o in e)if(a(e,o)){var s=void 0;try{if(typeof e[o]!=`function`){var c=Error((r||`React class`)+`: `+n+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name=`Invariant Violation`,c}s=e[o](t,o,r,n,null,`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`)}catch(e){s=e}s&&!(s instanceof Error)&&(W(i),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||`React class`,n,o,typeof s),W(null)),s instanceof Error&&!(s.message in le)&&(le[s.message]=!0,W(i),y(`Failed %s type: %s`,n,s.message),W(null))}}var fe=Array.isArray;function pe(e){return fe(e)}function me(e){return typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`}function he(e){try{return ge(e),!1}catch{return!0}}function ge(e){return``+e}function _e(e){if(he(e))return y(`The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.`,me(e)),ge(e)}var G=v.ReactCurrentOwner,ve={key:!0,ref:!0,__self:!0,__source:!0},ye,be,xe={};function Se(e){if(U.call(e,`ref`)){var t=Object.getOwnPropertyDescriptor(e,`ref`).get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function Ce(e){if(U.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function we(e,t){if(typeof e.ref==`string`&&G.current&&t&&G.current.stateNode!==t){var n=D(G.current.type);xe[n]||(y(`Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref`,D(G.current.type),e.ref),xe[n]=!0)}}function Te(e,t){var n=function(){ye||(ye=!0,y("%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://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,`key`,{get:n,configurable:!0})}function Ee(e,t){var n=function(){be||(be=!0,y("%s: `ref` 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://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,`ref`,{get:n,configurable:!0})}var De=function(e,t,r,i,a,o,s){var c={$$typeof:n,type:e,key:t,ref:r,props:s,_owner:o};return c._store={},Object.defineProperty(c._store,`validated`,{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,`_self`,{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.defineProperty(c,`_source`,{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function Oe(e,t,n,r,i){var a,o={},s=null,c=null;for(a in n!==void 0&&(_e(n),s=``+n),Ce(t)&&(_e(t.key),s=``+t.key),Se(t)&&(c=t.ref,we(t,i)),t)U.call(t,a)&&!ve.hasOwnProperty(a)&&(o[a]=t[a]);if(e&&e.defaultProps){var l=e.defaultProps;for(a in l)o[a]===void 0&&(o[a]=l[a])}if(s||c){var u=typeof e==`function`?e.displayName||e.name||`Unknown`:e;s&&Te(o,u),c&&Ee(o,u)}return De(e,s,c,i,r,G.current,o)}var ke=v.ReactCurrentOwner,Ae=v.ReactDebugCurrentFrame;function K(e){if(e){var t=e._owner,n=H(e.type,e._source,t?t.type:null);Ae.setExtraStackFrame(n)}else Ae.setExtraStackFrame(null)}var je=!1;function Me(e){return typeof e==`object`&&!!e&&e.$$typeof===n}function Ne(){if(ke.current){var e=D(ke.current.type);if(e)return`
|
|
6
|
+
|
|
7
|
+
Check the render method of \``+e+"`."}return``}function Pe(e){if(e!==void 0){var t=e.fileName.replace(/^.*[\\\/]/,``),n=e.lineNumber;return`
|
|
8
|
+
|
|
9
|
+
Check your code at `+t+`:`+n+`.`}return``}var Fe={};function Ie(e){var t=Ne();if(!t){var n=typeof e==`string`?e:e.displayName||e.name;n&&(t=`
|
|
10
|
+
|
|
11
|
+
Check the top-level render call using <`+n+`>.`)}return t}function Le(e,t){if(!(!e._store||e._store.validated||e.key!=null)){e._store.validated=!0;var n=Ie(t);if(!Fe[n]){Fe[n]=!0;var r=``;e&&e._owner&&e._owner!==ke.current&&(r=` It was passed a child from `+D(e._owner.type)+`.`),K(e),y(`Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.`,n,r),K(null)}}}function Re(e,t){if(typeof e==`object`){if(pe(e))for(var n=0;n<e.length;n++){var r=e[n];Me(r)&&Le(r,t)}else if(Me(e))e._store&&(e._store.validated=!0);else if(e){var i=_(e);if(typeof i==`function`&&i!==e.entries)for(var a=i.call(e),o;!(o=a.next()).done;)Me(o.value)&&Le(o.value,t)}}}function ze(e){var t=e.type;if(!(t==null||typeof t==`string`)){var n;if(typeof t==`function`)n=t.propTypes;else if(typeof t==`object`&&(t.$$typeof===l||t.$$typeof===f))n=t.propTypes;else return;if(n){var r=D(t);de(n,e.props,`prop`,r,e)}else t.PropTypes!==void 0&&!je&&(je=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",D(t)||`Unknown`));typeof t.getDefaultProps==`function`&&!t.getDefaultProps.isReactClassApproved&&y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Be(e){for(var t=Object.keys(e.props),n=0;n<t.length;n++){var r=t[n];if(r!==`children`&&r!==`key`){K(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),K(null);break}}e.ref!==null&&(K(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),K(null))}var Ve={};function He(e,t,r,a,o,s){var c=w(e);if(!c){var l=``;(e===void 0||typeof e==`object`&&e&&Object.keys(e).length===0)&&(l+=` You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.`);var u=Pe(o);u?l+=u:l+=Ne();var d;e===null?d=`null`:pe(e)?d=`array`:e!==void 0&&e.$$typeof===n?(d=`<`+(D(e.type)||`Unknown`)+` />`,l=` Did you accidentally export a JSX literal instead of a component?`):d=typeof e,y(`React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s`,d,l)}var f=Oe(e,t,r,o,s);if(f==null)return f;if(c){var p=t.children;if(p!==void 0)if(a)if(pe(p)){for(var m=0;m<p.length;m++)Re(p[m],e);Object.freeze&&Object.freeze(p)}else y(`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 Re(p,e)}if(U.call(t,`key`)){var h=D(e),g=Object.keys(t).filter(function(e){return e!==`key`}),_=g.length>0?`{key: someKey, `+g.join(`: ..., `)+`: ...}`:`{key: someKey}`;Ve[h+_]||(y(`A props object containing a "key" prop is being spread into JSX:
|
|
12
|
+
let props = %s;
|
|
13
|
+
<%s {...props} />
|
|
14
|
+
React keys must be passed directly to JSX without using spread:
|
|
15
|
+
let props = %s;
|
|
16
|
+
<%s key={someKey} {...props} />`,_,h,g.length>0?`{`+g.join(`: ..., `)+`: ...}`:`{}`,h),Ve[h+_]=!0)}return e===i?Be(f):ze(f),f}function Ue(e,t,n){return He(e,t,n,!0)}function We(e,t,n){return He(e,t,n,!1)}var Ge=We,Ke=Ue;e.Fragment=i,e.jsx=Ge,e.jsxs=Ke})()})),$=u(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Ar():t.exports=jr()}))(),Mr=({candidates:e,onSelect:t})=>(0,$.jsx)(`div`,{className:`tdhk-candidate-list`,children:e.map((e,n)=>(0,$.jsx)(`button`,{className:`tdhk-candidate-list__item`,onClick:()=>t(n),children:e},`candidate-${n}`))}),Nr=`data:image/svg+xml,%3csvg%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7%2011L14%2018L21%2011'%20stroke='%235E6773'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Pr=`data:image/svg+xml,%3csvg%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='4.5'%20y='5.5'%20width='19'%20height='17'%20rx='3.5'%20stroke='%235E6773'%20stroke-width='2'/%3e%3cpath%20d='M8.5%2010H10'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M12%2010H13.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M15.5%2010H17'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M19%2010H20.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M8%2014H10.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M12%2014H14.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M16%2014H18.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M10%2018.5H18'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e`,Fr=`data:image/svg+xml,%3csvg%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='6.5'%20y='3.5'%20width='15'%20height='21'%20rx='3.5'%20stroke='%235E6773'%20stroke-width='2'/%3e%3cpath%20d='M14%207H14.01'%20stroke='%235E6773'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3cpath%20d='M17.5%2016.5V14C17.5%2012.6193%2016.3807%2011.5%2015%2011.5C13.6193%2011.5%2012.5%2012.6193%2012.5%2014V19L11.25%2017.75C10.4697%2016.9697%209.20435%2016.9697%208.42401%2017.75C7.64366%2018.5303%207.64366%2019.7956%208.42401%2020.576L11.6766%2023.8284C12.0516%2024.2034%2012.5603%2024.4141%2013.0909%2024.4141H16C18.4853%2024.4141%2020.5%2022.3994%2020.5%2019.9141V16.5'%20stroke='%235E6773'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Ir=({enableHandwriting:e=!1,isHandwritingMode:n=!1,onToggleKeyboard:r,onCollapse:i})=>{let a=(0,t.useMemo)(()=>n?`切换到输入键盘`:`切换到手写键盘`,[n]),o=(0,t.useMemo)(()=>n?Pr:Fr,[n]);function s(e){e.preventDefault()}return(0,$.jsxs)(`div`,{className:`tdhk-toolbar`,children:[(0,$.jsx)(`button`,{className:`tdhk-toolbar__button ${e?``:`tdhk-toolbar__button--disabled`}`,type:`button`,"aria-label":a,disabled:!e,onClick:r,onContextMenu:s,children:(0,$.jsx)(`img`,{src:o,className:`tdhk-toolbar__icon`,alt:a})}),(0,$.jsx)(`div`,{className:`tdhk-toolbar__spacer`}),(0,$.jsx)(`div`,{className:`tdhk-toolbar__divider`}),(0,$.jsx)(`button`,{className:`tdhk-toolbar__button tdhk-toolbar__button--collapse`,type:`button`,"aria-label":`收起键盘`,onClick:i,onContextMenu:s,children:(0,$.jsx)(`img`,{src:Nr,className:`tdhk-toolbar__icon`,alt:`收起键盘`})})]})},Lr=({recognizerInitialized:e,recognizerProgress:r,onKey:i,onCollapse:a,onSwitchToSymbol:o,onToggleKeyboard:s})=>{let c=(0,t.useRef)(null),l=(0,t.useRef)(null),u=(0,t.useRef)(!1),[d,f]=(0,t.useState)([]),{startRepeat:p,stopRepeat:m}=kr(),h=(0,t.useCallback)(async()=>{if(!l.current||l.current.getStrokeData().length===0||u.current)return;let e=(0,n.getHandwritingRecognizer)();if(e){u.current=!0;try{let t=[...l.current.getStrokeData()];f(await e.recognize(t))}catch(e){console.error(`识别笔迹失败:`,e)}finally{u.current=!1}}else console.warn(`手写识别服务不可用`)},[]),g=(0,t.useCallback)(()=>{c.current&&(l.current&&l.current.destroy(),c.current.width=c.current.clientWidth,c.current.height=c.current.clientHeight,l.current=new n.CanvasDrawer(c.current,{onDrawEnd:h}))},[h]),[_,v]=Cr(c);(0,t.useLayoutEffect)(()=>{if(_&&v&&e)return g(),()=>{l.current&&l.current.destroy()}},[_,v,e,g]);function y(){l.current&&l.current.clearCanvas()}function b(e){let t=d[e];t&&(i({key:t}),f([]),y())}function x(e){e.preventDefault()}return(0,$.jsxs)(`div`,{className:`handwriting-input`,children:[(0,$.jsx)(`div`,{className:`handwriting-input__header`,children:d.length>0?(0,$.jsx)(`div`,{className:`handwriting-input__candidates`,children:(0,$.jsx)(Mr,{candidates:d,onSelect:b})}):(0,$.jsx)(Ir,{enableHandwriting:!0,isHandwritingMode:!0,onToggleKeyboard:s,onCollapse:a})}),(0,$.jsxs)(`div`,{className:`handwriting-content`,children:[(0,$.jsxs)(`div`,{className:`handwriting-buttons`,children:[(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`。`})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:`。`}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`?`})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:`?`}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`!`})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:`!`}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onClick:o,onContextMenu:x,children:`符`})]}),(0,$.jsx)(`div`,{className:`handwriting-canvas-container`,children:e?(0,$.jsx)(`canvas`,{ref:c,className:`handwriting-canvas`}):(0,$.jsxs)(`div`,{className:`handwriting-loading`,children:[(0,$.jsx)(`div`,{className:`loading-text`,children:`正在加载手写识别...`}),(0,$.jsx)(`div`,{className:`progress-bar`,children:(0,$.jsx)(`div`,{className:`progress-fill`,style:{width:`${r*100}%`}})}),(0,$.jsxs)(`div`,{className:`progress-text`,children:[Math.round(r*100),`%`]})]})}),(0,$.jsxs)(`div`,{className:`handwriting-buttons`,children:[(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`delete`,isControl:!0})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:(0,$.jsx)(`img`,{src:Dr,alt:`删除`})}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`、`})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:`、`}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`,`})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:`,`}),(0,$.jsx)(`button`,{className:`handwriting-btn handwriting-btn--function`,onPointerDown:e=>p(e,()=>i({key:`enter`,isControl:!0})),onPointerUp:m,onPointerLeave:m,onPointerCancel:m,onContextMenu:x,children:(0,$.jsx)(`img`,{src:Or,alt:`回车`})})]})]})]})},Rr=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M3%2015H5V19H19V15H21V19C21%2020.1%2020.1%2021%2019%2021H5C3.9%2021%203%2020.1%203%2019V15Z'%20/%3e%3c/svg%3e`,zr=({candidates:e,onSelect:t,onClose:n})=>{function r(e){let t=Array.from(e).length;return t>=2&&t<=3?2:t>=4?3:1}return(0,$.jsxs)(`div`,{className:`tdhk-selection`,children:[(0,$.jsx)(`div`,{className:`tdhk-selection__list`,children:e.map((e,n)=>(0,$.jsx)(`div`,{className:`tdhk-selection__text tdhk-selection__text--span-${r(e)}`,onClick:()=>t(n),children:e},n))}),(0,$.jsx)(`div`,{className:`tdhk-selection__func`,children:(0,$.jsx)(`button`,{className:`tdhk-selection__func-btn`,onClick:n,children:`返回`})})]})},Br=(0,t.forwardRef)(({currentPinyin:e,onInput:r,setCurrentPinyin:i},a)=>{let o=(0,t.useRef)(null),[s,c]=(0,t.useState)(!1),[l,u]=(0,t.useState)(null),[d,f]=(0,t.useState)(!1),p=(0,t.useMemo)(()=>l?.candidates.map(e=>e.text)??[],[l]),m=(0,t.useMemo)(()=>l?l.preeditHead+l.preeditBody:``,[l]);(0,t.useImperativeHandle)(a,()=>({handleSelection:h})),(0,t.useLayoutEffect)(()=>{let e=(0,n.getPinyinEngine)();if(e)o.current=e,c(!0);else throw Error(`未找到拼音引擎实例,请确保已正确注册引擎`);return()=>{o.current?.processInput(``)?.catch(()=>{}),c(!1)}},[]),(0,t.useLayoutEffect)(()=>{let t=o.current;if(!(!t||!s)){if(e===``){t.processInput(``)?.catch(()=>{}),u(null);return}(async()=>{u(await t.processInput(e))})()}},[e,s]);async function h(e){let t=o.current;if(!t)return;let n=await t.pickCandidate(e);u(n),n.preeditBody||(r(n.committed||``),i(``),u(null),f(!1))}return(0,$.jsxs)(`div`,{className:`tdhk-candidate`,children:[(0,$.jsxs)(`div`,{className:`tdhk-candidate__container`,children:[m&&(0,$.jsx)(`div`,{className:`tdhk-candidate__pinyin`,children:m}),(0,$.jsxs)(`div`,{className:`tdhk-candidate__bottom-container`,children:[p.length>0&&(0,$.jsx)(Mr,{candidates:p,onSelect:h}),p.length>0&&(0,$.jsx)(`button`,{className:`tdhk-candidate__more`,onClick:()=>f(!0),children:(0,$.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'%20/%3e%3c/svg%3e`,alt:`更多`})})]})]}),d&&(0,$.jsx)(zr,{candidates:p,onSelect:h,onClose:()=>f(!1)})]})}),Vr=({enableHandwriting:e,capsReturnToChinese:n,mode:r,onKey:i,onCollapse:a,onToggleKeyboard:o,setCapsReturnToChinese:s,setMode:c})=>{let[l,u]=(0,t.useState)(``),d=(0,t.useRef)(null),{startRepeat:f,stopRepeat:p}=kr(),m=(0,t.useMemo)(()=>r===`zh`,[r]),h=(0,t.useMemo)(()=>r===`en_cap`,[r]),g=(0,t.useMemo)(()=>m?!0:h,[m,h]);function _(e,t=!1){i({key:e,isControl:t})}function v(){m?(u(``),s(!0),c(`en_cap`)):h&&n?(s(!1),c(`zh`)):(s(!1),c(h?`en`:`en_cap`))}function y(){c(`num`)}function b(){c(`symbol`)}let x=[[`q`,`w`,`e`,`r`,`t`,`y`,`u`,`i`,`o`,`p`],[`a`,`s`,`d`,`f`,`g`,`h`,`j`,`k`,`l`],[`z`,`x`,`c`,`v`,`b`,`n`,`m`]];function S(){if(r===`zh`&&l){u(l.slice(0,-1));return}_(`delete`,!0)}function ee(){if(r===`zh`&&l){d.current?.handleSelection(0);return}_(` `)}function te(){if(r===`zh`&&l){_(l),u(``);return}_(`enter`,!0)}function ne(e){if(r===`zh`){u(l+e);return}_(h?e.toUpperCase():e)}function C(){s(!1),c(r===`zh`?`en`:`zh`)}function w(e){e.preventDefault()}return(0,$.jsxs)(`div`,{className:`tdhk-base`,children:[(0,$.jsx)(`div`,{className:`tdhk-base__row tdhk-base__row--header`,children:(0,t.useMemo)(()=>m&&l.length>0,[m,l.length])?(0,$.jsx)(Br,{ref:d,currentPinyin:l,onInput:e=>_(e,!1),onKey:i,setCurrentPinyin:u}):(0,$.jsx)(Ir,{enableHandwriting:e,onToggleKeyboard:o,onCollapse:a})}),x.map((e,t)=>(0,$.jsxs)(`div`,{className:`tdhk-base__row`,children:[t===2&&(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--function tdhk-base__key--shift ${h?`tdhk-base__key--active`:``}`,onClick:v,onContextMenu:w,children:(0,$.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M6,18H18V16H6M12,8.41L16.59,13L18,11.58L12,5.58L6,11.58L7.41,13L12,8.41Z'%20/%3e%3c/svg%3e`,className:`tdhk-base__key-icon`,alt:`Shift`})}),e.map(e=>(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--letter`,onPointerDown:t=>f(t,()=>ne(e)),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:g?e.toUpperCase():e},e)),t===2&&(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--function tdhk-base__key--delete`,onPointerDown:e=>f(e,()=>S()),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:(0,$.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20t='1777011781316'%20class='icon'%20viewBox='0%200%201439%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5887'%20width='200'%20height='200'%3e%3cpath%20d='M1283.03672%200.000187H465.243153a158.045778%20158.045778%200%200%200-122.329921%2057.680486L24.083875%20440.475014c-0.622227%200.68445-1.182232%201.431123-1.742237%202.177796A115.672087%20115.672087%200%200%200%200.003672%20511.906728a118.658779%20118.658779%200%200%200%2026.818004%2074.667297l316.713783%20380.492099a158.232446%20158.232446%200%200%200%20121.707694%2056.933814H1283.03672a156.303541%20156.303541%200%200%200%20156.05465-156.116873V156.054837A156.241318%20156.241318%200%200%200%201283.03672%200.000187z%20m-257.477728%20689.863598a47.538179%2047.538179%200%200%201-33.600284%2013.937896%2047.662624%2047.662624%200%200%201-33.662506-13.937896L847.72638%20579.293963l-110.569822%20110.569822a47.911515%2047.911515%200%200%201-33.724729%2013.937896%2047.662624%2047.662624%200%200%201-33.662506-81.325131l110.383154-110.569822-110.569822-110.569822a47.662624%2047.662624%200%200%201%200-67.387235%2047.600402%2047.600402%200%200%201%2067.325012%200l110.632045%20110.632045%20110.569822-110.632045A47.625291%2047.625291%200%200%201%201025.434546%20401.336906l-110.383153%20110.569822%20110.569821%20110.569822a47.662624%2047.662624%200%200%201-0.062222%2067.387235z'%20fill='%232C2C2C'%20p-id='5888'%3e%3c/path%3e%3c/svg%3e`,className:`tdhk-base__key-icon`,alt:`Delete`})})]},`row-${e.join(``)}`)),(0,$.jsxs)(`div`,{className:`tdhk-base__row`,children:[(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--function`,onClick:b,onContextMenu:w,children:`符`}),(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--function`,onClick:y,onContextMenu:w,children:`123`}),(0,$.jsx)(`button`,{className:`tdhk-base__key`,onPointerDown:e=>f(e,()=>_(`,`)),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:`,`}),(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--space`,onPointerDown:e=>f(e,()=>ee()),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:(0,$.jsx)(`img`,{src:Rr,className:`tdhk-base__key-icon`,alt:`Space`})}),(0,$.jsx)(`button`,{className:`tdhk-base__key`,onPointerDown:e=>f(e,()=>_(`。`)),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:`。`}),(0,$.jsxs)(`button`,{className:`tdhk-base__key tdhk-base__key--function`,onClick:C,onContextMenu:w,children:[(0,$.jsx)(`span`,{className:`tdhk-base__toggle-main`,children:r===`zh`?`中`:`英`}),(0,$.jsxs)(`span`,{className:`tdhk-base__toggle-sub`,children:[`/`,r===`zh`?`英`:`中`]})]}),(0,$.jsx)(`button`,{className:`tdhk-base__key tdhk-base__key--function`,onPointerDown:e=>f(e,()=>te()),onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onContextMenu:w,children:(0,$.jsx)(`img`,{src:Or,className:`tdhk-base__key-icon`,alt:`Enter`})})]})]})},Hr=[[`1`,`2`,`3`],[`4`,`5`,`6`],[`7`,`8`,`9`],[`back`,`0`,`space`]],Ur=({onKey:e,onExit:t,keyboardRows:r=(0,n.getKeyboardConfig)().numKeys||Hr})=>{let{startRepeat:i,stopRepeat:a}=kr(),o=[{key:`delete`,icon:Dr,text:``,alt:`Delete`},{key:`.`,icon:``,text:`.`,alt:`.`},{key:`@`,icon:``,text:`@`,alt:`@`},{key:`enter`,icon:Or,text:``,alt:`Enter`}];function s(t){e({key:t})}function c(t,n=!0){e({key:t,isControl:n})}function l(){t()}function u(e){e.preventDefault()}function d(e,t){e===`back`||(e===`space`&&(e=` `),e===`delete`||e===`enter`?i(t,()=>c(e)):i(t,()=>s(e)))}let f=e=>e===`back`?`返回`:e===`space`?(0,$.jsx)(`img`,{src:Rr,className:`tdhk-base__key-icon`,alt:`Space`}):e;return(0,$.jsx)(`div`,{className:`num-keyboard`,children:(0,$.jsxs)(`div`,{className:`num-keyboard__container`,children:[(0,$.jsx)(`div`,{className:`num-keyboard__left`,children:(0,$.jsx)(`div`,{className:`num-keyboard__rows`,children:r.map(e=>(0,$.jsx)(`div`,{className:`num-keyboard__row`,children:e.map(t=>(0,$.jsx)(`button`,{className:`num-keyboard__key ${t===`back`?`num-keyboard__key--back`:``} ${t===`space`?`num-keyboard__key--space`:``}`,onClick:()=>t===`back`&&l(),onPointerDown:e=>d(t,e),onPointerUp:a,onPointerLeave:a,onPointerCancel:a,onContextMenu:u,children:f(t)},`key-${e.join(``)}-${t}`))},`row-${e.join(``)}`))})}),(0,$.jsx)(`div`,{className:`num-keyboard__right`,children:o.map(e=>(0,$.jsx)(`button`,{className:`num-keyboard__key num-keyboard__key--function`,onPointerDown:t=>{if(e.key===`.`||e.key===`@`){i(t,()=>s(e.key));return}i(t,()=>c(e.key))},onPointerUp:a,onPointerLeave:a,onPointerCancel:a,onContextMenu:u,children:e.icon?(0,$.jsx)(`img`,{src:e.icon,className:`num-keyboard__key-icon`,alt:e.alt}):(0,$.jsx)(`span`,{children:e.text})},`func-${e.key}`))})]})})},Wr=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M18,20V10H6V20H18M18,8A2,2%200%200,1%2020,10V20A2,2%200%200,1%2018,22H6C4.89,22%204,21.1%204,20V10A2,2%200%200,1%206,8H15V6A3,3%200%200,0%2012,3A3,3%200%200,0%209,6H7A5,5%200%200,1%2012,1A5,5%200%200,1%2017,6V8H18M12,17A2,2%200%200,1%2010,15A2,2%200%200,1%2012,13A2,2%200%200,1%2014,15A2,2%200%200,1%2012,17Z'%20/%3e%3c/svg%3e`,Gr=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12,17C10.89,17%2010,16.1%2010,15C10,13.89%2010.89,13%2012,13A2,2%200%200,1%2014,15A2,2%200%200,1%2012,17M18,20V10H6V20H18M18,8A2,2%200%200,1%2020,10V20A2,2%200%200,1%2018,22H6C4.89,22%204,21.1%204,20V10C4,8.89%204.89,8%206,8H7V6A5,5%200%200,1%2012,1A5,5%200%200,1%2017,6V8H18M12,3A3,3%200%200,0%209,6V8H15V6A3,3%200%200,0%2012,3Z'%20/%3e%3c/svg%3e`,Kr=({onKey:e,onExit:n})=>{let[r,i]=(0,t.useState)(`en`),a=(0,t.useMemo)(()=>r===`zh`?`!@#¥%…&*(){}[]<>/\|:;"',。?+-=_~·€£¥₹©®™°`:`!@#$%^&*(){}[]<>/\\|:;"',.?+-=_~\`€£¥₹©®™°`,[r]),[o,s]=(0,t.useState)(!1),{startRepeat:c,stopRepeat:l}=kr();function u(t){e({key:t}),o||n()}function d(){n()}function f(){s(!o)}function p(e){e.preventDefault()}function m(e,t){o&&c(t,()=>u(e))}return(0,$.jsx)(`div`,{className:`symbol-keyboard`,children:(0,$.jsxs)(`div`,{className:`symbol-keyboard__content`,children:[(0,$.jsxs)(`div`,{className:`symbol-keyboard__functions`,children:[(0,$.jsxs)(`div`,{className:`symbol-keyboard__lang-selector`,children:[(0,$.jsx)(`button`,{type:`button`,className:`symbol-keyboard__lang-btn ${r===`zh`?`symbol-keyboard__lang-btn--active`:``}`,onClick:()=>i(`zh`),onContextMenu:p,children:`中文`}),(0,$.jsx)(`button`,{className:`symbol-keyboard__lang-btn ${r===`en`?`symbol-keyboard__lang-btn--active`:``}`,onClick:()=>i(`en`),onContextMenu:p,children:`英文`})]}),(0,$.jsxs)(`div`,{className:`symbol-keyboard__control-group`,children:[(0,$.jsx)(`button`,{className:`symbol-keyboard__key symbol-keyboard__key--function symbol-keyboard__key--lock ${o?`symbol-keyboard__key--locked`:``}`,onClick:f,onContextMenu:p,children:o?(0,$.jsx)(`img`,{src:Gr,alt:`Lock closed`}):(0,$.jsx)(`img`,{src:Wr,alt:`Lock open`})}),(0,$.jsx)(`button`,{className:`symbol-keyboard__key symbol-keyboard__key--function symbol-keyboard__key--back`,onClick:d,onContextMenu:p,children:`返回`})]})]}),(0,$.jsx)(`div`,{className:`symbol-keyboard__symbols-container`,children:(0,$.jsx)(`div`,{className:`symbol-keyboard__symbols-grid`,children:a.split(``).map(e=>(0,$.jsx)(`button`,{className:`symbol-keyboard__key`,onClick:()=>!o&&u(e),onPointerDown:t=>m(e,t),onPointerUp:l,onPointerLeave:l,onPointerCancel:l,onContextMenu:p,children:e},`key-${e}`))})})]})})};function qr(e){return e===`zh`||e===`en`||e===`en_cap`}function Jr(e){return qr(e)?e:`zh`}var Yr=(0,t.forwardRef)((e,r)=>{let{defaultMode:i=(0,n.getKeyboardConfig)().defaultMode??`en`,enableHandwriting:a=(0,n.getKeyboardConfig)().enableHandwriting??!1,position:o=(0,n.getKeyboardConfig)().position??`static`,floatMarginTop:s=(0,n.getKeyboardConfig)().floatMarginTop??0,disableWhenNoFocus:c=(0,n.getKeyboardConfig)().disableWhenNoFocus??!0,manual:l=(0,n.getKeyboardConfig)().manual??!1,onKey:u,className:d,style:f,numKeys:p}=e,[m,h]=(0,t.useState)(i),[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(!1),[b,x]=(0,t.useState)(!1),S=(0,t.useRef)(Jr(i)),[ee,te]=(0,t.useState)(null),ne=(0,t.useRef)(null),C=xr(),[w,T]=(0,t.useState)(null),[E,D]=(0,t.useState)(!l),[O,k]=(0,t.useState)(!1),A=(0,t.useMemo)(()=>l?w:C&&(0,n.isInputElement)(C)?C:null,[C,l,w]),[re,j]=Cr(ne),{recognizerInitialized:M,recognizerProgress:ie}=Er(a);(0,t.useEffect)(()=>{qr(m)&&(S.current=m)},[m]);let[N,ae]=(0,t.useState)(!1),P=(0,t.useRef)(null),oe=(0,t.useRef)(null);(0,t.useEffect)(()=>{!l&&!O&&A&&A!==oe.current&&D(!0),oe.current=A},[A,O,l]);let F=(0,t.useCallback)(()=>{j&&te((0,n.calculateKeyboardPosition)(A,ne.current,o,s))},[s,A,j,o]),I=(0,t.useMemo)(()=>O||!E||g&&!A?!1:l||o===`static`||!!A,[A,g,O,E,l,o]);(0,t.useLayoutEffect)(()=>{let e=P.current!==A;I&&j&&e&&(P.current=A,F())},[I,A,F,j]),(0,t.useLayoutEffect)(()=>{if(j&&!N){F();let e=setTimeout(()=>{ae(!0)},0);return()=>clearTimeout(e)}},[j,N,F]),(0,t.useLayoutEffect)(()=>{if(E&&A){_(!1);let e=A.dataset.inputmode;h(t=>e?(y(!1),x(!1),qr(e)?S.current=e:e===`hand`&&(S.current=`zh`),e):t)}},[A,E]);let L=(0,t.useMemo)(()=>l?!w:c===!1?!1:!A,[c,A,l,w]),R=(0,t.useMemo)(()=>{let e;return()=>{clearTimeout(e),e=setTimeout(F,100)}},[F]);yr(`scroll`,R,window,{passive:!0}),yr(`resize`,R,window,{passive:!0});let z=(0,t.useCallback)(e=>{if(e.isControl)switch(e.key){case`delete`:A&&(0,n.delToInputElement)(A);break;case`more`:break;default:break}else A&&(0,n.writeToInputElement)(A,e.key);u&&u(e)},[A,u]),B=(0,t.useCallback)(()=>{if(m===`symbol`&&b){x(!1),h(`hand`);return}x(!1),h(S.current)},[m,b]),se=(0,t.useCallback)(()=>{if(a){if(m===`hand`){h(S.current);return}qr(m)&&(S.current=m,h(`hand`))}},[a,m]),ce=(0,t.useCallback)(()=>{U(),A?.blur()},[A]),V=(0,t.useCallback)(()=>{x(!0),h(`symbol`)},[]),H=(0,t.useCallback)(e=>{k(!1),e?(T(e),e.focus()):C&&(0,n.isInputElement)(C)&&T(C),_(!1),D(!0),F()},[C,F]),U=(0,t.useCallback)(()=>{_(!0),D(!1)},[]),le=(0,t.useCallback)(()=>{_(!0),D(!1),T(null),te(null),k(!0)},[]);return(0,t.useEffect)(()=>{if(!l){D(!0),T(null),k(!1);return}D(!1),T(null)},[l]),(0,t.useImperativeHandle)(r,()=>({open:H,close:U,destroy:le}),[U,le,H]),(0,$.jsx)(`div`,{ref:ne,className:(0,Tr.default)(`tdhk`,{"tdhk--floating":o===`float`,"tdhk--bottom":o===`bottom`,"tdhk--disabled":L},d),style:{"--keyboard-height":`${j}px`,...ee,...f,display:I?void 0:`none`,opacity:N?1:0},onMouseDown:e=>e.preventDefault(),children:L||!I||!j?(0,$.jsx)(`div`,{className:(0,Tr.default)(`tdhk__disabled-overlay`),children:(0,$.jsx)(`span`,{children:`请选择输入框以启用键盘`})}):(0,$.jsxs)($.Fragment,{children:[m===`hand`&&(0,$.jsx)(Lr,{recognizerInitialized:M,recognizerProgress:ie,onKey:z,onToggleKeyboard:se,onSwitchToSymbol:V,onCollapse:ce}),m===`num`&&(0,$.jsx)(Ur,{onKey:z,onExit:B,keyboardRows:p}),m===`symbol`&&(0,$.jsx)(Kr,{onKey:z,onExit:B}),(m===`en`||m===`en_cap`||m===`zh`)&&(0,$.jsx)(Vr,{capsReturnToChinese:v,mode:m,setMode:h,setCapsReturnToChinese:y,enableHandwriting:a,onKey:z,onToggleKeyboard:se,onCollapse:ce})]})})}),Xr=(0,t.forwardRef)((e,t)=>{let{position:n=`static`}=e,i=(0,$.jsx)(Yr,{...e,ref:t});return n===`static`?i:r.default.createPortal(i,document.body)}),Zr=Xr;e.TdhKeyboard=Xr,e.default=Zr,Object.keys(n).forEach(function(t){t!==`default`&&!Object.prototype.hasOwnProperty.call(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})});
|
|
17
|
+
//# sourceMappingURL=tdh-keyboard-react.umd.cjs.map
|