openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
30 lines • 2.17 kB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{C as t,K as n,X as r,b as i,q as a}from"./lit-runtime-CV_MH99K.js";import{Bn as o,Vn as s}from"./control-ui-boot-chat-_QSl8fbH.js";function c(e,t,n){if(!n||f?.hubId!==e||f.tab!==t)return;let r=f;if(Date.now()-r.at>u){f=null;return}window.setTimeout(()=>{if(f!==r)return;f=null;let e=document.activeElement;n.isConnected&&Date.now()-r.at<=u&&(e===r.source||e===document.body||e===document.documentElement)&&n.focus()},0)}function l(e){let n=`hub-tabs hub-tabs--${e.variant??`primary`} ${e.id}-hub-tabs${e.className?` ${e.className}`:``}`,i=e.active===null?e.tabs.find(e=>!e.disabled)?.value:null;return r`
<wa-tab-group
class=${n}
aria-label=${e.ariaLabel}
.active=${e.active??d}
activation="manual"
without-scroll-controls
${t(t=>s(t,e.ariaLabel))}
>
${e.tabs.map(n=>{let o=e.active===n.value;return r`
<wa-tab
id=${`${e.id}-tab-${n.value}`}
panel=${n.value}
aria-controls=${e.panelId}
class="hub-tab"
?active=${o}
?disabled=${n.disabled}
.tabIndex=${o||n.value===i?0:-1}
aria-selected=${o?`true`:`false`}
data-test-id=${n.testId??a}
@click=${t=>{let r=t.currentTarget;r instanceof HTMLElement&&!n.disabled&&(t.detail>0||t.isTrusted)&&n.value!==e.active&&(e.onSelect(n.value),e.onActivate?.(r))}}
@keydown=${t=>{let r=t.currentTarget;r instanceof HTMLElement&&!n.disabled&&!t.repeat&&(t.key===`Enter`||t.key===` `)&&n.value!==e.active&&(t.preventDefault(),f={hubId:e.id,tab:n.value,at:Date.now(),source:r},e.onSelect(n.value),e.onActivate?.(r))}}
${o?t(t=>c(e.id,n.value,t)):a}
>
${n.label}${n.count==null?a:r`<span class="hub-tab__badge hub-tab__badge--count">${n.count}</span>`}${n.badge==null?a:r`<span class="hub-tab__badge">${n.badge}</span>`}
</wa-tab>
`})}
</wa-tab-group>
`}var u,d,f;function p(){return(p=e((()=>{n(),i(),o(),u=2e3,d=`__openclaw-hub-tabs-no-active__`,f=null})))()}export{l as n,p as t};
//# sourceMappingURL=hub-tabs-DLM-pY5z.js.map