@dialpad/dialtone 9.104.2 → 9.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/css/dialtone-default-theme.css +0 -6
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone.css +0 -6
  4. package/dist/css/dialtone.min.css +1 -1
  5. package/dist/tokens/doc.json +12281 -12281
  6. package/dist/vue2/component-documentation.json +1 -1
  7. package/dist/vue2/components/tab/tab_panel.vue.cjs +1 -1
  8. package/dist/vue2/components/tab/tab_panel.vue.cjs.map +1 -1
  9. package/dist/vue2/components/tab/tab_panel.vue.js +1 -1
  10. package/dist/vue2/components/tab/tab_panel.vue.js.map +1 -1
  11. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs +8 -1
  12. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  13. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js +8 -1
  14. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  15. package/dist/vue2/types/components/tab/tab_panel.vue.d.ts.map +1 -1
  16. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +9 -0
  17. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  18. package/dist/vue3/component-documentation.json +1 -1
  19. package/dist/vue3/components/tab/tab_panel.vue.cjs +1 -6
  20. package/dist/vue3/components/tab/tab_panel.vue.cjs.map +1 -1
  21. package/dist/vue3/components/tab/tab_panel.vue.js +2 -7
  22. package/dist/vue3/components/tab/tab_panel.vue.js.map +1 -1
  23. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs +9 -1
  24. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  25. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js +9 -1
  26. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  27. package/dist/vue3/types/components/tab/tab_panel.vue.d.ts.map +1 -1
  28. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts +9 -0
  29. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  30. package/package.json +3 -3
@@ -73,7 +73,6 @@ const _sfc_main = {
73
73
  }
74
74
  };
75
75
  const _hoisted_1 = ["id", "tabindex", "aria-labelledby", "aria-hidden"];
76
- const _hoisted_2 = { class: "d-tab-panel-container" };
77
76
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
78
77
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
79
78
  id: `dt-panel-${$props.id}`,
@@ -84,11 +83,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
84
83
  class: vue.normalizeClass($props.tabPanelClass),
85
84
  "data-qa": "dt-tab-panel"
