@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
3 lines (2 loc) • 4.04 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@dialpad/dialtone-icons/vue3"),o=require("./ivr-node-constants.cjs"),e=require("vue"),p=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),m=require("../card/card.cjs"),D=require("../button/button.cjs"),I=require("../dropdown/dropdown.cjs"),N=new Map([[o.IVR_NODE_PROMPT_MENU,t.DtIconKeypad],[o.IVR_NODE_PROMPT_COLLECT,t.DtIconDialer],[o.IVR_NODE_PROMPT_PLAY,t.DtIconVolume2],[o.IVR_NODE_EXPERT,t.DtIconExpertNode],[o.IVR_NODE_BRANCH,t.DtIconBranch],[o.IVR_NODE_GO_TO,t.DtIconCallMerge],[o.IVR_NODE_ASSIGN,t.DtIconChevronsRight],[o.IVR_NODE_CUSTOMER_DATA,t.DtIconListBullet],[o.IVR_NODE_TRANSFER,t.DtIconTransfer],[o.IVR_NODE_HANGUP,t.DtIconPhoneHangUp]]),v={compatConfig:{MODE:3},name:"DtRecipeIvrNode",components:{DtCard:m.default,DtButton:D.default,DtDropdown:I.default,DtIconKeypad:t.DtIconKeypad,DtIconDialer:t.DtIconDialer,DtIconVolume2:t.DtIconVolume2,DtIconExpertNode:t.DtIconExpertNode,DtIconBranch:t.DtIconBranch,DtIconCallMerge:t.DtIconCallMerge,DtIconChevronsRight:t.DtIconChevronsRight,DtIconTransfer:t.DtIconTransfer,DtIconPhoneHangUp:t.DtIconPhoneHangUp,DtIconMoreVertical:t.DtIconMoreVertical,DtIconListBullet:t.DtIconListBullet},props:{nodeType:{type:String,required:!0},nodeLabel:{type:String,required:!0},isSelected:{type:Boolean,default:!1},menuButtonAriaLabel:{type:String,required:!0},dtmfKey:{type:String,default:null}},emits:["click"],data(){return{isOpen:!1}},computed:{nodeListeners(){return{click:n=>this.$emit("click",n)}},nodeIcon(){return N.get(this.nodeType)},nodeClass(){const{normal:n,selected:d}=o.IVR_NODE_CLASS_MAPPING[this.nodeType];return this.isSelected?d:n},isGotoNode(){return this.nodeType===o.IVR_NODE_GO_TO}},methods:{openMenu(){this.isOpen=!0}}},C={class:"d-recipe-ivr-node__header-left"},h={class:"d-recipe-ivr-node__label","data-qa":"ivr-node-label"},V={class:"d-recipe-ivr-node__dropdown-list"};function E(n,d,r,f,i,c){const a=e.resolveComponent("dt-button"),s=e.resolveComponent("dt-icon-more-vertical"),_=e.resolveComponent("dt-dropdown"),u=e.resolveComponent("dt-card");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["d-recipe-ivr-node",c.nodeClass]},e.toHandlers(c.nodeListeners,!0)),[r.dtmfKey?(e.openBlock(),e.createElementBlock("div",{key:0,"data-qa":"dt-top-connector-dtmf",class:e.normalizeClass(["d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf",{"d-recipe-ivr-node__connector-dtmf--selected":r.isSelected}])},e.toDisplayString(r.dtmfKey),3)):e.createCommentVNode("",!0),n.$slots.connector?e.renderSlot(n.$slots,"connector",{key:1}):e.createCommentVNode("",!0),!r.dtmfKey&&!n.$slots.connector?(e.openBlock(),e.createElementBlock("div",{key:2,"data-qa":"dt-top-connector",class:e.normalizeClass(["d-recipe-ivr-node__connector",{"d-recipe-ivr-node__connector--selected":r.isSelected}])},null,2)):e.createCommentVNode("",!0),e.createVNode(u,null,{header:e.withCtx(()=>[e.createElementVNode("div",C,[e.createVNode(a,{"aria-label":r.nodeType,importance:"clear",kind:"muted","data-qa":"dt-ivr-node-icon"},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.nodeIcon),{size:"200",class:e.normalizeClass(["",{"d-recipe-ivr-node__goto-icon":c.isGotoNode}])},null,8,["class"]))]),_:1},8,["aria-label"]),e.createElementVNode("p",h,e.toDisplayString(r.nodeLabel),1)]),e.createVNode(_,{open:i.isOpen,"onUpdate:open":d[0]||(d[0]=l=>i.isOpen=l),placement:"bottom"},{anchor:e.withCtx(()=>[e.createVNode(a,{importance:"clear",kind:"muted","aria-label":r.menuButtonAriaLabel,onClick:e.withModifiers(c.openMenu,["stop","prevent"])},{icon:e.withCtx(()=>[e.createVNode(s,{size:"200"})]),_:1},8,["aria-label","onClick"])]),list:e.withCtx(({close:l})=>[e.createElementVNode("div",V,[e.renderSlot(n.$slots,"menuItems",{close:l})])]),_:3},8,["open"])]),content:e.withCtx(()=>[e.renderSlot(n.$slots,"content")]),_:3})],16)}const O=p._(v,[["render",E]]);exports.default=O;
//# sourceMappingURL=ivr-node.cjs.map