primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.64 kB
JavaScript
import e from"primevue/button";import t from"primevue/focustrap";import{resolveComponent as i,resolveDirective as n,withDirectives as l,openBlock as a,createElementBlock as o,normalizeClass as s,mergeProps as p,withKeys as c,renderSlot as d,createBlock as r,createCommentVNode as u}from"vue";var f={name:"Inplace",emits:["open","close","update:active"],props:{closable:{type:Boolean,default:!1},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},closeIcon:{type:String,default:"pi pi-times"},displayProps:{type:null,default:null},closeButtonProps:{type:null,default:null}},data(){return{d_active:this.active}},watch:{active(e){this.d_active=e}},methods:{open(e){this.disabled||(this.$emit("open",e),this.d_active=!0,this.$emit("update:active",!0))},close(e){this.$emit("close",e),this.d_active=!1,this.$emit("update:active",!1),setTimeout((()=>{this.$refs.display.focus()}),0)}},computed:{containerClass(){return["p-inplace p-component",{"p-inplace-closable":this.closable}]},displayClass(){return["p-inplace-display",{"p-disabled":this.disabled}]},closeAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.close:void 0}},components:{IPButton:e},directives:{focustrap:t}};const m=["tabindex"],y={key:1,class:"p-inplace-content"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===i&&n.firstChild?n.insertBefore(l,n.firstChild):n.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-inplace .p-inplace-display {\n display: inline;\n cursor: pointer;\n}\n.p-inplace .p-inplace-content {\n display: inline;\n}\n.p-fluid .p-inplace.p-inplace-closable .p-inplace-content {\n display: flex;\n}\n.p-fluid .p-inplace.p-inplace-closable .p-inplace-content > .p-inputtext {\n flex: 1 1 auto;\n width: 1%;\n}\n"),f.render=function(e,t,f,v,h,b){const C=i("IPButton"),x=n("focustrap");return l((a(),o("div",{class:s(b.containerClass),"aria-live":"polite"},[h.d_active?(a(),o("div",y,[d(e.$slots,"content"),f.closable?(a(),r(C,p({key:0,icon:f.closeIcon,"aria-label":b.closeAriaLabel,onClick:b.close},f.closeButtonProps),null,16,["icon","aria-label","onClick"])):u("",!0)])):(a(),o("div",p({key:0,ref:"display",class:b.displayClass,tabindex:e.$attrs.tabindex||"0",role:"button",onClick:t[0]||(t[0]=(...e)=>b.open&&b.open(...e)),onKeydown:t[1]||(t[1]=c(((...e)=>b.open&&b.open(...e)),["enter"]))},f.displayProps),[d(e.$slots,"display")],16,m))],2)),[[x]])};export{f as default};