@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
75 lines (74 loc) • 2.48 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue3 = require("@dialpad/dialtone-icons/vue3");
const unread_pill_constants = require("./unread_pill_constants.cjs");
const vue = require("vue");
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
const _sfc_main = {
compatConfig: { MODE: 3 },
name: "DtRecipeUnreadPill",
components: {
DtIconArrowUp: vue3.DtIconArrowUp,
DtIconArrowDown: vue3.DtIconArrowDown
},
props: {
/**
* The kind of unread pill which determines the styling
* @values 'mentions', 'messages'
**/
kind: {
type: String,
required: true,
validator: (kind) => unread_pill_constants.UNREAD_PILL_KINDS.includes(kind)
},
/**
* The direction of the arrow icon
* @values 'up', 'down'
**/
direction: {
type: String,
required: true,
validator: (dir) => unread_pill_constants.UNREAD_PILL_DIRECTIONS.includes(dir)
}
},
emits: [
/**
* Native click event
*
* @event click
* @type {PointerEvent | KeyboardEvent}
*/
"click"
],
computed: {
unreadChipListeners() {
return {
click: (event) => this.$emit("click", event)
};
}
}
};
const _hoisted_1 = { "data-qa": "dt-recipe-leftbar-unread-pill__label" };
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_dt_icon_arrow_up = vue.resolveComponent("dt-icon-arrow-up");
const _component_dt_icon_arrow_down = vue.resolveComponent("dt-icon-arrow-down");
return vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
class: ["d-recipe-leftbar-unread-pill", `d-recipe-leftbar-unread-pill-${$props.kind}`],
type: "button",
"data-qa": "dt-recipe-leftbar-unread-pill"
}, vue.toHandlers($options.unreadChipListeners, true)), [
$props.direction === "up" ? (vue.openBlock(), vue.createBlock(_component_dt_icon_arrow_up, {
key: 0,
size: "300"
})) : (vue.openBlock(), vue.createBlock(_component_dt_icon_arrow_down, {
key: 1,
size: "300"
})),
vue.createElementVNode("span", _hoisted_1, [
vue.renderSlot(_ctx.$slots, "default")
])
], 16);
}
const unread_pill = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
exports.default = unread_pill;
//# sourceMappingURL=unread_pill.vue.cjs.map