86
85
  }, [
87
- vue.withDirectives(vue.createElementVNode("div", _hoisted_2, [
88
- vue.renderSlot(_ctx.$slots, "default")
89
- ], 512), [
90
- [vue.vShow, !$props.hidden]
91
- ])
86
+ vue.renderSlot(_ctx.$slots, "default")
92
87
  ], 10, _hoisted_1)), [
93
88
  [vue.vShow, !$options.hidePanel]
94
89
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"tab_panel.vue.cjs","sources":["../../../components/tab/tab_panel.vue"],"sourcesContent":["<template>\n <div\n v-show=\"!hidePanel\"\n :id=\"`dt-panel-${id}`\"\n role=\"tabpanel\"\n :tabindex=\"isFirstElementFocusable ? -1 : 0\"\n :aria-labelledby=\"`dt-tab-${tabId}`\"\n :aria-hidden=\"`${hidePanel}`\"\n :class=\"tabPanelClass\"\n data-qa=\"dt-tab-panel\"\n >\n <!-- @slot Default slot for Tab Panel -->\n <div\n v-show=\"!hidden\"\n class=\"d-tab-panel-container\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabPanel',\n\n mixins: [Modal],\n\n inject: ['groupContext'],\n\n props: {\n /**\n * Id of the panel\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated tab\n */\n tabId: {\n type: String,\n required: true,\n },\n\n /**\n * If true, hides the tab content\n * @values true, false\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabPanelClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n data () {\n return {\n isFirstElementFocusable: false,\n };\n },\n\n computed: {\n hidePanel () {\n return this.groupContext.selected !== this.id || this.hidden;\n },\n },\n\n async mounted () {\n const firstFocusableElement = await this.getFirstFocusableElement(this.$el);\n\n if (!firstFocusableElement) {\n this.isFirstElementFocusable = false;\n } else {\n // If the first focusable element isn't the first element in the panel,\n // then we need to set the panel tabindex to 0.\n // See notes in https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n this.isFirstElementFocusable = this.isFirstElementOfPanel(firstFocusableElement);\n }\n },\n\n methods: {\n isFirstElementOfPanel (element) {\n let current = element;\n let isFirstElement = true;\n\n while (current) {\n if (current.previousElementSibling !== null) {\n isFirstElement = false;\n break;\n }\n current = current.parentNode !== this.$el ? current.parentNode : null;\n }\n\n return isFirstElement;\n },\n },\n};\n</script>\n"],"names":["Modal","_createElementBlock","_normalizeClass","_withDirectives","_createElementVNode","_renderSlot"],"mappings":";;;;;AA4BA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,QAAQ,CAACA,MAAAA,OAAK;AAAA,EAEd,QAAQ,CAAC,cAAc;AAAA,EAEvB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,yBAAyB;AAAA;EAE5B;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,KAAK,aAAa,aAAa,KAAK,MAAM,KAAK;AAAA,IACvD;AAAA,EACF;AAAA,EAED,MAAM,UAAW;AACf,UAAM,wBAAwB,MAAM,KAAK,yBAAyB,KAAK,GAAG;AAE1E,QAAI,CAAC,uBAAuB;AAC1B,WAAK,0BAA0B;AAAA,WAC1B;AAIL,WAAK,0BAA0B,KAAK,sBAAsB,qBAAqB;AAAA,IACjF;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,sBAAuB,SAAS;AAC9B,UAAI,UAAU;AACd,UAAI,iBAAiB;AAErB,aAAO,SAAS;AACd,YAAI,QAAQ,2BAA2B,MAAM;AAC3C,2BAAiB;AACjB;AAAA,QACF;AACA,kBAAU,QAAQ,eAAe,KAAK,MAAM,QAAQ,aAAa;AAAA,MACnE;AAEA,aAAO;AAAA,IACR;AAAA,EACF;AACH;AAhHA,MAAA,aAAA,CAAA,MAAA,YAAA,mBAAA,aAAA;AAcM,MAAA,aAAA,EAAA,OAAM,wBAAuB;;8CAbjCC,IAAAA,mBAiBM,OAAA;AAAA,IAfH,gBAAgB,OAAE,EAAA;AAAA,IACnB,MAAK;AAAA,IACJ,UAAU,MAAuB,0BAAA,KAAA;AAAA,IACjC,6BAA2B,OAAK,KAAA;AAAA,IAChC,kBAAgB,SAAS,SAAA;AAAA,IACzB,OARLC,IAAAA,eAQY,OAAa,aAAA;AAAA,IACrB,WAAQ;AAAA;IAGRC,mBAAAC,IAAAA,mBAKM,OALN,YAKM;AAAA,MADJC,eAAQ,KAAA,QAAA,SAAA;AAAA;mBAHC,OAAM,MAAA;AAAA;EAbrB,GAAA,IAAA,UAAA,IAAA;AAAA,iBAEa,SAAS,SAAA;AAAA;;;;"}
1
+ {"version":3,"file":"tab_panel.vue.cjs","sources":["../../../components/tab/tab_panel.vue"],"sourcesContent":["<template>\n <div\n v-show=\"!hidePanel\"\n :id=\"`dt-panel-${id}`\"\n role=\"tabpanel\"\n :tabindex=\"isFirstElementFocusable ? -1 : 0\"\n :aria-labelledby=\"`dt-tab-${tabId}`\"\n :aria-hidden=\"`${hidePanel}`\"\n :class=\"tabPanelClass\"\n data-qa=\"dt-tab-panel\"\n >\n <!-- @slot Default slot for Tab Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabPanel',\n\n mixins: [Modal],\n\n inject: ['groupContext'],\n\n props: {\n /**\n * Id of the panel\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated tab\n */\n tabId: {\n type: String,\n required: true,\n },\n\n /**\n * If true, hides the tab content\n * @values true, false\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabPanelClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n data () {\n return {\n isFirstElementFocusable: false,\n };\n },\n\n computed: {\n hidePanel () {\n return this.groupContext.selected !== this.id || this.hidden;\n },\n },\n\n async mounted () {\n const firstFocusableElement = await this.getFirstFocusableElement(this.$el);\n\n if (!firstFocusableElement) {\n this.isFirstElementFocusable = false;\n } else {\n // If the first focusable element isn't the first element in the panel,\n // then we need to set the panel tabindex to 0.\n // See notes in https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n this.isFirstElementFocusable = this.isFirstElementOfPanel(firstFocusableElement);\n }\n },\n\n methods: {\n isFirstElementOfPanel (element) {\n let current = element;\n let isFirstElement = true;\n\n while (current) {\n if (current.previousElementSibling !== null) {\n isFirstElement = false;\n break;\n }\n current = current.parentNode !== this.$el ? current.parentNode : null;\n }\n\n return isFirstElement;\n },\n },\n};\n</script>\n"],"names":["Modal","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;AAuBA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,QAAQ,CAACA,MAAAA,OAAK;AAAA,EAEd,QAAQ,CAAC,cAAc;AAAA,EAEvB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,yBAAyB;AAAA;EAE5B;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,KAAK,aAAa,aAAa,KAAK,MAAM,KAAK;AAAA,IACvD;AAAA,EACF;AAAA,EAED,MAAM,UAAW;AACf,UAAM,wBAAwB,MAAM,KAAK,yBAAyB,KAAK,GAAG;AAE1E,QAAI,CAAC,uBAAuB;AAC1B,WAAK,0BAA0B;AAAA,WAC1B;AAIL,WAAK,0BAA0B,KAAK,sBAAsB,qBAAqB;AAAA,IACjF;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,sBAAuB,SAAS;AAC9B,UAAI,UAAU;AACd,UAAI,iBAAiB;AAErB,aAAO,SAAS;AACd,YAAI,QAAQ,2BAA2B,MAAM;AAC3C,2BAAiB;AACjB;AAAA,QACF;AACA,kBAAU,QAAQ,eAAe,KAAK,MAAM,QAAQ,aAAa;AAAA,MACnE;AAEA,aAAO;AAAA,IACR;AAAA,EACF;AACH;AA3GA,MAAA,aAAA,CAAA,MAAA,YAAA,mBAAA,aAAA;;8CACEC,IAAAA,mBAYM,OAAA;AAAA,IAVH,gBAAgB,OAAE,EAAA;AAAA,IACnB,MAAK;AAAA,IACJ,UAAU,MAAuB,0BAAA,KAAA;AAAA,IACjC,6BAA2B,OAAK,KAAA;AAAA,IAChC,kBAAgB,SAAS,SAAA;AAAA,IACzB,OARLC,IAAAA,eAQY,OAAa,aAAA;AAAA,IACrB,WAAQ;AAAA;IAGRC,eAAQ,KAAA,QAAA,SAAA;AAAA,EAZZ,GAAA,IAAA,UAAA,IAAA;AAAA,iBAEa,SAAS,SAAA;AAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import Modal from "../../common/mixins/modal.js";
2
- import { withDirectives, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, vShow } from "vue";
2
+ import { withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow } from "vue";
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
4
  const _sfc_main = {
5
5
  compatConfig: { MODE: 3 },
@@ -71,7 +71,6 @@ const _sfc_main = {
71
71
  }
72
72
  };
73
73
  const _hoisted_1 = ["id", "tabindex", "aria-labelledby", "aria-hidden"];
74
- const _hoisted_2 = { class: "d-tab-panel-container" };
75
74
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
76
75
  return withDirectives((openBlock(), createElementBlock("div", {
77
76
  id: `dt-panel-${$props.id}`,
@@ -82,11 +81,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
82
81
  class: normalizeClass($props.tabPanelClass),
83
82
  "data-qa": "dt-tab-panel"
84
83
  }, [
85
- withDirectives(createElementVNode("div", _hoisted_2, [
86
- renderSlot(_ctx.$slots, "default")
87
- ], 512), [
88
- [vShow, !$props.hidden]
89
- ])
84
+ renderSlot(_ctx.$slots, "default")
90
85
  ], 10, _hoisted_1)), [
91
86
  [vShow, !$options.hidePanel]
92
87
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"tab_panel.vue.js","sources":["../../../components/tab/tab_panel.vue"],"sourcesContent":["<template>\n <div\n v-show=\"!hidePanel\"\n :id=\"`dt-panel-${id}`\"\n role=\"tabpanel\"\n :tabindex=\"isFirstElementFocusable ? -1 : 0\"\n :aria-labelledby=\"`dt-tab-${tabId}`\"\n :aria-hidden=\"`${hidePanel}`\"\n :class=\"tabPanelClass\"\n data-qa=\"dt-tab-panel\"\n >\n <!-- @slot Default slot for Tab Panel -->\n <div\n v-show=\"!hidden\"\n class=\"d-tab-panel-container\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabPanel',\n\n mixins: [Modal],\n\n inject: ['groupContext'],\n\n props: {\n /**\n * Id of the panel\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated tab\n */\n tabId: {\n type: String,\n required: true,\n },\n\n /**\n * If true, hides the tab content\n * @values true, false\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabPanelClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n data () {\n return {\n isFirstElementFocusable: false,\n };\n },\n\n computed: {\n hidePanel () {\n return this.groupContext.selected !== this.id || this.hidden;\n },\n },\n\n async mounted () {\n const firstFocusableElement = await this.getFirstFocusableElement(this.$el);\n\n if (!firstFocusableElement) {\n this.isFirstElementFocusable = false;\n } else {\n // If the first focusable element isn't the first element in the panel,\n // then we need to set the panel tabindex to 0.\n // See notes in https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n this.isFirstElementFocusable = this.isFirstElementOfPanel(firstFocusableElement);\n }\n },\n\n methods: {\n isFirstElementOfPanel (element) {\n let current = element;\n let isFirstElement = true;\n\n while (current) {\n if (current.previousElementSibling !== null) {\n isFirstElement = false;\n break;\n }\n current = current.parentNode !== this.$el ? current.parentNode : null;\n }\n\n return isFirstElement;\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_withDirectives","_createElementVNode","_renderSlot"],"mappings":";;;AA4BA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,QAAQ,CAAC,KAAK;AAAA,EAEd,QAAQ,CAAC,cAAc;AAAA,EAEvB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,yBAAyB;AAAA;EAE5B;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,KAAK,aAAa,aAAa,KAAK,MAAM,KAAK;AAAA,IACvD;AAAA,EACF;AAAA,EAED,MAAM,UAAW;AACf,UAAM,wBAAwB,MAAM,KAAK,yBAAyB,KAAK,GAAG;AAE1E,QAAI,CAAC,uBAAuB;AAC1B,WAAK,0BAA0B;AAAA,WAC1B;AAIL,WAAK,0BAA0B,KAAK,sBAAsB,qBAAqB;AAAA,IACjF;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,sBAAuB,SAAS;AAC9B,UAAI,UAAU;AACd,UAAI,iBAAiB;AAErB,aAAO,SAAS;AACd,YAAI,QAAQ,2BAA2B,MAAM;AAC3C,2BAAiB;AACjB;AAAA,QACF;AACA,kBAAU,QAAQ,eAAe,KAAK,MAAM,QAAQ,aAAa;AAAA,MACnE;AAEA,aAAO;AAAA,IACR;AAAA,EACF;AACH;AAhHA,MAAA,aAAA,CAAA,MAAA,YAAA,mBAAA,aAAA;AAcM,MAAA,aAAA,EAAA,OAAM,wBAAuB;;sCAbjCA,mBAiBM,OAAA;AAAA,IAfH,gBAAgB,OAAE,EAAA;AAAA,IACnB,MAAK;AAAA,IACJ,UAAU,MAAuB,0BAAA,KAAA;AAAA,IACjC,6BAA2B,OAAK,KAAA;AAAA,IAChC,kBAAgB,SAAS,SAAA;AAAA,IACzB,OARLC,eAQY,OAAa,aAAA;AAAA,IACrB,WAAQ;AAAA;IAGRC,eAAAC,mBAKM,OALN,YAKM;AAAA,MADJC,WAAQ,KAAA,QAAA,SAAA;AAAA;eAHC,OAAM,MAAA;AAAA;EAbrB,GAAA,IAAA,UAAA,IAAA;AAAA,aAEa,SAAS,SAAA;AAAA;;;"}
1
+ {"version":3,"file":"tab_panel.vue.js","sources":["../../../components/tab/tab_panel.vue"],"sourcesContent":["<template>\n <div\n v-show=\"!hidePanel\"\n :id=\"`dt-panel-${id}`\"\n role=\"tabpanel\"\n :tabindex=\"isFirstElementFocusable ? -1 : 0\"\n :aria-labelledby=\"`dt-tab-${tabId}`\"\n :aria-hidden=\"`${hidePanel}`\"\n :class=\"tabPanelClass\"\n data-qa=\"dt-tab-panel\"\n >\n <!-- @slot Default slot for Tab Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabPanel',\n\n mixins: [Modal],\n\n inject: ['groupContext'],\n\n props: {\n /**\n * Id of the panel\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated tab\n */\n tabId: {\n type: String,\n required: true,\n },\n\n /**\n * If true, hides the tab content\n * @values true, false\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabPanelClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n data () {\n return {\n isFirstElementFocusable: false,\n };\n },\n\n computed: {\n hidePanel () {\n return this.groupContext.selected !== this.id || this.hidden;\n },\n },\n\n async mounted () {\n const firstFocusableElement = await this.getFirstFocusableElement(this.$el);\n\n if (!firstFocusableElement) {\n this.isFirstElementFocusable = false;\n } else {\n // If the first focusable element isn't the first element in the panel,\n // then we need to set the panel tabindex to 0.\n // See notes in https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n this.isFirstElementFocusable = this.isFirstElementOfPanel(firstFocusableElement);\n }\n },\n\n methods: {\n isFirstElementOfPanel (element) {\n let current = element;\n let isFirstElement = true;\n\n while (current) {\n if (current.previousElementSibling !== null) {\n isFirstElement = false;\n break;\n }\n current = current.parentNode !== this.$el ? current.parentNode : null;\n }\n\n return isFirstElement;\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;AAuBA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,QAAQ,CAAC,KAAK;AAAA,EAEd,QAAQ,CAAC,cAAc;AAAA,EAEvB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,yBAAyB;AAAA;EAE5B;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,KAAK,aAAa,aAAa,KAAK,MAAM,KAAK;AAAA,IACvD;AAAA,EACF;AAAA,EAED,MAAM,UAAW;AACf,UAAM,wBAAwB,MAAM,KAAK,yBAAyB,KAAK,GAAG;AAE1E,QAAI,CAAC,uBAAuB;AAC1B,WAAK,0BAA0B;AAAA,WAC1B;AAIL,WAAK,0BAA0B,KAAK,sBAAsB,qBAAqB;AAAA,IACjF;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,sBAAuB,SAAS;AAC9B,UAAI,UAAU;AACd,UAAI,iBAAiB;AAErB,aAAO,SAAS;AACd,YAAI,QAAQ,2BAA2B,MAAM;AAC3C,2BAAiB;AACjB;AAAA,QACF;AACA,kBAAU,QAAQ,eAAe,KAAK,MAAM,QAAQ,aAAa;AAAA,MACnE;AAEA,aAAO;AAAA,IACR;AAAA,EACF;AACH;AA3GA,MAAA,aAAA,CAAA,MAAA,YAAA,mBAAA,aAAA;;sCACEA,mBAYM,OAAA;AAAA,IAVH,gBAAgB,OAAE,EAAA;AAAA,IACnB,MAAK;AAAA,IACJ,UAAU,MAAuB,0BAAA,KAAA;AAAA,IACjC,6BAA2B,OAAK,KAAA;AAAA,IAChC,kBAAgB,SAAS,SAAA;AAAA,IACzB,OARLC,eAQY,OAAa,aAAA;AAAA,IACrB,WAAQ;AAAA;IAGRC,WAAQ,KAAA,QAAA,SAAA;AAAA,EAZZ,GAAA,IAAA,UAAA,IAAA;AAAA,aAEa,SAAS,SAAA;AAAA;;;"}
@@ -35,6 +35,13 @@ const _sfc_main = {
35
35
  type: String,
36
36
  default: null
37
37
  },
38
+ /**
39
+ * Number of unread mention messages
40
+ */
41
+ unreadMentionCount: {
42
+ type: String,
43
+ default: null
44
+ },
38
45
  /**
39
46
  * Text shown when the unread count is hovered.
40
47
  */
@@ -83,6 +90,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
83
90
  "aria-label": $options.ariaLabel,
84
91
  "unread-count": $props.unreadCount,
85
92
  "has-unreads": $props.hasUnreads,
93
+ "unread-mention-count": $props.unreadMentionCount,
86
94
  "unread-count-tooltip": $props.unreadCountTooltip,
87
95
  selected: $props.selected,
88
96
  "is-typing": $props.isTyping
@@ -91,7 +99,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
91
99
  vue.createVNode(_component_dt_icon_users, { size: "300" })
92
100
  ]),
93
101
  _: 1
94
- }, 16, ["description", "aria-label", "unread-count", "has-unreads", "unread-count-tooltip", "selected", "is-typing"]);
102
+ }, 16, ["description", "aria-label", "unread-count", "has-unreads", "unread-mention-count", "unread-count-tooltip", "selected", "is-typing"]);
95
103
  }
