@dialpad/dialtone 9.107.1 → 9.107.2

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 (184) hide show
  1. package/dist/css/dialtone-default-theme.css +1 -0
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone.css +1 -0
  4. package/dist/css/dialtone.min.css +1 -1
  5. package/dist/tokens/doc.json +15744 -15744
  6. package/dist/vue3/common/config.cjs +8 -0
  7. package/dist/vue3/common/config.cjs.map +1 -0
  8. package/dist/vue3/common/config.js +9 -0
  9. package/dist/vue3/common/config.js.map +1 -0
  10. package/dist/vue3/common/mixins/keyboard_list_navigation.cjs +2 -1
  11. package/dist/vue3/common/mixins/keyboard_list_navigation.cjs.map +1 -1
  12. package/dist/vue3/common/mixins/keyboard_list_navigation.js +2 -1
  13. package/dist/vue3/common/mixins/keyboard_list_navigation.js.map +1 -1
  14. package/dist/vue3/common/mixins/modal.cjs +4 -2
  15. package/dist/vue3/common/mixins/modal.cjs.map +1 -1
  16. package/dist/vue3/common/mixins/modal.js +4 -2
  17. package/dist/vue3/common/mixins/modal.js.map +1 -1
  18. package/dist/vue3/common/utils.cjs +28 -0
  19. package/dist/vue3/common/utils.cjs.map +1 -1
  20. package/dist/vue3/common/utils.js +28 -0
  21. package/dist/vue3/common/utils.js.map +1 -1
  22. package/dist/vue3/components/avatar/avatar.vue.cjs +3 -1
  23. package/dist/vue3/components/avatar/avatar.vue.cjs.map +1 -1
  24. package/dist/vue3/components/avatar/avatar.vue.js +4 -2
  25. package/dist/vue3/components/avatar/avatar.vue.js.map +1 -1
  26. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.cjs +11 -6
  27. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.cjs.map +1 -1
  28. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.js +12 -7
  29. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.js.map +1 -1
  30. package/dist/vue3/components/checkbox/checkbox.vue.cjs +6 -3
  31. package/dist/vue3/components/checkbox/checkbox.vue.cjs.map +1 -1
  32. package/dist/vue3/components/checkbox/checkbox.vue.js +7 -4
  33. package/dist/vue3/components/checkbox/checkbox.vue.js.map +1 -1
  34. package/dist/vue3/components/datepicker/composables/useCalendar.cjs +9 -8
  35. package/dist/vue3/components/datepicker/composables/useCalendar.cjs.map +1 -1
  36. package/dist/vue3/components/datepicker/composables/useCalendar.js +9 -8
  37. package/dist/vue3/components/datepicker/composables/useCalendar.js.map +1 -1
  38. package/dist/vue3/components/datepicker/composables/useMonthYearPicker.cjs +6 -5
  39. package/dist/vue3/components/datepicker/composables/useMonthYearPicker.cjs.map +1 -1
  40. package/dist/vue3/components/datepicker/composables/useMonthYearPicker.js +6 -5
  41. package/dist/vue3/components/datepicker/composables/useMonthYearPicker.js.map +1 -1
  42. package/dist/vue3/components/datepicker/datepicker.vue.cjs +2 -2
  43. package/dist/vue3/components/datepicker/datepicker.vue.cjs.map +1 -1
  44. package/dist/vue3/components/datepicker/datepicker.vue.js +2 -2
  45. package/dist/vue3/components/datepicker/datepicker.vue.js.map +1 -1
  46. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs +2 -1
  47. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  48. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js +2 -1
  49. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  50. package/dist/vue3/components/image_viewer/image_viewer.vue.cjs +3 -2
  51. package/dist/vue3/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  52. package/dist/vue3/components/image_viewer/image_viewer.vue.js +3 -2
  53. package/dist/vue3/components/image_viewer/image_viewer.vue.js.map +1 -1
  54. package/dist/vue3/components/input/input.vue.cjs +8 -7
  55. package/dist/vue3/components/input/input.vue.cjs.map +1 -1
  56. package/dist/vue3/components/input/input.vue.js +10 -9
  57. package/dist/vue3/components/input/input.vue.js.map +1 -1
  58. package/dist/vue3/components/modal/modal.vue.cjs +2 -2
  59. package/dist/vue3/components/modal/modal.vue.cjs.map +1 -1
  60. package/dist/vue3/components/modal/modal.vue.js +3 -3
  61. package/dist/vue3/components/modal/modal.vue.js.map +1 -1
  62. package/dist/vue3/components/popover/popover.vue.cjs +7 -7
  63. package/dist/vue3/components/popover/popover.vue.cjs.map +1 -1
  64. package/dist/vue3/components/popover/popover.vue.js +8 -8
  65. package/dist/vue3/components/popover/popover.vue.js.map +1 -1
  66. package/dist/vue3/components/popover/popover_header_footer.vue.cjs +1 -1
  67. package/dist/vue3/components/popover/popover_header_footer.vue.cjs.map +1 -1
  68. package/dist/vue3/components/popover/popover_header_footer.vue.js +2 -2
  69. package/dist/vue3/components/popover/popover_header_footer.vue.js.map +1 -1
  70. package/dist/vue3/components/radio/radio.vue.cjs +5 -3
  71. package/dist/vue3/components/radio/radio.vue.cjs.map +1 -1
  72. package/dist/vue3/components/radio/radio.vue.js +7 -5
  73. package/dist/vue3/components/radio/radio.vue.js.map +1 -1
  74. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs +2 -2
  75. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
  76. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js +3 -3
  77. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
  78. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.cjs +4 -3
  79. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.cjs.map +1 -1
  80. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.js +4 -3
  81. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.js.map +1 -1
  82. package/dist/vue3/components/scroller/modules/scroller_item.vue.cjs +6 -5
  83. package/dist/vue3/components/scroller/modules/scroller_item.vue.cjs.map +1 -1
  84. package/dist/vue3/components/scroller/modules/scroller_item.vue.js +6 -5
  85. package/dist/vue3/components/scroller/modules/scroller_item.vue.js.map +1 -1
  86. package/dist/vue3/components/select_menu/select_menu.vue.cjs +5 -3
  87. package/dist/vue3/components/select_menu/select_menu.vue.cjs.map +1 -1
  88. package/dist/vue3/components/select_menu/select_menu.vue.js +7 -5
  89. package/dist/vue3/components/select_menu/select_menu.vue.js.map +1 -1
  90. package/dist/vue3/components/split_button/split_button.vue.cjs +5 -3
  91. package/dist/vue3/components/split_button/split_button.vue.cjs.map +1 -1
  92. package/dist/vue3/components/split_button/split_button.vue.js +6 -4
  93. package/dist/vue3/components/split_button/split_button.vue.js.map +1 -1
  94. package/dist/vue3/components/tab/tab_panel.vue.cjs +3 -2
  95. package/dist/vue3/components/tab/tab_panel.vue.cjs.map +1 -1
  96. package/dist/vue3/components/tab/tab_panel.vue.js +3 -2
  97. package/dist/vue3/components/tab/tab_panel.vue.js.map +1 -1
  98. package/dist/vue3/components/toggle/toggle.vue.cjs +10 -10
  99. package/dist/vue3/components/toggle/toggle.vue.cjs.map +1 -1
  100. package/dist/vue3/components/toggle/toggle.vue.js +11 -11
  101. package/dist/vue3/components/toggle/toggle.vue.js.map +1 -1
  102. package/dist/vue3/components/tooltip/tooltip.vue.cjs +3 -3
  103. package/dist/vue3/components/tooltip/tooltip.vue.cjs.map +1 -1
  104. package/dist/vue3/components/tooltip/tooltip.vue.js +4 -4
  105. package/dist/vue3/components/tooltip/tooltip.vue.js.map +1 -1
  106. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs +10 -5
  107. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs.map +1 -1
  108. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js +12 -7
  109. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js.map +1 -1
  110. package/dist/vue3/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.cjs +6 -5
  111. package/dist/vue3/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.cjs.map +1 -1
  112. package/dist/vue3/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.js +8 -7
  113. package/dist/vue3/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.js.map +1 -1
  114. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +6 -5
  115. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  116. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +8 -7
  117. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  118. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +2 -2
  119. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
  120. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +3 -3
  121. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
  122. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs +7 -5
  123. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  124. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js +8 -6
  125. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  126. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs +10 -6
  127. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  128. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js +11 -7
  129. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  130. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs +19 -19
  131. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  132. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js +20 -20
  133. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  134. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs +12 -10
  135. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs.map +1 -1
  136. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js +14 -12
  137. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js.map +1 -1
  138. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs +9 -10
  139. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  140. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js +11 -12
  141. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  142. package/dist/vue3/types/common/config/index.d.ts +3 -0
  143. package/dist/vue3/types/common/config/index.d.ts.map +1 -0
  144. package/dist/vue3/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  145. package/dist/vue3/types/common/mixins/modal.d.ts.map +1 -1
  146. package/dist/vue3/types/common/utils/index.d.ts +12 -0
  147. package/dist/vue3/types/common/utils/index.d.ts.map +1 -1
  148. package/dist/vue3/types/components/avatar/avatar.vue.d.ts.map +1 -1
  149. package/dist/vue3/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +5 -1
  150. package/dist/vue3/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  151. package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts +3 -0
  152. package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  153. package/dist/vue3/types/components/datepicker/composables/useCalendar.d.ts.map +1 -1
  154. package/dist/vue3/types/components/datepicker/composables/useMonthYearPicker.d.ts.map +1 -1
  155. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  156. package/dist/vue3/types/components/input/input.vue.d.ts +3 -1
  157. package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
  158. package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
  159. package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
  160. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  161. package/dist/vue3/types/components/radio/radio.vue.d.ts +3 -1
  162. package/dist/vue3/types/components/radio/radio.vue.d.ts.map +1 -1
  163. package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts +3 -1
  164. package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  165. package/dist/vue3/types/components/split_button/split_button.vue.d.ts +2 -0
  166. package/dist/vue3/types/components/toggle/toggle.vue.d.ts +3 -4
  167. package/dist/vue3/types/components/toggle/toggle.vue.d.ts.map +1 -1
  168. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  169. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +5 -1
  170. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  171. package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +3 -0
  172. package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  173. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +3 -0
  174. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  175. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +3 -0
  176. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  177. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +3 -0
  178. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  179. package/dist/vue3/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  180. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +3 -0
  181. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  182. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +3 -0
  183. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  184. package/package.json +4 -4
