UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

3 lines (2 loc) 8.62 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./general-row-constants.cjs"),b=require("@dialpad/dialtone-icons/vue3"),C=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),w=require("./leftbar-general-row-icon.cjs"),l=require("../../common/utils/index.cjs"),e=require("vue"),y=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),g=require("../badge/badge.cjs"),E=require("../button/button.cjs"),T=require("../tooltip/tooltip.cjs"),S={compatConfig:{MODE:3},name:"DtRecipeGeneralRow",components:{DtEmojiTextWrapper:C.default,DtBadge:g.default,DtButton:E.default,DtTooltip:T.default,DtIconPhone:b.DtIconPhone,DtIconWaveform:b.DtIconWaveform,DtRecipeLeftbarGeneralRowIcon:w.default},inheritAttrs:!1,props:{type:{type:String,default:"inbox",validator:t=>Object.values(n.LEFTBAR_GENERAL_ROW_TYPES).includes(t)},ariaLabel:{type:String,default:""},description:{type:String,required:!0},color:{type:String,default:null,validator:t=>Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(t)},channelSetting:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},unreadCountTooltip:{type:String,default:""},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:""},dndTextTooltip:{type:String,default:""},hasCallButton:{type:Boolean,default:!1},callButtonTooltip:{type:String,default:""},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:"300",validator:t=>n.LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(t)}},emits:["call"],data(){return{actionFocused:!1,labelWidth:"100%"}},computed:{leftbarGeneralRowClasses(){return["d-recipe-leftbar-row",{"d-recipe-leftbar-row--no-action":!this.hasCallButton,"d-recipe-leftbar-row--has-unread":this.hasUnreads,"d-recipe-leftbar-row__unread-count":this.showUnreadCount||this.showUnreadMentionCount,"d-recipe-leftbar-row--selected":this.selected,"d-recipe-leftbar-row--muted":this.muted,"d-recipe-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case n.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:if(this.hasUnreads)return"channel unread";break;case n.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:if(this.hasUnreads)return"locked channel unread";break}return this.type},generalRowListeners(){return l.extractVueListeners(this.$attrs)},getAriaLabel(){return this.ariaLabel?this.ariaLabel:l.safeConcatStrings([this.description,this.unreadCountTooltip,this.dndTextTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton||this.showUnreadMentionCount},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads},showUnreadMentionCount(){return!!this.unreadMentionCount&&this.hasUnreads},hasUnreadCount(){return this.unreadCount!==null},hasUnreadMentionCount(){return this.unreadMentionCount!==null},shouldApplyCustomStyleForCountBadge(){return this.hasUnreadCount&&this.hasUnreadMentionCount},shouldApplyCustomStyleForMentionOnly(){return this.channelSetting==="always"&&!this.hasUnreadCount&&this.hasUnreadMentionCount}},watch:{$props:{immediate:!0,deep:!0,async handler(){this.validateProps(),await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(l.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:l.removeClassStyleAttrs,addClassStyleAttrs:l.addClassStyleAttrs,validateProps(){this.type===n.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER&&!Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)&&console.error(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR)},adjustLabelWidth(){var i,a,d,c,s,u;const t=((a=(i=l.returnFirstEl(this.$el))==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:a.clientWidth)||0,o=((c=(d=l.returnFirstEl(this.$el))==null?void 0:d.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:c.clientWidth)||0,r=((u=(s=l.returnFirstEl(this.$el))==null?void 0:s.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:u.clientWidth)||0,h=16;this.labelWidth=t-(o+r+h)+"px"}}},R=["data-qa","aria-label","title","href"],v={class:"d-recipe-leftbar-row__alpha"},B={key:0,class:"d-recipe-leftbar-row__is-typing"},N=e.createElementVNode("span",null,null,-1),A=e.createElementVNode("span",null,null,-1),k=e.createElementVNode("span",null,null,-1),L=[N,A,k],O={key:0,class:"d-recipe-leftbar-row__omega"},V={key:1,class:"d-recipe-leftbar-row__active-voice"},q={key:3,class:"d-recipe-leftbar-row__action","data-qa":"dt-recipe-leftbar-row-action"};function W(t,o,r,h,i,a){const d=e.resolveComponent("dt-recipe-leftbar-general-row-icon"),c=e.resolveComponent("dt-emoji-text-wrapper"),s=e.resolveComponent("dt-tooltip"),u=e.resolveComponent("dt-icon-waveform"),p=e.resolveComponent("dt-badge"),f=e.resolveComponent("dt-icon-phone"),m=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:a.leftbarGeneralRowClasses},a.addClassStyleAttrs(t.$attrs),{"data-qa":"dt-recipe-leftbar-row"}),[e.createElementVNode("a",e.mergeProps({class:"d-recipe-leftbar-row__primary","data-qa":"data-qa"in t.$attrs?t.$attrs["data-qa"]:"d-recipe-leftbar-row-link","aria-label":a.getAriaLabel,title:r.description,href:"href"in t.$attrs?t.$attrs.href:"javascript:void(0)"},a.removeClassStyleAttrs(t.$attrs),e.toHandlers(a.generalRowListeners,!0)),[e.createElementVNode("div",v,[r.isTyping?(e.openBlock(),e.createElementBlock("div",B,L)):e.renderSlot(t.$slots,"left",{key:1},()=>[e.createVNode(d,{type:a.getIcon,color:r.color,"icon-size":r.iconSize,"data-qa":"dt-recipe-leftbar-row-icon"},null,8,["type","color","icon-size"])])]),e.createElementVNode("div",{class:"d-recipe-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${i.labelWidth}`)},[e.renderSlot(t.$slots,"label",{},()=>[e.createVNode(c,{class:"d-recipe-leftbar-row__description","data-qa":"dt-recipe-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.description),1)]),_:1})])],4)],16,R),a.hasActions?(e.openBlock(),e.createElementBlock("div",O,[r.dndText?(e.openBlock(),e.createBlock(s,{key:0,placement:"top",message:r.dndTextTooltip},{anchor:e.withCtx(()=>[e.createElementVNode("div",{ref:"d-recipe-leftbar-row-dnd",class:"d-recipe-leftbar-row__dnd","data-qa":"dt-recipe-leftbar-row-dnd"},e.toDisplayString(r.dndText),513)]),_:1},8,["message"])):e.createCommentVNode("",!0),r.activeVoiceChat?(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(u,{size:"300"})])):a.showUnreadCount||a.showUnreadMentionCount?(e.openBlock(),e.createBlock(s,{key:2,message:r.unreadCountTooltip,placement:"top"},{anchor:e.withCtx(()=>[a.showUnreadCount?(e.openBlock(),e.createBlock(p,{key:0,kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-badge",class:e.normalizeClass(["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-count-badge":a.shouldApplyCustomStyleForCountBadge}])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.unreadCount),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),a.showUnreadMentionCount?(e.openBlock(),e.createBlock(p,{key:1,kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-mention-badge",class:e.normalizeClass(["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-mention-count-badge":a.shouldApplyCustomStyleForCountBadge},{"d-recipe-leftbar-row__unread-mention-only-count-badge":a.shouldApplyCustomStyleForMentionOnly}])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.unreadMentionCount),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),_:1},8,["message"])):e.createCommentVNode("",!0),r.hasCallButton?(e.openBlock(),e.createElementBlock("div",q,[e.createVNode(s,{message:r.callButtonTooltip,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(m,{class:"d-recipe-leftbar-row__action-button","data-qa":"dt-recipe-leftbar-row-action-call-button",circle:!0,size:"xs",kind:"inverted","aria-label":r.callButtonTooltip,onFocus:o[0]||(o[0]=_=>i.actionFocused=!0),onBlur:o[1]||(o[1]=_=>i.actionFocused=!1),onClick:o[2]||(o[2]=e.withModifiers(_=>t.$emit("call",_),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(f,{size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],16)}const U=y._(S,[["render",W]]);exports.default=U; //# sourceMappingURL=general-row.cjs.map