UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

98 lines (97 loc) 3.63 kB
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