[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/script-modules/block-library/accordion/ -> view.min.js (source)

   1  import*as e from"@wordpress/interactivity";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const n=(e=>{var n={};return t.d(n,e),n})({getContext:()=>e.getContext,store:()=>e.store,withSyncEvent:()=>e.withSyncEvent});(0,n.store)("core/accordion",{state:{get isOpen(){const{id:e,accordionItems:t}=(0,n.getContext)(),o=t.find((t=>t.id===e));return!!o&&o.isOpen}},actions:{toggle:()=>{const e=(0,n.getContext)(),{id:t,autoclose:o,accordionItems:r}=e,i=r.find((e=>e.id===t));o?r.forEach((e=>{e.isOpen=e.id===t&&!i.isOpen})):i.isOpen=!i.isOpen},handleKeyDown:(0,n.withSyncEvent)((e=>{if("ArrowUp"!==e.key&&"ArrowDown"!==e.key&&"Home"!==e.key&&"End"!==e.key)return;e.preventDefault();const t=(0,n.getContext)(),{id:o,accordionItems:r}=t,i=r.findIndex((e=>e.id===o));let c;switch(e.key){case"ArrowUp":c=Math.max(0,i-1);break;case"ArrowDown":c=Math.min(i+1,r.length-1);break;case"Home":c=0;break;case"End":c=r.length-1}const s=r[c].id,a=document.getElementById(s);a&&a.focus()}))},callbacks:{initAccordionItems:()=>{const e=(0,n.getContext)(),{id:t,openByDefault:o}=e;e.accordionItems.push({id:t,isOpen:o})}}});


Generated : Thu Oct 23 08:20:05 2025 Cross-referenced by PHPXref