UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 4.19 kB
this.primevue=this.primevue||{},this.primevue.accordion=function(e,t){"use strict";var i={name:"Accordion",emits:["tab-close","tab-open","update:activeIndex"],props:{multiple:{type:Boolean,default:!1},activeIndex:{type:[Number,Array],default:null},lazy:{type:Boolean,default:!1}},data(){return{d_activeIndex:this.activeIndex}},watch:{activeIndex(e){this.d_activeIndex=e}},methods:{onTabClick(e,t,i){if(!this.isTabDisabled(t)){const t=this.isTabActive(i),n=t?"tab-close":"tab-open";this.multiple?t?this.d_activeIndex=this.d_activeIndex.filter((e=>e!==i)):this.d_activeIndex?this.d_activeIndex.push(i):this.d_activeIndex=[i]:this.d_activeIndex=this.d_activeIndex===i?null:i,this.$emit("update:activeIndex",this.d_activeIndex),this.$emit(n,{originalEvent:e,index:i})}},onTabKeydown(e,t,i){13===e.which&&this.onTabClick(e,i)},isTabActive(e){return this.multiple?this.d_activeIndex&&this.d_activeIndex.includes(e):e===this.d_activeIndex},getKey:(e,t)=>e.props&&e.props.header?e.props.header:t,isTabDisabled:e=>e.props&&e.props.disabled,getTabClass(e){return["p-accordion-tab",{"p-accordion-tab-active":this.isTabActive(e)}]},getTabHeaderClass(e,t){return["p-accordion-header",{"p-highlight":this.isTabActive(t),"p-disabled":this.isTabDisabled(e)}]},getTabAriaId(e){return this.ariaId+"_"+e},getHeaderIcon(e){const t=this.isTabActive(e);return["p-accordion-toggle-icon pi",{"pi-chevron-right":!t,"pi-chevron-down":t}]},isAccordionTab:e=>"AccordionTab"===e.type.name},computed:{tabs(){const e=[];return this.$slots.default().forEach((t=>{this.isAccordionTab(t)?e.push(t):t.children&&t.children instanceof Array&&t.children.forEach((t=>{this.isAccordionTab(t)&&e.push(t)}))})),e},ariaId:()=>e.UniqueComponentId()}};const n={class:"p-accordion p-component"},a={key:0,class:"p-accordion-header-text"},o={class:"p-accordion-content"};return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-accordion-header-link {\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n position: relative;\n text-decoration: none;\n}\n.p-accordion-header-link:focus {\n z-index: 1;\n}\n.p-accordion-header-text {\n line-height: 1;\n}\n"),i.render=function(e,i,c,d,r,s){return t.openBlock(),t.createBlock("div",n,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(s.tabs,((e,i)=>(t.openBlock(),t.createBlock("div",{key:s.getKey(e,i),class:s.getTabClass(i)},[t.createVNode("div",{class:s.getTabHeaderClass(e,i)},[t.createVNode("a",{role:"tab",class:"p-accordion-header-link",onClick:t=>s.onTabClick(t,e,i),onKeydown:t=>s.onTabKeydown(t,e,i),tabindex:s.isTabDisabled(e)?null:"0","aria-expanded":s.isTabActive(i),id:s.getTabAriaId(i)+"_header","aria-controls":s.getTabAriaId(i)+"_content"},[t.createVNode("span",{class:s.getHeaderIcon(i)},null,2),e.props&&e.props.header?(t.openBlock(),t.createBlock("span",a,t.toDisplayString(e.props.header),1)):t.createCommentVNode("",!0),e.children&&e.children.header?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.header),{key:1})):t.createCommentVNode("",!0)],40,["onClick","onKeydown","tabindex","aria-expanded","id","aria-controls"])],2),t.createVNode(t.Transition,{name:"p-toggleable-content"},{default:t.withCtx((()=>[!c.lazy||s.isTabActive(i)?t.withDirectives((t.openBlock(),t.createBlock("div",{key:0,class:"p-toggleable-content",role:"region",id:s.getTabAriaId(i)+"_content","aria-labelledby":s.getTabAriaId(i)+"_header"},[t.createVNode("div",o,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e)))])],8,["id","aria-labelledby"])),[[t.vShow,!!c.lazy||s.isTabActive(i)]]):t.createCommentVNode("",!0)])),_:2},1024)],2)))),128))])},i}(primevue.utils,Vue);