@nextcloud/vue
Version:
Nextcloud vue components
2 lines (1 loc) • 2.58 kB
JavaScript
var b=require("../assets/index3.css");const r=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs"),a=require("../chunks/index-12fa9b26.cjs"),s=require("./NcPopover.cjs"),n={name:"NcUserBubbleDiv"};var i=function(){var e=this,t=e._self._c;return t("div",[e._t("trigger")],2)},o=[],l=r.normalizeComponent(n,i,o,!1,null,null,null,null);const u=l.exports;const p={name:"NcUserBubble",components:{NcAvatar:a.NcAvatar,NcPopover:s,NcUserBubbleDiv:u},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,required:!0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:e=>{try{return e=new URL(e),!!e}catch{return!1}}},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},emits:["click","update:open"],computed:{isPopoverComponent(){return this.popoverEmpty?"NcUserBubbleDiv":"NcPopover"},isAvatarUrl(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch{return!1}},isCustomAvatar(){return!!this.avatarImage},hasUrl(){return this.url&&this.url.trim()!==""},isLinkComponent(){return this.hasUrl?"a":"div"},popoverEmpty(){return!("default"in this.$slots)},styles(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginLeft:this.margin+"px"}}}},methods:{onOpenChange(e){this.$emit("update:open",e)},onClick(e){this.$emit("click",e)}}};var c=function(){var e=this,t=e._self._c;return t(e.isPopoverComponent,{tag:"component",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",shown:e.open},on:{"update:open":e.onOpenChange},scopedSlots:e._u([{key:"trigger",fn:function(){return[t(e.isLinkComponent,{tag:"component",staticClass:"user-bubble__content",class:e.primary?"user-bubble__content--primary":"",style:e.styles.content,attrs:{href:e.hasUrl?e.url:null},on:{click:e.onClick}},[t("NcAvatar",e._b({staticClass:"user-bubble__avatar",style:e.styles.avatar,attrs:{url:e.isCustomAvatar&&e.isAvatarUrl?e.avatarImage:void 0,"icon-class":e.isCustomAvatar&&!e.isAvatarUrl?e.avatarImage:void 0,user:e.user,"display-name":e.displayName,size:e.size-e.margin*2,"disable-tooltip":!0,"disable-menu":!0}},"NcAvatar",e.$props,!1)),t("span",{staticClass:"user-bubble__name"},[e._v(" "+e._s(e.displayName||e.user)+" ")]),e.$slots.name?t("span",{staticClass:"user-bubble__secondary"},[e._t("name")],2):e._e()],1)]},proxy:!0}],null,!0)},[e._t("default")],2)},m=[],v=r.normalizeComponent(p,c,m,!1,null,"25c04da2",null,null);const d=v.exports;module.exports=d;