@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
98 lines (97 loc) • 3.63 kB
JavaScript
import { DtIconDialbot, DtIconInbox, DtIconContacts, DtIconHash, DtIconThread, DtIconLayoutTemplate, DtIconLock, DtIconSparkle, DtIconUsers, DtIconExternalLink, DtIconLockFilled, DtIconHashBold, DtIconAtSign, DtIconLaptop2, DtIconCalendarClock } from "@dialpad/dialtone-icons/vue3";
import { LEFTBAR_GENERAL_ROW_TYPES, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS } from "./general_row_constants.js";
import { resolveComponent, openBlock, createBlock, resolveDynamicComponent, createElementBlock, normalizeClass, createVNode, createCommentVNode } from "vue";
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
const typeToIcon = /* @__PURE__ */ new Map([
[LEFTBAR_GENERAL_ROW_TYPES.INBOX, DtIconInbox],
[LEFTBAR_GENERAL_ROW_TYPES.CONTACTS, DtIconContacts],
[LEFTBAR_GENERAL_ROW_TYPES.CHANNELS, DtIconHash],
[LEFTBAR_GENERAL_ROW_TYPES.THREADS, DtIconThread],
[LEFTBAR_GENERAL_ROW_TYPES.LAUNCHPAD, DtIconLayoutTemplate],
[LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL, DtIconLock],
[LEFTBAR_GENERAL_ROW_TYPES.QUICK_START, DtIconSparkle],
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP, DtIconUsers],
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER, DtIconExternalLink],
["locked channel unread", DtIconLockFilled],
["channel unread", DtIconHashBold],
[LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED, DtIconAtSign],
[LEFTBAR_GENERAL_ROW_TYPES.DIGITAL, DtIconLaptop2],
[LEFTBAR_GENERAL_ROW_TYPES.SCHEDULED, DtIconCalendarClock]
]);
const _sfc_main = {
compatConfig: { MODE: 3 },
name: "DtRecipeLeftbarGeneralRowIcon",
components: {
DtIconDialbot,
DtIconInbox,
DtIconContacts,
DtIconHash,
DtIconThread,
DtIconLayoutTemplate,
DtIconLock,
DtIconSparkle,
DtIconUsers,
DtIconExternalLink,
DtIconLockFilled,
DtIconHashBold,
DtIconAtSign,
DtIconLaptop2,
DtIconCalendarClock
},
props: {
type: {
type: String,
default: null
},
color: {
type: String,
default: null
},
iconSize: {
type: String,
default: "300"
}
},
computed: {
isIconType() {
return ![LEFTBAR_GENERAL_ROW_TYPES.DIALBOT, LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER].includes(this.type);
},
isContactCenterType() {
return this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER;
},
isDialbotType() {
return this.type === LEFTBAR_GENERAL_ROW_TYPES.DIALBOT;
},
getIconName() {
return typeToIcon.get(this.type);
},
contactCenterIconClasses() {
return [
"d-recipe-leftbar-row__icon-cc",
LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS[this.color]
];
}
}
};
const _hoisted_1 = {
key: 2,
class: "d-recipe-leftbar-general-row__icon",
"data-qa": "general-row-dialbot"
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_dt_icon_dialbot = resolveComponent("dt-icon-dialbot");
return $options.isIconType ? (openBlock(), createBlock(resolveDynamicComponent($options.getIconName), {
key: 0,
size: $props.iconSize
}, null, 8, ["size"])) : $options.isContactCenterType ? (openBlock(), createElementBlock("div", {
key: 1,
class: normalizeClass($options.contactCenterIconClasses)
}, null, 2)) : $options.isDialbotType ? (openBlock(), createElementBlock("div", _hoisted_1, [
createVNode(_component_dt_icon_dialbot, { size: "500" })
])) : createCommentVNode("", true);
}
const DtRecipeLeftbarGeneralRowIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
DtRecipeLeftbarGeneralRowIcon as default
};
//# sourceMappingURL=leftbar_general_row_icon.vue.js.map