UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 4.37 kB
import e from"primevue/icons/minus";import t from"primevue/icons/plus";import o from"primevue/ripple";import{UniqueComponentId as r}from"primevue/utils";import n from"primevue/basecomponent";import l from"primevue/panel/style";import{resolveDirective as a,openBlock as i,createElementBlock as c,mergeProps as s,createElementVNode as p,renderSlot as u,normalizeClass as d,toDisplayString as m,createCommentVNode as f,withDirectives as g,createBlock as b,resolveDynamicComponent as y,normalizeProps as v,guardReactiveProps as h,createVNode as P,Transition as O,withCtx as _,vShow as j}from"vue";var w={name:"Panel",extends:{name:"BasePanel",extends:n,props:{header:String,toggleable:Boolean,collapsed:Boolean,toggleButtonProps:{type:null,default:null}},style:l,provide:function(){return{$parentInstance:this}}},emits:["update:collapsed","toggle"],data:function(){return{d_collapsed:this.collapsed}},watch:{collapsed:function(e){this.d_collapsed=e}},methods:{toggle:function(e){this.d_collapsed=!this.d_collapsed,this.$emit("update:collapsed",this.d_collapsed),this.$emit("toggle",{originalEvent:e,value:this.d_collapsed})},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code&&"Space"!==e.code||(this.toggle(e),e.preventDefault())}},computed:{ariaId:function(){return r()},buttonAriaLabel:function(){return this.toggleButtonProps&&this.toggleButtonProps.ariaLabel?this.toggleButtonProps.ariaLabel:this.header}},components:{PlusIcon:t,MinusIcon:e},directives:{ripple:o}};function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function I(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function S(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?I(Object(o),!0).forEach((function(t){$(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):I(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function $(e,t,o){var r;return(t="symbol"==x(r=B(t,"string"))?r:String(r))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function B(e,t){if("object"!=x(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var r=o.call(e,t||"default");if("object"!=x(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var D=["id"],E=["id","aria-label","aria-controls","aria-expanded"],k=["id","aria-labelledby"];w.render=function(e,t,o,r,n,l){var w=a("ripple");return i(),c("div",s({class:e.cx("root")},e.ptm("root"),{"data-pc-name":"panel"}),[p("div",s({class:e.cx("header")},e.ptm("header")),[u(e.$slots,"header",{id:l.ariaId+"_header",class:d(e.cx("title"))},(function(){return[e.header?(i(),c("span",s({key:0,id:l.ariaId+"_header",class:e.cx("title")},e.ptm("title")),m(e.header),17,D)):f("",!0)]})),p("div",s({class:e.cx("icons")},e.ptm("icons")),[u(e.$slots,"icons"),e.toggleable?g((i(),c("button",s({key:0,id:l.ariaId+"_header",type:"button",role:"button",class:e.cx("toggler"),"aria-label":l.buttonAriaLabel,"aria-controls":l.ariaId+"_content","aria-expanded":!n.d_collapsed,onClick:t[0]||(t[0]=function(){return l.toggle&&l.toggle.apply(l,arguments)}),onKeydown:t[1]||(t[1]=function(){return l.onKeyDown&&l.onKeyDown.apply(l,arguments)})},S(S({},e.toggleButtonProps),e.ptm("toggler"))),[u(e.$slots,"togglericon",{collapsed:n.d_collapsed},(function(){return[(i(),b(y(n.d_collapsed?"PlusIcon":"MinusIcon"),v(h(e.ptm("togglericon"))),null,16))]}))],16,E)),[[w]]):f("",!0)],16)],16),P(O,s({name:"p-toggleable-content"},e.ptm("transition")),{default:_((function(){return[g(p("div",s({id:l.ariaId+"_content",class:e.cx("toggleablecontent"),role:"region","aria-labelledby":l.ariaId+"_header"},e.ptm("toggleablecontent")),[p("div",s({class:e.cx("content")},e.ptm("content")),[u(e.$slots,"default")],16),e.$slots.footer?(i(),c("div",s({key:0,class:e.cx("footer")},e.ptm("footer")),[u(e.$slots,"footer")],16)):f("",!0)],16,k),[[j,!n.d_collapsed]])]})),_:3},16)],16)};export{w as default};