96
104
  const group_row = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
97
105
  exports.default = group_row;
@@ -1 +1 @@
1
- {"version":3,"file":"group_row.vue.cjs","sources":["../../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue3';\nimport { safeConcatStrings, extractVueListeners } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Screen reader will read out the number of users in the group using this text. Ex: \"2 users\"\n */\n groupCountText: {\n type: String,\n default: '',\n },\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\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 * Determines if the row is selected\n */\n selected: {\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 emits: [\n ],\n\n computed: {\n ariaLabel () {\n return safeConcatStrings([this.groupCountText, this.names]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n"],"names":["DtIconUsers","DtRecipeGeneralRow","safeConcatStrings","extractVueListeners","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode"],"mappings":";;;;;;;AAyBA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY;AAAA,iBACVA,KAAW;AAAA,IACX,oBAAAC,YAAkB;AAAA,EACnB;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAKL,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CACN;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAOC,aAAAA,kBAAkB,CAAC,KAAK,gBAAgB,KAAK,KAAK,CAAC;AAAA,IAC3D;AAAA,IAED,sBAAuB;AACrB,aAAOC,aAAmB,oBAAC,KAAK,MAAM;AAAA,IACvC;AAAA,EACF;AACH;;;;AA3GE,SAAAC,cAAA,GAAAC,gBAgBwB,kCAhBxBC,IAAAA,WAgBwB;AAAA,IAfrB,aAAa,OAAK;AAAA,IAClB,cAAY,SAAS;AAAA,IACrB,gBAAc,OAAW;AAAA,IACzB,eAAa,OAAU;AAAA,IACvB,wBAAsB,OAAkB;AAAA,IACxC,UAAU,OAAQ;AAAA,IAClB,aAAW,OAAQ;AAAA,KACZ,KAAM,QACdC,IAAAA,WAAM,SAAmB,mBAAA,CAAA,GAAA;AAAA,IAEd,kBACT,MAEE;AAAA,MAFFC,IAAAA,YAEE,0BAAA,EADA,MAAK,MAAK,CAAA;AAAA;IAdlB,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"group_row.vue.cjs","sources":["../../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue3';\nimport { safeConcatStrings, extractVueListeners } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Screen reader will read out the number of users in the group using this text. Ex: \"2 users\"\n */\n groupCountText: {\n type: String,\n default: '',\n },\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\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 * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\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 * Determines if the row is selected\n */\n selected: {\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 emits: [\n ],\n\n computed: {\n ariaLabel () {\n return safeConcatStrings([this.groupCountText, this.names]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n"],"names":["DtIconUsers","DtRecipeGeneralRow","safeConcatStrings","extractVueListeners","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode"],"mappings":";;;;;;;AA0BA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY;AAAA,iBACVA,KAAW;AAAA,IACX,oBAAAC,YAAkB;AAAA,EACnB;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAKL,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CACN;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAOC,aAAAA,kBAAkB,CAAC,KAAK,gBAAgB,KAAK,KAAK,CAAC;AAAA,IAC3D;AAAA,IAED,sBAAuB;AACrB,aAAOC,aAAmB,oBAAC,KAAK,MAAM;AAAA,IACvC;AAAA,EACF;AACH;;;;AApHE,SAAAC,cAAA,GAAAC,gBAiBwB,kCAjBxBC,IAAAA,WAiBwB;AAAA,IAhBrB,aAAa,OAAK;AAAA,IAClB,cAAY,SAAS;AAAA,IACrB,gBAAc,OAAW;AAAA,IACzB,eAAa,OAAU;AAAA,IACvB,wBAAsB,OAAkB;AAAA,IACxC,wBAAsB,OAAkB;AAAA,IACxC,UAAU,OAAQ;AAAA,IAClB,aAAW,OAAQ;AAAA,KACZ,KAAM,QACdC,IAAAA,WAAM,SAAmB,mBAAA,CAAA,GAAA;AAAA,IAEd,kBACT,MAEE;AAAA,MAFFC,IAAAA,YAEE,0BAAA,EADA,MAAK,MAAK,CAAA;AAAA;IAflB,GAAA;AAAA;;;;"}
@@ -33,6 +33,13 @@ const _sfc_main = {
33
33
  type: String,
34
34
  default: null
35
35
  },
36
+ /**
37
+ * Number of unread mention messages
38
+ */
39
+ unreadMentionCount: {
40
+ type: String,
41
+ default: null
42
+ },
36
43
  /**
37
44
  * Text shown when the unread count is hovered.
38
45
  */
@@ -81,6 +88,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
81
88
  "aria-label": $options.ariaLabel,
82
89
  "unread-count": $props.unreadCount,
83
90
  "has-unreads": $props.hasUnreads,
91
+ "unread-mention-count": $props.unreadMentionCount,
84
92
  "unread-count-tooltip": $props.unreadCountTooltip,
85
93
  selected: $props.selected,
86
94
  "is-typing": $props.isTyping
@@ -89,7 +97,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
89
97
  createVNode(_component_dt_icon_users, { size: "300" })
90
98
  ]),
