File: //srv/wordpress/core/beta/wp-includes/js/dist/script-modules/block-library/tabs/view.min.js
import{store as d,getContext as i,getElement as u,withSyncEvent as l}from"@wordpress/interactivity";var{actions:c,state:a}=d("core/tabs",{state:{get tabsList(){let t=i()?.tabsId;return a[t]},get tabIndex(){let{attributes:e}=u(),t=e?.id?.replace("tab__","")||null;if(!t)return null;let{tabsList:n}=a;return n.findIndex(o=>o===t)},get isActiveTab(){let{activeTabIndex:e}=i(),{tabIndex:t}=a;return e===t},get tabIndexAttribute(){return a.isActiveTab?0:-1}},actions:{handleTabKeyDown:l(e=>{let{tabIndex:t}=a;t!==null&&(e.key==="ArrowRight"?(e.preventDefault(),c.moveFocus(t+1)):e.key==="ArrowLeft"&&(e.preventDefault(),c.moveFocus(t-1)))}),handleTabClick:l(e=>{e.preventDefault();let{tabIndex:t}=a;t!==null&&c.setActiveTab(t)}),moveFocus:e=>{let{tabsList:t}=a;if(!t||t.length===0)return;let n=e;n<0?n=t.length-1:n>=t.length&&(n=0);let s=t[n],o=document.getElementById("tab__"+s);o&&o.focus()},setActiveTab:(e,t=!1)=>{let{tabsList:n}=a;if(!n||n.length===0)return;let s=e;s<0?s=0:s>=n.length&&(s=n.length-1);let o=i();if(o.activeTabIndex=s,t){let r=n[s],b=document.getElementById(r);b&&setTimeout(()=>{b.scrollIntoView({behavior:"smooth"})},100)}}},callbacks:{onTabsInit:()=>{let{tabsList:e}=a;if(e.length===0)return;let{hash:t}=window.location,n=t.replace("#",""),s=e.findIndex(o=>o===n);s>=0&&c.setActiveTab(s,!0)}}},{lock:!0});