weifuwu 0.85.0 → 0.86.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/README.md +5 -5
- package/dist/components/Editor/Editor.d.ts +8 -7
- package/dist/components/Editor/edit-events.d.ts +27 -0
- package/dist/components/Editor/model/apply.d.ts +23 -0
- package/dist/components/Editor/model/diff.d.ts +25 -0
- package/dist/components/Editor/model/dom.d.ts +27 -0
- package/dist/components/Editor/model/history.d.ts +21 -0
- package/dist/components/Editor/model/html.d.ts +16 -0
- package/dist/components/Editor/model/inverse.d.ts +20 -0
- package/dist/components/Editor/model/types.d.ts +116 -0
- package/dist/components/Editor/tools/table.d.ts +5 -2
- package/dist/components/Editor/tools/toolbar.d.ts +1 -1
- package/dist/components/Editor/tools/types.d.ts +25 -0
- package/dist/components/FilePreview/FilePreview.d.ts +42 -0
- package/dist/components/FilePreview/markdown.d.ts +23 -0
- package/dist/components/OfficeEditor/ai/ai-bridge.d.ts +39 -0
- package/dist/components/OfficeEditor/model/apply.d.ts +25 -0
- package/dist/components/OfficeEditor/model/types.d.ts +224 -0
- package/dist/components/SheetGrid/SheetGrid.d.ts +30 -0
- package/dist/components/SlideCanvas/SlideCanvas.d.ts +28 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.js +54 -14
- package/dist/components/style.css +679 -4
- package/dist/index.js +38 -11
- package/dist/office/docx.d.ts +33 -0
- package/dist/office/pptx.d.ts +24 -0
- package/dist/office/xlsx.d.ts +25 -0
- package/dist/office/xml-serialize.d.ts +18 -0
- package/dist/office/xml.d.ts +21 -0
- package/dist/office/zip.d.ts +21 -0
- package/dist/ui-dom/index.js +7 -7
- package/dist/ui-dom/locale/en_US.d.ts +14 -0
- package/dist/ui-dom/locale/zh_CN.d.ts +14 -0
- package/dist/ui-dom/testing.js +5 -5
- package/dist/ui-dom/types.d.ts +3 -1
- package/dist/ui-dom/vdom3/delegate.d.ts +5 -0
- package/dist/ui-dom/vdom3.js +7 -7
- package/docs/components-map.md +12 -0
- package/docs/components.md +124 -2
- package/package.json +1 -1
- package/dist/components/Editor/tools/format.d.ts +0 -11
package/dist/ui-dom/testing.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
function K(e){if(e==null||typeof e=="boolean")return"null";if(typeof e=="string"||typeof e=="number")return"text";let t=e.type;return typeof t=="function"?"comp":typeof t=="symbol"?t===B?"app":e.props?.portalKey!=null?"portal":"frag":"native"}function Te(e){return Array.isArray(e)?e.flatMap(t=>Te(t)):[e]}function T(e){if(e.children!=null)return Te(e.children);let t=e.props?.children??[];return Te(t)}var J=Symbol("v3-fragment"),q=Symbol("v3-portal"),B=Symbol("v3-app");function h(e,t,n,o){let r={entity:e,action:t,ts:Date.now()};return n!=null&&(r.target=n),o!=null&&(r.payload=o),r}function on(e=2e4,t){let n=[],o=0,r=0,s=0,a=!1,l=t?.watermark??.8,u=new Set,i=d=>n[(o+d)%e],c=(d,g)=>{n[(o+d)%e]=g},f=(d,g)=>{r<e?(c(r,d),r++):(c(0,d),o=(o+1)%e,g||(s++,(s%64===1||s===1)&&f(h("stream","overflow",void 0,{capacity:e,count:s,dropped:`${d.entity}:${d.action}`,droppedTarget:d.target??null}),!0)))},p=null,m=0;return{setSession(){return p=`s${++m}`,p},currentSession(){return p},emit(d){p!=null&&d.session==null&&(d.session=p),f(d,!1),l>0&&!a&&r>=e*l&&(a=!0,f(h("stream","watermark",void 0,{usage:r,capacity:e,ratio:l}),!0));for(let g of u)try{g(d)}catch{}},subscribe(d,g){let v=typeof d=="function"?null:d,y=typeof d=="function"?d:g,N=x=>{if(v==null){y(x);return}(Array.isArray(v)?v:[v]).includes(x.entity)&&y(x)};return u.add(N),()=>{u.delete(N)}},size(){return r},capacity(){return e},overflowCount(){return s},events(){let d=new Array(r);for(let g=0;g<r;g++)d[g]=i(g);return d},eventsBySession(d){return this.events().filter(g=>g.session===d)},inverse(d){switch(d.entity+":"+d.action){case"node:insert":return h("node","remove",d.target,{parent:d.payload?.parent});case"node:remove":return null;case"prop:update":return h("prop","update",d.target,{key:d.payload?.key,value:d.payload?.prev,prev:d.payload?.value});case"text:update":return h("text","update",d.target,{value:d.payload?.prev,prev:d.payload?.value});case"node:move":return null;default:return null}},reset(){o=0,r=0,s=0,a=!1}}}var w=on();if(typeof globalThis<"u"){let e=globalThis;e.__wf_tail||(e.__wf_tail=(t=200,n)=>{let o=w.events().slice(-t);return n?o.filter(r=>!(n.comp&&r.payload?.name!==n.comp||n.decision&&r.payload?.reason!==n.decision||n.causeId&&r.payload?.causeId!==n.causeId)):o},e.__wf_builds=t=>{let n=w.events().filter(o=>o.entity==="comp"&&o.action==="build");return t?n.filter(o=>o.payload?.name===t).map(o=>({name:o.payload?.name,reason:o.payload?.reason,changedKeys:o.payload?.changedKeys})):n.map(o=>({name:o.payload?.name,reason:o.payload?.reason,changedKeys:o.payload?.changedKeys}))},e.__wf_recent=(t=50)=>w.events().slice(-t),e.__wf_comp=t=>w.events().filter(o=>!!(o.target===t||o.payload?.name&&!t)).map(o=>({entity:o.entity,action:o.action,target:o.target,payload:o.payload,session:o.session})))}var rn=0;function j(){return`n${++rn}`}function Se(e){if(!e)return 0;let t=0;for(let n of Q.values())n.has(e)&&t++;return t}var Q=new Map,Ze=new Set,Ye=new Map,ze=new Map,Ve=new Map,Ce=new Map,et={focus:"focusin",blur:"focusout"},sn=new Set(["error","load","loadstart","loadend","abort","unload","resize","message"]),ln=new Set(["input","change","compositionstart","compositionend"]);function tt(e,t,n,o=!1){let r=Q.get(t);r||(r=new Map,Q.set(t,r)),r.set(e,{handler:n,once:o})}function an(e,t){Q.get(t)?.delete(e)&&w.emit(h("event","unbind",e,{event:t}))}function Pe(e){for(let[t,n]of Q)n.delete(e)&&w.emit(h("event","unbind",e,{event:t}))}function ie(e,t,n,o=!1){let r=e.getAttribute("data-v3-id");if(!r)return()=>{};tt(r,t,n,o);let s=nt(e);return s&&ot(s,t),()=>an(r,t)}function Le(e){Ze.add(e),un()}var Je=!1,_e=0,se=[];function Qe(){let e=document.getSelection?.(),t=e?.toString?.()??"",n=e?.anchorNode;return{target:n&&n.nodeType===1?n.getAttribute?.("data-v3-id")??null:n?.parentElement?.getAttribute?.("data-v3-id")??null,text:t}}function un(){if(Je||(Je=!0,typeof document>"u"))return;let e=()=>{_e||(_e=requestAnimationFrame(()=>{_e=0;try{let{target:o,text:r}=Qe();if(!r)return;w.emit(h("text","select",void 0,{target:o,length:r.length,sample:r.slice(0,40)}))}catch{}}))};se.push(V(document,"selectionchange",e));let t=o=>{let{target:r,text:s}=Qe(),a=s;return o.type==="paste"&&(a=o.clipboardData?.getData?.("text")??""),{target:r,sample:a.slice(0,40)}},n=o=>{if(!(o.type!=="copy"&&o.type!=="cut"&&o.type!=="paste"))try{let{target:r,sample:s}=t(o);if(!s)return;w.emit(h("text",o.type,void 0,{target:r,length:s.length,sample:s}))}catch{}};se.push(V(document,"copy",n)),se.push(V(document,"cut",n)),se.push(V(document,"paste",n))}function nt(e){let t=e;for(;t;){if(t.nodeType===1&&Ze.has(t))return t;t=t.parentNode}return null}function ot(e,t){let n=Ye.get(e)??new Set;if(n.has(t))return;n.add(t),Ye.set(e,n);let o=et[t]??t,r=u=>dn(u),s=sn.has(o);e.addEventListener(o,r,s?{capture:!0}:void 0);let a=ze.get(e)??new Map;a.set(o,r),ze.set(e,a);let l=e.hasAttribute("data-wf-portal-key")?`portal:${e.getAttribute("data-wf-portal-key")}`:"root";w.emit(h("event","bind",l,{event:o,delegated:!0}))}function V(e,t,n,o){let r=et[t]??t,s=Ve.get(r);s||(s=new Set,Ve.set(r,s)),s.add(n);let a=Ce.get(e)??new Map;if(!a.has(r)){let l=i=>{for(let c of Ve.get(r)??[])try{c(i)}catch{}},u=o?.capture?{capture:!0,passive:o?.passive??!1}:void 0;e.addEventListener(r,l,u),a.set(r,l),Ce.set(e,a),w.emit(h("event","bind",e===window?"window":"document",{event:r,delegated:!0,capture:o?.capture??!1}))}return()=>{if(s.delete(n),s.size===0){let l=a.get(r);l&&e.removeEventListener(r,l,o?.capture?{capture:!0}:void 0),a.delete(r),a.size===0&&Ce.delete(e),w.emit(h("event","unbind",e===window?"window":"document",{event:r}))}}}function Ae(e,t,n,o){if(tt(e,t,n),o){let r=nt(o);r&&ot(r,t)}}function dn(e){let t=e.target;t&&t.nodeType===3&&(t=t.parentElement);let n=Q.get(e.type);if(n)for(;t;){if(!t.hasAttribute?.("data-v3-id")){let r=t.closest?.("[data-v3-id]");if(r&&r!==t){t=r;continue}}let o=t.getAttribute?.("data-v3-id");if(o){let r=n.get(o);if(r){try{Object.defineProperty(e,"currentTarget",{value:t,configurable:!0})}catch{}try{r.handler(e)}catch{}if(ln.has(e.type)){let s=t?.value??null;w.emit(h("text","input",o,{event:e.type,value:typeof s=="string"?s.slice(0,100):null}))}if(r.once&&(n.delete(o),w.emit(h("event","unbind",o,{event:e.type}))),e.cancelBubble)break}}t=t.parentElement}}var rt=new Map;function Me(e){e._id&&rt.set(e._id,e)}function st(e){rt.delete(e)}function Z(e){let t=document.getElementById("__wf_portal");t||(t=document.createElement("div"),t.id="__wf_portal",document.body.appendChild(t));let n=t.querySelector(`[data-wf-portal-key="${e}"]`);return n||(n=document.createElement("div"),n.setAttribute("data-wf-portal-key",e),t.appendChild(n)),n}var O=class{byId=new Map;idByNode=new WeakMap;removed=new Map;static PORTAL=t=>`portal:${t}`;resolveParent(t){return t.startsWith("portal:")?Z(t.slice(7)):this.get(t)}get(t){return t.startsWith("portal:")?Z(t.slice(7)):this.byId.get(t)??null}register(t,n){this.byId.set(t,n),this.idByNode.set(n,t)}idOf(t){return t?t.nodeType===1?t.getAttribute("data-v3-id")??this.idByNode.get(t)??"el":this.idByNode.get(t)??"node":"null"}unregister(t,n){this.byId.delete(t),this.removed.set(t,n)}takeRemoved(t){let n=this.removed.get(t);return n&&this.removed.delete(t),n??null}static ROOT="root"};function I(){return{activeElement:()=>typeof document<"u"?document.activeElement:null,byId:e=>typeof document<"u"?document.getElementById(e):null,query:e=>typeof document<"u"?document.querySelector(e):null,queryAll:e=>typeof document<"u"?document.querySelectorAll(e):null,createElement:e=>typeof document<"u"?document.createElement(e):null,createElementNS:(e,t)=>typeof document<"u"?document.createElementNS(e,t):null,createDocumentFragment:()=>typeof document<"u"?document.createDocumentFragment():null,createComment:e=>typeof document<"u"?document.createComment(e):null,createTextNode:e=>typeof document<"u"?document.createTextNode(e):null,addEventListener:(e,t,n)=>{typeof window<"u"&&window.addEventListener(e,t,n)},removeEventListener:(e,t,n)=>{typeof window<"u"&&window.removeEventListener(e,t,n)},scrollTo:e=>{typeof window<"u"&&window.scrollTo(0,e)},matchMedia:e=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(e):null,visualViewport:()=>(typeof window<"u"?window:null)?.visualViewport??null,scrollingElement:()=>typeof document<"u"?document.scrollingElement:null,bodyElement:()=>typeof document<"u"?document.body:null,bodyAppend:e=>{typeof document<"u"&&document.body.appendChild(e)},bodyRemove:e=>{typeof document<"u"&&e.parentNode&&document.body.removeChild(e)},clearBody:()=>{typeof document<"u"&&(document.body.innerHTML="")},event:(e,t)=>{let n=typeof window<"u"?window:null,o=t&&(t.key||t.code)?"KeyboardEvent":t&&(t.clientX!==void 0||t.clientY!==void 0||t.pointerId!==void 0)?"PointerEvent":"Event";try{return new n[o](e,t)}catch{return new n.Event(e,t)}},dispatchEvent:(e,t)=>typeof e<"u"?e.dispatchEvent(t):!1,reload:()=>{typeof window<"u"&&window.location.reload()},navigate:e=>{typeof window>"u"||(window.history.pushState(null,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:null})))},downloadFile:(e,t,n="text/plain")=>{try{if(typeof document>"u"||typeof URL>"u"||!URL.createObjectURL)return!1;let o=new Blob([t],{type:n}),r=URL.createObjectURL(o),s=document.createElement("a");return s.href=r,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(()=>URL.revokeObjectURL(r),1e3),!0}catch{return!1}},copyText:async e=>{let t=typeof window<"u"?window:null;if(t?.navigator?.clipboard?.writeText)try{return await t.navigator.clipboard.writeText(e),!0}catch{}try{if(typeof document>"u")return!1;let n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select();let o=document.execCommand("copy");return document.body.removeChild(n),o}catch{return!1}},execCommand:(e,t)=>typeof document<"u"?document.execCommand(e,!1,t):!1,queryCommandState:e=>typeof document<"u"?document.queryCommandState(e):!1,queryCommandValue:e=>typeof document<"u"?document.queryCommandValue(e):"",selectionText:()=>typeof window<"u"?window.getSelection?.()?.toString()??null:null,getSelection:()=>typeof window<"u"?window.getSelection():null,viewportHeight:()=>typeof window<"u"?window.innerHeight:0,viewportWidth:()=>typeof window<"u"?window.innerWidth:0,pathname:()=>typeof window<"u"?window.location.pathname:"",createTreeWalker:(e,t)=>typeof document<"u"?document.createTreeWalker(e,t??NodeFilter.SHOW_ALL):null,scrollTop:()=>{let e=typeof document<"u"?document:null,t=typeof window<"u"?window:null;return e?.scrollingElement?.scrollTop??t?.scrollY??0},hash:()=>typeof window<"u"?window.location?.hash??"":"",setHash:e=>{typeof window<"u"&&(window.location.hash=e)},timeout:(e,t)=>typeof window<"u"?window.setTimeout(e,t):0,rootElement:()=>typeof document<"u"?document.documentElement:null,storageGet:e=>{try{return typeof window<"u"?window.localStorage?.getItem(e)??null:null}catch{return null}},storageSet:(e,t)=>{try{typeof window<"u"&&window.localStorage?.setItem(e,t)}catch{}}}}var cn=new Map;function it(e){return cn.get(e)??null}function lt(e,t){let n=e.selfId(),o;return n&&(o=t.subscribe(()=>e.render([n])),e.onUnmount(()=>o?.())),t}function Oe(e,t){let n=e.selfId(),o=t.value!==void 0;if(o&&!t.onChange&&t.name&&(e.warned.has(t.name)||(e.warned.add(t.name),console.warn(`[weifuwu/${t.name}] \u53D7\u63A7\u6A21\u5F0F\uFF08value \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onChange\uFF0C\u4EA4\u4E92\u65E0\u6CD5\u751F\u6548\u3002
|
|
2
|
-
\u975E\u53D7\u63A7\uFF1A\u53BB\u6389 value\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onChange={(v) => setValue(v)}`))),!o&&n&&!e.uncontrolledValues.has(n)){e.uncontrolledValues.set(n,t.value);let s=e.onUnmount(a=>{a===n&&(e.uncontrolledValues.delete(n),s())})}let r=s=>{if(o){t.onChange?.(s);return}n&&e.uncontrolledValues.set(n,s),n?e.render([n]):e.render()};return{value:o?t.value:n?e.uncontrolledValues.get(n):t.value,setValue:r,controlled:o}}function
|
|
3
|
-
\u975E\u53D7\u63A7\uFF1A\u53BB\u6389 open\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onOpenChange={(o) => setOpen(o)}`));let r=()=>o?!!t.open:n?e.openStates.get(n)??!1:!1,s=()=>{n?e.render([n]):e.render()},a=l=>{if(o){t.onOpenChange?.(l);return}n&&e.openStates.set(n,l),s()};return{get open(){return r()},setOpen:a,triggerProps:{onClick:()=>a(!0),onFocus:()=>{t.openOnFocus&&a(!0)}}}}var X=I(),G=0,ht="",wt="",vt="",bt="",fe=0;function Et(){return typeof window<"u"&&typeof document<"u"}function fn(){if(G++,w.emit(h("effect","lock",void 0,{depth:G})),G>1||!Et())return;fe=X.scrollTop();let e=X.bodyElement();ht=e.style.overflow,wt=e.style.position,vt=e.style.top,bt=e.style.width,e.style.overflow="hidden",(/iPhone|iPad|iPod/.test(navigator.platform)||/Mac/.test(navigator.platform)&&"ontouchend"in document)&&(e.style.position="fixed",e.style.top=`-${fe}px`,e.style.width="100%")}function pn(){if(G===0||(G--,w.emit(h("effect","unlock",void 0,{depth:G})),G>0)||!Et())return;let e=X.bodyElement();e.style.overflow=ht,e.style.position=wt,e.style.top=vt,e.style.width=bt,fe>0&&X.scrollTo(fe)}var mn='a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';function yn(e){let t;return queueMicrotask(()=>{let n=e.querySelectorAll(mn);if(n.length===0)return;let o=n[0],r=n[n.length-1],s=u=>{u.key==="Tab"&&(u.shiftKey&&X.activeElement()===o?(u.preventDefault(),r.focus()):!u.shiftKey&&X.activeElement()===r&&(u.preventDefault(),o.focus()))},a=X.activeElement();w.emit(h("effect","focus",void 0,{mode:"trap-start"})),o.focus();let l=V(e,"keydown",s);t=()=>{l(),w.emit(h("effect","focus",void 0,{mode:"restore"})),a?.focus()}}),()=>t?.()}function Nt(e,t,n){let o=e.selfId(),r=e.browser,s=`media:${o}:${t}`;if(!e.mediaRegistry.has(s)){let a=r.matchMedia(t);n(a.matches);let l=i=>n(i.matches);V(a,"change",l),e.mediaRegistry.set(s,{mql:a,handler:l});let u=e.onUnmount(i=>{if(i!==o)return;let c=e.mediaRegistry.get(s);if(c?.mql&&c.handler)try{c.mql.removeEventListener("change",c.handler)}catch{}e.mediaRegistry.delete(s),u()})}}function kt(e,t,n){let o=e.browser,r=typeof t=="function"?{mobile:"(max-width: 639px)",tablet:"(min-width: 640px) and (max-width: 1023px)",desktop:"(min-width: 1024px)"}:t,s=typeof t=="function"?t:n,a=e.selfId(),l=`bp:${a}`;function u(){for(let[i,c]of Object.entries(r))if(o.matchMedia(c).matches)return i;return Object.keys(r)[0]??""}if(!e.mediaRegistry.has(l)){s(u());let i=[];for(let f of Object.values(r)){let p=o.matchMedia(f),m=()=>s(u());V(p,"change",m),i.push({mql:p,handler:m})}e.mediaRegistry.set(l,{mqls:i});let c=e.onUnmount(f=>{if(f!==a)return;let p=e.mediaRegistry.get(l);if(p?.mqls)for(let m of p.mqls)try{m.mql.removeEventListener("change",m.handler)}catch{}e.mediaRegistry.delete(l),c()})}}function xt(e){let t=e.selfId(),n=e.browser,o={height:n.viewportHeight(),offsetTop:0,keyboardOpen:!1},r=()=>{t?e.render([t]):e.render()},s=()=>{let i=n.visualViewport();o.height=i?.height??n.viewportHeight(),o.offsetTop=i?.offsetTop??0,o.keyboardOpen=o.height<n.viewportHeight()*.9,r()},a=n.visualViewport(),l=null,u=null;if(a?.addEventListener?(l=V(a,"resize",s),V(a,"scroll",s)):u=V(window,"resize",s),t){let i=e.onUnmount(c=>{c===t&&(l?.(),u?.(),i())})}return o}function Tt(e,t){let n=e.selfId(),o={isIn:!1,ready:!1,observe:u,refresh:i,disconnect:c},r=null,s=null,a=()=>{n?e.render([n]):e.render()};function l(){if(s?.disconnect(),s=null,!r)return;let f=typeof t.rootMargin=="function"?t.rootMargin():t.rootMargin,p=typeof t.threshold=="function"?t.threshold():t.threshold;s=new IntersectionObserver(m=>{let d=m[m.length-1];if(!d)return;let g=d.isIntersecting,v=g!==o.isIn,y=!o.ready;o.isIn=g,o.ready=!0,t.onChange?.(d,g),(v||y)&&a()},{root:t.root?t.root():null,rootMargin:f??"0px",threshold:p??0}),s.observe(r)}function u(f){r=f,f?l():(s?.disconnect(),s=null,o.isIn=!1)}function i(){l()}function c(){s?.disconnect(),s=null}if(n){let f=e.onUnmount(p=>{p===n&&(c(),f())})}return o}function Vt(e,t){let n=e.selfId(),o=e.browser,r={y:0,refresh(){let l=s.getScroller();r.y=l instanceof Window?o.scrollingElement()?.scrollTop??o.scrollTop():l.scrollTop??0}},s={handle:r,getScroller:t.getScroller??(()=>window)};if(!n)return r.refresh(),r;e.scrollTrackers.set(n,s),e.ensurePopupListeners(),r.refresh();let a=e.onUnmount(l=>{l===n&&(e.scrollTrackers.delete(n),a())});return r}function Ct(e,t){let n=e.selfId();if(typeof window>"u")return()=>{};let o=V(window,"keydown",t);if(n){let r=e.onUnmount(s=>{s===n&&(o(),r())})}return o}function _t(e,t){let n=e.browser,o=0,r=0,s=!1,a=m=>{s&&t.onMove(m,{x:m.clientX-o,y:m.clientY-r})},l=null,u=null,i=()=>{l?.(),l=null,u?.(),u=null},c=m=>{s&&(s=!1,i(),t.onEnd?.(m))},f=m=>{s||(m.preventDefault(),s=!0,o=m.clientX,r=m.clientY,l=V(window,"pointermove",a),u=V(window,"pointerup",c),t.onStart?.(m))},p=e.selfId();if(p){let m=e.onUnmount(d=>{d===p&&(s&&(i(),s=!1),m())})}return{onPointerDown:f}}function St(e,t){let n={};t.onDrop&&(n.onDrop=r=>{r.preventDefault(),t.onDrop(r)}),t.onDragOver&&(n.onDragOver=r=>{r.preventDefault(),t.onDragOver(r)}),t.onDragLeave&&(n.onDragLeave=r=>t.onDragLeave(r));let o={draggable:!0};if(t.onDragStart){let r=t.onDragStart;o.onDragStart=s=>{typeof document<"u"&&document.body.classList.add("wf-dragging"),r(s)}}if(t.onDragEnd){let r=t.onDragEnd;o.onDragEnd=s=>{typeof document<"u"&&document.body.classList.remove("wf-dragging"),r(s)}}return{dropProps:n,dragProps:o}}function gn(e){return e.map(t=>{let n={role:t.role,content:t.content};return t.reasoning&&(n.reasoning_content=t.reasoning),n})}function He(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`msg-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Pt(e,t,n,o){n.initialMessages?e.messages=structuredClone(n.initialMessages):e.messages===void 0&&(e.messages=[]),e.input===void 0&&(e.input=""),e.streaming===void 0&&(e.streaming=!1),e.error===void 0&&(e.error=null),e.usage===void 0&&(e.usage=null),e.step===void 0&&(e.step=null);let r=null;function s(){if(!e.streaming)return;let d=e.messages[e.messages.length-1];return d&&d.role==="assistant"&&d.status==="streaming"?d:void 0}function a(d,g,v){let y=s();switch(d){case"wf:token":y&&(y.content+=g.text);break;case"wf:tool_call":{y&&(y.toolCalls||(y.toolCalls=[]),y.toolCalls.push({call:g,status:"running"}));break}case"wf:tool_progress":{let N=g,x=y?.toolCalls?.find(S=>S.call.id===N.toolCallId);x&&(x.progress=N);break}case"wf:tool_result":{let N=g,x=y?.toolCalls?.find(S=>S.call.id===N.id);x&&(x.result=N,x.status=N.ok?"ok":"error");break}case"wf:approval_request":y&&(y.approval=g);break;case"wf:usage":y&&(y.usage=g);break;case"wf:step":e.step=g;break;case"wf:done":if(y){y.status="done",y.approval=void 0;let N=g;N.reasoning&&(y.reasoning=N.reasoning)}e.streaming=!1,e.step=null;break;case"wf:error":y&&(y.status="error",y.error=g,y.approval=void 0),e.error=g,e.streaming=!1,e.step=null;break;default:v?.(d,g);break}o?.()}function l(){let d=n.body?n.body(e.messages):{messages:gn(e.messages)};r=t(n.url,d,{onToken:v=>a("wf:token",{text:v}),onToolCall:v=>a("wf:tool_call",v),onToolProgress:v=>a("wf:tool_progress",v),onToolResult:v=>a("wf:tool_result",v),onApproval:v=>a("wf:approval_request",v),onUsage:v=>a("wf:usage",v),onStep:v=>a("wf:step",v),onDone:v=>a("wf:done",v),onError:v=>a("wf:error",v),onEvent:(v,y)=>a(v,y,n.onEvent)},{signal:n.signal,headers:n.headers}),e.streaming=!0;let g=s();g&&r?.traceId&&(g.id=r.traceId)}function u(){if(e.streaming)return;let d=String(e.input??"").trim();d&&(e.input="",e.error=null,e.usage=null,e.step=null,e.messages.push({id:He(),role:"user",content:d,status:"done"},{id:He(),role:"assistant",content:"",status:"streaming",toolCalls:[]}),l(),o?.())}function i(){r?.abort(),e.streaming=!1,e.step=null;let d=e.messages[e.messages.length-1];d&&d.role==="assistant"&&d.status==="streaming"&&(!d.content&&(!d.toolCalls||d.toolCalls.length===0)?e.messages.pop():d.status="done"),o?.()}function c(){if(e.streaming)return;let d=-1;for(let g=e.messages.length-1;g>=0;g--)if(e.messages[g].role==="user"){d=g;break}d!==-1&&(e.messages.splice(d+1),e.error=null,e.usage=null,e.step=null,e.messages.push({id:He(),role:"assistant",content:"",status:"streaming",toolCalls:[]}),l(),o?.())}function f(){r?.abort(),e.messages=[],e.input="",e.streaming=!1,e.error=null,e.usage=null,e.step=null,o?.()}async function p(d,g,v){let y=e.messages[e.messages.length-1],N=y?.role==="assistant"?y.approval:void 0;if(N&&(y.approval=void 0,o?.(),!!n.approveUrl))try{await fetch(n.approveUrl,{method:"POST",headers:{"Content-Type":"application/json",...n.headers},body:JSON.stringify(v?{id:N.id,decision:d,note:g,modifiedArgs:v}:{id:N.id,decision:d,note:g}),signal:n.signal})}catch(x){if(n.signal?.aborted)return;e.error={code:"provider_error",message:x instanceof Error?x.message:String(x)},o?.()}}function m(){r?.abort(),r=null}return{send:u,stop:i,retry:c,clear:f,approve:p,dispose:m}}function Lt(e,t,n){let o=new AbortController,r=n?.signal;r&&(r.aborted?o.abort():r.addEventListener("abort",()=>o.abort(),{once:!0}));let s=n?.traceId??En(),a=n?.record!==!1,l=[],u=(async()=>{let i;try{i=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Trace-Id":s,Accept:"text/event-stream",...n?.headers},body:JSON.stringify(t),signal:o.signal})}catch(c){if(o.signal.aborted)return;n?.onError?.({code:"provider_error",message:c instanceof Error?c.message:String(c)});return}if(!i.ok){n?.onError?.({code:bn(i.status),message:`HTTP ${i.status} ${i.statusText}`});return}try{for await(let{name:c,data:f}of wn(i.body)){if(o.signal.aborted)return;vn(l,{name:c,data:f},a),hn(c,f,n??{})}}catch(c){if(o.signal.aborted)return;n?.onError?.({code:"provider_error",message:c instanceof Error?c.message:String(c)})}})();return{abort:()=>o.abort(),done:u,traceId:s,events:l}}function hn(e,t,n){switch(e){case"wf:token":return n.onToken?.(t.text);case"wf:tool_call":return n.onToolCall?.(t);case"wf:tool_result":return n.onToolResult?.(t);case"wf:tool_progress":return n.onToolProgress?.(t);case"wf:step":return n.onStep?.(t);case"wf:approval_request":return n.onApproval?.(t);case"wf:usage":return n.onUsage?.(t);case"wf:done":return n.onDone?.(t);case"wf:error":return n.onError?.(t);default:return n.onEvent?.(e,t)}}async function*wn(e){let t=e.getReader(),n=new TextDecoder,o="";try{for(;;){let{done:r,value:s}=await t.read();if(r)break;o+=n.decode(s,{stream:!0});let a=o.split(`
|
|
1
|
+
function q(e){if(e==null||typeof e=="boolean")return"null";if(typeof e=="string"||typeof e=="number")return"text";let t=e.type;return typeof t=="function"?"comp":typeof t=="symbol"?t===G?"app":e.props?.portalKey!=null?"portal":"frag":"native"}function Te(e){return Array.isArray(e)?e.flatMap(t=>Te(t)):[e]}function T(e){if(e.children!=null)return Te(e.children);let t=e.props?.children??[];return Te(t)}var Z=Symbol("v3-fragment"),B=Symbol("v3-portal"),G=Symbol("v3-app");function h(e,t,n,o){let r={entity:e,action:t,ts:Date.now()};return n!=null&&(r.target=n),o!=null&&(r.payload=o),r}function sn(e=2e4,t){let n=[],o=0,r=0,s=0,a=!1,l=t?.watermark??.8,u=new Set,i=d=>n[(o+d)%e],c=(d,g)=>{n[(o+d)%e]=g},f=(d,g)=>{r<e?(c(r,d),r++):(c(0,d),o=(o+1)%e,g||(s++,(s%64===1||s===1)&&f(h("stream","overflow",void 0,{capacity:e,count:s,dropped:`${d.entity}:${d.action}`,droppedTarget:d.target??null}),!0)))},p=null,m=0;return{setSession(){return p=`s${++m}`,p},currentSession(){return p},emit(d){p!=null&&d.session==null&&(d.session=p),f(d,!1),l>0&&!a&&r>=e*l&&(a=!0,f(h("stream","watermark",void 0,{usage:r,capacity:e,ratio:l}),!0));for(let g of u)try{g(d)}catch{}},subscribe(d,g){let b=typeof d=="function"?null:d,y=typeof d=="function"?d:g,N=x=>{if(b==null){y(x);return}(Array.isArray(b)?b:[b]).includes(x.entity)&&y(x)};return u.add(N),()=>{u.delete(N)}},size(){return r},capacity(){return e},overflowCount(){return s},events(){let d=new Array(r);for(let g=0;g<r;g++)d[g]=i(g);return d},eventsBySession(d){return this.events().filter(g=>g.session===d)},inverse(d){switch(d.entity+":"+d.action){case"node:insert":return h("node","remove",d.target,{parent:d.payload?.parent});case"node:remove":return null;case"prop:update":return h("prop","update",d.target,{key:d.payload?.key,value:d.payload?.prev,prev:d.payload?.value});case"text:update":return h("text","update",d.target,{value:d.payload?.prev,prev:d.payload?.value});case"node:move":return null;default:return null}},reset(){o=0,r=0,s=0,a=!1}}}var w=sn();if(typeof globalThis<"u"){let e=globalThis;e.__wf_tail||(e.__wf_tail=(t=200,n)=>{let o=w.events().slice(-t);return n?o.filter(r=>!(n.comp&&r.payload?.name!==n.comp||n.decision&&r.payload?.reason!==n.decision||n.causeId&&r.payload?.causeId!==n.causeId)):o},e.__wf_builds=t=>{let n=w.events().filter(o=>o.entity==="comp"&&o.action==="build");return t?n.filter(o=>o.payload?.name===t).map(o=>({name:o.payload?.name,reason:o.payload?.reason,changedKeys:o.payload?.changedKeys})):n.map(o=>({name:o.payload?.name,reason:o.payload?.reason,changedKeys:o.payload?.changedKeys}))},e.__wf_recent=(t=50)=>w.events().slice(-t),e.__wf_comp=t=>w.events().filter(o=>!!(o.target===t||o.payload?.name&&!t)).map(o=>({entity:o.entity,action:o.action,target:o.target,payload:o.payload,session:o.session})))}var ln=0;function $(){return`n${++ln}`}function Le(e){if(!e)return 0;let t=0;for(let n of U.values())n.has(e)&&t++;return t}var U=new Map,nt=new Set,Se=new Map,Ze=new Map,Ve=new Map,Ce=new Map,Pe={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"},an={focusin:"focus",focusout:"blur",mouseover:"mouseenter",mouseout:"mouseleave"},un=new Set(["error","load","loadstart","loadend","abort","unload","resize","message"]),dn=new Set(["input","change","compositionstart","compositionend"]);function ot(e,t,n,o=!1){let r=U.get(t);r||(r=new Map,U.set(t,r)),r.set(e,{handler:n,once:o})}function cn(e,t){U.get(t)?.delete(e)&&w.emit(h("event","unbind",e,{event:t}))}function Ae(e){for(let[t,n]of U)n.delete(e)&&w.emit(h("event","unbind",e,{event:t}))}function le(e,t,n,o=!1){let r=e.getAttribute("data-v3-id");if(!r)return()=>{};ot(r,t,n,o);let s=Oe(e);return s&&Re(s,t),()=>cn(r,t)}function rt(e,t){let n=Oe(e);if(n){for(let[o,r]of Object.entries(t))if(typeof r=="function"&&/^on[A-Z]/.test(o)){let s=o.slice(2).toLowerCase(),a=Pe[s]??s;Se.get(n)?.has(a)||Re(n,s)}}}function Me(e){nt.add(e),fn()}var et=!1,_e=0,ie=[];function tt(){let e=document.getSelection?.(),t=e?.toString?.()??"",n=e?.anchorNode;return{target:n&&n.nodeType===1?n.getAttribute?.("data-v3-id")??null:n?.parentElement?.getAttribute?.("data-v3-id")??null,text:t}}function fn(){if(et||(et=!0,typeof document>"u"))return;let e=()=>{_e||(_e=requestAnimationFrame(()=>{_e=0;try{let{target:o,text:r}=tt();if(!r)return;w.emit(h("text","select",void 0,{target:o,length:r.length,sample:r.slice(0,40)}))}catch{}}))};ie.push(V(document,"selectionchange",e));let t=o=>{let{target:r,text:s}=tt(),a=s;return o.type==="paste"&&(a=o.clipboardData?.getData?.("text")??""),{target:r,sample:a.slice(0,40)}},n=o=>{if(!(o.type!=="copy"&&o.type!=="cut"&&o.type!=="paste"))try{let{target:r,sample:s}=t(o);if(!s)return;w.emit(h("text",o.type,void 0,{target:r,length:s.length,sample:s}))}catch{}};ie.push(V(document,"copy",n)),ie.push(V(document,"cut",n)),ie.push(V(document,"paste",n))}function Oe(e){let t=e;for(;t;){if(t.nodeType===1&&nt.has(t))return t;t=t.parentNode}return null}function Re(e,t){let n=Pe[t]??t,o=Se.get(e)??new Set;if(o.has(n))return;o.add(n),Se.set(e,o);let r=u=>pn(u),s=un.has(n);e.addEventListener(n,r,s?{capture:!0}:void 0);let a=Ze.get(e)??new Map;a.set(n,r),Ze.set(e,a);let l=e.hasAttribute("data-wf-portal-key")?`portal:${e.getAttribute("data-wf-portal-key")}`:"root";w.emit(h("event","bind",l,{event:n,delegated:!0}))}function V(e,t,n,o){let r=Pe[t]??t,s=Ve.get(r);s||(s=new Set,Ve.set(r,s)),s.add(n);let a=Ce.get(e)??new Map;if(!a.has(r)){let l=i=>{for(let c of Ve.get(r)??[])try{c(i)}catch{}},u=o?.capture?{capture:!0,passive:o?.passive??!1}:void 0;e.addEventListener(r,l,u),a.set(r,l),Ce.set(e,a),w.emit(h("event","bind",e===window?"window":"document",{event:r,delegated:!0,capture:o?.capture??!1}))}return()=>{if(s.delete(n),s.size===0){let l=a.get(r);l&&e.removeEventListener(r,l,o?.capture?{capture:!0}:void 0),a.delete(r),a.size===0&&Ce.delete(e),w.emit(h("event","unbind",e===window?"window":"document",{event:r}))}}}function Ie(e,t,n,o){if(ot(e,t,n),o){let r=Oe(o);r&&Re(r,t)}}function pn(e){let t=e.target;t&&t.nodeType===3&&(t=t.parentElement);let n=[];U.has(e.type)&&n.push(e.type);let o=an[e.type];if(o&&o!==e.type&&U.has(o)&&n.push(o),n.length!==0)for(;t;){if(!t.hasAttribute?.("data-v3-id")){let s=t.closest?.("[data-v3-id]");if(s&&s!==t){t=s;continue}}let r=t.getAttribute?.("data-v3-id");if(r){for(let s of n){let a=U.get(s)?.get(r);if(a){try{Object.defineProperty(e,"currentTarget",{value:t,configurable:!0})}catch{}try{a.handler(e)}catch{}if(dn.has(e.type)){let l=t?.value??null;w.emit(h("text","input",r,{event:e.type,value:typeof l=="string"?l.slice(0,100):null}))}if(a.once&&(U.get(s).delete(r),w.emit(h("event","unbind",r,{event:e.type}))),e.cancelBubble)break}}if(e.cancelBubble)break}t=t.parentElement}}var st=new Map;function He(e){e._id&&st.set(e._id,e)}function it(e){st.delete(e)}function ee(e){let t=document.getElementById("__wf_portal");t||(t=document.createElement("div"),t.id="__wf_portal",document.body.appendChild(t));let n=t.querySelector(`[data-wf-portal-key="${e}"]`);return n||(n=document.createElement("div"),n.setAttribute("data-wf-portal-key",e),t.appendChild(n)),n}var O=class{byId=new Map;idByNode=new WeakMap;removed=new Map;static PORTAL=t=>`portal:${t}`;resolveParent(t){return t.startsWith("portal:")?ee(t.slice(7)):this.get(t)}get(t){return t.startsWith("portal:")?ee(t.slice(7)):this.byId.get(t)??null}register(t,n){this.byId.set(t,n),this.idByNode.set(n,t)}idOf(t){return t?t.nodeType===1?t.getAttribute("data-v3-id")??this.idByNode.get(t)??"el":this.idByNode.get(t)??"node":"null"}unregister(t,n){this.byId.delete(t),this.removed.set(t,n)}takeRemoved(t){let n=this.removed.get(t);return n&&this.removed.delete(t),n??null}static ROOT="root"};function R(){return{activeElement:()=>typeof document<"u"?document.activeElement:null,byId:e=>typeof document<"u"?document.getElementById(e):null,query:e=>typeof document<"u"?document.querySelector(e):null,queryAll:e=>typeof document<"u"?document.querySelectorAll(e):null,createElement:e=>typeof document<"u"?document.createElement(e):null,createElementNS:(e,t)=>typeof document<"u"?document.createElementNS(e,t):null,createDocumentFragment:()=>typeof document<"u"?document.createDocumentFragment():null,createComment:e=>typeof document<"u"?document.createComment(e):null,createTextNode:e=>typeof document<"u"?document.createTextNode(e):null,addEventListener:(e,t,n)=>{typeof window<"u"&&window.addEventListener(e,t,n)},removeEventListener:(e,t,n)=>{typeof window<"u"&&window.removeEventListener(e,t,n)},scrollTo:e=>{typeof window<"u"&&window.scrollTo(0,e)},matchMedia:e=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(e):null,visualViewport:()=>(typeof window<"u"?window:null)?.visualViewport??null,scrollingElement:()=>typeof document<"u"?document.scrollingElement:null,bodyElement:()=>typeof document<"u"?document.body:null,bodyAppend:e=>{typeof document<"u"&&document.body.appendChild(e)},bodyRemove:e=>{typeof document<"u"&&e.parentNode&&document.body.removeChild(e)},clearBody:()=>{typeof document<"u"&&(document.body.innerHTML="")},event:(e,t)=>{let n=typeof window<"u"?window:null,o=t&&(t.key||t.code)?"KeyboardEvent":t&&(t.clientX!==void 0||t.clientY!==void 0||t.pointerId!==void 0)?"PointerEvent":"Event";try{return new n[o](e,t)}catch{return new n.Event(e,t)}},dispatchEvent:(e,t)=>typeof e<"u"?e.dispatchEvent(t):!1,reload:()=>{typeof window<"u"&&window.location.reload()},navigate:e=>{typeof window>"u"||(window.history.pushState(null,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:null})))},downloadFile:(e,t,n="text/plain")=>{try{if(typeof document>"u"||typeof URL>"u"||!URL.createObjectURL)return!1;let o=new Blob([t],{type:n}),r=URL.createObjectURL(o),s=document.createElement("a");return s.href=r,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(()=>URL.revokeObjectURL(r),1e3),!0}catch{return!1}},copyText:async e=>{let t=typeof window<"u"?window:null;if(t?.navigator?.clipboard?.writeText)try{return await t.navigator.clipboard.writeText(e),!0}catch{}try{if(typeof document>"u")return!1;let n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select();let o=document.execCommand("copy");return document.body.removeChild(n),o}catch{return!1}},execCommand:(e,t)=>typeof document<"u"?document.execCommand(e,!1,t):!1,queryCommandState:e=>typeof document<"u"?document.queryCommandState(e):!1,queryCommandValue:e=>typeof document<"u"?document.queryCommandValue(e):"",selectionText:()=>typeof window<"u"?window.getSelection?.()?.toString()??null:null,getSelection:()=>typeof window<"u"?window.getSelection():null,viewportHeight:()=>typeof window<"u"?window.innerHeight:0,viewportWidth:()=>typeof window<"u"?window.innerWidth:0,pathname:()=>typeof window<"u"?window.location.pathname:"",createTreeWalker:(e,t)=>typeof document<"u"?document.createTreeWalker(e,t??NodeFilter.SHOW_ALL):null,scrollTop:()=>{let e=typeof document<"u"?document:null,t=typeof window<"u"?window:null;return e?.scrollingElement?.scrollTop??t?.scrollY??0},hash:()=>typeof window<"u"?window.location?.hash??"":"",setHash:e=>{typeof window<"u"&&(window.location.hash=e)},timeout:(e,t)=>typeof window<"u"?window.setTimeout(e,t):0,onFormRestore:e=>typeof window>"u"||typeof document>"u"?()=>{}:(window.addEventListener("load",e,{once:!0}),window.addEventListener("pageshow",e),()=>{window.removeEventListener("load",e),window.removeEventListener("pageshow",e)}),rootElement:()=>typeof document<"u"?document.documentElement:null,storageGet:e=>{try{return typeof window<"u"?window.localStorage?.getItem(e)??null:null}catch{return null}},storageSet:(e,t)=>{try{typeof window<"u"&&window.localStorage?.setItem(e,t)}catch{}}}}var mn=new Map;function lt(e){return mn.get(e)??null}function at(e,t){let n=e.selfId(),o;return n&&(o=t.subscribe(()=>e.render([n])),e.onUnmount(()=>o?.())),t}function Ue(e,t){let n=e.selfId(),o=t.value!==void 0;if(o&&!t.onChange&&t.name&&(e.warned.has(t.name)||(e.warned.add(t.name),console.warn(`[weifuwu/${t.name}] \u53D7\u63A7\u6A21\u5F0F\uFF08value \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onChange\uFF0C\u4EA4\u4E92\u65E0\u6CD5\u751F\u6548\u3002
|
|
2
|
+
\u975E\u53D7\u63A7\uFF1A\u53BB\u6389 value\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onChange={(v) => setValue(v)}`))),!o&&n&&!e.uncontrolledValues.has(n)){e.uncontrolledValues.set(n,t.value);let s=e.onUnmount(a=>{a===n&&(e.uncontrolledValues.delete(n),s())})}let r=s=>{if(o){t.onChange?.(s);return}n&&e.uncontrolledValues.set(n,s),n?e.render([n]):e.render()};return{value:o?t.value:n?e.uncontrolledValues.get(n):t.value,setValue:r,controlled:o}}function ut(e,t){let n=e.selfId(),o=Ue(e,{value:t.value,onChange:t.onChange,name:t.name});if(n&&!e.inputStates.has(n)){e.inputStates.set(n,{keyword:"",selectedLabel:""});let a=e.onUnmount(l=>{l===n&&(e.inputStates.delete(n),a())})}let r=n?e.inputStates.get(n):{keyword:"",selectedLabel:""},s=()=>{n?e.render([n]):e.render()};return{...o,get keyword(){return r.keyword},setKeyword(a){r.keyword=a,s()},get selectedLabel(){return r.selectedLabel},setSelectedLabel(a){r.selectedLabel=a,s()}}}function dt(e,t){let n=e.selfId(),o=!1;if(n){let u=e.onUnmount(i=>{i===n&&(o=!0,u())})}let r=()=>{o||(n?e.render([n]):e.render())},s={data:void 0,loading:!1,error:void 0},a=0,l=()=>{let u=++a;s.loading=!0,s.error=null,r(),Promise.resolve().then(()=>t()).then(i=>{a===u&&(s.data=i,s.loading=!1,r())}).catch(i=>{a===u&&(s.error=i,s.loading=!1,r())})};return l(),s.reload=l,s}function ct(e,t,n){return r=>{r?t(r):n?.()}}function ae(e){return typeof window<"u"&&!!window.matchMedia?.("(hover: hover)").matches}function De(e){return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}function ft(e,t){let{onLongPress:n,duration:o=500}=t,r,s=0,a=0,l=null,u=()=>{clearTimeout(r),r=void 0},i=e.selfId();if(i){let c=e.onUnmount(f=>{f===i&&(u(),c())})}return{onPointerDown:c=>{s=c.clientX??0,a=c.clientY??0,l=c,u(),r=setTimeout(()=>{r=void 0,l&&n(l)},o)},onPointerUp:u,onPointerLeave:u,onPointerMove:c=>{let f=Math.abs((c.clientX??0)-s),p=Math.abs((c.clientY??0)-a);(f>10||p>10)&&u()},onContextMenu:c=>{c.preventDefault(),n(c)}}}function ue(e,t){let n=e.selfId(),o="closed",r,s=()=>{o="closed",n?e.render([n]):e.render()},a=null;return{get phase(){return o},ref:u=>{u?a||(r=()=>{o==="exit"&&s()},a=le(u,"animationend",r)):(a?.(),a=null,r=void 0)},sync:u=>(u?o="open":o==="open"&&(o="exit"),o)}}function pt(e,t,n){let o=e.selfId(),r=De(e),s=n?.duration??400,a=n?.ease==="linear"?p=>p:p=>1-Math.pow(1-p,3),l,u=t,i={value:r?t:0,reset:()=>{}},c=()=>{o?e.render([o]):e.render()},f=p=>{if(u=p,r){i.value=p,c();return}if(p===i.value)return;l&&cancelAnimationFrame(l);let m=i.value,d=performance.now(),g=b=>{let y=Math.min(1,(b-d)/s);i.value=Math.round(m+(p-m)*a(y)),y<1?(l=requestAnimationFrame(g),c()):(l=void 0,c())};l=requestAnimationFrame(g)};if(i.reset=p=>{p===u&&l||f(p)},o){let p=e.onUnmount(m=>{m===o&&(l&&(cancelAnimationFrame(l),l=void 0),p())})}return queueMicrotask(()=>f(t)),i}var mt=R();function yt(e,t="bottom",n=6,o=!0){switch(t){case"bottom":return{top:e.bottom+n,left:o?e.left+e.width/2:e.left};case"top":return{top:e.top-n,left:o?e.left+e.width/2:e.left};case"left":return{top:o?e.top+e.height/2:e.top,left:e.left-n};case"right":return{top:o?e.top+e.height/2:e.top,left:e.right+n}}}function de(e,t,n=8){if(!t)return e;let o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return e;let r=Number.parseFloat(t.style.top)||o.top,s=Number.parseFloat(t.style.left)||o.left,a=e.top-r,l=e.left-s,u={top:o.top+a,bottom:o.bottom+a,left:o.left+l,right:o.right+l},i=mt.viewportWidth(),c=mt.viewportHeight(),f=e.top,p=e.left;return u.bottom>c-n&&(f=Math.max(n,f-(u.bottom-(c-n)))),u.top<n&&(f=Math.max(n,f+(n-u.top))),u.right>i-n&&(p=Math.max(n,p-(u.right-(i-n)))),u.left<n&&(p=Math.max(n,p+(n-u.left))),{top:f,left:p,width:e.width}}function oe(e,t,...n){let o=t?{...t}:{};return n.length>0&&(o.children=n.length===1?n[0]:n),{type:e,props:o,key:t?.key??null}}function ce(e,t){return{type:B,props:{children:Array.isArray(e)?e:[e],portalKey:t??"default"},key:t??null}}function We(e,t){let n=e.selfId(),o={top:0,left:0,refresh:()=>{}};if(!n)return o;let r={pos:o,getEl:t.el,isOpen:t.isOpen,compute:t.compute,panel:t.panel,margin:t.margin??8};e.popupTrackers.set(n,r),e.ensurePopupListeners();let s=e.onUnmount(a=>{a===n&&(e.popupTrackers.delete(n),s())});return o.refresh=()=>{let a=r.getEl();if(!a)return;let l=a.getBoundingClientRect();if(l.width===0&&l.height===0)return;let u=r.compute(l);Object.assign(o,de(u,r.panel?.(),r.margin))},o}function gt(e,t){let n=e.selfId(),o=e.browser,r=ae(e),s=()=>typeof t.trigger=="function"?t.trigger():t.trigger??"manual",a=t.open!==void 0,l=()=>!!t.disabled?.(),u=()=>a?typeof t.open=="function"?!!t.open():!!t.open:t.isOpen(),i=t.presence?ue(e,{name:t.name}):null,c,f=!1,p=v=>{if(!i)return v?"open":"closed";let k=i.sync(v);return v&&t.lockScroll&&!f&&(yn(),f=!0),k},m=v=>{l()||(a?t.onOpenChange?.(v):i?v?p(!0):u()&&p(!1):t.setOpen(v))},d=()=>{let v=t.placement;return typeof v=="function"?v():v??"bottom"},g=null,b=!1,y=We(e,{el:t.el??(()=>null),isOpen:()=>u(),compute:v=>{if(t.position){let k=t.position();return{top:k.y,left:k.x,width:k.width}}return yt(v,d(),t.gap??6,t.center!==!1)},panel:()=>g,margin:t.margin??8}),N=v=>{if(t.closeOnOutside===!1||t.mask||!u())return;let k=v.target;if(!(k instanceof Node))return;let A=t.el?.()??null;A&&A.contains(k)||g&&g.contains(k)||m(!1)},x=v=>{t.closeOnEscape!==!1&&(v.key!=="Escape"||!u()||m(!1))},S=V(o,"mousedown",N),Yt=V(o,"keydown",x);if(n){let v=e.onUnmount(k=>{k===n&&(S(),Yt(),v())})}let L={},ze=v=>typeof v=="function"?v():v??0,Je=()=>ze(t.openDelay),be=()=>ze(t.closeDelay),P,_,zt=()=>{clearTimeout(P),clearTimeout(_),P=void 0,_=void 0},Jt=v=>{if(l())return;let k=v.currentTarget,A=v.relatedTarget;k.contains(A)||(clearTimeout(_),_=void 0,P=setTimeout(()=>{P=void 0,m(!0)},Je()))},Qt=v=>{if(l())return;let k=v.currentTarget,A=v.relatedTarget;k.contains(A)||(clearTimeout(P),P=void 0,_=setTimeout(()=>{_=void 0,m(!1)},be()))},Zt=()=>{l()||(clearTimeout(_),_=void 0,P=setTimeout(()=>{P=void 0,m(!0)},Je()))},en=()=>{l()||(clearTimeout(P),P=void 0,_=setTimeout(()=>{_=void 0,m(!1)},be()))},ne=()=>s()==="hover";if(L.onMouseOver=v=>{ne()&&Jt(v)},L.onMouseOut=v=>{ne()&&Qt(v)},L.onClick=()=>{ne()?r||m(!u()):s()==="click"&&m(!0)},L.onFocus=()=>{ne()?Zt():s()==="focus"&&(clearTimeout(_),_=void 0,m(!0))},L.onBlur=()=>{ne()?en():s()==="focus"&&(clearTimeout(P),P=void 0,_=setTimeout(()=>{_=void 0,m(!1)},be()))},s()==="longpress"){let v,k=0,A=0,j=()=>{clearTimeout(v),v=void 0};L.onPointerDown=C=>{l()||(k=C.clientX??0,A=C.clientY??0,j(),v=setTimeout(()=>{v=void 0,t.onTrigger?.({clientX:k,clientY:A}),m(!0)},t.longPressDuration??500))},L.onPointerUp=j,L.onPointerLeave=j,L.onPointerMove=C=>{let ke=Math.abs((C.clientX??0)-k),xe=Math.abs((C.clientY??0)-A);(ke>10||xe>10)&&j()},L.onContextMenu=C=>{C.preventDefault(),t.onTrigger?.({clientX:C.clientX??0,clientY:C.clientY??0}),m(!0)}}if(L.onKeyDown=v=>{v.key==="Escape"&&t.closeOnEscape!==!1&&m(!1)},n){let v=e.onUnmount(k=>{k===n&&(zt(),v())})}let tn=v=>{v?(g=v,le(v,"animationend",()=>y.refresh(),!0)):g=null},Ee=null,Ne=null,Qe=v=>{tn(v),Ne&&Ne(v),i?.ref(v),t.trapFocus&&(v?c=wn(v):(c?.(),c=void 0)),t.lockScroll&&!v&&f&&(gn(),f=!1)};return{get open(){return u()},setOpen:m,get phase(){return i?i.phase:u()?"open":"closed"},sync:p,wrapProps:L,portal:(v,k="popover")=>{if(l())return null;if(!(i?i.phase!=="closed":u()))return b=!1,Ee=null,null;let j=t.el?.()??null;(!b||j!==Ee)&&(j?y.refresh():queueMicrotask(()=>{u()&&y.refresh()}),b=!0,Ee=j);let C=(v??oe("span")).props??{};if(!v)return null;Ne=C.ref??null;let ke=t.positioning==="none"?C.class??"":["wf-popup",C.class].filter(Boolean).join(" "),xe=t.positioning==="none"?{...C.style??{},position:"fixed"}:{...C.style??{},position:"fixed",top:`${y.top}px`,left:`${y.left}px`,...y.width!==void 0?{width:`${y.width}px`}:{},maxWidth:(()=>{let se=typeof t.width=="function"?t.width():t.width;return se!==void 0?`min(${se}px, calc(100vw - 32px))`:"calc(100vw - 32px)"})()},Q={...v,props:{...C,class:ke,style:xe,ref:Qe}};if(t.mask){let se=typeof t.mask=="object"?t.mask:oe("div",{class:"wf-popup-mask","data-portal-mask":k,onClick:t.maskClosable===!1?void 0:()=>m(!1)}),nn=t.maskCentered?oe("div",{class:"wf-cover",style:{"--wf-z":"var(--wf-z-popover)",pointerEvents:"none"}},{...Q,props:{...Q.props,style:{...C.style??{},pointerEvents:"auto"},ref:Qe}}):null,on=t.maskCentered?void 0:{...Q.props?.style??{},zIndex:"var(--wf-z-popover)"},rn=t.maskCentered?nn:{...Q,props:{...Q.props,style:on}};return ce([se,rn],k)}return ce(Q,k)},refresh:()=>y.refresh()}}function ht(e,t){let n=e.selfId();if(n&&!e.openStates.has(n)){e.openStates.set(n,!1);let l=e.onUnmount(u=>{u===n&&(e.openStates.delete(n),l())})}let o=t.open!==void 0;o&&!t.onOpenChange&&t.name&&!e.warned.has(t.name)&&(e.warned.add(t.name),console.warn(`[weifuwu/${t.name}] \u53D7\u63A7\u6A21\u5F0F\uFF08open \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onOpenChange\uFF0C\u4EA4\u4E92\u65E0\u6CD5\u751F\u6548\u3002
|
|
3
|
+
\u975E\u53D7\u63A7\uFF1A\u53BB\u6389 open\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onOpenChange={(o) => setOpen(o)}`));let r=()=>o?!!t.open:n?e.openStates.get(n)??!1:!1,s=()=>{n?e.render([n]):e.render()},a=l=>{if(o){t.onOpenChange?.(l);return}n&&e.openStates.set(n,l),s()};return{get open(){return r()},setOpen:a,triggerProps:{onClick:()=>a(!0),onFocus:()=>{t.openOnFocus&&a(!0)}}}}var Y=R(),X=0,wt="",vt="",bt="",Et="",fe=0;function Nt(){return typeof window<"u"&&typeof document<"u"}function yn(){if(X++,w.emit(h("effect","lock",void 0,{depth:X})),X>1||!Nt())return;fe=Y.scrollTop();let e=Y.bodyElement();wt=e.style.overflow,vt=e.style.position,bt=e.style.top,Et=e.style.width,e.style.overflow="hidden",(/iPhone|iPad|iPod/.test(navigator.platform)||/Mac/.test(navigator.platform)&&"ontouchend"in document)&&(e.style.position="fixed",e.style.top=`-${fe}px`,e.style.width="100%")}function gn(){if(X===0||(X--,w.emit(h("effect","unlock",void 0,{depth:X})),X>0)||!Nt())return;let e=Y.bodyElement();e.style.overflow=wt,e.style.position=vt,e.style.top=bt,e.style.width=Et,fe>0&&Y.scrollTo(fe)}var hn='a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';function wn(e){let t;return queueMicrotask(()=>{let n=e.querySelectorAll(hn);if(n.length===0)return;let o=n[0],r=n[n.length-1],s=u=>{u.key==="Tab"&&(u.shiftKey&&Y.activeElement()===o?(u.preventDefault(),r.focus()):!u.shiftKey&&Y.activeElement()===r&&(u.preventDefault(),o.focus()))},a=Y.activeElement();w.emit(h("effect","focus",void 0,{mode:"trap-start"})),o.focus();let l=V(e,"keydown",s);t=()=>{l(),w.emit(h("effect","focus",void 0,{mode:"restore"})),a?.focus()}}),()=>t?.()}function kt(e,t,n){let o=e.selfId(),r=e.browser,s=`media:${o}:${t}`;if(!e.mediaRegistry.has(s)){let a=r.matchMedia(t);n(a.matches);let l=i=>n(i.matches);V(a,"change",l),e.mediaRegistry.set(s,{mql:a,handler:l});let u=e.onUnmount(i=>{if(i!==o)return;let c=e.mediaRegistry.get(s);if(c?.mql&&c.handler)try{c.mql.removeEventListener("change",c.handler)}catch{}e.mediaRegistry.delete(s),u()})}}function xt(e,t,n){let o=e.browser,r=typeof t=="function"?{mobile:"(max-width: 639px)",tablet:"(min-width: 640px) and (max-width: 1023px)",desktop:"(min-width: 1024px)"}:t,s=typeof t=="function"?t:n,a=e.selfId(),l=`bp:${a}`;function u(){for(let[i,c]of Object.entries(r))if(o.matchMedia(c).matches)return i;return Object.keys(r)[0]??""}if(!e.mediaRegistry.has(l)){s(u());let i=[];for(let f of Object.values(r)){let p=o.matchMedia(f),m=()=>s(u());V(p,"change",m),i.push({mql:p,handler:m})}e.mediaRegistry.set(l,{mqls:i});let c=e.onUnmount(f=>{if(f!==a)return;let p=e.mediaRegistry.get(l);if(p?.mqls)for(let m of p.mqls)try{m.mql.removeEventListener("change",m.handler)}catch{}e.mediaRegistry.delete(l),c()})}}function Tt(e){let t=e.selfId(),n=e.browser,o={height:n.viewportHeight(),offsetTop:0,keyboardOpen:!1},r=()=>{t?e.render([t]):e.render()},s=()=>{let i=n.visualViewport();o.height=i?.height??n.viewportHeight(),o.offsetTop=i?.offsetTop??0,o.keyboardOpen=o.height<n.viewportHeight()*.9,r()},a=n.visualViewport(),l=null,u=null;if(a?.addEventListener?(l=V(a,"resize",s),V(a,"scroll",s)):u=V(window,"resize",s),t){let i=e.onUnmount(c=>{c===t&&(l?.(),u?.(),i())})}return o}function Vt(e,t){let n=e.selfId(),o={isIn:!1,ready:!1,observe:u,refresh:i,disconnect:c},r=null,s=null,a=()=>{n?e.render([n]):e.render()};function l(){if(s?.disconnect(),s=null,!r)return;let f=typeof t.rootMargin=="function"?t.rootMargin():t.rootMargin,p=typeof t.threshold=="function"?t.threshold():t.threshold;s=new IntersectionObserver(m=>{let d=m[m.length-1];if(!d)return;let g=d.isIntersecting,b=g!==o.isIn,y=!o.ready;o.isIn=g,o.ready=!0,t.onChange?.(d,g),(b||y)&&a()},{root:t.root?t.root():null,rootMargin:f??"0px",threshold:p??0}),s.observe(r)}function u(f){r=f,f?l():(s?.disconnect(),s=null,o.isIn=!1)}function i(){l()}function c(){s?.disconnect(),s=null}if(n){let f=e.onUnmount(p=>{p===n&&(c(),f())})}return o}function Ct(e,t){let n=e.selfId(),o=e.browser,r={y:0,refresh(){let l=s.getScroller();r.y=l instanceof Window?o.scrollingElement()?.scrollTop??o.scrollTop():l.scrollTop??0}},s={handle:r,getScroller:t.getScroller??(()=>window)};if(!n)return r.refresh(),r;e.scrollTrackers.set(n,s),e.ensurePopupListeners(),r.refresh();let a=e.onUnmount(l=>{l===n&&(e.scrollTrackers.delete(n),a())});return r}function _t(e,t){let n=e.selfId();if(typeof window>"u")return()=>{};let o=V(window,"keydown",t);if(n){let r=e.onUnmount(s=>{s===n&&(o(),r())})}return o}function St(e,t){let n=e.browser,o=0,r=0,s=!1,a=m=>{s&&t.onMove(m,{x:m.clientX-o,y:m.clientY-r})},l=null,u=null,i=()=>{l?.(),l=null,u?.(),u=null},c=m=>{s&&(s=!1,i(),t.onEnd?.(m))},f=m=>{s||(m.preventDefault(),s=!0,o=m.clientX,r=m.clientY,l=V(window,"pointermove",a),u=V(window,"pointerup",c),t.onStart?.(m))},p=e.selfId();if(p){let m=e.onUnmount(d=>{d===p&&(s&&(i(),s=!1),m())})}return{onPointerDown:f}}function Lt(e,t){let n={};t.onDrop&&(n.onDrop=r=>{r.preventDefault(),t.onDrop(r)}),t.onDragOver&&(n.onDragOver=r=>{r.preventDefault(),t.onDragOver(r)}),t.onDragLeave&&(n.onDragLeave=r=>t.onDragLeave(r));let o={draggable:!0};if(t.onDragStart){let r=t.onDragStart;o.onDragStart=s=>{typeof document<"u"&&document.body.classList.add("wf-dragging"),r(s)}}if(t.onDragEnd){let r=t.onDragEnd;o.onDragEnd=s=>{typeof document<"u"&&document.body.classList.remove("wf-dragging"),r(s)}}return{dropProps:n,dragProps:o}}function vn(e){return e.map(t=>{let n={role:t.role,content:t.content};return t.reasoning&&(n.reasoning_content=t.reasoning),n})}function Fe(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`msg-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Pt(e,t,n,o){n.initialMessages?e.messages=structuredClone(n.initialMessages):e.messages===void 0&&(e.messages=[]),e.input===void 0&&(e.input=""),e.streaming===void 0&&(e.streaming=!1),e.error===void 0&&(e.error=null),e.usage===void 0&&(e.usage=null),e.step===void 0&&(e.step=null);let r=null;function s(){if(!e.streaming)return;let d=e.messages[e.messages.length-1];return d&&d.role==="assistant"&&d.status==="streaming"?d:void 0}function a(d,g,b){let y=s();switch(d){case"wf:token":y&&(y.content+=g.text);break;case"wf:tool_call":{y&&(y.toolCalls||(y.toolCalls=[]),y.toolCalls.push({call:g,status:"running"}));break}case"wf:tool_progress":{let N=g,x=y?.toolCalls?.find(S=>S.call.id===N.toolCallId);x&&(x.progress=N);break}case"wf:tool_result":{let N=g,x=y?.toolCalls?.find(S=>S.call.id===N.id);x&&(x.result=N,x.status=N.ok?"ok":"error");break}case"wf:approval_request":y&&(y.approval=g);break;case"wf:usage":y&&(y.usage=g);break;case"wf:step":e.step=g;break;case"wf:done":if(y){y.status="done",y.approval=void 0;let N=g;N.reasoning&&(y.reasoning=N.reasoning)}e.streaming=!1,e.step=null;break;case"wf:error":y&&(y.status="error",y.error=g,y.approval=void 0),e.error=g,e.streaming=!1,e.step=null;break;default:b?.(d,g);break}o?.()}function l(){let d=n.body?n.body(e.messages):{messages:vn(e.messages)};r=t(n.url,d,{onToken:b=>a("wf:token",{text:b}),onToolCall:b=>a("wf:tool_call",b),onToolProgress:b=>a("wf:tool_progress",b),onToolResult:b=>a("wf:tool_result",b),onApproval:b=>a("wf:approval_request",b),onUsage:b=>a("wf:usage",b),onStep:b=>a("wf:step",b),onDone:b=>a("wf:done",b),onError:b=>a("wf:error",b),onEvent:(b,y)=>a(b,y,n.onEvent)},{signal:n.signal,headers:n.headers}),e.streaming=!0;let g=s();g&&r?.traceId&&(g.id=r.traceId)}function u(){if(e.streaming)return;let d=String(e.input??"").trim();d&&(e.input="",e.error=null,e.usage=null,e.step=null,e.messages.push({id:Fe(),role:"user",content:d,status:"done"},{id:Fe(),role:"assistant",content:"",status:"streaming",toolCalls:[]}),l(),o?.())}function i(){r?.abort(),e.streaming=!1,e.step=null;let d=e.messages[e.messages.length-1];d&&d.role==="assistant"&&d.status==="streaming"&&(!d.content&&(!d.toolCalls||d.toolCalls.length===0)?e.messages.pop():d.status="done"),o?.()}function c(){if(e.streaming)return;let d=-1;for(let g=e.messages.length-1;g>=0;g--)if(e.messages[g].role==="user"){d=g;break}d!==-1&&(e.messages.splice(d+1),e.error=null,e.usage=null,e.step=null,e.messages.push({id:Fe(),role:"assistant",content:"",status:"streaming",toolCalls:[]}),l(),o?.())}function f(){r?.abort(),e.messages=[],e.input="",e.streaming=!1,e.error=null,e.usage=null,e.step=null,o?.()}async function p(d,g,b){let y=e.messages[e.messages.length-1],N=y?.role==="assistant"?y.approval:void 0;if(N&&(y.approval=void 0,o?.(),!!n.approveUrl))try{await fetch(n.approveUrl,{method:"POST",headers:{"Content-Type":"application/json",...n.headers},body:JSON.stringify(b?{id:N.id,decision:d,note:g,modifiedArgs:b}:{id:N.id,decision:d,note:g}),signal:n.signal})}catch(x){if(n.signal?.aborted)return;e.error={code:"provider_error",message:x instanceof Error?x.message:String(x)},o?.()}}function m(){r?.abort(),r=null}return{send:u,stop:i,retry:c,clear:f,approve:p,dispose:m}}function At(e,t,n){let o=new AbortController,r=n?.signal;r&&(r.aborted?o.abort():r.addEventListener("abort",()=>o.abort(),{once:!0}));let s=n?.traceId??xn(),a=n?.record!==!1,l=[],u=(async()=>{let i;try{i=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Trace-Id":s,Accept:"text/event-stream",...n?.headers},body:JSON.stringify(t),signal:o.signal})}catch(c){if(o.signal.aborted)return;n?.onError?.({code:"provider_error",message:c instanceof Error?c.message:String(c)});return}if(!i.ok){n?.onError?.({code:kn(i.status),message:`HTTP ${i.status} ${i.statusText}`});return}try{for await(let{name:c,data:f}of En(i.body)){if(o.signal.aborted)return;Nn(l,{name:c,data:f},a),bn(c,f,n??{})}}catch(c){if(o.signal.aborted)return;n?.onError?.({code:"provider_error",message:c instanceof Error?c.message:String(c)})}})();return{abort:()=>o.abort(),done:u,traceId:s,events:l}}function bn(e,t,n){switch(e){case"wf:token":return n.onToken?.(t.text);case"wf:tool_call":return n.onToolCall?.(t);case"wf:tool_result":return n.onToolResult?.(t);case"wf:tool_progress":return n.onToolProgress?.(t);case"wf:step":return n.onStep?.(t);case"wf:approval_request":return n.onApproval?.(t);case"wf:usage":return n.onUsage?.(t);case"wf:done":return n.onDone?.(t);case"wf:error":return n.onError?.(t);default:return n.onEvent?.(e,t)}}async function*En(e){let t=e.getReader(),n=new TextDecoder,o="";try{for(;;){let{done:r,value:s}=await t.read();if(r)break;o+=n.decode(s,{stream:!0});let a=o.split(`
|
|
4
4
|
|
|
5
5
|
`);o=a.pop()??"";for(let l of a){let u="message",i="";for(let c of l.split(`
|
|
6
|
-
`))c.startsWith("event: ")?u=c.slice(7):c.startsWith("data: ")&&(i+=c.slice(6));if(i)try{yield{name:u,data:JSON.parse(i)}}catch{}}}}finally{t.releaseLock()}}function
|
|
7
|
-
`).slice(2,5).map(f=>f.trim().slice(0,70)).join(" | "):"",i=n.map(f=>typeof f.type=="function"?"C":String(f.type).slice(0,8)),c=n.map(f=>[...o.childNodes].indexOf(f.el));console.warn(`[vdom3/audit] children \u987A\u5E8F\u9519\u4F4D idx=${l}<${r} tag=${String(s.type).slice(0,30)} kinds=[${i.join(",")}] idxs=[${c.join(",")}] kids=${n.length} domKids=${o.childNodes.length}${u?" || "+u:""}`);return}r=l}}var Ln=new Set(["svg","path","circle","rect","line","polyline","polygon","g","defs","use","text","tspan","ellipse","title","desc","marker","symbol","linearGradient","radialGradient","stop","mask","pattern","clipPath"]);function ee(e){if(e==null||typeof e!="object")return!1;let t=e.type;return t===q||typeof t=="symbol"&&e.props?.portalKey!=null}function An(e){if(e==null||typeof e!="object")return!1;let t=e.type;return(t===J||typeof t=="symbol")&&e.props?.portalKey==null}var E=new O;function $e(e,t,n){let o=E;n&&(E=n);try{Le(t),t.innerHTML="",E.register(O.ROOT,t),D(e,t)}finally{E=o}}function D(e,t,n){if(typeof e.type=="function"||e.type===B){let l=e._child!==void 0?e._child:T(e)[0]??null;if(l==null)return null;if(e.el!=null&&(e.el.isConnected||e.el.parentNode===t))return e.el;let u=D(l,t,n);return e.el=u,e._outFirst=l._outFirst??u,e._outLast=l._outLast??u,u}if(An(e)){let l=null,u=null;for(let i of T(e)){let c=Fe(i,t,n);c&&(l||(l=c),u=c)}return e._outFirst=l,e._outLast=u,l}if(ee(e)){let u=String(e.props?.portalKey??"default"),i=Z(u);Le(i),E.register(O.PORTAL(u),i);let c=null,f=i.childNodes.length===0;for(let p of T(e)){let m=Fe(p,i);m&&!c&&(c=m)}return f&&i.childNodes.length>0&&w.emit(h("portal","open",void 0,{portalKey:u})),e.el=i,c??i}let o=e.type,r=Ln.has(o)?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o),s=j();r.setAttribute("data-v3-id",s),E.register(s,r),e.el=r,w.emit(h("node","create",s,{tag:e.type}));for(let[l,u]of Object.entries(e.props??{}))if(!(l==="key"||l==="children"||l==="ref")){if(typeof u=="function"&&/^on[A-Z]/.test(l)){Ae(s,l.slice(2).toLowerCase(),u,t);continue}if(u!=null&&u!==!1){if(l==="value"&&r instanceof HTMLInputElement)r.value=String(u);else if(l==="style"&&typeof u=="object"&&!Array.isArray(u)){let i=Object.entries(u).filter(([,c])=>c!=null&&c!==!1).map(([c,f])=>`${c.replace(/[A-Z]/g,p=>"-"+p.toLowerCase())}:${f}`).join(";");r.setAttribute("style",i)}else r.setAttribute(l,String(u));w.emit(h("prop","update",s,{key:l,value:u,prev:""}))}}e._outFirst=r,e._outLast=r,n&&n.parentNode===t?t.insertBefore(r,n):t.appendChild(r),w.emit(h("node","insert",s,{parent:W(t),ref:n?M(n):null,causeId:U??void 0}));let a=e.props?.ref;typeof a=="function"&&(w.emit(h("ref","mount",s,{})),a(r));for(let l of T(e))Fe(l,r);return r}function Mn(e,t,n,o){if(e!=null&&typeof e=="object"&&e._outFirst&&e._outLast&&e._outLast!==e._outFirst){let r=e._outFirst,s=e._outLast;typeof e.type=="function"&&e._id?$t(e,t,o):e.el&&e.el.parentNode===t?ge(e.el,t,e):r.parentNode===t&&Y(r,t);let a=r.nextSibling,l=64,u=0;for(;a&&a!==s&&u++<l;){let i=a.nextSibling;Y(a,t),a=i}s.parentNode===t&&Y(s,t);return}if(e!=null&&typeof e=="object"&&ee(e)){ne(e);return}if(e!=null&&typeof e=="object"&&e._child&&ee(e._child)){ne(e._child);return}if(e!=null&&typeof e=="object"&&typeof e.type=="function"&&e._id){$t(e,t,o);return}e!=null&&typeof e=="object"&&e.el?ge(e.el,t,e):n&&Y(n,t)}function Y(e,t){let n=E.idOf(e);n&&(w.emit(h("node","remove",n,{parent:W(t),causeId:U??void 0})),E.unregister(n,e)),e.parentNode?.removeChild(e)}function je(e,t){let n=document.createComment("wf-hole"),o=j();return E.register(o,n),w.emit(h("node","create",o,{kind:"hole"})),t&&t.parentNode===e?e.insertBefore(n,t):e.appendChild(n),w.emit(h("node","insert",o,{parent:W(e),ref:t?M(t):null,kind:"hole",causeId:U??void 0})),n}function Fe(e,t,n){if(e==null||e===!1||e===!0)return je(t,n);if(typeof e=="string"||typeof e=="number"){let o=document.createTextNode(String(e)),r=j();return E.register(r,o),w.emit(h("text","create",r,{value:String(e)})),n&&n.parentNode===t?t.insertBefore(o,n):t.appendChild(o),w.emit(h("node","insert",r,{parent:W(t),ref:n?M(n):null})),o}return D(e,t,n)}function oe(e,t,n,o,r){let s=E;r&&(E=r);try{return e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&e===t?e.el??null:In(e,t,n,o)}finally{E=s}}var On=0,U=null,qt=[];function Dt(){return qt.push(U),U=`c${++On}`,U}function Wt(){U=qt.pop()??null}function Ft(e){if(e==null||typeof e=="boolean")return"hole";if(typeof e=="string"||typeof e=="number")return"text";if(typeof e=="object"&&!Array.isArray(e)){let t=e.type;return typeof t=="function"?"comp":t===J?"frag":t===q?"portal":"native"}return"unknown"}function In(e,t,n,o){let r=Ft(e),s=Ft(t);if(w.emit(h("diff","transition",void 0,{from:r,to:s,level:"trace"})),typeof t=="string"||typeof t=="number"){let i=String(t),c=e&&typeof e=="object"?e.el:n.childNodes[0]??null;if(c&&c.nodeType===3)return c.nodeValue!==i&&(w.emit(h("text","update",M(c),{value:i,prev:c.nodeValue??""})),c.nodeValue=i),c;let f=document.createTextNode(i),p=j();return E.register(p,f),w.emit(h("text","create",p,{value:i})),o&&o.parentNode===n?n.insertBefore(f,o):n.appendChild(f),w.emit(h("node","insert",p,{parent:W(n),ref:o?M(o):null})),f}if(t==null||t===!1||t===!0){if(e!=null&&typeof e=="object"&&!Array.isArray(e)){if(ee(e))ne(e);else if(e.el&&e.el.parentNode===n){let i=E.idOf(e.el);w.emit(h("node","remove",i,{parent:W(n)})),e.el.parentNode?.removeChild(e.el),E.unregister(i,e.el)}}return null}let a=t,l=e!=null&&typeof e=="object"&&"type"in e;if(l&&e.type===a.type&&e.key===a.key){let i=e,c=K(a);ye(l?K(e):null,c,"reuse");let f=Wn[c];return f?f(i,a,n,o):(ye(l?K(e):null,c,"unhandled"),console.warn(`[vdom3/patch] kind=${c} \u65E0\u540C\u7C7B\u578B\u5904\u7406\u5668\u2014\u2014\u964D\u7EA7\u91CD\u5EFA\uFF08kind \u5206\u53D1\u5B8C\u6574\u6027\u7F3A\u5931\uFF09`),D(a,n,o))}if(ye(l?K(e):null,K(a),"rebuild"),l&&typeof e.type=="function"&&e._id&&(We(e._id),w.emit(h("comp","unmount",e._id,{name:qe(e.type)}))),l){let i=e.el;i&&i.parentNode===n?ge(i,n,e):e&&ee(e)&&ne(e)}return D(a,n,o)}function Rn(e,t,n){let o=M(e),r=new Set([...Object.keys(t??{}),...Object.keys(n??{})]),s=t?.ref,a=n?.ref;s!==a&&(typeof s=="function"&&s(null),typeof a=="function"&&a(e));for(let l of r){if(l==="key"||l==="children"||l==="ref")continue;let u=t?.[l],i=n?.[l];if(u!==i&&!(u!=null&&i!=null&&typeof u=="object"&&typeof i=="object"&&!Array.isArray(u)&&!Array.isArray(i)&&Kn(u,i))){if(typeof i=="function"&&/^on[A-Z]/.test(l)){Ae(o,l.slice(2).toLowerCase(),i,e);continue}if(i==null||i===!1)l==="value"&&e instanceof HTMLInputElement?e.value="":e.removeAttribute(l);else if(l==="value"&&e instanceof HTMLInputElement)e.value=String(i);else if(l==="style"&&typeof i=="object"&&!Array.isArray(i)){let c=Object.entries(i).filter(([,f])=>f!=null&&f!==!1).map(([f,p])=>`${f.replace(/[A-Z]/g,m=>"-"+m.toLowerCase())}:${p}`).join(";");e.setAttribute("style",c)}else e.setAttribute(l,String(i));w.emit(h("prop","update",o,{key:l,value:i,prev:u??""}))}}}function ye(e,t,n){w.emit(h("vnode","patch",void 0,{oldKind:e,newKind:t,strategy:n}))}function Hn(e,t,n,o){let r=e.el;return r==null?(ye(K(e),"native","unhandled"),console.warn(`[vdom3/patch] native \u590D\u7528\u4F46 ov.el \u7F3A\u5931\uFF08tag=${String(e.type)}\u2014\u2014kind \u5206\u53D1\u6216\u6E32\u67D3\u65F6\u5E8F\u9519\u8BEF\uFF09\u2014\u2014\u964D\u7EA7\u91CD\u5EFA`),D(t,n,o)):(t.el=r,Rn(r,e.props,t.props),Ke(e,t,r),r)}function jt(e,t,n,o){t._render=e._render,t._id=e._id;let r=t._child!==void 0?t._child:T(t)[0]??null,s=e._child!==void 0?e._child:T(e)[0]??null;if(r==null||r===!1||r===!0){if(s&&ee(s))ne(s);else if(e.el){he(s);let a=e._outFirst??e.el,l=e._outLast??e.el;if(l!==a&&a.parentNode===n){let u=E.idOf(a);w.emit(h("node","remove",u,{parent:W(n)})),a.parentNode?.removeChild(a),E.unregister(u,a);let i=a.nextSibling,c=64,f=0;for(;i&&i!==l&&f++<c;){let p=i.nextSibling;Y(i,n),i=p}l.parentNode===n&&Y(l,n)}else{let u=E.idOf(e.el);w.emit(h("node","remove",u,{parent:W(n)})),e.el.parentNode?.removeChild(e.el),E.unregister(u,e.el)}e.el=null}return t.el=null,null}return e.el==null||!(e.el.isConnected||e.el.parentNode===n)?t.el=D(t,n,o):(oe(s,r,n,o),t.el=e.el,t._outFirst=r._outFirst??t.el,t._outLast=r._outLast??t.el),t.el}function Un(e,t,n,o){Ke(e,t,n,Fn(e));let r=T(e).find(u=>u!=null&&typeof u=="object"&&!Array.isArray(u));t.el=e.el??r?.el??null;let s=T(t).filter(u=>u!=null&&typeof u=="object"&&!Array.isArray(u)),a=s[0],l=s[s.length-1];return t._outFirst=a?.el??t.el,t._outLast=l?._outLast??l?.el??t.el,t.el}function Dn(e,t,n,o){let r=String(t.props?.portalKey??"default"),s=Z(r);return E.register(O.PORTAL(r),s),Ke(e,t,s),t.el=s,s}var Wn={native:Hn,comp:jt,app:jt,frag:Un,portal:Dn,text:void 0,null:void 0};function Fn(e){let n=T(e).find(r=>r!=null&&typeof r=="object"&&!Array.isArray(r))?.el,o=n?.parentNode;if(o&&n){let r=0;for(let s of o.childNodes){if(s===n)return r;r++}}return 0}function jn(e,t,n){let o=new Map;e.forEach((s,a)=>{H(s)&&s.key!=null&&o.set(s.key,a)});let r=null;for(let s=0;s<t.length;s++){let a=t[s];if(!H(a)||a.key==null){r=null;continue}let l=o.get(a.key),u=null;if(l!=null&&H(e[l])&&(u=e[l].el??null),u&&u.parentNode===n){let i=r?r.nextSibling:n.firstChild;if(i!==u){let c=u.previousSibling?E.idOf(u.previousSibling):null;n.insertBefore(u,i),w.emit(h("node","move",E.idOf(u),{parent:M(n),ref:i?E.idOf(i):null,prev:c,key:a.key,causeId:U??void 0}))}r=u}}}function $n(e,t,n){let o=new Map;for(let a of e)H(a)&&a.key!=null&&o.set(a.key,a);jn(e,t,n);let r=null;for(let a of t){let l=a,u=o.get(l.key??"")??null;u&&u!==l?(oe(u,l,n),r=l.el??r):u||(D(l,n,r?r.nextSibling:n.firstChild),r=l.el??r)}let s=new Set(t.filter(a=>H(a)).map(a=>a.key));for(let a of e)if(H(a)&&a.key!=null&&!s.has(a.key)&&a.el?.parentNode===n){let l=E.idOf(a.el);w.emit(h("node","remove",l,{parent:M(n)})),a.el.parentNode?.removeChild(a.el),E.unregister(l,a.el)}}function he(e){if(e==null||typeof e!="object"||Array.isArray(e))return;let t=e.props?.ref;if(typeof t=="function"){let n=e.el;w.emit(h("ref","cleanup",n?E.idOf(n):"null")),t(null)}for(let n of T(e))n!=null&&typeof n=="object"&&!Array.isArray(n)&&he(n)}function $t(e,t,n){let o=e._id;if(o&&(We(o),w.emit(h("comp","unmount",o,{name:qe(e.type)})),st(o)),e.el)ge(e.el,t,e);else{let r=t.childNodes[n];r&&r.parentNode?.removeChild(r)}}function ge(e,t,n){let o=globalThis.__WF_V3_AUDIT!=="0"?Se(E.idOf(e)):0;if(Pe(E.idOf(e)),o>0){let s=Se(E.idOf(e));s>0&&console.warn(`[vdom3/audit] \u8282\u70B9\u76D1\u542C\u6B8B\u7559\uFF1A${s}/${o} \u4E2A\u76D1\u542C\u672A\u6E05\u7406\uFF08${String(n?.type??e.nodeName).slice(0,20)}\uFF09\u2014\u2014\u4E8B\u4EF6\u4ECD\u4F1A\u54CD\u5E94\u2014\u2014\u6CC4\u6F0F`)}n&&he(n);let r=E.idOf(e);w.emit(h("node","remove",r,{parent:W(t),causeId:U??void 0})),e.parentNode?.removeChild(e),E.unregister(r,e)}function Kn(e,t){let n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function ne(e){let t=String(e.props?.portalKey??"default"),n=Z(t);he(e);for(let o of[...n.childNodes]){Pe(E.idOf(o));let r=E.idOf(o);w.emit(h("node","remove",r,{parent:O.PORTAL(t)})),n.removeChild(o),E.unregister(r,o)}n.childNodes.length===0&&w.emit(h("portal","close",void 0,{portalKey:t}))}var Kt=new Set;function Ke(e,t,n,o=0){let r=T(e),s=T(t),a=s.length>1&&s.every(f=>H(f)&&f.key!=null)?"keyed":"unkeyed";if(w.emit(h("diff","mode",void 0,{mode:a,len:s.length,prevLen:r.length,level:"trace"})),globalThis.__WF_V3_AUDIT!=="0"&&r.length!==s.length){let f=`${s.length}:${r.length}`;if(!Kt.has(f)){Kt.add(f);for(let p=0;p<s.length;p++){let m=s[p];if(m!=null&&typeof m=="object"&&!Array.isArray(m)&&typeof m.type=="function"&&m.key==null){console.error(`[vdom3/audit] \u52A8\u6001\u6570\u7EC4\u4F4D\u7F6E ${p} \u7684\u7EC4\u4EF6\u7F3A\u5C11 key\uFF08${qe(m.type)}\uFF09\u2014\u2014\u5217\u8868\u589E\u5220/\u91CD\u6392\u4F1A\u9519\u4F4D\u7EC4\u4EF6\u5B9E\u4F8B\u72B6\u6001\u3002\u8BF7\u63D0\u4F9B\u4E1A\u52A1\u8EAB\u4EFD key\uFF08\u5982 key={item.id}\uFF09\uFF1B\u65E0\u72B6\u6001 native \u9879\u8C41\u514D\u3002`);break}}}}if(s.length>1&&s.every(f=>H(f)&&f.key!=null)){$n(r,s,n);return}let l=f=>!!f&&f.nodeType===8&&(f.nodeValue??"").includes("wf-hole"),u=Math.max(r.length,s.length),i=o,c=(f,p)=>{if(f!=null&&typeof f=="object"&&!Array.isArray(f)){let m=f._outFirst,d=f._outLast;if(m&&d&&d!==m){let g=1,v=m,y=64,N=0;for(;v&&v!==d&&N++<y;)g++,v=v.nextSibling;return g}}return p?1:0};for(let f=0;f<u;f++){let p=f<r.length?r[f]:null,m=f<s.length?s[f]:null,d=n.childNodes[i]??null,g=()=>Mn(p,n,d,f);if(f>=s.length){let y=p!=null&&typeof p=="object"&&p._outFirst&&p._outLast&&p._outLast!==p._outFirst?c(p,d):1;g(),i+=y;continue}if(typeof m=="string"||typeof m=="number"){let y=String(m);if(d&&d.nodeType===3)d.nodeValue!==y&&(w.emit(h("text","update",M(d),{value:y,prev:d.nodeValue??""})),d.nodeValue=y);else{let N=document.createTextNode(y),x=j();if(E.register(x,N),w.emit(h("text","create",x,{value:y})),d&&d.parentNode===n){let S=E.idOf(d);S&&(w.emit(h("node","remove",S,{parent:M(n)})),E.unregister(S,d)),n.replaceChild(N,d)}else n.appendChild(N);w.emit(h("node","insert",x,{parent:M(n),ref:null}))}i+=1;continue}if(m==null||m===!1||m===!0){if(!l(d)){Dt();try{let y=d?d.nextSibling:null;g(),je(n,y)}finally{Wt()}}i+=1;continue}if(p!=null&&typeof p=="object"&&p.type===m.type)oe(p,m,n,d??null);else{Dt();try{let y=D(m,n,d??null);d&&!l(d)?g():d&&l(d)&&Y(d,n),y==null&&!d&&je(n,null)}finally{Wt()}}let v=c(m,d)||(p!=null&&typeof p=="object"&&!Array.isArray(p)&&p._outFirst&&p._outLast&&p._outLast!==p._outFirst?c(p,d):1);i+=v}Ut(n,t)}function qe(e){return typeof e=="function"?e.name||"anonymous":String(e)}function M(e){return E.idOf(e)}function W(e){return E.idOf(e)}var we=new WeakMap,Bt=new WeakMap;function fr(e,t,n){return new Promise((o,r)=>{(async()=>{try{document.getElementById("__wf_portal")?.remove();let s=new O,a=await $(t,{});$e(a,e,s),we.set(e,a),Bt.set(e,s),o()}catch(s){r(s)}})()})}async function pr(e,t,n,o,r){let s=we.get(e)??null,a=Bt.get(e)??E;if(o==null)return e.innerHTML="",we.set(e,null),null;let l=await $(o,{},s);return s?oe(s,l,e,void 0,a):$e(l,e,a),we.set(e,l),l}function mr(e,t){return $(e,{})}async function yr(e,t,n){let o=await e(t,n);return typeof o=="function"?o(t):o}async function gr(e,t,n){let o=await e(t,n);return()=>typeof o=="function"?o(t):o}function ve(e,t){if(e==null||typeof e!="object")return;if(Array.isArray(e)){for(let o of e)ve(o,t);return}t(e);let n=e?.props?.children;n!=null&&ve(n,t)}function hr(e,t){let n;return ve(e,o=>{!n&&t(o)&&(n=o)}),n}function wr(e,t){let n=[];return ve(e,o=>{typeof o?.props?.class=="string"&&o.props.class.split(" ").includes(t)&&n.push(o)}),n}function vr(e){let t={ui:{render:()=>{},ready:!0,useExternal:()=>{},useVisualViewport:()=>({keyboardOpen:!1,height:0,offsetTop:0}),useScrollPosition:()=>({y:0}),useStableRef:()=>()=>{},useGlobalKey:()=>()=>{},useReducedMotion:()=>!1,useControlledInput:o=>({value:o.value??"",setValue:o.onChange??(()=>{}),keyword:o.value??"",setKeyword:()=>{},setSelectedLabel:()=>{}}),useOpen:o=>({get open(){return!!o.open},setOpen:o.onOpenChange??(()=>{}),triggerProps:{}})}};return e?{ui:{...t.ui,...e.ui??{}},...e.browser?{browser:e.browser}:{}}:t}function br(e=()=>!1,t){return{get open(){return e()},setOpen:t??(n=>{}),refresh:()=>{},portal:(n,o)=>e()?n:null,wrapProps:{}}}export{mr as buildToDom,br as createPopupMock,vr as createTestCtx,wr as findByClass,hr as findVNode,gr as mountComponent,fr as mountToDom,pr as patchToDom,yr as renderVNode,ve as walkVNode};
|
|
6
|
+
`))c.startsWith("event: ")?u=c.slice(7):c.startsWith("data: ")&&(i+=c.slice(6));if(i)try{yield{name:u,data:JSON.parse(i)}}catch{}}}}finally{t.releaseLock()}}function Nn(e,t,n){n&&(e.length>=1e3&&e.shift(),e.push(t))}function kn(e){return e===401||e===403?"auth_failed":e===429?"rate_limited":e>=500?"provider_error":"invalid_request"}function xn(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`trace-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Mt(e,t){let n={messages:[],input:"",streaming:!1,error:null,usage:null,step:null},o=new Set,s=Pt(n,At,t,()=>{for(let l of[...o])l()});Object.assign(n,s),n.subscribe=l=>(o.add(l),()=>{o.delete(l)});let a=e.selfId();if(a){let l=e.onUnmount(u=>{u===a&&(s.dispose(),l())})}return n}var Ot=R();function Rt(e){let t=new Map,n=new Map,o=!1,r=0;function s(){r||(r=requestAnimationFrame(()=>{r=0;let p=[];for(let[m,d]of t){if(!d.isOpen())continue;let g=d.getEl();if(!g)continue;let b=g.getBoundingClientRect();if(b.width===0&&b.height===0)continue;let y=d.compute(b);Object.assign(d.pos,de(y,d.panel?.(),d.margin)),p.push(m)}for(let[m,d]of n){let g=d.getScroller(),b=g instanceof Window?Ot.scrollingElement()?.scrollTop??Ot.scrollTop():g.scrollTop??0;b!==d.handle.y&&(d.handle.y=b,p.push(m))}p.length>0&&e(p)}))}let a=null,l=null;function u(){o||(o=!0,a=V(window,"scroll",s,{capture:!0,passive:!0}),l=V(window,"resize",s))}function i(){o&&(a?.(),l?.(),a=null,l=null,o=!1)}function c(p){for(let m of[...t.keys()])(m.startsWith(`popup:${p}:`)||m===`popup:${p}`||m===p)&&t.delete(m);n.delete(p)}function f(){i(),r&&(cancelAnimationFrame(r),r=0),t.clear(),n.clear()}return{popupTrackers:t,scrollTrackers:n,schedulePopupRecompute:s,ensurePopupListeners:u,destroyPopupListeners:i,cleanupTrackers:c,destroy:f}}var Tn=new Map,Vn=new Set,Cn=new Map,_n=new Map,Sn=new Map,je=new Map,$e=Rt(e=>{for(let t of e){let n=je.get(t);if(n)try{n()}catch{}}}),Ln=$e.popupTrackers,Pn=$e.scrollTrackers,An=$e.ensurePopupListeners;function It(e,t,n){je.set(e,t);let o={selfId:()=>e,render:s=>{window.__chain="env.render",!s||s.length===0||s.includes(e)?t():console.warn(`[vdom3/ui] render([${s.join(",")}]) \u8DE8\u7EC4\u4EF6\u6E32\u67D3\u6682\u672A\u5B9E\u73B0\uFF08vdom3 \u5F53\u524D\u4EC5\u7EC4\u4EF6\u81EA\u8EAB render\uFF09`)},browser:R(),onUnmount:s=>(n(()=>{s(e),je.delete(e)}),()=>{}),registry:{idRegistry:new Map},mediaRegistry:Tn,popupTrackers:Ln,scrollTrackers:Pn,isMounting:()=>!1,warned:Vn,uncontrolledValues:Cn,inputStates:_n,openStates:Sn,ensurePopupListeners:An};return{__v3ui:!0,__compId:e,render:s=>o.render(s),onUnmount:s=>{n(s)},selfId:s=>{o.registry.idRegistry.set(s,e)},useExternal:s=>at(o,s),useControlled:s=>Ue(o,s),useControlledInput:s=>ut(o,s),useOpen:s=>ht(o,s),usePopup:s=>gt(o,s),usePopupPosition:s=>We(o,s),useTween:(s,a)=>pt(o,s,a),useInView:s=>Vt(o,s),useScrollPosition:s=>Ct(o,s),useGlobalKey:s=>_t(o,s),useDrag:s=>St(o,s),useDragDrop:s=>Lt(o,s),useMedia:(s,a)=>{kt(o,s,a)},useBreakpoint:(s,a)=>{xt(o,s,a)},useReducedMotion:()=>De(o),useStableRef:(s,a)=>ct(o,s,a),usePresence:s=>ue(o,s),useLongPress:s=>ft(o,s),useHoverCapable:()=>ae(o),useVisualViewport:()=>Tt(o),useAsync:s=>dt(o,s),useChat:s=>Mt(o,s)}}var me=new Map;function Ke(e){let t=me.get(e);if(t){try{t()}catch{}me.delete(e)}}function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)&&"type"in e}function pe(e){try{let t={};for(let[n,o]of Object.entries(e))if(o!=null&&typeof o=="object"){let r=JSON.stringify(o);r!=null&&r.length<=1e4&&(t[n]=r)}return Object.keys(t).length>0?JSON.stringify(t):null}catch{return null}}var Ht=new Set;function Ut(e,t){let n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}async function K(e,t,n,o=!1){if(typeof e.type=="function"||e.type===G){let i={...e};if(e.type===G)return r(i,t,n);let c=n!=null&&typeof n=="object"&&n.type===e.type&&n.key===e.key&&n._render?n:null;if(c){if(i._render=c._render,i._id=c._id,He(i),!o&&Ut(c.props,i.props)){if(i._child=c._child,c.el!=null&&(i.el=c.el),globalThis.__WF_V3_AUDIT!=="0"&&c._propsSnap!=null){let d=pe(i.props);if(d!=null&&d!==c._propsSnap){let g=`${I(i.type)}:${d.slice(0,40)}`;Ht.has(g)||(Ht.add(g),console.warn(`[vdom3/audit] \u7EC4\u4EF6 ${I(i.type)} \u7684 props \u5BF9\u8C61\u5185\u5BB9\u5DF2\u53D8\u4F46\u5F15\u7528\u672A\u53D8\uFF08\u539F\u5730\u4FEE\u6539\u5BF9\u8C61\uFF1F\uFF09\u2014\u2014\u526A\u679D\u5C06\u8DF3\u8FC7\u91CD\u6E32\u67D3\u2014\u2014\u8BF7\u65B0\u5EFA\u5BF9\u8C61\u4F20 props\uFF08props \u4E0D\u53EF\u53D8\u5951\u7EA6\uFF09`))}}return w.emit(h("comp","build",i._id,{name:I(i.type),reused:!0,index:!0,reason:"reuse-skip",propsKeys:Object.keys(i.props)})),i._propsSnap=pe(i.props),i}let m=Object.keys({...c.props,...i.props}).filter(d=>c.props[d]!==i.props[d]);w.emit(h("props","update",i._id,{name:I(i.type),keys:m})),i._propsSnap=pe(i.props),w.emit(h("comp","build",i._id,{name:I(i.type),reused:!0,index:!0,reason:o?"root-render":"props-changed",changedKeys:m}))}else{i._id=$(),He(i),w.emit(h("comp","build",i._id,{name:I(i.type),reused:!1,index:!0,reason:"mount"})),w.emit(h("comp","mount",i._id,{name:I(i.type)}));let m=i._id,d=()=>{window.__chain="componentRender:"+m;let y=t._componentRender;y?(window.__chain="fn("+m+")",y(m)):(window.__chain="ctx.render("+m+")",t.render())},g=Object.assign(Object.create(t),{render:d,onUnmount:y=>{me.set(m,y)},browser:t.browser??R(),ui:It(m,d,y=>{me.set(m,y)})}),b=null;try{b=await i.type(i.props,g)}catch(y){let N=y;throw w.emit(h("error","throw",i._id,{phase:"factory",name:I(i.type),message:N?.message??String(y)})),y}i._render=b,i._propsSnap=pe(i.props)}w.emit(h("comp","render",i._id,{name:I(i.type)}));let f=null;try{f=await i._render(i.props)}catch(m){let d=m;throw w.emit(h("error","throw",i._id,{phase:"renderFn",name:I(i.type),message:d?.message??String(m)})),m}i._child=null;let p=c?._child??null;if(f){let m=await K(f,t,p!=null&&typeof p=="object"?p:null);i._child=m}return i}async function r(i,c,f){let p=String(i.props?.appId??""),m=lt(p);if(!m)return w.emit(h("app","error",void 0,{appId:p,reason:"unknown-app"})),i;let d=f!=null&&f.type===G&&f.appId===p;if(!d||!f._appOutput){w.emit(h("app","mount",void 0,{appId:p}));let y=await m(i.props?.props??{},c);i._appOutput=y}else{i._appOutput=f._appOutput;let y=f.props?.props??{},N=i.props?.props??{},x=[...new Set([...Object.keys(y),...Object.keys(N)])].filter(S=>y[S]!==N[S]);x.length>0&&w.emit(h("app","update",void 0,{appId:p,keys:x}))}let g=d&&f._appOutput?await K(f._appOutput,c,null):null,b=i._appOutput?await K(i._appOutput,c,g):null;return i._child=b,i.appId=p,i}let s=T(n??{}),a=0,l=null;for(let i of T(e)){if(H(i)){let c=s[a],f=await K(i,t,c!=null&&typeof c=="object"?c:null);f!==i&&(l??=[...T(e)],l[a]=f)}a++}if(l==null&&n!=null&&typeof n=="object"&&!Array.isArray(n)){let i=T(n),c=T(e);if(Ut(n.props??{},e.props??{})&&i.length===c.length&&i.every((f,p)=>f===c[p]))return n}let u={...e};return l&&(u.children=l),u}function I(e){return typeof e=="function"?e.name||"anonymous":String(e)}var Mn=globalThis.__WF_V3_AUDIT!=="0";function Dt(e,t){if(!Mn)return;let n=T(t).filter(s=>s!=null&&typeof s=="object"&&s.el!=null);if(n.length<2)return;let o=n[0].el?.parentNode;if(!o)return;let r=-1;for(let s of n){let a=s.el;if(a.parentNode!==o)return;let l=[...o.childNodes].indexOf(a);if(l<0)return;if(l<r){let u=globalThis.__WF_V3_AUDIT_STACK?new Error().stack?.split(`
|
|
7
|
+
`).slice(2,5).map(f=>f.trim().slice(0,70)).join(" | "):"",i=n.map(f=>typeof f.type=="function"?"C":String(f.type).slice(0,8)),c=n.map(f=>[...o.childNodes].indexOf(f.el));console.warn(`[vdom3/audit] children \u987A\u5E8F\u9519\u4F4D idx=${l}<${r} tag=${String(s.type).slice(0,30)} kinds=[${i.join(",")}] idxs=[${c.join(",")}] kids=${n.length} domKids=${o.childNodes.length}${u?" || "+u:""}`);return}r=l}}var On=new Set(["svg","path","circle","rect","line","polyline","polygon","g","defs","use","text","tspan","ellipse","title","desc","marker","symbol","linearGradient","radialGradient","stop","mask","pattern","clipPath"]);function J(e){if(e==null||typeof e!="object")return!1;let t=e.type;return t===B||typeof t=="symbol"&&e.props?.portalKey!=null}function Bt(e,t){e.value=t,e.type==="range"&&e.setAttribute("value",t)}function Rn(e){if(e==null||typeof e!="object")return!1;let t=e.type;return(t===Z||typeof t=="symbol")&&e.props?.portalKey==null}var E=new O;function Ge(e,t,n){let o=E;n&&(E=n);try{Me(t),t.innerHTML="",E.register(O.ROOT,t),W(e,t)}finally{E=o}}function W(e,t,n){if(typeof e.type=="function"||e.type===G){let l=e._child!==void 0?e._child:T(e)[0]??null;if(l==null)return null;if(e.el!=null&&(e.el.isConnected||e.el.parentNode===t))return e.el;let u=W(l,t,n);return e.el=u,e._outFirst=l._outFirst??u,e._outLast=l._outLast??u,u}if(Rn(e)){let l=null,u=null;for(let i of T(e)){let c=qe(i,t,n);c&&(l||(l=c),u=c)}return e._outFirst=l,e._outLast=u,l}if(J(e)){let u=String(e.props?.portalKey??"default"),i=ee(u);Me(i),E.register(O.PORTAL(u),i);let c=null,f=i.childNodes.length===0;for(let p of T(e)){let m=qe(p,i);m&&!c&&(c=m)}return f&&i.childNodes.length>0&&w.emit(h("portal","open",void 0,{portalKey:u})),e.el=i,c??i}let o=e.type,r=On.has(o)?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o),s=$();r.setAttribute("data-v3-id",s),E.register(s,r),e.el=r,w.emit(h("node","create",s,{tag:e.type}));for(let[l,u]of Object.entries(e.props??{}))if(!(l==="key"||l==="children"||l==="ref")){if(typeof u=="function"&&/^on[A-Z]/.test(l)){Ie(s,l.slice(2).toLowerCase(),u,t);continue}if(u!=null&&u!==!1){if(l==="value"&&r instanceof HTMLInputElement)Bt(r,String(u));else if(l==="innerHTML")r.innerHTML=String(u);else if(l==="style"&&typeof u=="object"&&!Array.isArray(u)){let i=Object.entries(u).filter(([,c])=>c!=null&&c!==!1).map(([c,f])=>`${c.replace(/[A-Z]/g,p=>"-"+p.toLowerCase())}:${f}`).join(";");r.setAttribute("style",i)}else r.setAttribute(l,String(u));w.emit(h("prop","update",s,{key:l,value:u,prev:""}))}}e._outFirst=r,e._outLast=r,n&&n.parentNode===t?t.insertBefore(r,n):t.appendChild(r),w.emit(h("node","insert",s,{parent:F(t),ref:n?M(n):null,causeId:D??void 0})),rt(r,e.props??{});let a=e.props?.ref;typeof a=="function"&&(w.emit(h("ref","mount",s,{})),a(r));for(let l of T(e))qe(l,r);return r}function In(e,t,n,o){if(e!=null&&typeof e=="object"&&e._outFirst&&e._outLast&&e._outLast!==e._outFirst){let r=e._outFirst,s=e._outLast;typeof e.type=="function"&&e._id?Kt(e,t,o):e.el&&e.el.parentNode===t?ge(e.el,t,e):r.parentNode===t&&z(r,t);let a=r.nextSibling,l=64,u=0;for(;a&&a!==s&&u++<l;){let i=a.nextSibling;z(a,t),a=i}s.parentNode===t&&z(s,t);return}if(e!=null&&typeof e=="object"&&J(e)){te(e);return}if(e!=null&&typeof e=="object"&&e._child&&J(e._child)){te(e._child);return}if(e!=null&&typeof e=="object"&&typeof e.type=="function"&&e._id){Kt(e,t,o);return}e!=null&&typeof e=="object"&&e.el?ge(e.el,t,e):n&&z(n,t)}function z(e,t){let n=E.idOf(e);n&&(w.emit(h("node","remove",n,{parent:F(t),causeId:D??void 0})),E.unregister(n,e)),e.parentNode?.removeChild(e)}function Be(e,t){let n=document.createComment("wf-hole"),o=$();return E.register(o,n),w.emit(h("node","create",o,{kind:"hole"})),t&&t.parentNode===e?e.insertBefore(n,t):e.appendChild(n),w.emit(h("node","insert",o,{parent:F(e),ref:t?M(t):null,kind:"hole",causeId:D??void 0})),n}function qe(e,t,n){if(e==null||e===!1||e===!0)return Be(t,n);if(typeof e=="string"||typeof e=="number"){let o=document.createTextNode(String(e)),r=$();return E.register(r,o),w.emit(h("text","create",r,{value:String(e)})),n&&n.parentNode===t?t.insertBefore(o,n):t.appendChild(o),w.emit(h("node","insert",r,{parent:F(t),ref:n?M(n):null})),o}return W(e,t,n)}function re(e,t,n,o,r){let s=E;r&&(E=r);try{return e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&e===t?e.el??null:Un(e,t,n,o)}finally{E=s}}var Hn=0,D=null,Gt=[];function Wt(){return Gt.push(D),D=`c${++Hn}`,D}function Ft(){D=Gt.pop()??null}function jt(e){if(e==null||typeof e=="boolean")return"hole";if(typeof e=="string"||typeof e=="number")return"text";if(typeof e=="object"&&!Array.isArray(e)){let t=e.type;return typeof t=="function"?"comp":t===Z?"frag":t===B?"portal":"native"}return"unknown"}function Un(e,t,n,o){let r=jt(e),s=jt(t);if(w.emit(h("diff","transition",void 0,{from:r,to:s,level:"trace"})),typeof t=="string"||typeof t=="number"){let i=String(t),c=e&&typeof e=="object"?e.el:n.childNodes[0]??null;if(c&&c.nodeType===3)return c.nodeValue!==i&&(w.emit(h("text","update",M(c),{value:i,prev:c.nodeValue??""})),c.nodeValue=i),c;let f=document.createTextNode(i),p=$();return E.register(p,f),w.emit(h("text","create",p,{value:i})),o&&o.parentNode===n?n.insertBefore(f,o):n.appendChild(f),w.emit(h("node","insert",p,{parent:F(n),ref:o?M(o):null})),f}if(t==null||t===!1||t===!0){if(e!=null&&typeof e=="object"&&!Array.isArray(e)){if(J(e))te(e);else if(e.el&&e.el.parentNode===n){let i=E.idOf(e.el);w.emit(h("node","remove",i,{parent:F(n)})),e.el.parentNode?.removeChild(e.el),E.unregister(i,e.el)}}return null}let a=t,l=e!=null&&typeof e=="object"&&"type"in e;if(l&&e.type===a.type&&e.key===a.key){let i=e,c=q(a);ye(l?q(e):null,c,"reuse");let f=$n[c];return f?f(i,a,n,o):(ye(l?q(e):null,c,"unhandled"),console.warn(`[vdom3/patch] kind=${c} \u65E0\u540C\u7C7B\u578B\u5904\u7406\u5668\u2014\u2014\u964D\u7EA7\u91CD\u5EFA\uFF08kind \u5206\u53D1\u5B8C\u6574\u6027\u7F3A\u5931\uFF09`),W(a,n,o))}if(ye(l?q(e):null,q(a),"rebuild"),l&&typeof e.type=="function"&&e._id&&(Ke(e._id),w.emit(h("comp","unmount",e._id,{name:Ye(e.type)}))),l){let i=e.el;i&&i.parentNode===n?ge(i,n,e):e&&J(e)&&te(e)}return W(a,n,o)}function Dn(e,t,n){let o=M(e),r=new Set([...Object.keys(t??{}),...Object.keys(n??{})]),s=t?.ref,a=n?.ref;s!==a&&(typeof s=="function"&&s(null),typeof a=="function"&&a(e));for(let l of r){if(l==="key"||l==="children"||l==="ref")continue;let u=t?.[l],i=n?.[l];if(u!==i&&!(u!=null&&i!=null&&typeof u=="object"&&typeof i=="object"&&!Array.isArray(u)&&!Array.isArray(i)&&Gn(u,i))){if(typeof i=="function"&&/^on[A-Z]/.test(l)){Ie(o,l.slice(2).toLowerCase(),i,e);continue}if(i==null||i===!1)l==="value"&&e instanceof HTMLInputElement?(e.value="",e.type==="range"&&e.removeAttribute("value")):e.removeAttribute(l);else if(l==="value"&&e instanceof HTMLInputElement)Bt(e,String(i));else if(l==="style"&&typeof i=="object"&&!Array.isArray(i)){let c=Object.entries(i).filter(([,f])=>f!=null&&f!==!1).map(([f,p])=>`${f.replace(/[A-Z]/g,m=>"-"+m.toLowerCase())}:${p}`).join(";");e.setAttribute("style",c)}else e.setAttribute(l,String(i));w.emit(h("prop","update",o,{key:l,value:i,prev:u??""}))}}}function ye(e,t,n){w.emit(h("vnode","patch",void 0,{oldKind:e,newKind:t,strategy:n}))}function Wn(e,t,n,o){let r=e.el;return r==null?(ye(q(e),"native","unhandled"),console.warn(`[vdom3/patch] native \u590D\u7528\u4F46 ov.el \u7F3A\u5931\uFF08tag=${String(e.type)}\u2014\u2014kind \u5206\u53D1\u6216\u6E32\u67D3\u65F6\u5E8F\u9519\u8BEF\uFF09\u2014\u2014\u964D\u7EA7\u91CD\u5EFA`),W(t,n,o)):(t.el=r,Dn(r,e.props,t.props),Xe(e,t,r),r)}function $t(e,t,n,o){t._render=e._render,t._id=e._id;let r=t._child!==void 0?t._child:T(t)[0]??null,s=e._child!==void 0?e._child:T(e)[0]??null;if(r==null||r===!1||r===!0){if(s&&J(s))te(s);else if(e.el){he(s);let a=e._outFirst??e.el,l=e._outLast??e.el;if(l!==a&&a.parentNode===n){let u=E.idOf(a);w.emit(h("node","remove",u,{parent:F(n)})),a.parentNode?.removeChild(a),E.unregister(u,a);let i=a.nextSibling,c=64,f=0;for(;i&&i!==l&&f++<c;){let p=i.nextSibling;z(i,n),i=p}l.parentNode===n&&z(l,n)}else{let u=E.idOf(e.el);w.emit(h("node","remove",u,{parent:F(n)})),e.el.parentNode?.removeChild(e.el),E.unregister(u,e.el)}e.el=null}return t.el=null,null}return e.el==null||!(e.el.isConnected||e.el.parentNode===n)?t.el=W(t,n,o):(re(s,r,n,o),t.el=e.el,t._outFirst=r._outFirst??t.el,t._outLast=r._outLast??t.el),t.el}function Fn(e,t,n,o){Xe(e,t,n,Kn(e));let r=T(e).find(u=>u!=null&&typeof u=="object"&&!Array.isArray(u));t.el=e.el??r?.el??null;let s=T(t).filter(u=>u!=null&&typeof u=="object"&&!Array.isArray(u)),a=s[0],l=s[s.length-1];return t._outFirst=a?.el??t.el,t._outLast=l?._outLast??l?.el??t.el,t.el}function jn(e,t,n,o){let r=String(t.props?.portalKey??"default"),s=ee(r);return E.register(O.PORTAL(r),s),Xe(e,t,s),t.el=s,s}var $n={native:Wn,comp:$t,app:$t,frag:Fn,portal:jn,text:void 0,null:void 0};function Kn(e){let n=T(e).find(r=>r!=null&&typeof r=="object"&&!Array.isArray(r))?.el,o=n?.parentNode;if(o&&n){let r=0;for(let s of o.childNodes){if(s===n)return r;r++}}return 0}function qn(e,t,n){let o=new Map;e.forEach((s,a)=>{H(s)&&s.key!=null&&o.set(s.key,a)});let r=null;for(let s=0;s<t.length;s++){let a=t[s];if(!H(a)||a.key==null){r=null;continue}let l=o.get(a.key),u=null;if(l!=null&&H(e[l])&&(u=e[l].el??null),u&&u.parentNode===n){let i=r?r.nextSibling:n.firstChild;if(i!==u){let c=u.previousSibling?E.idOf(u.previousSibling):null;n.insertBefore(u,i),w.emit(h("node","move",E.idOf(u),{parent:M(n),ref:i?E.idOf(i):null,prev:c,key:a.key,causeId:D??void 0}))}r=u}}}function Bn(e,t,n){let o=new Map;for(let a of e)H(a)&&a.key!=null&&o.set(a.key,a);qn(e,t,n);let r=null;for(let a of t){let l=a,u=o.get(l.key??"")??null;u&&u!==l?(re(u,l,n),r=l.el??r):u||(W(l,n,r?r.nextSibling:n.firstChild),r=l.el??r)}let s=new Set(t.filter(a=>H(a)).map(a=>a.key));for(let a of e)if(H(a)&&a.key!=null&&!s.has(a.key)&&a.el?.parentNode===n){let l=E.idOf(a.el);w.emit(h("node","remove",l,{parent:M(n)})),a.el.parentNode?.removeChild(a.el),E.unregister(l,a.el)}}function he(e){if(e==null||typeof e!="object"||Array.isArray(e))return;let t=e.props?.ref;if(typeof t=="function"){let n=e.el;w.emit(h("ref","cleanup",n?E.idOf(n):"null")),t(null)}for(let n of T(e))n!=null&&typeof n=="object"&&!Array.isArray(n)&&he(n)}function Kt(e,t,n){let o=e._id;if(o&&(Ke(o),w.emit(h("comp","unmount",o,{name:Ye(e.type)})),it(o)),e.el)ge(e.el,t,e);else{let r=t.childNodes[n];r&&r.parentNode?.removeChild(r)}}function ge(e,t,n){let o=globalThis.__WF_V3_AUDIT!=="0"?Le(E.idOf(e)):0;if(Ae(E.idOf(e)),o>0){let s=Le(E.idOf(e));s>0&&console.warn(`[vdom3/audit] \u8282\u70B9\u76D1\u542C\u6B8B\u7559\uFF1A${s}/${o} \u4E2A\u76D1\u542C\u672A\u6E05\u7406\uFF08${String(n?.type??e.nodeName).slice(0,20)}\uFF09\u2014\u2014\u4E8B\u4EF6\u4ECD\u4F1A\u54CD\u5E94\u2014\u2014\u6CC4\u6F0F`)}n&&he(n);let r=E.idOf(e);w.emit(h("node","remove",r,{parent:F(t),causeId:D??void 0})),e.parentNode?.removeChild(e),E.unregister(r,e)}function Gn(e,t){let n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function te(e){let t=String(e.props?.portalKey??"default"),n=ee(t);he(e);for(let o of[...n.childNodes]){Ae(E.idOf(o));let r=E.idOf(o);w.emit(h("node","remove",r,{parent:O.PORTAL(t)})),n.removeChild(o),E.unregister(r,o)}n.childNodes.length===0&&w.emit(h("portal","close",void 0,{portalKey:t}))}var qt=new Set;function Xe(e,t,n,o=0){let r=T(e),s=T(t),a=s.length>1&&s.every(f=>H(f)&&f.key!=null)?"keyed":"unkeyed";if(w.emit(h("diff","mode",void 0,{mode:a,len:s.length,prevLen:r.length,level:"trace"})),globalThis.__WF_V3_AUDIT!=="0"&&r.length!==s.length){let f=`${s.length}:${r.length}`;if(!qt.has(f)){qt.add(f);for(let p=0;p<s.length;p++){let m=s[p];if(m!=null&&typeof m=="object"&&!Array.isArray(m)&&typeof m.type=="function"&&m.key==null){console.error(`[vdom3/audit] \u52A8\u6001\u6570\u7EC4\u4F4D\u7F6E ${p} \u7684\u7EC4\u4EF6\u7F3A\u5C11 key\uFF08${Ye(m.type)}\uFF09\u2014\u2014\u5217\u8868\u589E\u5220/\u91CD\u6392\u4F1A\u9519\u4F4D\u7EC4\u4EF6\u5B9E\u4F8B\u72B6\u6001\u3002\u8BF7\u63D0\u4F9B\u4E1A\u52A1\u8EAB\u4EFD key\uFF08\u5982 key={item.id}\uFF09\uFF1B\u65E0\u72B6\u6001 native \u9879\u8C41\u514D\u3002`);break}}}}if(s.length>1&&s.every(f=>H(f)&&f.key!=null)){Bn(r,s,n);return}let l=f=>!!f&&f.nodeType===8&&(f.nodeValue??"").includes("wf-hole"),u=Math.max(r.length,s.length),i=o,c=(f,p)=>{if(f!=null&&typeof f=="object"&&!Array.isArray(f)){let m=f._outFirst,d=f._outLast;if(m&&d&&d!==m){let g=1,b=m,y=64,N=0;for(;b&&b!==d&&N++<y;)g++,b=b.nextSibling;return g}}return p?1:0};for(let f=0;f<u;f++){let p=f<r.length?r[f]:null,m=f<s.length?s[f]:null,d=n.childNodes[i]??null,g=()=>In(p,n,d,f);if(f>=s.length){let y=p!=null&&typeof p=="object"&&p._outFirst&&p._outLast&&p._outLast!==p._outFirst?c(p,d):1;g(),i+=y;continue}if(typeof m=="string"||typeof m=="number"){let y=String(m);if(d&&d.nodeType===3)d.nodeValue!==y&&(w.emit(h("text","update",M(d),{value:y,prev:d.nodeValue??""})),d.nodeValue=y);else{let N=document.createTextNode(y),x=$();if(E.register(x,N),w.emit(h("text","create",x,{value:y})),d&&d.parentNode===n){let S=E.idOf(d);S&&(w.emit(h("node","remove",S,{parent:M(n)})),E.unregister(S,d)),n.replaceChild(N,d)}else n.appendChild(N);w.emit(h("node","insert",x,{parent:M(n),ref:null}))}i+=1;continue}if(m==null||m===!1||m===!0){if(p!=null&&typeof p=="object"&&!Array.isArray(p)&&J(p)&&te(p),!l(d)){Wt();try{let y=d?d.nextSibling:null;g(),Be(n,y)}finally{Ft()}}i+=1;continue}if(p!=null&&typeof p=="object"&&p.type===m.type)re(p,m,n,d??null);else{Wt();try{let y=W(m,n,d??null);d&&!l(d)?g():d&&l(d)&&z(d,n),y==null&&!d&&Be(n,null)}finally{Ft()}}let b=c(m,d)||(p!=null&&typeof p=="object"&&!Array.isArray(p)&&p._outFirst&&p._outLast&&p._outLast!==p._outFirst?c(p,d):1);i+=b}Dt(n,t)}function Ye(e){return typeof e=="function"?e.name||"anonymous":String(e)}function M(e){return E.idOf(e)}function F(e){return E.idOf(e)}var we=new WeakMap,Xt=new WeakMap;function yr(e,t,n){return new Promise((o,r)=>{(async()=>{try{document.getElementById("__wf_portal")?.remove();let s=new O,a=await K(t,{});Ge(a,e,s),we.set(e,a),Xt.set(e,s),o()}catch(s){r(s)}})()})}async function gr(e,t,n,o,r){let s=we.get(e)??null,a=Xt.get(e)??E;if(o==null)return e.innerHTML="",we.set(e,null),null;let l=await K(o,{},s);return s?re(s,l,e,void 0,a):Ge(l,e,a),we.set(e,l),l}function hr(e,t){return K(e,{})}async function wr(e,t,n){let o=await e(t,n);return typeof o=="function"?o(t):o}async function vr(e,t,n){let o=await e(t,n);return()=>typeof o=="function"?o(t):o}function ve(e,t){if(e==null||typeof e!="object")return;if(Array.isArray(e)){for(let o of e)ve(o,t);return}t(e);let n=e?.props?.children;n!=null&&ve(n,t)}function br(e,t){let n;return ve(e,o=>{!n&&t(o)&&(n=o)}),n}function Er(e,t){let n=[];return ve(e,o=>{typeof o?.props?.class=="string"&&o.props.class.split(" ").includes(t)&&n.push(o)}),n}function Nr(e){let t={ui:{render:()=>{},ready:!0,useExternal:()=>{},useVisualViewport:()=>({keyboardOpen:!1,height:0,offsetTop:0}),useScrollPosition:()=>({y:0}),useStableRef:()=>()=>{},useGlobalKey:()=>()=>{},useReducedMotion:()=>!1,useControlledInput:o=>({value:o.value??"",setValue:o.onChange??(()=>{}),keyword:o.value??"",setKeyword:()=>{},setSelectedLabel:()=>{}}),useOpen:o=>({get open(){return!!o.open},setOpen:o.onOpenChange??(()=>{}),triggerProps:{}}),usePopup:o=>({open:!1,setOpen:r=>{},refresh:()=>{},portal:(r,s)=>null,wrapProps:{}})}};return e?{ui:{...t.ui,...e.ui??{}},...e.browser?{browser:e.browser}:{}}:t}function kr(e=()=>!1,t){return{get open(){return e()},setOpen:t??(n=>{}),refresh:()=>{},portal:(n,o)=>e()?n:null,wrapProps:{}}}export{hr as buildToDom,kr as createPopupMock,Nr as createTestCtx,Er as findByClass,br as findVNode,vr as mountComponent,yr as mountToDom,gr as patchToDom,wr as renderVNode,ve as walkVNode};
|
package/dist/ui-dom/types.d.ts
CHANGED
|
@@ -123,7 +123,7 @@ export interface UsePopupHandle {
|
|
|
123
123
|
/** spread 到触发/包装元素:触发(hover 门控/tap 降级/longpress)+ Escape + focus */
|
|
124
124
|
wrapProps: Record<string, any>;
|
|
125
125
|
/** 包装弹层内容:定位 + 视口/宽度 clamp + portal;关闭时返回 null */
|
|
126
|
-
portal: (content: VNode, portalKey?: string) => VNode | null;
|
|
126
|
+
portal: (content: VNode | null, portalKey?: string) => VNode | null;
|
|
127
127
|
/** 立即重算坐标(打开/动画结束后调用) */
|
|
128
128
|
refresh: () => void;
|
|
129
129
|
}
|
|
@@ -269,6 +269,8 @@ export interface BrowserEnv {
|
|
|
269
269
|
setHash(h: string): void;
|
|
270
270
|
/** 定时器(SSR no-op) */
|
|
271
271
|
timeout(fn: () => void, ms: number): number;
|
|
272
|
+
/** 表单状态恢复监听(load/pageshow——浏览器刷新/后退导航覆盖受控 value 兜底) */
|
|
273
|
+
onFormRestore?(cb: () => void): () => void;
|
|
272
274
|
/** document.documentElement(主题应用) */
|
|
273
275
|
rootElement(): HTMLElement | null;
|
|
274
276
|
/** localStorage 读取(SSR/隐私模式返回 null) */
|
|
@@ -25,6 +25,11 @@ export declare function unbindAll(nodeId: string): void;
|
|
|
25
25
|
/** 元素级监听统一入口(动画生命周期等——ref 回调的 el):
|
|
26
26
|
* 注册到代理(once 自动解绑)+ 挂载点监听(el 已挂载——向上找)——返回退订 */
|
|
27
27
|
export declare function bindElementListener(el: Element, event: string, handler: EventListener, once?: boolean): () => void;
|
|
28
|
+
/** 插入后补注册(真实 bug:svg/深层元素递归渲染时父未挂载——bindDelegated
|
|
29
|
+
* 的 rootOf(parent) 返回 null——挂载点监听缺失——事件代理不触发——
|
|
30
|
+
* agent-browser 实测:Chart 数据点(svg 内 circle)真实 hover 无 tooltip——
|
|
31
|
+
* HoverCard(div——父已挂)正常)。插入完成后对事件 props 补注册挂载点。 */
|
|
32
|
+
export declare function ensureDelegationFor(el: Element, props: Record<string, unknown>): void;
|
|
28
33
|
/** 测试/调试隔离:清空注册表与挂载点(模块级 handlers 跨测试残留——
|
|
29
34
|
* 节点 id 各测试从 n1 重新分配——旧 handler 可能被错误分发) */
|
|
30
35
|
export declare function resetDelegation(): void;
|