91
99
  _: 1
92
- }, 16, ["description", "aria-label", "unread-count", "has-unreads", "unread-count-tooltip", "selected", "is-typing"]);
100
+ }, 16, ["description", "aria-label", "unread-count", "has-unreads", "unread-mention-count", "unread-count-tooltip", "selected", "is-typing"]);
93
101
  }
94
102
  const group_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
95
103
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"group_row.vue.js","sources":["../../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue3';\nimport { safeConcatStrings, extractVueListeners } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Screen reader will read out the number of users in the group using this text. Ex: \"2 users\"\n */\n groupCountText: {\n type: String,\n default: '',\n },\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\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 * Determines if the row is selected\n */\n selected: {\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 emits: [\n ],\n\n computed: {\n ariaLabel () {\n return safeConcatStrings([this.groupCountText, this.names]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode"],"mappings":";;;;;AAyBA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAKL,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CACN;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,kBAAkB,CAAC,KAAK,gBAAgB,KAAK,KAAK,CAAC;AAAA,IAC3D;AAAA,IAED,sBAAuB;AACrB,aAAO,oBAAoB,KAAK,MAAM;AAAA,IACvC;AAAA,EACF;AACH;;;;AA3GE,SAAAA,UAAA,GAAAC,YAgBwB,kCAhBxBC,WAgBwB;AAAA,IAfrB,aAAa,OAAK;AAAA,IAClB,cAAY,SAAS;AAAA,IACrB,gBAAc,OAAW;AAAA,IACzB,eAAa,OAAU;AAAA,IACvB,wBAAsB,OAAkB;AAAA,IACxC,UAAU,OAAQ;AAAA,IAClB,aAAW,OAAQ;AAAA,KACZ,KAAM,QACdC,WAAM,SAAmB,mBAAA,CAAA,GAAA;AAAA,IAEd,cACT,MAEE;AAAA,MAFFC,YAEE,0BAAA,EADA,MAAK,MAAK,CAAA;AAAA;IAdlB,GAAA;AAAA;;;"}
1
+ {"version":3,"file":"group_row.vue.js","sources":["../../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue3';\nimport { safeConcatStrings, extractVueListeners } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Screen reader will read out the number of users in the group using this text. Ex: \"2 users\"\n */\n groupCountText: {\n type: String,\n default: '',\n },\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\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 * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\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 * Determines if the row is selected\n */\n selected: {\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 emits: [\n ],\n\n computed: {\n ariaLabel () {\n return safeConcatStrings([this.groupCountText, this.names]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode"],"mappings":";;;;;AA0BA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAKL,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CACN;AAAA,EAED,UAAU;AAAA,IACR,YAAa;AACX,aAAO,kBAAkB,CAAC,KAAK,gBAAgB,KAAK,KAAK,CAAC;AAAA,IAC3D;AAAA,IAED,sBAAuB;AACrB,aAAO,oBAAoB,KAAK,MAAM;AAAA,IACvC;AAAA,EACF;AACH;;;;AApHE,SAAAA,UAAA,GAAAC,YAiBwB,kCAjBxBC,WAiBwB;AAAA,IAhBrB,aAAa,OAAK;AAAA,IAClB,cAAY,SAAS;AAAA,IACrB,gBAAc,OAAW;AAAA,IACzB,eAAa,OAAU;AAAA,IACvB,wBAAsB,OAAkB;AAAA,IACxC,wBAAsB,OAAkB;AAAA,IACxC,UAAU,OAAQ;AAAA,IAClB,aAAW,OAAQ;AAAA,KACZ,KAAM,QACdC,WAAM,SAAmB,mBAAA,CAAA,GAAA;AAAA,IAEd,cACT,MAEE;AAAA,MAFFC,YAEE,0BAAA,EADA,MAAK,MAAK,CAAA;AAAA;IAflB,GAAA;AAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tab_panel.vue.d.ts","sourceRoot":"","sources":["../../../../components/tab/tab_panel.vue"],"names":[],"mappings":"AAoBA;"}
1
+ {"version":3,"file":"tab_panel.vue.d.ts","sourceRoot":"","sources":["../../../../components/tab/tab_panel.vue"],"names":[],"mappings":"AAeA;"}
@@ -11,6 +11,10 @@ declare const _default: import('vue').DefineComponent<{
11
11
  type: StringConstructor;
12
12
  default: null;
13
13
  };
