UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

1 lines 9.3 kB
{"version":3,"file":"ivr-node.cjs","sources":["../../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-ivr-node',\n nodeClass,\n ]\"\n v-on=\"nodeListeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf\"\n :class=\"{ 'd-recipe-ivr-node__connector-dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"d-recipe-ivr-node__connector\"\n :class=\"{ 'd-recipe-ivr-node__connector--selected': isSelected }\"\n />\n <dt-card>\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"d-recipe-ivr-node__header-left\">\n <dt-button\n :aria-label=\"nodeType\"\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n >\n <template #icon>\n <component\n :is=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'd-recipe-ivr-node__goto-icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"d-recipe-ivr-node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n v-model:open=\"isOpen\"\n placement=\"bottom\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon-more-vertical size=\"200\" />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"d-recipe-ivr-node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport {\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n} from '@dialpad/dialtone-icons/vue3';\nimport {\n IVR_NODE_CLASS_MAPPING,\n IVR_NODE_PROMPT_MENU,\n IVR_NODE_PROMPT_COLLECT,\n IVR_NODE_PROMPT_PLAY,\n IVR_NODE_EXPERT,\n IVR_NODE_BRANCH,\n IVR_NODE_GO_TO,\n IVR_NODE_ASSIGN,\n IVR_NODE_TRANSFER,\n IVR_NODE_HANGUP,\n IVR_NODE_CUSTOMER_DATA,\n} from './ivr_node_constants';\n\nconst typeToIcon = new Map([\n [IVR_NODE_PROMPT_MENU, DtIconKeypad],\n [IVR_NODE_PROMPT_COLLECT, DtIconDialer],\n [IVR_NODE_PROMPT_PLAY, DtIconVolume2],\n [IVR_NODE_EXPERT, DtIconExpertNode],\n [IVR_NODE_BRANCH, DtIconBranch],\n [IVR_NODE_GO_TO, DtIconCallMerge],\n [IVR_NODE_ASSIGN, DtIconChevronsRight],\n [IVR_NODE_CUSTOMER_DATA, DtIconListBullet],\n [IVR_NODE_TRANSFER, DtIconTransfer],\n [IVR_NODE_HANGUP, DtIconPhoneHangUp],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n },\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Translated aria-label for header menu button\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeListeners () {\n return {\n click: (e) => this.$emit('click', e),\n };\n },\n\n nodeIcon () {\n return typeToIcon.get(this.nodeType);\n },\n\n nodeClass () {\n const { normal, selected } = IVR_NODE_CLASS_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n"],"names":["typeToIcon","IVR_NODE_PROMPT_MENU","DtIconKeypad","IVR_NODE_PROMPT_COLLECT","DtIconDialer","IVR_NODE_PROMPT_PLAY","DtIconVolume2","IVR_NODE_EXPERT","DtIconExpertNode","IVR_NODE_BRANCH","DtIconBranch","IVR_NODE_GO_TO","DtIconCallMerge","IVR_NODE_ASSIGN","DtIconChevronsRight","IVR_NODE_CUSTOMER_DATA","DtIconListBullet","IVR_NODE_TRANSFER","DtIconTransfer","IVR_NODE_HANGUP","DtIconPhoneHangUp","_sfc_main","DtCard","DtButton","DtDropdown","DtIconMoreVertical","e","normal","selected","IVR_NODE_CLASS_MAPPING","_hoisted_1","_hoisted_3","_openBlock","_createElementBlock","_mergeProps","$options","_toHandlers","$props","_normalizeClass","_createCommentVNode","_ctx","_renderSlot","_createVNode","_component_dt_card","_createElementVNode","_component_dt_button","_createBlock","_resolveDynamicComponent","_hoisted_2","_toDisplayString","_component_dt_dropdown","$data","_cache","$event","_withModifiers","_component_dt_icon_more_vertical","_withCtx","close"],"mappings":"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"}