@@ -111,32 +111,28 @@ const _sfc_main = {
111
111
  }
112
112
  };
113
113
  const _hoisted_1 = {
114
- "data-qa": "dt-recipe-callbox",
115
- class: "d-recipe-callbox"
116
- };
117
- const _hoisted_2 = {
118
114
  key: 0,
119
115
  "data-qa": "dt-recipe-callbox__video-wrapper",
120
116
  class: "d-recipe-callbox__video"
121
117
  };
122
- const _hoisted_3 = { class: "d-recipe-callbox__main-content-top" };
123
- const _hoisted_4 = { class: "d-recipe-callbox__content" };
124
- const _hoisted_5 = {
118
+ const _hoisted_2 = { class: "d-recipe-callbox__main-content-top" };
119
+ const _hoisted_3 = { class: "d-recipe-callbox__content" };
120
+ const _hoisted_4 = {
125
121
  key: 0,
126
122
  "data-qa": "dt-recipe-callbox__badge-wrapper",
127
123
  class: "d-recipe-callbox__content-badge"
128
124
  };
129
- const _hoisted_6 = {
125
+ const _hoisted_5 = {
130
126
  key: 1,
131
127
  "data-qa": "dt-recipe-callbox__subtitle-wrapper",
132
128
  class: "d-recipe-callbox__content-subtitle"
133
129
  };
134
- const _hoisted_7 = {
130
+ const _hoisted_6 = {
135
131
  key: 1,
136
132
  "data-qa": "dt-recipe-callbox__right-wrapper",
137
133
  class: "d-recipe-callbox__right"
138
134
  };
139
- const _hoisted_8 = {
135
+ const _hoisted_7 = {
140
136
  key: 0,
141
137
  "data-qa": "dt-recipe-callbox__bottom-wrapper",
142
138
  class: "d-recipe-callbox__main-content-bottom"
@@ -145,15 +141,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
145
141
  const _component_dt_icon_pause = vue.resolveComponent("dt-icon-pause");
146
142
  const _component_dt_avatar = vue.resolveComponent("dt-avatar");
147
143
  const _component_dt_badge = vue.resolveComponent("dt-badge");
148
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
149
- _ctx.$slots.video ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
144
+ return vue.openBlock(), vue.createElementBlock("div", {
145
+ "data-qa": "dt-recipe-callbox",
146
+ class: vue.normalizeClass([_ctx.$attrs.class, "d-recipe-callbox"]),
147
+ style: vue.normalizeStyle(_ctx.$attrs.style)
148
+ }, [
149
+ _ctx.$slots.video ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
150
150
  vue.renderSlot(_ctx.$slots, "video")
151
151
  ])) : vue.createCommentVNode("", true),
152
152
  vue.createElementVNode("div", {
153
153
  "data-qa": "dt-recipe-callbox__main-content",
154
154
  class: vue.normalizeClass(["d-recipe-callbox__main-content", $options.borderClass, { "d-recipe-callbox--clickable": $props.clickable }])
155
155
  }, [
156
- vue.createElementVNode("div", _hoisted_3, [
156
+ vue.createElementVNode("div", _hoisted_2, [
157
157
  $options.shouldShowAvatar ? (vue.openBlock(), vue.createBlock(_component_dt_avatar, {
158
158
  key: 0,
159
159
  "avatar-class": "d-recipe-callbox__avatar",
@@ -173,7 +173,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
173
173
  key: "0"
174
174
  } : void 0
175
175
  ]), 1032, ["image-src", "full-name", "seed", "clickable", "onClick"])) : vue.createCommentVNode("", true),
176
- vue.createElementVNode("div", _hoisted_4, [
176
+ vue.createElementVNode("div", _hoisted_3, [
177
177
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.clickable ? "button" : "span"), {
178
178
  "data-qa": "dt-recipe-callbox__title",
179
179
  class: "d-recipe-callbox__content-title",
@@ -184,7 +184,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
184
184
  ]),
185
185
  _: 1
186
186
  }, 8, ["onClick"])),
187
- _ctx.$slots.badge || $props.badgeText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
187
+ _ctx.$slots.badge || $props.badgeText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
188
188
  vue.renderSlot(_ctx.$slots, "badge", {}, () => [
189
189
  vue.createVNode(_component_dt_badge, {
190
190
  class: vue.normalizeClass($options.badgeClass),
@@ -192,19 +192,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
192
192
  }, null, 8, ["class", "text"])
193
193
  ])
194
194
  ])) : vue.createCommentVNode("", true),
195
- _ctx.$slots.subtitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
195
+ _ctx.$slots.subtitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
196
196
  vue.renderSlot(_ctx.$slots, "subtitle")
197
197
  ])) : vue.createCommentVNode("", true)
198
198
  ]),