14
+ unreadMentionCount: {
15
+ type: StringConstructor;
16
+ default: null;
17
+ };
14
18
  unreadCountTooltip: {
15
19
  type: StringConstructor;
16
20
  default: null;
@@ -45,6 +49,10 @@ declare const _default: import('vue').DefineComponent<{
45
49
  type: StringConstructor;
46
50
  default: null;
47
51
  };
52
+ unreadMentionCount: {
53
+ type: StringConstructor;
54
+ default: null;
55
+ };
48
56
  unreadCountTooltip: {
49
57
  type: StringConstructor;
50
58
  default: null;
@@ -66,6 +74,7 @@ declare const _default: import('vue').DefineComponent<{
66
74
  unreadCount: string;
67
75
  unreadCountTooltip: string;
68
76
  hasUnreads: boolean;
77
+ unreadMentionCount: string;
69
78
  isTyping: boolean;
70
79
  groupCountText: string;
71
80
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"group_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/group_row/group_row.vue"],"names":[],"mappings":"AAmBA;"}
1
+ {"version":3,"file":"group_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/group_row/group_row.vue"],"names":[],"mappings":"AAoBA;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialpad/dialtone",
3
- "version": "9.104.2",
3
+ "version": "9.105.0",
4
4
  "description": "Dialpad's Dialtone design system monorepo",
5
5
  "files": [
6
6
  "dist"
@@ -77,8 +77,8 @@
77
77
  "regex-combined-emojis": "1.6.0",
78
78
  "tippy.js": "6.3.7",
79
79
  "@dialpad/dialtone-emojis": "1.1.0",
80
- "@dialpad/dialtone-icons": "4.34.1",
81
- "@dialpad/dialtone-tokens": "1.41.1"
80
+ "@dialpad/dialtone-tokens": "1.41.1",
81
+ "@dialpad/dialtone-icons": "4.34.1"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@commitlint/cli": "^18.4.3",