@dialpad/dialtone-vue
Version:
Vue component library for Dialpad's design system Dialtone
89 lines (88 loc) • 3.23 kB
JavaScript
import { DtIconDialbot, DtIconInbox, DtIconContacts, DtIconHash, DtIconThread, DtIconLayoutTemplate, DtIconLock, DtIconSparkle, DtIconUsers, DtIconExternalLink, DtIconLockFilled, DtIconHashBold, DtIconAtSign, DtIconLaptop2, DtIconCalendarClock } from "@dialpad/dialtone-icons/vue2";
import { LEFTBAR_GENERAL_ROW_TYPES, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS } from "./general_row_constants.js";
import normalizeComponent from "../../../_virtual/_plugin-vue2_normalizer.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 = {
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]
];
}
}
};
var _sfc_render = function render() {
var _vm = this, _c = _vm._self._c;
return _vm.isIconType ? _c(_vm.getIconName, { tag: "component", attrs: { "size": _vm.iconSize } }) : _vm.isContactCenterType ? _c("div", { class: _vm.contactCenterIconClasses }) : _vm.isDialbotType ? _c("div", { staticClass: "d-recipe-leftbar-general-row__icon", attrs: { "data-qa": "general-row-dialbot" } }, [_c("dt-icon-dialbot", { attrs: { "size": "500" } })], 1) : _vm._e();
};
var _sfc_staticRenderFns = [];
var __component__ = /* @__PURE__ */ normalizeComponent(
_sfc_main,
_sfc_render,
_sfc_staticRenderFns
);
const DtRecipeLeftbarGeneralRowIcon = __component__.exports;
export {
DtRecipeLeftbarGeneralRowIcon as default
};
//# sourceMappingURL=leftbar_general_row_icon.vue.js.map