openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
1 lines • 2.12 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{B as t,R as n,X as r,Y as i,z as a}from"./lit-runtime-P5vbNq6b.js";function o(e,t){let n=c.get(e)??new Set;return n.add(t),c.set(e,n),()=>{n.delete(t),n.size===0&&c.delete(e)}}function s(e,t){for(let n of c.get(e)??[])n(t)}var c;function l(){return(l=e((()=>{c=new WeakMap})))()}var u,d,f;function p(){return(p=e((()=>{i(),t(),l(),u=class{constructor(e){this.onClamp=e,this.viewport=null,this.observers=[],this.rangeHeights=new WeakMap}get viewportResizePending(){let e=this.viewport,t=e?.parentElement,n=t?.clientHeight;if(!e||!t||!n)return!1;let r=getComputedStyle(t);return n!==e.clientHeight||r.paddingTop!==e.style.paddingTop||r.paddingBottom!==e.style.paddingBottom}connect(e){if(e===this.viewport)return;this.disconnect(),this.viewport=e;let t=e?.parentElement;if(!e||!t)return;let n=n=>{let r=n.find(e=>e.target===t)?.borderBoxSize[0];if(this.viewport!==e||!e.isConnected||!r?.inlineSize||!r.blockSize)return;let{paddingTop:i,paddingBottom:a}=getComputedStyle(t),o=`${r.inlineSize}px`,s=`${r.blockSize}px`;if(e.style.width===o&&e.style.height===s&&e.style.paddingTop===i&&e.style.paddingBottom===a)return;let c=e.style.height===``?null:e.scrollTop;e.style.width=o,e.style.height=s,e.style.paddingTop=i,e.style.paddingBottom=a,c!==null&&this.publishResize(c)};this.observers=[`content-box`,`border-box`].map(e=>{let r=new ResizeObserver(n);return r.observe(t,{box:e}),r})}commitRange(e,t){let n=this.rangeHeights.get(e);if(n===t)return;let r=e.parentElement===this.viewport&&n!==void 0&&t<n?this.viewport?.scrollTop:void 0;this.rangeHeights.set(e,t),e.style.height=`${t}px`,r!==void 0&&this.publishResize(r)}publishResize(e){let t=this.viewport;if(!t)return;let n=t.scrollTop;e!==n&&this.onClamp(e,n),s(t,{type:`resize`,...e===n?{}:{scrollCorrection:{before:e,after:n}}})}disconnect(){for(let e of this.observers)e.disconnect();this.observers=[],this.viewport=null}},d=class extends a{render(e,t){return r}update(e,[t,n]){return e.element instanceof HTMLElement&&t.commitRange(e.element,n),r}},f=n(d)})))()}export{s as a,l as i,p as n,o,f as r,u as t};