{"version":3,"file":"general-row.cjs","sources":["../../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"leftbarGeneralRowClasses\"\n    v-bind=\"addClassStyleAttrs($attrs)\"\n    data-qa=\"dt-recipe-leftbar-row\"\n  >\n    <a\n      class=\"d-recipe-leftbar-row__primary\"\n      :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'd-recipe-leftbar-row-link'\"\n      :aria-label=\"getAriaLabel\"\n      :title=\"description\"\n      :href=\"'href' in $attrs ? $attrs.href : 'javascript:void(0)'\"\n      v-bind=\"removeClassStyleAttrs($attrs)\"\n      v-on=\"generalRowListeners\"\n    >\n      <div\n        class=\"d-recipe-leftbar-row__alpha\"\n      >\n        <div\n          v-if=\"isTyping\"\n          v-dt-tooltip=\"typingTooltip\"\n          class=\"d-recipe-leftbar-row__is-typing\"\n        >\n          <span /><span /><span />\n        </div>\n        <slot\n          v-else\n          name=\"left\"\n        >\n          <dt-recipe-leftbar-general-row-icon\n            :type=\"getIcon\"\n            :color=\"color\"\n            :icon-size=\"iconSize\"\n            data-qa=\"dt-recipe-leftbar-row-icon\"\n          />\n        </slot>\n      </div>\n      <div\n        class=\"d-recipe-leftbar-row__label\"\n        :style=\"`flex-basis: ${labelWidth}`\"\n      >\n        <slot name=\"label\">\n          <dt-emoji-text-wrapper\n            class=\"d-recipe-leftbar-row__description\"\n            data-qa=\"dt-recipe-leftbar-row-description\"\n            size=\"200\"\n          >\n            {{ description }}\n          </dt-emoji-text-wrapper>\n        </slot>\n      </div>\n    </a>\n    <div\n      v-if=\"hasActions\"\n      class=\"d-recipe-leftbar-row__omega\"\n    >\n      <dt-tooltip\n        v-if=\"dndText\"\n        placement=\"top\"\n        :message=\"dndTextTooltip\"\n      >\n        <template #anchor>\n          <div\n            ref=\"d-recipe-leftbar-row-dnd\"\n            class=\"d-recipe-leftbar-row__dnd\"\n            data-qa=\"dt-recipe-leftbar-row-dnd\"\n          >\n            {{ dndText }}\n          </div>\n        </template>\n      </dt-tooltip>\n      <div\n        v-if=\"activeVoiceChat\"\n        v-dt-tooltip=\"activeVoiceChatTooltip\"\n        class=\"d-recipe-leftbar-row__active-voice\"\n      >\n        <dt-icon-waveform\n          size=\"300\"\n        />\n      </div>\n      <dt-tooltip\n        v-else-if=\"showUnreadCount || showUnreadMentionCount\"\n        :message=\"unreadCountTooltip\"\n        placement=\"top\"\n      >\n        <template #anchor>\n          <dt-badge\n            v-if=\"showUnreadCount\"\n            kind=\"count\"\n            type=\"bulletin\"\n            data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n            :class=\"['d-recipe-leftbar-row__unread-badge', {\n              'd-recipe-leftbar-row__unread-count-badge':\n                shouldApplyCustomStyleForCountBadge,\n            }]\"\n          >\n            {{ unreadCount }}\n          </dt-badge>\n          <dt-badge\n            v-if=\"showUnreadMentionCount\"\n            kind=\"count\"\n            type=\"bulletin\"\n            data-qa=\"dt-recipe-leftbar-row-unread-mention-badge\"\n            :class=\"['d-recipe-leftbar-row__unread-badge',\n                     { 'd-recipe-leftbar-row__unread-mention-count-badge': shouldApplyCustomStyleForCountBadge },\n                     { 'd-recipe-leftbar-row__unread-mention-only-count-badge': shouldApplyCustomStyleForMentionOnly },\n            ]\"\n          >\n            {{ unreadMentionCount }}\n          </dt-badge>\n        </template>\n      </dt-tooltip>\n      <div\n        v-if=\"hasCallButton\"\n        class=\"d-recipe-leftbar-row__action\"\n        data-qa=\"dt-recipe-leftbar-row-action\"\n      >\n        <dt-tooltip\n          :message=\"callButtonTooltip\"\n          placement=\"top\"\n        >\n          <template #anchor>\n            <dt-button\n              class=\"d-recipe-leftbar-row__action-button\"\n              data-qa=\"dt-recipe-leftbar-row-action-call-button\"\n              circle\n              size=\"xs\"\n              kind=\"inverted\"\n              :aria-label=\"callButtonTooltip\"\n              @focus=\"actionFocused = true\"\n              @blur=\"actionFocused = false\"\n              @click.stop=\"$emit('call', $event)\"\n            >\n              <template #icon>\n                <dt-icon-phone\n                  size=\"200\"\n                />\n              </template>\n            </dt-button>\n          </template>\n        </dt-tooltip>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n  LEFTBAR_GENERAL_ROW_TYPES,\n  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n  LEFTBAR_GENERAL_ROW_ICON_SIZES,\n} from './general_row_constants';\nimport { DtBadge } from '@/components/badge';\nimport { DtIconPhone, DtIconWaveform } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n  compatConfig: { MODE: 3 },\n  name: 'DtRecipeGeneralRow',\n\n  components: {\n    DtEmojiTextWrapper,\n    DtBadge,\n    DtButton,\n    DtTooltip,\n    DtIconPhone,\n    DtIconWaveform,\n    DtRecipeLeftbarGeneralRowIcon,\n  },\n\n  inheritAttrs: false,\n\n  props: {\n    /**\n     * Determines the icon to show.\n     * If type is contact center, the color prop must be provided and will determine the color of the icon\n     */\n    type: {\n      type: String,\n      default: 'inbox',\n      validator: (type) => {\n        return Object.values(LEFTBAR_GENERAL_ROW_TYPES).includes(type);\n      },\n    },\n\n    /**\n     * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n     */\n    ariaLabel: {\n      type: String,\n      default: '',\n    },\n\n    /**\n     * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot\n     * you still must input this as it will be displayed as the \"title\" attribute for the row.\n     */\n    description: {\n      type: String,\n      required: true,\n    },\n\n    /**\n     * Determines the color of the contact center icon\n     */\n    color: {\n      type: String,\n      default: null,\n      validator: (color) => {\n        return Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(color);\n      },\n    },\n\n    /**\n     * The channel setting, either 'mention' or 'always'.\n     * @values 'mention', 'always', null.\n     */\n    channelSetting: {\n      type: String,\n      default: null,\n    },\n\n    /**\n     * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n     * the unread count badge.\n     */\n    hasUnreads: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Number of unread messages\n     */\n    unreadCount: {\n      type: String,\n      default: null,\n    },\n\n    /**\n     * Number of unread mention messages\n     */\n    unreadMentionCount: {\n      type: String,\n      default: null,\n    },\n\n    /**\n     * Determines if the row is selected\n     */\n    selected: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Gives a faded style to be used when muted\n     */\n    muted: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Shows styling to represent an active voice chat. This will display over unreadCount.\n     */\n    activeVoiceChat: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Acronym used to represent \"Do not Disturb\" state. If entered will display the entered text alongside\n     * unreadCount.\n     */\n    dndText: {\n      type: String,\n      default: '',\n    },\n\n    /**\n     * Whether the row should have a call button. Usually only applicable to individual contact rows.\n     */\n    hasCallButton: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Shows an \"is typing\" animation over the avatar when true.\n     */\n    isTyping: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Sets the size of the icon.\n     */\n    iconSize: {\n      type: String,\n      default: '300',\n      validator: (size) => {\n        return LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(size);\n      },\n    },\n  },\n\n  emits: [\n    /**\n     * Call button clicked\n     *\n     * @event call\n     * @type {PointerEvent | KeyboardEvent}\n     */\n    'call',\n  ],\n\n  data () {\n    return {\n      actionFocused: false,\n      labelWidth: '100%',\n      i18n: new DialtoneLocalization(),\n    };\n  },\n\n  computed: {\n    leftbarGeneralRowClasses () {\n      return [\n        'd-recipe-leftbar-row',\n        {\n          'd-recipe-leftbar-row--no-action': !this.hasCallButton,\n          'd-recipe-leftbar-row--has-unread': this.hasUnreads,\n          'd-recipe-leftbar-row__unread-count': this.showUnreadCount || this.showUnreadMentionCount,\n          'd-recipe-leftbar-row--selected': this.selected,\n          'd-recipe-leftbar-row--muted': this.muted,\n          'd-recipe-leftbar-row--action-focused': this.actionFocused,\n        },\n      ];\n    },\n\n    getIcon () {\n      switch (this.type) {\n        case LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:\n          if (this.hasUnreads) return 'channel unread';\n          break;\n        case LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:\n          if (this.hasUnreads) return 'locked channel unread';\n          break;\n      }\n      return this.type;\n    },\n\n    generalRowListeners () {\n      return extractVueListeners(this.$attrs);\n    },\n\n    getAriaLabel () {\n      if (this.ariaLabel) return this.ariaLabel;\n\n      return safeConcatStrings([\n        this.typingTooltip,\n        this.description,\n        this.unreadCountTooltip,\n        this.dndTextTooltip,\n        this.activeVoiceChatTooltip,\n      ]);\n    },\n\n    hasActions () {\n      return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton ||\n        this.showUnreadMentionCount;\n    },\n\n    showUnreadCount () {\n      return !!this.unreadCount && this.hasUnreads;\n    },\n\n    showUnreadMentionCount () {\n      return !!this.unreadMentionCount && this.hasUnreads;\n    },\n\n    hasUnreadCount () {\n      return this.unreadCount !== null;\n    },\n\n    hasUnreadMentionCount () {\n      return this.unreadMentionCount !== null;\n    },\n\n    shouldApplyCustomStyleForCountBadge () {\n      return this.hasUnreadCount && this.hasUnreadMentionCount;\n    },\n\n    /**\n     * When a channel in 'always' setting, meaning the user should see both unread count and unread mention count,\n     * if there are only mention messages, we should apply the theme design tokens var(--dt-theme-mention-color-[background||foreground]-strong).\n     * @returns {boolean}\n     */\n    shouldApplyCustomStyleForMentionOnly () {\n      return this.channelSetting === 'always' && !this.hasUnreadCount && this.hasUnreadMentionCount;\n    },\n\n    messageCount () {\n      return isNaN(this.unreadCount)\n        ? this.unreadCount\n        : Number(this.unreadCount);\n    },\n\n    mentionCount () {\n      return isNaN(this.unreadMentionCount)\n        ? this.unreadMentionCount\n        : Number(this.unreadMentionCount);\n    },\n\n    unreadCountTooltip () {\n      return safeConcatStrings([\n        this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n        this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n      ]);\n    },\n\n    dndTextTooltip () {\n      return this.dndText && this.i18n.$t('DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP');\n    },\n\n    activeVoiceChatTooltip () {\n      return this.activeVoiceChat && this.i18n.$t('DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT');\n    },\n\n    callButtonTooltip () {\n      return this.i18n.$t('DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP');\n    },\n\n    typingTooltip () {\n      return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\n    },\n  },\n\n  watch: {\n    $props: {\n      immediate: true,\n      deep: true,\n      async handler () {\n        this.validateProps();\n        await this.$nextTick();\n        this.adjustLabelWidth();\n      },\n    },\n  },\n\n  mounted () {\n    this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n    this.resizeObserver.observe(returnFirstEl(this.$el));\n    this.adjustLabelWidth();\n  },\n\n  beforeUnmount: function () {\n    this.resizeObserver.disconnect();\n  },\n\n  methods: {\n    removeClassStyleAttrs,\n    addClassStyleAttrs,\n\n    validateProps () {\n      if (this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER &&\n        !Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)) {\n        console.error(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR);\n      }\n    },\n\n    adjustLabelWidth () {\n      const labelWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n      const omegaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n      const alphaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n      const paddings = 16;\n      this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n    },\n  },\n};\n</script>\n"],"names":["_sfc_main","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtIconPhone","DtIconWaveform","DtRecipeLeftbarGeneralRowIcon","type","LEFTBAR_GENERAL_ROW_TYPES","color","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","size","LEFTBAR_GENERAL_ROW_ICON_SIZES","DialtoneLocalization","extractVueListeners","safeConcatStrings","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","labelWidth","omegaWidth","alphaWidth","paddings","_hoisted_1","_hoisted_2","_createElementVNode","_hoisted_4","_hoisted_5","_hoisted_6","_openBlock","_createElementBlock","_mergeProps","$options","_ctx","$props","_toHandlers","_hoisted_3","_hoisted_7","_renderSlot","_createVNode","_component_dt_recipe_leftbar_general_row_icon","_normalizeStyle","$data","_component_dt_emoji_text_wrapper","_withCtx","_createTextVNode","_toDisplayString","_hoisted_8","_createBlock","_component_dt_tooltip","_createCommentVNode","_withDirectives","_hoisted_9","_component_dt_icon_waveform","_component_dt_badge","_normalizeClass","_hoisted_10","_component_dt_button","_cache","_withModifiers","$event","_component_dt_icon_phone"],"mappings":"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"}