primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 3.43 kB
JavaScript
import e from"primevue/basecomponent";import t from"primevue/icons/minus";import l from"primevue/icons/plus";import o from"primevue/ripple";import{UniqueComponentId as n}from"primevue/utils";import{resolveDirective as a,openBlock as d,createElementBlock as i,mergeProps as s,createElementVNode as r,renderSlot as p,toDisplayString as g,createCommentVNode as c,withDirectives as u,createBlock as m,resolveDynamicComponent as f,createVNode as h,Transition as b,withCtx as v,vShow as y}from"vue";var _={name:"Fieldset",extends:e,emits:["update:collapsed","toggle"],props:{legend:String,toggleable:Boolean,collapsed:Boolean,toggleButtonProps:{type:null,default:null}},data(){return{d_collapsed:this.collapsed}},watch:{collapsed(e){this.d_collapsed=e}},methods:{toggle(e){this.d_collapsed=!this.d_collapsed,this.$emit("update:collapsed",this.d_collapsed),this.$emit("toggle",{originalEvent:e,value:this.d_collapsed})},onKeyDown(e){"Enter"!==e.code&&"Space"!==e.code||(this.toggle(e),e.preventDefault())}},computed:{ariaId:()=>n(),buttonAriaLabel(){return this.toggleButtonProps&&this.toggleButtonProps["aria-label"]?this.toggleButtonProps["aria-label"]:this.legend}},directives:{ripple:o},components:{PlusIcon:l,MinusIcon:t}};const x=["id"],I=["id","aria-controls","aria-expanded","aria-label"],B=["id","aria-labelledby"];!function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-fieldset-legend > a,\n.p-fieldset-legend > span {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-fieldset-toggleable .p-fieldset-legend a {\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n}\n.p-fieldset-legend-text {\n line-height: 1;\n}\n"),_.render=function(e,t,l,o,n,_){const P=a("ripple");return d(),i("fieldset",s({class:["p-fieldset p-component",{"p-fieldset-toggleable":l.toggleable}]},e.ptm("root")),[r("legend",s({class:"p-fieldset-legend"},e.ptm("legend")),[l.toggleable?c("",!0):p(e.$slots,"legend",{key:0},(()=>[r("span",s({id:_.ariaId+"_header",class:"p-fieldset-legend-text"},e.ptm("legendtitle")),g(l.legend),17,x)])),l.toggleable?u((d(),i("a",s({key:1,id:_.ariaId+"_header",tabindex:"0",role:"button","aria-controls":_.ariaId+"_content","aria-expanded":!n.d_collapsed,"aria-label":_.buttonAriaLabel,onClick:t[0]||(t[0]=(...e)=>_.toggle&&_.toggle(...e)),onKeydown:t[1]||(t[1]=(...e)=>_.onKeyDown&&_.onKeyDown(...e))},{...l.toggleButtonProps,...e.ptm("toggler")}),[p(e.$slots,"togglericon",{collapsed:n.d_collapsed},(()=>[(d(),m(f(n.d_collapsed?"PlusIcon":"MinusIcon"),s({class:"p-fieldset-toggler"},e.ptm("togglericon")),null,16))])),p(e.$slots,"legend",{},(()=>[r("span",s({class:"p-fieldset-legend-text"},e.ptm("legendtitle")),g(l.legend),17)]))],16,I)),[[P]]):c("",!0)],16),h(b,{name:"p-toggleable-content"},{default:v((()=>[u(r("div",s({id:_.ariaId+"_content",class:"p-toggleable-content",role:"region","aria-labelledby":_.ariaId+"_header"},e.ptm("toggleablecontent")),[r("div",s({class:"p-fieldset-content"},e.ptm("content")),[p(e.$slots,"default")],16)],16,B),[[y,!n.d_collapsed]])])),_:3})],16)};export{_ as default};