199
- _ctx.$slots.right ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
199
+ _ctx.$slots.right ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
200
200
  vue.renderSlot(_ctx.$slots, "right")
201
201
  ])) : vue.createCommentVNode("", true)
202
202
  ]),
203
- _ctx.$slots.bottom ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
203
+ _ctx.$slots.bottom ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
204
204
  vue.renderSlot(_ctx.$slots, "bottom")
205
205
  ])) : vue.createCommentVNode("", true)
206
206
  ], 2)
207
- ]);
207
+ ], 6);
208
208
  }
209
209
  const callbox = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
210
210
  exports.default = callbox;
@@ -1 +1 @@
1
- {"version":3,"file":"callbox.vue.cjs","sources":["../../../../recipes/leftbar/callbox/callbox.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-recipe-callbox\"\n class=\"d-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox__video-wrapper\"\n class=\"d-recipe-callbox__video\"\n >\n <!-- @slot Slot for video stream -->\n <slot name=\"video\" />\n </div>\n <div\n data-qa=\"dt-recipe-callbox__main-content\"\n :class=\"['d-recipe-callbox__main-content', borderClass, { 'd-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"d-recipe-callbox__main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"d-recipe-callbox__avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n size=\"sm\"\n @click=\"handleClick\"\n >\n <template\n v-if=\"isOnHold\"\n #overlayIcon\n >\n <dt-icon-pause />\n </template>\n </dt-avatar>\n <div class=\"d-recipe-callbox__content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox__title\"\n class=\"d-recipe-callbox__content-title\"\n @click=\"handleClick\"\n >\n {{ title }}\n </component>\n <div\n v-if=\"$slots.badge || badgeText\"\n data-qa=\"dt-recipe-callbox__badge-wrapper\"\n class=\"d-recipe-callbox__content-badge\"\n >\n <!-- @slot Slot for call center badge -->\n <slot name=\"badge\">\n <dt-badge\n :class=\"badgeClass\"\n :text=\"badgeText\"\n />\n </slot>\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-recipe-callbox__subtitle-wrapper\"\n class=\"d-recipe-callbox__content-subtitle\"\n >\n <!-- @slot Slot for subtitle -->\n <slot name=\"subtitle\" />\n </div>\n </div>\n <div\n v-if=\"$slots.right\"\n data-qa=\"dt-recipe-callbox__right-wrapper\"\n class=\"d-recipe-callbox__right\"\n >\n <!-- @slot Slot for right icons -->\n <slot name=\"right\" />\n </div>\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-recipe-callbox__bottom-wrapper\"\n class=\"d-recipe-callbox__main-content-bottom\"\n >\n <slot name=\"bottom\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from './callbox_constants';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport DtBadge from '@/components/badge/badge.vue';\nimport { DtIconPause } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar, DtIconPause },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Text for the badge element\n */\n badgeText: {\n type: String,\n default: '',\n },\n\n /**\n * Color for the badge element\n * @values null, warning\n */\n badgeColor: {\n type: String,\n default: null,\n validator: (color) => color === null || Object.keys(CALLBOX_BADGE_COLORS).includes(color),\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display if `avatarSrc` is empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox title\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(CALLBOX_BORDER_COLORS).includes(color),\n },\n\n /**\n * Makes the callbox avatar and title clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls the avatars overlay icon\n */\n isOnHold: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Callbox click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n shouldShowAvatar () {\n return this.avatarFullName || this.avatarSrc;\n },\n\n badgeClass () {\n return CALLBOX_BADGE_COLORS[this.badgeColor];\n },\n\n borderClass () {\n return CALLBOX_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["DtBadge","DtAvatar","DtIconPause","CALLBOX_BADGE_COLORS","CALLBOX_BORDER_COLORS","_openBlock","_createElementBlock","_renderSlot","_createCommentVNode","_createElementVNode","_normalizeClass","_createBlock","_createSlots","_withCtx","_createVNode","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"callbox.vue.cjs","sources":["../../../../recipes/leftbar/callbox/callbox.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-recipe-callbox\"\n :class=\"[$attrs.class, 'd-recipe-callbox']\"\n :style=\"$attrs.style\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox__video-wrapper\"\n class=\"d-recipe-callbox__video\"\n >\n <!-- @slot Slot for video stream -->\n <slot name=\"video\" />\n </div>\n <div\n data-qa=\"dt-recipe-callbox__main-content\"\n :class=\"['d-recipe-callbox__main-content', borderClass, { 'd-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"d-recipe-callbox__main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"d-recipe-callbox__avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n size=\"sm\"\n @click=\"handleClick\"\n >\n <template\n v-if=\"isOnHold\"\n #overlayIcon\n >\n <dt-icon-pause />\n </template>\n </dt-avatar>\n <div class=\"d-recipe-callbox__content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox__title\"\n class=\"d-recipe-callbox__content-title\"\n @click=\"handleClick\"\n >\n {{ title }}\n </component>\n <div\n v-if=\"$slots.badge || badgeText\"\n data-qa=\"dt-recipe-callbox__badge-wrapper\"\n class=\"d-recipe-callbox__content-badge\"\n >\n <!-- @slot Slot for call center badge -->\n <slot name=\"badge\">\n <dt-badge\n :class=\"badgeClass\"\n :text=\"badgeText\"\n />\n </slot>\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-recipe-callbox__subtitle-wrapper\"\n class=\"d-recipe-callbox__content-subtitle\"\n >\n <!-- @slot Slot for subtitle -->\n <slot name=\"subtitle\" />\n </div>\n </div>\n <div\n v-if=\"$slots.right\"\n data-qa=\"dt-recipe-callbox__right-wrapper\"\n class=\"d-recipe-callbox__right\"\n >\n <!-- @slot Slot for right icons -->\n <slot name=\"right\" />\n </div>\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-recipe-callbox__bottom-wrapper\"\n class=\"d-recipe-callbox__main-content-bottom\"\n >\n <slot name=\"bottom\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from './callbox_constants';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport DtBadge from '@/components/badge/badge.vue';\nimport { DtIconPause } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar, DtIconPause },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Text for the badge element\n */\n badgeText: {\n type: String,\n default: '',\n },\n\n /**\n * Color for the badge element\n * @values null, warning\n */\n badgeColor: {\n type: String,\n default: null,\n validator: (color) => color === null || Object.keys(CALLBOX_BADGE_COLORS).includes(color),\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display if `avatarSrc` is empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox title\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(CALLBOX_BORDER_COLORS).includes(color),\n },\n\n /**\n * Makes the callbox avatar and title clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls the avatars overlay icon\n */\n isOnHold: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Callbox click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n shouldShowAvatar () {\n return this.avatarFullName || this.avatarSrc;\n },\n\n badgeClass () {\n return CALLBOX_BADGE_COLORS[this.badgeColor];\n },\n\n borderClass () {\n return CALLBOX_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["DtBadge","DtAvatar","DtIconPause","CALLBOX_BADGE_COLORS","CALLBOX_BORDER_COLORS","_createElementBlock","_normalizeClass","_normalizeStyle","_openBlock","_renderSlot","_createCommentVNode","_createElementVNode","_createBlock","_createSlots","_withCtx","_createVNode","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from "./callbox_constants
2
2
  import DtAvatar from "../../../components/avatar/avatar.vue.js";
3
3
  import DtBadge from "../../../components/badge/badge.vue.js";
4
4
  import { DtIconPause } from "@dialpad/dialtone-icons/vue3";
5
- import { resolveComponent, openBlock, createElementBlock, renderSlot, createCommentVNode, createElementVNode, normalizeClass, createBlock, createSlots, withCtx, createVNode, resolveDynamicComponent, createTextVNode, toDisplayString } from "vue";
5
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createCommentVNode, createElementVNode, createBlock, createSlots, withCtx, createVNode, resolveDynamicComponent, createTextVNode, toDisplayString } from "vue";
6
6
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
7
7
  const _sfc_main = {
8
8
  compatConfig: { MODE: 3 },
@@ -109,32 +109,28 @@ const _sfc_main = {
109
109
  }
110
110
  };
111
111
  const _hoisted_1 = {
112
- "data-qa": "dt-recipe-callbox",
113
- class: "d-recipe-callbox"
114
- };
115
- const _hoisted_2 = {
116
112
  key: 0,
117
113
  "data-qa": "dt-recipe-callbox__video-wrapper",
118
114
  class: "d-recipe-callbox__video"
119
115
  };
120
- const _hoisted_3 = { class: "d-recipe-callbox__main-content-top" };
121
- const _hoisted_4 = { class: "d-recipe-callbox__content" };
122
- const _hoisted_5 = {
116
+ const _hoisted_2 = { class: "d-recipe-callbox__main-content-top" };
117
+ const _hoisted_3 = { class: "d-recipe-callbox__content" };
118
+ const _hoisted_4 = {
123
119
  key: 0,
124
120
  "data-qa": "dt-recipe-callbox__badge-wrapper",
125
121
  class: "d-recipe-callbox__content-badge"
126
122
  };
127
- const _hoisted_6 = {
123
+ const _hoisted_5 = {
128
124
  key: 1,
129
125
  "data-qa": "dt-recipe-callbox__subtitle-wrapper",
130
126
  class: "d-recipe-callbox__content-subtitle"
131
127
  };
132
- const _hoisted_7 = {
128
+ const _hoisted_6 = {
133
129
  key: 1,
134
130
  "data-qa": "dt-recipe-callbox__right-wrapper",
135
131
  class: "d-recipe-callbox__right"
136
132
  };
137
- const _hoisted_8 = {
133
+ const _hoisted_7 = {
138
134
  key: 0,
139
135
  "data-qa": "dt-recipe-callbox__bottom-wrapper",
140
136
  class: "d-recipe-callbox__main-content-bottom"
@@ -143,15 +139,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
143
139
  const _component_dt_icon_pause = resolveComponent("dt-icon-pause");
144
140
  const _component_dt_avatar = resolveComponent("dt-avatar");
145
141
  const _component_dt_badge = resolveComponent("dt-badge");
146
- return openBlock(), createElementBlock("div", _hoisted_1, [
147
- _ctx.$slots.video ? (openBlock(), createElementBlock("div", _hoisted_2, [
142
+ return openBlock(), createElementBlock("div", {
143
+ "data-qa": "dt-recipe-callbox",
144
+ class: normalizeClass([_ctx.$attrs.class, "d-recipe-callbox"]),
145
+ style: normalizeStyle(_ctx.$attrs.style)
146
+ }, [
147
+ _ctx.$slots.video ? (openBlock(), createElementBlock("div", _hoisted_1, [
148
148
  renderSlot(_ctx.$slots, "video")
149
149
  ])) : createCommentVNode("", true),
150
150
  createElementVNode("div", {
151
151
  "data-qa": "dt-recipe-callbox__main-content",
152
152
  class: normalizeClass(["d-recipe-callbox__main-content", $options.borderClass, { "d-recipe-callbox--clickable": $props.clickable }])
153
153
  }, [
154
- createElementVNode("div", _hoisted_3, [
154
+ createElementVNode("div", _hoisted_2, [
155
155
  $options.shouldShowAvatar ? (openBlock(), createBlock(_component_dt_avatar, {
156
156
  key: 0,
157
157
  "avatar-class": "d-recipe-callbox__avatar",
@@ -171,7 +171,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
171
171
  key: "0"
172
172
  } : void 0
173
173
  ]), 1032, ["image-src", "full-name", "seed", "clickable", "onClick"])) : createCommentVNode("", true),
174
- createElementVNode("div", _hoisted_4, [
174
+ createElementVNode("div", _hoisted_3, [
175
175
  (openBlock(), createBlock(resolveDynamicComponent($props.clickable ? "button" : "span"), {
176
176
  "data-qa": "dt-recipe-callbox__title",
177
177
  class: "d-recipe-callbox__content-title",
@@ -182,7 +182,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
182
182
  ]),
183
183
  _: 1
184
184
  }, 8, ["onClick"])),
185
- _ctx.$slots.badge || $props.badgeText ? (openBlock(), createElementBlock("div", _hoisted_5, [
185
+ _ctx.$slots.badge || $props.badgeText ? (openBlock(), createElementBlock("div", _hoisted_4, [
186
186
  renderSlot(_ctx.$slots, "badge", {}, () => [
187
187
  createVNode(_component_dt_badge, {
188
188
  class: normalizeClass($options.badgeClass),
@@ -190,19 +190,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
190
190
  }, null, 8, ["class", "text"])
191
191
  ])
192
192
  ])) : createCommentVNode("", true),
193
- _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", _hoisted_6, [
193
+ _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", _hoisted_5, [
194
194
  renderSlot(_ctx.$slots, "subtitle")
195
195
  ])) : createCommentVNode("", true)
196
196
  ]),
197
- _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_7, [
197
+ _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_6, [
198
198
  renderSlot(_ctx.$slots, "right")
199
199
  ])) : createCommentVNode("", true)
200
200
  ]),
201
- _ctx.$slots.bottom ? (openBlock(), createElementBlock("div", _hoisted_8, [
201
+ _ctx.$slots.bottom ? (openBlock(), createElementBlock("div", _hoisted_7, [
202
202
  renderSlot(_ctx.$slots, "bottom")
203
203
  ])) : createCommentVNode("", true)
204
204
  ], 2)
205
- ]);
205
+ ], 6);
206
206
  }
207
207
  const callbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
208
208
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"callbox.vue.js","sources":["../../../../recipes/leftbar/callbox/callbox.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-recipe-callbox\"\n class=\"d-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox__video-wrapper\"\n class=\"d-recipe-callbox__video\"\n >\n <!-- @slot Slot for video stream -->\n <slot name=\"video\" />\n </div>\n <div\n data-qa=\"dt-recipe-callbox__main-content\"\n :class=\"['d-recipe-callbox__main-content', borderClass, { 'd-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"d-recipe-callbox__main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"d-recipe-callbox__avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n size=\"sm\"\n @click=\"handleClick\"\n >\n <template\n v-if=\"isOnHold\"\n #overlayIcon\n >\n <dt-icon-pause />\n </template>\n </dt-avatar>\n <div class=\"d-recipe-callbox__content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox__title\"\n class=\"d-recipe-callbox__content-title\"\n @click=\"handleClick\"\n >\n {{ title }}\n </component>\n <div\n v-if=\"$slots.badge || badgeText\"\n data-qa=\"dt-recipe-callbox__badge-wrapper\"\n class=\"d-recipe-callbox__content-badge\"\n >\n <!-- @slot Slot for call center badge -->\n <slot name=\"badge\">\n <dt-badge\n :class=\"badgeClass\"\n :text=\"badgeText\"\n />\n </slot>\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-recipe-callbox__subtitle-wrapper\"\n class=\"d-recipe-callbox__content-subtitle\"\n >\n <!-- @slot Slot for subtitle -->\n <slot name=\"subtitle\" />\n </div>\n </div>\n <div\n v-if=\"$slots.right\"\n data-qa=\"dt-recipe-callbox__right-wrapper\"\n class=\"d-recipe-callbox__right\"\n >\n <!-- @slot Slot for right icons -->\n <slot name=\"right\" />\n </div>\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-recipe-callbox__bottom-wrapper\"\n class=\"d-recipe-callbox__main-content-bottom\"\n >\n <slot name=\"bottom\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from './callbox_constants';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport DtBadge from '@/components/badge/badge.vue';\nimport { DtIconPause } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar, DtIconPause },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Text for the badge element\n */\n badgeText: {\n type: String,\n default: '',\n },\n\n /**\n * Color for the badge element\n * @values null, warning\n */\n badgeColor: {\n type: String,\n default: null,\n validator: (color) => color === null || Object.keys(CALLBOX_BADGE_COLORS).includes(color),\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display if `avatarSrc` is empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox title\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(CALLBOX_BORDER_COLORS).includes(color),\n },\n\n /**\n * Makes the callbox avatar and title clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls the avatars overlay icon\n */\n isOnHold: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Callbox click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n shouldShowAvatar () {\n return this.avatarFullName || this.avatarSrc;\n },\n\n badgeClass () {\n return CALLBOX_BADGE_COLORS[this.badgeColor];\n },\n\n borderClass () {\n return CALLBOX_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createElementBlock","_renderSlot","_createCommentVNode","_createElementVNode","_normalizeClass","_createBlock","_createSlots","_withCtx","_createVNode","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"callbox.vue.js","sources":["../../../../recipes/leftbar/callbox/callbox.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-recipe-callbox\"\n :class=\"[$attrs.class, 'd-recipe-callbox']\"\n :style=\"$attrs.style\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox__video-wrapper\"\n class=\"d-recipe-callbox__video\"\n >\n <!-- @slot Slot for video stream -->\n <slot name=\"video\" />\n </div>\n <div\n data-qa=\"dt-recipe-callbox__main-content\"\n :class=\"['d-recipe-callbox__main-content', borderClass, { 'd-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"d-recipe-callbox__main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"d-recipe-callbox__avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n size=\"sm\"\n @click=\"handleClick\"\n >\n <template\n v-if=\"isOnHold\"\n #overlayIcon\n >\n <dt-icon-pause />\n </template>\n </dt-avatar>\n <div class=\"d-recipe-callbox__content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox__title\"\n class=\"d-recipe-callbox__content-title\"\n @click=\"handleClick\"\n >\n {{ title }}\n </component>\n <div\n v-if=\"$slots.badge || badgeText\"\n data-qa=\"dt-recipe-callbox__badge-wrapper\"\n class=\"d-recipe-callbox__content-badge\"\n >\n <!-- @slot Slot for call center badge -->\n <slot name=\"badge\">\n <dt-badge\n :class=\"badgeClass\"\n :text=\"badgeText\"\n />\n </slot>\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-recipe-callbox__subtitle-wrapper\"\n class=\"d-recipe-callbox__content-subtitle\"\n >\n <!-- @slot Slot for subtitle -->\n <slot name=\"subtitle\" />\n </div>\n </div>\n <div\n v-if=\"$slots.right\"\n data-qa=\"dt-recipe-callbox__right-wrapper\"\n class=\"d-recipe-callbox__right\"\n >\n <!-- @slot Slot for right icons -->\n <slot name=\"right\" />\n </div>\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-recipe-callbox__bottom-wrapper\"\n class=\"d-recipe-callbox__main-content-bottom\"\n >\n <slot name=\"bottom\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from './callbox_constants';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport DtBadge from '@/components/badge/badge.vue';\nimport { DtIconPause } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar, DtIconPause },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Text for the badge element\n */\n badgeText: {\n type: String,\n default: '',\n },\n\n /**\n * Color for the badge element\n * @values null, warning\n */\n badgeColor: {\n type: String,\n default: null,\n validator: (color) => color === null || Object.keys(CALLBOX_BADGE_COLORS).includes(color),\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display if `avatarSrc` is empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox title\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(CALLBOX_BORDER_COLORS).includes(color),\n },\n\n /**\n * Makes the callbox avatar and title clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls the avatars overlay icon\n */\n isOnHold: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Callbox click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n shouldShowAvatar () {\n return this.avatarFullName || this.avatarSrc;\n },\n\n badgeClass () {\n return CALLBOX_BADGE_COLORS[this.badgeColor];\n },\n\n borderClass () {\n return CALLBOX_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_openBlock","_renderSlot","_createCommentVNode","_createElementVNode","_createBlock","_createSlots","_withCtx","_createVNode","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -116,18 +116,20 @@ const _sfc_main = {
116
116
  },
117
117
  mounted() {
118
118
  this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);
119
- this.resizeObserver.observe(this.$el);
119
+ this.resizeObserver.observe(common_utils.returnFirstEl(this.$el));
120
120
  this.adjustLabelWidth();
121
121
  },
122
122
  beforeUnmount: function() {
123
123
  this.resizeObserver.disconnect();
124
124
  },
125
125
  methods: {
126
+ removeClassStyleAttrs: common_utils.removeClassStyleAttrs,
127
+ addClassStyleAttrs: common_utils.addClassStyleAttrs,
126
128
  adjustLabelWidth() {
127
129
  var _a, _b, _c, _d, _e, _f;
128
- const labelWidth = ((_b = (_a = this.$el) == null ? void 0 : _a.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : _b.clientWidth) || 0;
129
- const omegaWidth = ((_d = (_c = this.$el) == null ? void 0 : _c.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : _d.clientWidth) || 0;
130
- const alphaWidth = ((_f = (_e = this.$el) == null ? void 0 : _e.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : _f.clientWidth) || 0;
130
+ const labelWidth = ((_b = (_a = common_utils.returnFirstEl(this.$el)) == null ? void 0 : _a.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : _b.clientWidth) || 0;
131
+ const omegaWidth = ((_d = (_c = common_utils.returnFirstEl(this.$el)) == null ? void 0 : _c.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : _d.clientWidth) || 0;
132
+ const alphaWidth = ((_f = (_e = common_utils.returnFirstEl(this.$el)) == null ? void 0 : _e.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : _f.clientWidth) || 0;
131
133
  const paddings = 12;
132
134
  this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + "px";
133
135
  }
@@ -147,12 +149,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
147
149
  const _component_dt_badge = vue.resolveComponent("dt-badge");
148
150
  const _component_dt_icon_chevron_down = vue.resolveComponent("dt-icon-chevron-down");
149
151
  const _component_dt_button = vue.resolveComponent("dt-button");
150
- return vue.openBlock(), vue.createElementBlock("div", {
151
- class: vue.normalizeClass([
152
+ return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
153
+ class: [
152
154
  "d-recipe-leftbar-row__container",
153
155
  { "d-recipe-leftbar-row__container--off-duty": _ctx.$slots.timer }
154
- ])
155
- }, [
156
+ ]
157
+ }, $options.addClassStyleAttrs(_ctx.$attrs)), [
156
158
  vue.createElementVNode("div", {
157
159
  class: vue.normalizeClass($options.leftbarContactCentersRowClasses),
158
160
  "data-qa": "dt-recipe-contact-centers-row"
@@ -163,7 +165,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
163
165
  "aria-label": $options.getAriaLabel,
164
166
  title: $props.description,
165
167
  href: _ctx.$attrs.href ?? "javascript:void(0)"
166
- }, _ctx.$attrs, vue.toHandlers($options.contactRowListeners, true), {
168
+ }, $options.removeClassStyleAttrs(_ctx.$attrs), vue.toHandlers($options.contactRowListeners, true), {
167
169
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
168
170
  }), [
169
171
  vue.createElementVNode("div", _hoisted_2, [
@@ -223,7 +225,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
223
225
  vue.createElementVNode("div", _hoisted_5, [
224
226
  vue.renderSlot(_ctx.$slots, "timer")
225
227
  ])
226
- ], 2);
228
+ ], 16);
227
229
  }
228
230
  const contact_centers_row = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
229
231
  exports.default = contact_centers_row;
@@ -1 +1 @@
1
- {"version":3,"file":"contact_centers_row.vue.cjs","sources":["../../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["DtButton","DtBadge","DtEmojiTextWrapper","safeConcatStrings","extractVueListeners","_createElementBlock","_normalizeClass","_createElementVNode","_mergeProps","_toHandlers","_createVNode","_normalizeStyle","_withCtx","_createTextVNode","_toDisplayString","_openBlock","_renderSlot","_createBlock","_createCommentVNode","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"contact_centers_row.vue.cjs","sources":["../../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\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 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 = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["DtButton","DtBadge","DtEmojiTextWrapper","safeConcatStrings","extractVueListeners","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_normalizeClass","_toHandlers","_createVNode","_normalizeStyle","_withCtx","_createTextVNode","_toDisplayString","_renderSlot","_createBlock","_createCommentVNode","_withModifiers"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { safeConcatStrings, extractVueListeners } from "../../../common/utils.js";
1
+ import { safeConcatStrings, extractVueListeners, returnFirstEl, removeClassStyleAttrs, addClassStyleAttrs } from "../../../common/utils.js";
2
2
  import DtEmojiTextWrapper from "../../../components/emoji_text_wrapper/emoji_text_wrapper.vue.js";
3
3
  import DtIconChevronDown from "@dialpad/dialtone-icons/vue3/chevron-down";
4
4
  import DtIconHeadphones from "@dialpad/dialtone-icons/vue3/headphones";
5
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, toHandlers, createVNode, normalizeStyle, withCtx, createTextVNode, toDisplayString, renderSlot, createBlock, createCommentVNode, withModifiers } from "vue";
5
+ import { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, toHandlers, createVNode, normalizeStyle, withCtx, createTextVNode, toDisplayString, renderSlot, createBlock, createCommentVNode, withModifiers } from "vue";
6
6
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
7
7
  import DtButton from "../../../components/button/button.vue.js";
8
8
  import DtBadge from "../../../components/badge/badge.vue.js";
@@ -114,18 +114,20 @@ const _sfc_main = {
114
114
  },
115
115
  mounted() {
116
116
  this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);
117
- this.resizeObserver.observe(this.$el);
117
+ this.resizeObserver.observe(returnFirstEl(this.$el));
118
118
  this.adjustLabelWidth();
119
119
  },
120
120
  beforeUnmount: function() {
121
121
  this.resizeObserver.disconnect();
122
122
  },
123
123
  methods: {
124
+ removeClassStyleAttrs,
125
+ addClassStyleAttrs,
124
126
  adjustLabelWidth() {
125
127
  var _a, _b, _c, _d, _e, _f;
126
- const labelWidth = ((_b = (_a = this.$el) == null ? void 0 : _a.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : _b.clientWidth) || 0;
127
- const omegaWidth = ((_d = (_c = this.$el) == null ? void 0 : _c.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : _d.clientWidth) || 0;
128
- const alphaWidth = ((_f = (_e = this.$el) == null ? void 0 : _e.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : _f.clientWidth) || 0;
128
+ const labelWidth = ((_b = (_a = returnFirstEl(this.$el)) == null ? void 0 : _a.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : _b.clientWidth) || 0;
129
+ const omegaWidth = ((_d = (_c = returnFirstEl(this.$el)) == null ? void 0 : _c.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : _d.clientWidth) || 0;
130
+ const alphaWidth = ((_f = (_e = returnFirstEl(this.$el)) == null ? void 0 : _e.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : _f.clientWidth) || 0;
129
131
  const paddings = 12;
130
132
  this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + "px";
131
133
  }
@@ -145,12 +147,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
145
147
  const _component_dt_badge = resolveComponent("dt-badge");
146
148
  const _component_dt_icon_chevron_down = resolveComponent("dt-icon-chevron-down");
147
149
  const _component_dt_button = resolveComponent("dt-button");
148
- return openBlock(), createElementBlock("div", {
149
- class: normalizeClass([
150
+ return openBlock(), createElementBlock("div", mergeProps({
151
+ class: [
150
152
  "d-recipe-leftbar-row__container",
151
153
  { "d-recipe-leftbar-row__container--off-duty": _ctx.$slots.timer }
152
- ])
153
- }, [
154
+ ]
155
+ }, $options.addClassStyleAttrs(_ctx.$attrs)), [
154
156
  createElementVNode("div", {
155
157
  class: normalizeClass($options.leftbarContactCentersRowClasses),
156
158
  "data-qa": "dt-recipe-contact-centers-row"
@@ -161,7 +163,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
161
163
  "aria-label": $options.getAriaLabel,
162
164
  title: $props.description,
163
165
  href: _ctx.$attrs.href ?? "javascript:void(0)"
164
- }, _ctx.$attrs, toHandlers($options.contactRowListeners, true), {
166
+ }, $options.removeClassStyleAttrs(_ctx.$attrs), toHandlers($options.contactRowListeners, true), {
165
167
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
166
168
  }), [
167
169
  createElementVNode("div", _hoisted_2, [
@@ -221,7 +223,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
221
223
  createElementVNode("div", _hoisted_5, [
222
224
  renderSlot(_ctx.$slots, "timer")
223
225
  ])
224
- ], 2);
226
+ ], 16);
225
227
  }
226
228
  const contact_centers_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
227
229
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"contact_centers_row.vue.js","sources":["../../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_mergeProps","_toHandlers","_createVNode","_normalizeStyle","_withCtx","_createTextVNode","_toDisplayString","_openBlock","_renderSlot","_createBlock","_createCommentVNode","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"contact_centers_row.vue.js","sources":["../../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\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 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 = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_normalizeClass","_toHandlers","_createVNode","_normalizeStyle","_withCtx","_createTextVNode","_toDisplayString","_renderSlot","_createBlock","_createCommentVNode","_withModifiers"],"mappings":"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"}