PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | build/modules/block-library/tabs/view.min.js +1 -1 23.3.0 → trunk View file →
@@ -1,2 +1,2 @@
1 -import{store as b,getContext as r,getElement as f,withSyncEvent as l}from"@wordpress/interactivity";function u(t){let e=new Set(["push","pop","shift","unshift","splice","sort","reverse","copyWithin","fill"]);return new Proxy(t,{get(n,s){if(Array.isArray(n)&&e.has(s))return()=>{};let a=n[s];return typeof a=="object"&&a!==null?u(a):a},set(){return!1},deleteProperty(){return!1}})}var{actions:o,state:i}=b("core/tabs/private",{state:{get tabsList(){let e=r()?.tabsId;return i[e]},get tabIndex(){let{attributes:t}=f(),e=t?.id?.replace("tab__","")||null;if(!e)return null;let{tabsList:n}=i;return n.findIndex(a=>a.id===e)},get isActiveTab(){let{activeTabIndex:t}=r(),{tabIndex:e}=i;return t===e},get tabIndexAttribute(){return i.isActiveTab?0:-1}},actions:{handleTabKeyDown:l(t=>{let e=r(),{isVertical:n}=e,{tabIndex:s}=i;s!==null&&(t.key==="ArrowRight"&&!n?(t.preventDefault(),o.moveFocus(s+1)):t.key==="ArrowLeft"&&!n?(t.preventDefault(),o.moveFocus(s-1)):t.key==="ArrowDown"&&n?(t.preventDefault(),o.moveFocus(s+1)):t.key==="ArrowUp"&&n&&(t.preventDefault(),o.moveFocus(s-1)))}),handleTabClick:l(t=>{t.preventDefault();let{tabIndex:e}=i;e!==null&&o.setActiveTab(e)}),moveFocus:t=>{let{tabsList:e}=i;if(!e||e.length===0)return;let n=t;n<0?n=e.length-1:n>=e.length&&(n=0);let s=e[n].id,a=document.getElementById("tab__"+s);a&&a.focus()},setActiveTab:(t,e=!1)=>{let{tabsList:n}=i;if(!n||n.length===0)return;let s=t;s<0?s=0:s>=n.length&&(s=n.length-1);let a=r();if(a.activeTabIndex=s,e){let d=n[s].id,c=document.getElementById(d);c&&setTimeout(()=>{c.scrollIntoView({behavior:"smooth"})},100)}}},callbacks:{onTabsInit:()=>{let{tabsList:t}=i;if(t.length===0)return;let{hash:e}=window.location,n=e.replace("#",""),s=t.findIndex(a=>a.id===n);s>=0&&o.setActiveTab(s,!0)}}},{lock:!0});b("core/tabs",{state:{get tabsList(){return u(i.tabsList)},get tabIndex(){return i.tabIndex},get isActiveTab(){return i.isActiveTab}},actions:{setActiveTab:(t,e=!1)=>{o.setActiveTab(t,e)}}});
1 +import{store as u,getContext as c,getElement as d,withSyncEvent as b}from"@wordpress/interactivity";var{actions:i,state:o}=u("core/tabs",{state:{get tabsList(){let e=c()?.tabsId;return o[e]},get tabIndex(){let{attributes:t}=d(),e=t?.id?.replace("tab__","")||null;if(!e)return null;let{tabsList:n}=o;return n.findIndex(a=>a===e)},get isActiveTab(){let{activeTabIndex:t}=c(),{tabIndex:e}=o;return t===e},get isHidden(){return o.isActiveTab?null:"until-found"},get tabIndexAttribute(){return o.isActiveTab?0:-1}},actions:{handleTabKeyDown:b(t=>{let{tabIndex:e,tabsList:n}=o;e!==null&&(t.key==="ArrowRight"?(t.preventDefault(),i.moveFocus(e+1)):t.key==="ArrowLeft"?(t.preventDefault(),i.moveFocus(e-1)):t.key==="Home"?(t.preventDefault(),i.moveFocus(0)):t.key==="End"&&(t.preventDefault(),i.moveFocus(n.length-1)))}),handleTabClick:b(t=>{t.preventDefault();let{tabIndex:e}=o;e!==null&&i.setActiveTab(e)}),handleBeforeMatch:()=>{let{tabIndex:t}=o;t!==null&&i.setActiveTab(t)},moveFocus:t=>{let{tabsList:e}=o;if(!e||e.length===0)return;let n=t;n<0?n=e.length-1:n>=e.length&&(n=0);let s=e[n],a=document.getElementById("tab__"+s);a&&a.focus()},setActiveTab:(t,e=!1)=>{let{tabsList:n}=o;if(!n||n.length===0)return;let s=t;s<0?s=0:s>=n.length&&(s=n.length-1);let a=c();if(a.activeTabIndex=s,e){let l=n[s],r=document.getElementById(l);r&&setTimeout(()=>{r.scrollIntoView({behavior:"smooth"})},100)}}},callbacks:{activateTabByHash:()=>{let{tabsList:t}=o;if(!t||t.length===0)return;let e=document.querySelector(":target");if(!e)return;let n=t.findIndex(l=>l===e.id);if(n>=0){i.setActiveTab(n,!0);return}let s=e.closest(".wp-block-tab-panel"),a=-1;for(;s&&a<0;)a=t.findIndex(l=>l===s.id),s=s.parentElement?.closest(".wp-block-tab-panel")??null;a<0||(i.setActiveTab(a),window.setTimeout(()=>{e.scrollIntoView()},0))}}},{lock:!0});
2 2 //# sourceMappingURL=view.min.js.map