UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

1 lines 8.62 kB
{"version":3,"file":"callbox.cjs","sources":["../../../recipes/leftbar/callbox/callbox.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-recipe-callbox\"\n :class=\"[$attrs.class, 'd-recipe-callbox']\"\n :style=\"$attrs.style\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox__video-wrapper\"\n class=\"d-recipe-callbox__video\"\n >\n <!-- @slot Slot for video stream -->\n <slot name=\"video\" />\n </div>\n <div\n data-qa=\"dt-recipe-callbox__main-content\"\n :class=\"['d-recipe-callbox__main-content', borderClass, { 'd-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"d-recipe-callbox__main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"d-recipe-callbox__avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n size=\"sm\"\n @click=\"handleClick\"\n >\n <template\n v-if=\"isOnHold\"\n #overlayIcon\n >\n <dt-icon-pause />\n </template>\n </dt-avatar>\n <div class=\"d-recipe-callbox__content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n v-dt-tooltip=\"title\"\n data-qa=\"dt-recipe-callbox__title\"\n class=\"d-recipe-callbox__content-title\"\n tabindex=\"0\"\n @click=\"handleClick\"\n >\n {{ title }}\n </component>\n <div\n v-if=\"$slots.badge || badgeText\"\n data-qa=\"dt-recipe-callbox__badge-wrapper\"\n class=\"d-recipe-callbox__content-badge\"\n >\n <!-- @slot Slot for call center badge -->\n <slot name=\"badge\">\n <dt-badge\n :class=\"badgeClass\"\n :text=\"badgeText\"\n />\n </slot>\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-recipe-callbox__subtitle-wrapper\"\n class=\"d-recipe-callbox__content-subtitle\"\n >\n <!-- @slot Slot for subtitle -->\n <slot name=\"subtitle\" />\n </div>\n </div>\n <div\n v-if=\"$slots.right\"\n data-qa=\"dt-recipe-callbox__right-wrapper\"\n class=\"d-recipe-callbox__right\"\n >\n <!-- @slot Slot for right icons -->\n <slot name=\"right\" />\n </div>\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-recipe-callbox__bottom-wrapper\"\n class=\"d-recipe-callbox__main-content-bottom\"\n >\n <slot name=\"bottom\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from './callbox_constants';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport DtBadge from '@/components/badge/badge.vue';\nimport { DtIconPause } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar, DtIconPause },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Text for the badge element\n */\n badgeText: {\n type: String,\n default: '',\n },\n\n /**\n * Color for the badge element\n * @values null, warning\n */\n badgeColor: {\n type: String,\n default: null,\n validator: (color) => color === null || Object.keys(CALLBOX_BADGE_COLORS).includes(color),\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display if `avatarSrc` is empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox title\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(CALLBOX_BORDER_COLORS).includes(color),\n },\n\n /**\n * Makes the callbox avatar and title clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls the avatars overlay icon\n */\n isOnHold: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Callbox click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n shouldShowAvatar () {\n return this.avatarFullName || this.avatarSrc;\n },\n\n badgeClass () {\n return CALLBOX_BADGE_COLORS[this.badgeColor];\n },\n\n borderClass () {\n return CALLBOX_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtBadge","DtAvatar","DtIconPause","color","CALLBOX_BADGE_COLORS","CALLBOX_BORDER_COLORS","e","_hoisted_2","_hoisted_3","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_openBlock","_hoisted_1","_renderSlot","_createCommentVNode","_createElementVNode","$options","$props","_createBlock","_component_dt_avatar","_createSlots","_withCtx","_createVNode","_component_dt_icon_pause","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_hoisted_4","_component_dt_badge","_hoisted_5","_hoisted_6","_hoisted_7"],"mappings":"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"}