@dialpad/dialtone 9.72.3 → 9.73.0-beta.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 (440) hide show
  1. package/dist/css/dialtone-default-theme.css +635 -48
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone.css +263 -24
  4. package/dist/css/dialtone.min.css +1 -1
  5. package/dist/tokens/doc.json +10888 -10888
  6. package/dist/vue2/common/sr_only_close_button.vue.cjs +3 -3
  7. package/dist/vue2/common/sr_only_close_button.vue.cjs.map +1 -1
  8. package/dist/vue2/common/sr_only_close_button.vue.js +3 -3
  9. package/dist/vue2/common/sr_only_close_button.vue.js.map +1 -1
  10. package/dist/vue2/component-documentation.json +1 -1
  11. package/dist/vue2/components/avatar/avatar.vue.cjs +13 -24
  12. package/dist/vue2/components/avatar/avatar.vue.cjs.map +1 -1
  13. package/dist/vue2/components/avatar/avatar.vue.js +13 -24
  14. package/dist/vue2/components/avatar/avatar.vue.js.map +1 -1
  15. package/dist/vue2/components/badge/badge.vue.cjs +13 -34
  16. package/dist/vue2/components/badge/badge.vue.cjs.map +1 -1
  17. package/dist/vue2/components/badge/badge.vue.js +13 -34
  18. package/dist/vue2/components/badge/badge.vue.js.map +1 -1
  19. package/dist/vue2/components/chip/chip.vue.cjs +4 -4
  20. package/dist/vue2/components/chip/chip.vue.cjs.map +1 -1
  21. package/dist/vue2/components/chip/chip.vue.js +4 -4
  22. package/dist/vue2/components/chip/chip.vue.js.map +1 -1
  23. package/dist/vue2/components/collapsible/collapsible.vue.cjs +4 -3
  24. package/dist/vue2/components/collapsible/collapsible.vue.cjs.map +1 -1
  25. package/dist/vue2/components/collapsible/collapsible.vue.js +4 -3
  26. package/dist/vue2/components/collapsible/collapsible.vue.js.map +1 -1
  27. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.cjs +14 -6
  28. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
  29. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.js +14 -6
  30. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
  31. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs +6 -5
  32. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
  33. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js +6 -5
  34. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
  35. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs +23 -14
  36. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  37. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js +23 -14
  38. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  39. package/dist/vue2/components/empty_state/empty_state.vue.cjs +20 -80
  40. package/dist/vue2/components/empty_state/empty_state.vue.cjs.map +1 -1
  41. package/dist/vue2/components/empty_state/empty_state.vue.js +21 -81
  42. package/dist/vue2/components/empty_state/empty_state.vue.js.map +1 -1
  43. package/dist/vue2/components/empty_state/empty_state_constants.cjs +18 -0
  44. package/dist/vue2/components/empty_state/empty_state_constants.cjs.map +1 -1
  45. package/dist/vue2/components/empty_state/empty_state_constants.js +18 -0
  46. package/dist/vue2/components/empty_state/empty_state_constants.js.map +1 -1
  47. package/dist/vue2/components/icon/icon.vue.cjs +2 -2
  48. package/dist/vue2/components/icon/icon.vue.js +2 -2
  49. package/dist/vue2/components/illustration/illustration.vue.cjs +2 -2
  50. package/dist/vue2/components/illustration/illustration.vue.js +2 -2
  51. package/dist/vue2/components/image_viewer/image_viewer.vue.cjs +4 -4
  52. package/dist/vue2/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  53. package/dist/vue2/components/image_viewer/image_viewer.vue.js +4 -4
  54. package/dist/vue2/components/image_viewer/image_viewer.vue.js.map +1 -1
  55. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +24 -9
  56. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  57. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.js +22 -7
  58. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  59. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut_constants.cjs +8 -14
  60. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut_constants.cjs.map +1 -1
  61. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut_constants.js +9 -15
  62. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut_constants.js.map +1 -1
  63. package/dist/vue2/components/list_item/list_item.vue.cjs +3 -3
  64. package/dist/vue2/components/list_item/list_item.vue.cjs.map +1 -1
  65. package/dist/vue2/components/list_item/list_item.vue.js +3 -3
  66. package/dist/vue2/components/list_item/list_item.vue.js.map +1 -1
  67. package/dist/vue2/components/modal/modal.vue.cjs +4 -4
  68. package/dist/vue2/components/modal/modal.vue.cjs.map +1 -1
  69. package/dist/vue2/components/modal/modal.vue.js +4 -4
  70. package/dist/vue2/components/modal/modal.vue.js.map +1 -1
  71. package/dist/vue2/components/notice/notice_action.vue.cjs +4 -4
  72. package/dist/vue2/components/notice/notice_action.vue.cjs.map +1 -1
  73. package/dist/vue2/components/notice/notice_action.vue.js +4 -4
  74. package/dist/vue2/components/notice/notice_action.vue.js.map +1 -1
  75. package/dist/vue2/components/notice/notice_icon.vue.cjs +12 -8
  76. package/dist/vue2/components/notice/notice_icon.vue.cjs.map +1 -1
  77. package/dist/vue2/components/notice/notice_icon.vue.js +12 -8
  78. package/dist/vue2/components/notice/notice_icon.vue.js.map +1 -1
  79. package/dist/vue2/components/pagination/pagination.vue.cjs +11 -5
  80. package/dist/vue2/components/pagination/pagination.vue.cjs.map +1 -1
  81. package/dist/vue2/components/pagination/pagination.vue.js +11 -5
  82. package/dist/vue2/components/pagination/pagination.vue.js.map +1 -1
  83. package/dist/vue2/components/popover/popover_header_footer.vue.cjs +4 -4
  84. package/dist/vue2/components/popover/popover_header_footer.vue.cjs.map +1 -1
  85. package/dist/vue2/components/popover/popover_header_footer.vue.js +4 -4
  86. package/dist/vue2/components/popover/popover_header_footer.vue.js.map +1 -1
  87. package/dist/vue2/dialtone-vue.cjs +0 -3
  88. package/dist/vue2/dialtone-vue.cjs.map +1 -1
  89. package/dist/vue2/dialtone-vue.js +2 -5
  90. package/dist/vue2/lib/general-row.cjs +0 -1
  91. package/dist/vue2/lib/general-row.cjs.map +1 -1
  92. package/dist/vue2/lib/general-row.js +1 -2
  93. package/dist/vue2/lib/keyboard-shortcut.cjs +0 -2
  94. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  95. package/dist/vue2/lib/keyboard-shortcut.js +2 -4
  96. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +5 -5
  97. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  98. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +5 -5
  99. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  100. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.cjs +25 -5
  101. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  102. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.js +26 -6
  103. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  104. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +5 -4
  105. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  106. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +5 -4
  107. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  108. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +3 -3
  109. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  110. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +3 -3
  111. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  112. package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs +35 -22
  113. package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  114. package/dist/vue2/recipes/conversation_view/editor/editor.vue.js +35 -22
  115. package/dist/vue2/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  116. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +7 -6
  117. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
  118. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +7 -6
  119. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
  120. package/dist/vue2/recipes/conversation_view/feed_pill/feed_item_pill.vue.cjs +9 -17
  121. package/dist/vue2/recipes/conversation_view/feed_pill/feed_item_pill.vue.cjs.map +1 -1
  122. package/dist/vue2/recipes/conversation_view/feed_pill/feed_item_pill.vue.js +9 -17
  123. package/dist/vue2/recipes/conversation_view/feed_pill/feed_item_pill.vue.js.map +1 -1
  124. package/dist/vue2/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs +6 -5
  125. package/dist/vue2/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  126. package/dist/vue2/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js +6 -5
  127. package/dist/vue2/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
  128. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs +22 -11
  129. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  130. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js +22 -11
  131. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  132. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +6 -6
  133. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  134. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.js +6 -6
  135. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  136. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs +14 -10
  137. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
  138. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js +14 -10
  139. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
  140. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.cjs +6 -3
  141. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  142. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.js +6 -3
  143. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  144. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.cjs +6 -5
  145. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
  146. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.js +6 -5
  147. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
  148. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.cjs +8 -7
  149. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  150. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.js +8 -7
  151. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  152. package/dist/vue2/recipes/leftbar/general_row/general_row_constants.cjs +0 -17
  153. package/dist/vue2/recipes/leftbar/general_row/general_row_constants.cjs.map +1 -1
  154. package/dist/vue2/recipes/leftbar/general_row/general_row_constants.js +0 -17
  155. package/dist/vue2/recipes/leftbar/general_row/general_row_constants.js.map +1 -1
  156. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +36 -4
  157. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  158. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +37 -5
  159. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  160. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs +3 -3
  161. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  162. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js +3 -3
  163. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  164. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.cjs +4 -3
  165. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  166. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.js +4 -3
  167. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  168. package/dist/vue2/style.css +127 -124
  169. package/dist/vue2/types/components/avatar/avatar.vue.d.ts +4 -34
  170. package/dist/vue2/types/components/avatar/avatar.vue.d.ts.map +1 -1
  171. package/dist/vue2/types/components/badge/badge.vue.d.ts +16 -45
  172. package/dist/vue2/types/components/badge/badge.vue.d.ts.map +1 -1
  173. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  174. package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +1 -1
  175. package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  176. package/dist/vue2/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +1 -67
  177. package/dist/vue2/types/components/empty_state/empty_state_constants.d.ts +27 -0
  178. package/dist/vue2/types/components/keyboard_shortcut/index.d.ts +1 -1
  179. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +7 -15
  180. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  181. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts +0 -11
  182. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +1 -1
  183. package/dist/vue2/types/components/modal/modal.vue.d.ts +4 -6
  184. package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
  185. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +5 -4
  186. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  187. package/dist/vue2/types/components/notice/notice_icon.vue.d.ts +1 -1
  188. package/dist/vue2/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  189. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  190. package/dist/vue2/types/components/split_button/split_button-omega.vue.d.ts +1 -1
  191. package/dist/vue2/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  192. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
  193. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  194. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  195. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +8 -8
  196. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  197. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +0 -1
  198. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  199. package/dist/vue2/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts +2 -16
  200. package/dist/vue2/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts.map +1 -1
  201. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +4 -6
  202. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  203. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +3 -16
  204. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  205. package/dist/vue2/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  206. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +0 -1
  207. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  208. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
  209. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  210. package/dist/vue2/types/recipes/leftbar/general_row/general_row_constants.d.ts +0 -6
  211. package/dist/vue2/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  212. package/dist/vue2/types/recipes/leftbar/general_row/index.d.ts +1 -1
  213. package/dist/vue2/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
  214. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  215. package/dist/vue3/common/sr_only_close_button.vue.cjs +4 -4
  216. package/dist/vue3/common/sr_only_close_button.vue.cjs.map +1 -1
  217. package/dist/vue3/common/sr_only_close_button.vue.js +4 -4
  218. package/dist/vue3/common/sr_only_close_button.vue.js.map +1 -1
  219. package/dist/vue3/component-documentation.json +1 -1
  220. package/dist/vue3/components/avatar/avatar.vue.cjs +30 -41
  221. package/dist/vue3/components/avatar/avatar.vue.cjs.map +1 -1
  222. package/dist/vue3/components/avatar/avatar.vue.js +32 -43
  223. package/dist/vue3/components/avatar/avatar.vue.js.map +1 -1
  224. package/dist/vue3/components/badge/badge.vue.cjs +22 -39
  225. package/dist/vue3/components/badge/badge.vue.cjs.map +1 -1
  226. package/dist/vue3/components/badge/badge.vue.js +23 -40
  227. package/dist/vue3/components/badge/badge.vue.js.map +1 -1
  228. package/dist/vue3/components/chip/chip.vue.cjs +4 -7
  229. package/dist/vue3/components/chip/chip.vue.cjs.map +1 -1
  230. package/dist/vue3/components/chip/chip.vue.js +4 -7
  231. package/dist/vue3/components/chip/chip.vue.js.map +1 -1
  232. package/dist/vue3/components/collapsible/collapsible.vue.cjs +12 -6
  233. package/dist/vue3/components/collapsible/collapsible.vue.cjs.map +1 -1
  234. package/dist/vue3/components/collapsible/collapsible.vue.js +12 -6
  235. package/dist/vue3/components/collapsible/collapsible.vue.js.map +1 -1
  236. package/dist/vue3/components/datepicker/modules/month-year-picker.vue.cjs +5 -17
  237. package/dist/vue3/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
  238. package/dist/vue3/components/datepicker/modules/month-year-picker.vue.js +5 -17
  239. package/dist/vue3/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
  240. package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.cjs +4 -9
  241. package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
  242. package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.js +5 -10
  243. package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
  244. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs +11 -14
  245. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  246. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js +12 -15
  247. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  248. package/dist/vue3/components/empty_state/empty_state.vue.cjs +19 -92
  249. package/dist/vue3/components/empty_state/empty_state.vue.cjs.map +1 -1
  250. package/dist/vue3/components/empty_state/empty_state.vue.js +20 -93
  251. package/dist/vue3/components/empty_state/empty_state.vue.js.map +1 -1
  252. package/dist/vue3/components/empty_state/empty_state_constants.cjs +18 -0
  253. package/dist/vue3/components/empty_state/empty_state_constants.cjs.map +1 -1
  254. package/dist/vue3/components/empty_state/empty_state_constants.js +18 -0
  255. package/dist/vue3/components/empty_state/empty_state_constants.js.map +1 -1
  256. package/dist/vue3/components/icon/icon.vue.cjs +2 -2
  257. package/dist/vue3/components/icon/icon.vue.js +2 -2
  258. package/dist/vue3/components/illustration/illustration.vue.cjs +2 -2
  259. package/dist/vue3/components/illustration/illustration.vue.js +2 -2
  260. package/dist/vue3/components/image_viewer/image_viewer.vue.cjs +4 -5
  261. package/dist/vue3/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  262. package/dist/vue3/components/image_viewer/image_viewer.vue.js +4 -5
  263. package/dist/vue3/components/image_viewer/image_viewer.vue.js.map +1 -1
  264. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +24 -11
  265. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  266. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js +23 -10
  267. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  268. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut_constants.cjs +8 -14
  269. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut_constants.cjs.map +1 -1
  270. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut_constants.js +9 -15
  271. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut_constants.js.map +1 -1
  272. package/dist/vue3/components/list_item/list_item.vue.cjs +4 -5
  273. package/dist/vue3/components/list_item/list_item.vue.cjs.map +1 -1
  274. package/dist/vue3/components/list_item/list_item.vue.js +4 -5
  275. package/dist/vue3/components/list_item/list_item.vue.js.map +1 -1
  276. package/dist/vue3/components/modal/modal.vue.cjs +4 -7
  277. package/dist/vue3/components/modal/modal.vue.cjs.map +1 -1
  278. package/dist/vue3/components/modal/modal.vue.js +4 -7
  279. package/dist/vue3/components/modal/modal.vue.js.map +1 -1
  280. package/dist/vue3/components/notice/notice_action.vue.cjs +4 -7
  281. package/dist/vue3/components/notice/notice_action.vue.cjs.map +1 -1
  282. package/dist/vue3/components/notice/notice_action.vue.js +4 -7
  283. package/dist/vue3/components/notice/notice_action.vue.js.map +1 -1
  284. package/dist/vue3/components/notice/notice_icon.vue.cjs +12 -12
  285. package/dist/vue3/components/notice/notice_icon.vue.cjs.map +1 -1
  286. package/dist/vue3/components/notice/notice_icon.vue.js +13 -13
  287. package/dist/vue3/components/notice/notice_icon.vue.js.map +1 -1
  288. package/dist/vue3/components/pagination/pagination.vue.cjs +10 -15
  289. package/dist/vue3/components/pagination/pagination.vue.cjs.map +1 -1
  290. package/dist/vue3/components/pagination/pagination.vue.js +10 -15
  291. package/dist/vue3/components/pagination/pagination.vue.js.map +1 -1
  292. package/dist/vue3/components/popover/popover_header_footer.vue.cjs +4 -7
  293. package/dist/vue3/components/popover/popover_header_footer.vue.cjs.map +1 -1
  294. package/dist/vue3/components/popover/popover_header_footer.vue.js +4 -7
  295. package/dist/vue3/components/popover/popover_header_footer.vue.js.map +1 -1
  296. package/dist/vue3/dialtone-vue.cjs +0 -3
  297. package/dist/vue3/dialtone-vue.cjs.map +1 -1
  298. package/dist/vue3/dialtone-vue.js +2 -5
  299. package/dist/vue3/lib/general-row.cjs +0 -1
  300. package/dist/vue3/lib/general-row.cjs.map +1 -1
  301. package/dist/vue3/lib/general-row.js +1 -2
  302. package/dist/vue3/lib/keyboard-shortcut.cjs +0 -2
  303. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  304. package/dist/vue3/lib/keyboard-shortcut.js +2 -4
  305. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +4 -5
  306. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  307. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +4 -5
  308. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  309. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs +27 -11
  310. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  311. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js +29 -13
  312. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  313. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +7 -11
  314. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  315. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +7 -11
  316. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  317. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +4 -7
  318. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  319. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +4 -7
  320. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  321. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs +33 -25
  322. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  323. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js +34 -26
  324. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  325. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +14 -7
  326. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
  327. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +15 -8
  328. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
  329. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.cjs +23 -25
  330. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.cjs.map +1 -1
  331. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.js +24 -26
  332. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.js.map +1 -1
  333. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs +8 -12
  334. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  335. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js +8 -12
  336. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
  337. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs +29 -18
  338. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  339. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js +29 -18
  340. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  341. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +6 -12
  342. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  343. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js +6 -12
  344. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  345. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs +33 -13
  346. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
  347. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js +34 -14
  348. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
  349. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs +13 -4
  350. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  351. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js +14 -5
  352. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  353. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs +13 -7
  354. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
  355. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js +14 -8
  356. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
  357. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs +9 -13
  358. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  359. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js +9 -13
  360. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  361. package/dist/vue3/recipes/leftbar/general_row/general_row_constants.cjs +0 -17
  362. package/dist/vue3/recipes/leftbar/general_row/general_row_constants.cjs.map +1 -1
  363. package/dist/vue3/recipes/leftbar/general_row/general_row_constants.js +0 -17
  364. package/dist/vue3/recipes/leftbar/general_row/general_row_constants.js.map +1 -1
  365. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +39 -11
  366. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  367. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +41 -13
  368. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  369. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs +4 -7
  370. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  371. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js +4 -7
  372. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  373. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs +11 -6
  374. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  375. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js +12 -7
  376. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  377. package/dist/vue3/style.css +127 -124
  378. package/dist/vue3/types/components/avatar/avatar.vue.d.ts +5 -33
  379. package/dist/vue3/types/components/avatar/avatar.vue.d.ts.map +1 -1
  380. package/dist/vue3/types/components/badge/badge.vue.d.ts +17 -34
  381. package/dist/vue3/types/components/badge/badge.vue.d.ts.map +1 -1
  382. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  383. package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +1 -1
  384. package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  385. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  386. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts +4 -0
  387. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  388. package/dist/vue3/types/components/empty_state/empty_state_constants.d.ts +27 -0
  389. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  390. package/dist/vue3/types/components/keyboard_shortcut/index.d.ts +1 -1
  391. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +210 -15
  392. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  393. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts +0 -11
  394. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +1 -1
  395. package/dist/vue3/types/components/list_item/list_item.vue.d.ts +2 -8
  396. package/dist/vue3/types/components/list_item/list_item.vue.d.ts.map +1 -1
  397. package/dist/vue3/types/components/notice/notice_action.vue.d.ts +5 -4
  398. package/dist/vue3/types/components/notice/notice_action.vue.d.ts.map +1 -1
  399. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts +30 -1
  400. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  401. package/dist/vue3/types/components/pagination/pagination.vue.d.ts.map +1 -1
  402. package/dist/vue3/types/components/split_button/split_button-omega.vue.d.ts +1 -1
  403. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  404. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
  405. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +30 -1
  406. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  407. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  408. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +240 -8
  409. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  410. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +0 -1
  411. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  412. package/dist/vue3/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts +31 -16
  413. package/dist/vue3/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts.map +1 -1
  414. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +4 -6
  415. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  416. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +3 -16
  417. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  418. package/dist/vue3/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  419. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +0 -1
  420. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  421. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
  422. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  423. package/dist/vue3/types/recipes/leftbar/general_row/general_row_constants.d.ts +0 -6
  424. package/dist/vue3/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  425. package/dist/vue3/types/recipes/leftbar/general_row/index.d.ts +1 -1
  426. package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +30 -1
  427. package/dist/vue3/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  428. package/package.json +3 -3
  429. package/dist/vue2/common/storybook_utils.cjs +0 -8
  430. package/dist/vue2/common/storybook_utils.cjs.map +0 -1
  431. package/dist/vue2/common/storybook_utils.js +0 -8
  432. package/dist/vue2/common/storybook_utils.js.map +0 -1
  433. package/dist/vue2/types/common/storybook_utils.d.ts +0 -35
  434. package/dist/vue2/types/common/storybook_utils.d.ts.map +0 -1
  435. package/dist/vue3/common/storybook_utils.cjs +0 -8
  436. package/dist/vue3/common/storybook_utils.cjs.map +0 -1
  437. package/dist/vue3/common/storybook_utils.js +0 -8
  438. package/dist/vue3/common/storybook_utils.js.map +0 -1
  439. package/dist/vue3/types/common/storybook_utils.d.ts +0 -25
  440. package/dist/vue3/types/common/storybook_utils.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"settings_menu_button.vue.js","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;AAuCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAEA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"settings_menu_button.vue.js","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon-more-vertical\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon-more-vertical\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIconMoreVertical } from '@dialpad/dialtone-icons/vue2';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIconMoreVertical,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;AAqCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAEA;;;;;;;;;;;;;;;;;;;"}
@@ -51,13 +51,6 @@ const _sfc_main = {
51
51
  type: String,
52
52
  default: ""
53
53
  },
54
- /**
55
- * Avatar icon to display if `avatarSrc` is empty.
56
- */
57
- avatarIcon: {
58
- type: String,
59
- default: null
60
- },
61
54
  /**
62
55
  * The size of the avatar
63
56
  * @values xs, sm, md, lg, xl
@@ -107,6 +100,11 @@ const _sfc_main = {
107
100
  }
108
101
  },
109
102
  emits: ["avatar-click"],
103
+ computed: {
104
+ hasAvatarIcon() {
105
+ return this.$scopedSlots.avatarIcon && this.$scopedSlots.avatarIcon();
106
+ }
107
+ },
110
108
  methods: {
111
109
  avatarClick() {
112
110
  this.$emit("avatar-click");
@@ -117,8 +115,14 @@ var _sfc_render = function render() {
117
115
  var _vm = this, _c = _vm._self._c;
118
116
  return _c("dt-item-layout", { staticClass: "dt-contact-info", attrs: { "role": _vm.role, "data-qa": "contact-info" }, scopedSlots: _vm._u([_vm.showAvatar ? { key: "left", fn: function() {
119
117
  return [_c("button", { staticClass: "dt-contact-info__left", attrs: { "data-qa": "contact-info-left", "aria-labelledby": _vm.avatarLabelledBy }, on: { "click": _vm.avatarClick } }, [_vm.avatarList ? _c("span", { staticClass: "dt-contact-info--avatars" }, _vm._l(_vm.avatarList, function(avatar2, index) {
120
- return _c("dt-avatar", { key: index, attrs: { "size": _vm.avatarSize, "seed": avatar2.seed, "full-name": avatar2.fullName, "image-src": avatar2.src, "image-alt": "", "icon-name": _vm.avatarIcon, "overlay-icon": avatar2.icon, "overlay-text": avatar2.text, "avatar-class": [{ "d-mln24": index > 0, "d-bc-brand": !!avatar2.halo }] } });
121
- }), 1) : _c("dt-avatar", { attrs: { "size": _vm.avatarSize, "full-name": _vm.avatarFullName, "image-src": _vm.avatarSrc, "image-alt": "", "icon-name": _vm.avatarIcon, "seed": _vm.avatarSeed, "color": _vm.avatarColor, "presence": _vm.presence } })], 1)];
118
+ return _c("dt-avatar", { key: index, attrs: { "size": _vm.avatarSize, "seed": avatar2.seed, "full-name": avatar2.fullName, "image-src": avatar2.src, "image-alt": "", "overlay-text": avatar2.text, "avatar-class": [{ "d-mln24": index > 0, "d-bc-brand": !!avatar2.halo }] }, scopedSlots: _vm._u([{ key: "icon", fn: function({ iconSize }) {
119
+ return [_vm.hasAvatarIcon ? _vm._t("avatarIcon", null, { "iconSize": iconSize }) : _vm._e()];
120
+ } }, avatar2.icon ? { key: "overlayIcon", fn: function() {
121
+ return [_c(avatar2.icon, { tag: "component" })];
122
+ }, proxy: true } : null], null, true) });
123
+ }), 1) : _c("dt-avatar", { attrs: { "size": _vm.avatarSize, "full-name": _vm.avatarFullName, "image-src": _vm.avatarSrc, "image-alt": "", "seed": _vm.avatarSeed, "color": _vm.avatarColor, "presence": _vm.presence }, scopedSlots: _vm._u([{ key: "icon", fn: function({ iconSize }) {
124
+ return [_vm.hasAvatarIcon ? _vm._t("avatarIcon", null, { "iconSize": iconSize }) : _vm._e()];
125
+ } }], null, true) })], 1)];
122
126
  }, proxy: true } : null, { key: "default", fn: function() {
123
127
  return [_c("div", { attrs: { "data-qa": "contact-info-header" } }, [_vm._t("header")], 2)];
124
128
  }, proxy: true }, { key: "subtitle", fn: function() {
@@ -136,7 +140,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(
136
140
  _sfc_staticRenderFns,
137
141
  false,
138
142
  null,
139
- "7b60b2d6"
143
+ "3acaa9ec"
140
144
  );
141
145
  const contact_info = __component__.exports;
142
146
  module.exports = contact_info;
@@ -1 +1 @@
1
- {"version":3,"file":"contact_info.vue.cjs","sources":["../../../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :overlay-icon=\"avatar.icon\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n />\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :seed=\"avatarSeed\"\n :color=\"avatarColor\"\n :presence=\"presence\"\n />\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\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: null,\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar icon to display if `avatarSrc` is empty.\n */\n avatarIcon: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":["DtAvatar","DtItemLayout"],"mappings":";;;;;AAuFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA;AAAAA,IACA,cAAAC;AAAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,cAAA;AAAA,EAEA,SAAA;AAAA,IACA,cAAA;AACA,WAAA,MAAA,cAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"contact_info.vue.cjs","sources":["../../../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n >\n <template\n #icon=\"{ iconSize }\"\n >\n <!-- @slot Slot for avatar icon in a list -->\n <slot\n v-if=\"hasAvatarIcon\"\n name=\"avatarIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"avatar.icon\"\n #overlayIcon\n >\n <component :is=\"avatar.icon\" />\n </template>\n </dt-avatar>\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n :color=\"avatarColor\"\n :presence=\"presence\"\n >\n <template\n #icon=\"{ iconSize }\"\n >\n <!-- @slot Slot for avatar icon in a list -->\n <slot\n v-if=\"hasAvatarIcon\"\n name=\"avatarIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n </dt-avatar>\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\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: null,\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n computed: {\n hasAvatarIcon () {\n return this.$scopedSlots.avatarIcon && this.$scopedSlots.avatarIcon();\n },\n },\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":["DtAvatar","DtItemLayout"],"mappings":";;;;;AAgHA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA;AAAAA,IACA,cAAAC;AAAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,cAAA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,aAAA,cAAA,KAAA,aAAA;IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,cAAA;AACA,WAAA,MAAA,cAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -50,13 +50,6 @@ const _sfc_main = {
50
50
  type: String,
51
51
  default: ""
52
52
  },
53
- /**
54
- * Avatar icon to display if `avatarSrc` is empty.
55
- */
56
- avatarIcon: {
57
- type: String,
58
- default: null
59
- },
60
53
  /**
61
54
  * The size of the avatar
62
55
  * @values xs, sm, md, lg, xl
@@ -106,6 +99,11 @@ const _sfc_main = {
106
99
  }
107
100
  },
108
101
  emits: ["avatar-click"],
102
+ computed: {
103
+ hasAvatarIcon() {
104
+ return this.$scopedSlots.avatarIcon && this.$scopedSlots.avatarIcon();
105
+ }
106
+ },
109
107
  methods: {
110
108
  avatarClick() {
111
109
  this.$emit("avatar-click");
@@ -116,8 +114,14 @@ var _sfc_render = function render() {
116
114
  var _vm = this, _c = _vm._self._c;
117
115
  return _c("dt-item-layout", { staticClass: "dt-contact-info", attrs: { "role": _vm.role, "data-qa": "contact-info" }, scopedSlots: _vm._u([_vm.showAvatar ? { key: "left", fn: function() {
118
116
  return [_c("button", { staticClass: "dt-contact-info__left", attrs: { "data-qa": "contact-info-left", "aria-labelledby": _vm.avatarLabelledBy }, on: { "click": _vm.avatarClick } }, [_vm.avatarList ? _c("span", { staticClass: "dt-contact-info--avatars" }, _vm._l(_vm.avatarList, function(avatar, index) {
119
- return _c("dt-avatar", { key: index, attrs: { "size": _vm.avatarSize, "seed": avatar.seed, "full-name": avatar.fullName, "image-src": avatar.src, "image-alt": "", "icon-name": _vm.avatarIcon, "overlay-icon": avatar.icon, "overlay-text": avatar.text, "avatar-class": [{ "d-mln24": index > 0, "d-bc-brand": !!avatar.halo }] } });
120
- }), 1) : _c("dt-avatar", { attrs: { "size": _vm.avatarSize, "full-name": _vm.avatarFullName, "image-src": _vm.avatarSrc, "image-alt": "", "icon-name": _vm.avatarIcon, "seed": _vm.avatarSeed, "color": _vm.avatarColor, "presence": _vm.presence } })], 1)];
117
+ return _c("dt-avatar", { key: index, attrs: { "size": _vm.avatarSize, "seed": avatar.seed, "full-name": avatar.fullName, "image-src": avatar.src, "image-alt": "", "overlay-text": avatar.text, "avatar-class": [{ "d-mln24": index > 0, "d-bc-brand": !!avatar.halo }] }, scopedSlots: _vm._u([{ key: "icon", fn: function({ iconSize }) {
118
+ return [_vm.hasAvatarIcon ? _vm._t("avatarIcon", null, { "iconSize": iconSize }) : _vm._e()];
119
+ } }, avatar.icon ? { key: "overlayIcon", fn: function() {
120
+ return [_c(avatar.icon, { tag: "component" })];
121
+ }, proxy: true } : null], null, true) });
122
+ }), 1) : _c("dt-avatar", { attrs: { "size": _vm.avatarSize, "full-name": _vm.avatarFullName, "image-src": _vm.avatarSrc, "image-alt": "", "seed": _vm.avatarSeed, "color": _vm.avatarColor, "presence": _vm.presence }, scopedSlots: _vm._u([{ key: "icon", fn: function({ iconSize }) {
123
+ return [_vm.hasAvatarIcon ? _vm._t("avatarIcon", null, { "iconSize": iconSize }) : _vm._e()];
124
+ } }], null, true) })], 1)];
121
125
  }, proxy: true } : null, { key: "default", fn: function() {
122
126
  return [_c("div", { attrs: { "data-qa": "contact-info-header" } }, [_vm._t("header")], 2)];
123
127
  }, proxy: true }, { key: "subtitle", fn: function() {
@@ -135,7 +139,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
135
139
  _sfc_staticRenderFns,
136
140
  false,
137
141
  null,
138
- "7b60b2d6"
142
+ "3acaa9ec"
139
143
  );
140
144
  const contact_info = __component__.exports;
141
145
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"contact_info.vue.js","sources":["../../../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :overlay-icon=\"avatar.icon\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n />\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :seed=\"avatarSeed\"\n :color=\"avatarColor\"\n :presence=\"presence\"\n />\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\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: null,\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar icon to display if `avatarSrc` is empty.\n */\n avatarIcon: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;AAuFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,cAAA;AAAA,EAEA,SAAA;AAAA,IACA,cAAA;AACA,WAAA,MAAA,cAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"contact_info.vue.js","sources":["../../../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n >\n <template\n #icon=\"{ iconSize }\"\n >\n <!-- @slot Slot for avatar icon in a list -->\n <slot\n v-if=\"hasAvatarIcon\"\n name=\"avatarIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"avatar.icon\"\n #overlayIcon\n >\n <component :is=\"avatar.icon\" />\n </template>\n </dt-avatar>\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n :color=\"avatarColor\"\n :presence=\"presence\"\n >\n <template\n #icon=\"{ iconSize }\"\n >\n <!-- @slot Slot for avatar icon in a list -->\n <slot\n v-if=\"hasAvatarIcon\"\n name=\"avatarIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n </dt-avatar>\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\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: null,\n },\n\n /**\n * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n computed: {\n hasAvatarIcon () {\n return this.$scopedSlots.avatarIcon && this.$scopedSlots.avatarIcon();\n },\n },\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;AAgHA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,cAAA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,aAAA,cAAA,KAAA,aAAA;IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,cAAA;AACA,WAAA,MAAA,cAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,11 +2,12 @@
2
2
  const callbox_constants = require("./callbox_constants.cjs");
3
3
  const avatar = require("../../../components/avatar/avatar.vue.cjs");
4
4
  const badge = require("../../../components/badge/badge.vue.cjs");
5
+ const vue2 = require("@dialpad/dialtone-icons/vue2");
5
6
  ;/* empty css */
6
7
  const _pluginVue2_normalizer = require("../../../_virtual/_plugin-vue2_normalizer.cjs");
7
8
  const _sfc_main = {
8
9
  name: "DtRecipeCallbox",
9
- components: { DtBadge: badge, DtAvatar: avatar },
10
+ components: { DtBadge: badge, DtAvatar: avatar, DtIconPause: vue2.DtIconPause },
10
11
  inheritAttrs: false,
11
12
  props: {
12
13
  /**
@@ -109,7 +110,9 @@ const _sfc_main = {
109
110
  };
110
111
  var _sfc_render = function render() {
111
112
  var _vm = this, _c = _vm._self._c;
112
- return _c("div", { staticClass: "dt-recipe-callbox", attrs: { "data-qa": "dt-recipe-callbox" } }, [_vm.$slots.video ? _c("div", { staticClass: "dt-recipe-callbox--video", attrs: { "data-qa": "dt-recipe-callbox--video-wrapper" } }, [_vm._t("video")], 2) : _vm._e(), _c("div", { class: ["dt-recipe-callbox--main-content", _vm.borderClass, { "dt-recipe-callbox--clickable": _vm.clickable }], attrs: { "data-qa": "dt-recipe-callbox--main-content" } }, [_c("div", { staticClass: "dt-recipe-callbox--main-content-top" }, [_vm.shouldShowAvatar ? _c("dt-avatar", { attrs: { "avatar-class": "dt-recipe-callbox--avatar", "image-src": _vm.avatarSrc, "image-alt": "", "full-name": _vm.avatarFullName, "seed": _vm.avatarSeed, "clickable": _vm.clickable, "overlay-icon": _vm.isOnHold ? "pause" : null, "size": "sm" }, on: { "click": _vm.handleClick } }) : _vm._e(), _c("div", { staticClass: "dt-recipe-callbox--content" }, [_c(_vm.clickable ? "button" : "span", { tag: "component", staticClass: "dt-recipe-callbox--content-title", attrs: { "data-qa": "dt-recipe-callbox--title" }, on: { "click": _vm.handleClick } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.$slots.badge || _vm.badgeText ? _c("div", { staticClass: "dt-recipe-callbox--content-badge", attrs: { "data-qa": "dt-recipe-callbox--badge-wrapper" } }, [_vm._t("badge", function() {
113
+ return _c("div", { staticClass: "dt-recipe-callbox", attrs: { "data-qa": "dt-recipe-callbox" } }, [_vm.$slots.video ? _c("div", { staticClass: "dt-recipe-callbox--video", attrs: { "data-qa": "dt-recipe-callbox--video-wrapper" } }, [_vm._t("video")], 2) : _vm._e(), _c("div", { class: ["dt-recipe-callbox--main-content", _vm.borderClass, { "dt-recipe-callbox--clickable": _vm.clickable }], attrs: { "data-qa": "dt-recipe-callbox--main-content" } }, [_c("div", { staticClass: "dt-recipe-callbox--main-content-top" }, [_vm.shouldShowAvatar ? _c("dt-avatar", { attrs: { "avatar-class": "dt-recipe-callbox--avatar", "image-src": _vm.avatarSrc, "image-alt": "", "full-name": _vm.avatarFullName, "seed": _vm.avatarSeed, "clickable": _vm.clickable, "size": "sm" }, on: { "click": _vm.handleClick }, scopedSlots: _vm._u([_vm.isOnHold ? { key: "overlayIcon", fn: function() {
114
+ return [_c("dt-icon-pause")];
115
+ }, proxy: true } : null], null, true) }) : _vm._e(), _c("div", { staticClass: "dt-recipe-callbox--content" }, [_c(_vm.clickable ? "button" : "span", { tag: "component", staticClass: "dt-recipe-callbox--content-title", attrs: { "data-qa": "dt-recipe-callbox--title" }, on: { "click": _vm.handleClick } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.$slots.badge || _vm.badgeText ? _c("div", { staticClass: "dt-recipe-callbox--content-badge", attrs: { "data-qa": "dt-recipe-callbox--badge-wrapper" } }, [_vm._t("badge", function() {
113
116
  return [_c("dt-badge", { class: _vm.badgeClass, attrs: { "text": _vm.badgeText } })];
114
117
  })], 2) : _vm._e(), _vm.$slots.subtitle ? _c("div", { staticClass: "dt-recipe-callbox--content-subtitle", attrs: { "data-qa": "dt-recipe-callbox--subtitle-wrapper" } }, [_vm._t("subtitle")], 2) : _vm._e()], 1), _vm.$slots.right ? _c("div", { staticClass: "dt-recipe-callbox--right", attrs: { "data-qa": "dt-recipe-callbox--right-wrapper" } }, [_vm._t("right")], 2) : _vm._e()], 1), _vm.$slots.bottom ? _c("div", { staticClass: "dt-recipe-callbox--main-content-bottom", attrs: { "data-qa": "dt-recipe-callbox--bottom-wrapper" } }, [_vm._t("bottom")], 2) : _vm._e()])]);
115
118
  };
@@ -120,7 +123,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(
120
123
  _sfc_staticRenderFns,
121
124
  false,
122
125
  null,
123
- "ef08f46e"
126
+ "8d007874"
124
127
  );
125
128
  const callbox = __component__.exports;
126
129
  module.exports = 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=\"dt-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox--video-wrapper\"\n class=\"dt-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=\"['dt-recipe-callbox--main-content', borderClass, { 'dt-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"dt-recipe-callbox--main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"dt-recipe-callbox--avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n :overlay-icon=\"isOnHold ? 'pause' : null\"\n size=\"sm\"\n @click=\"handleClick\"\n />\n <div class=\"dt-recipe-callbox--content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox--title\"\n class=\"dt-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=\"dt-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=\"dt-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=\"dt-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=\"dt-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';\n\nexport default {\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar },\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\n<style lang=\"less\" scoped>\n.dt-recipe-callbox {\n padding: 0;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n border-radius: var(--dt-size-radius-300);\n\n &--video {\n display: flex;\n border-radius: var(--dt-size-radius-200) var(--dt-size-radius-200) 0 0;\n overflow: clip;\n margin-bottom: var(--dt-space-300-negative);\n }\n\n &--main-content {\n padding: 0;\n border-radius: var(--dt-size-radius-300);\n border: var(--dt-size-border-100) solid transparent;\n align-items: stretch;\n\n &.dt-recipe-callbox--border-default {\n border-color: var(--dt-color-border-default);\n }\n\n &.dt-recipe-callbox--border-ai {\n background:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n linear-gradient(135deg, var(--dt-color-border-accent), var(--dt-color-border-brand)) border-box;\n }\n\n &.dt-recipe-callbox--border-critical {\n background:\n radial-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n radial-gradient(circle, #E7301D, #F78B23) border-box;\n }\n\n &-top {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350) var(--dt-space-400);\n }\n\n &-bottom {\n border-top: 1px solid var(--dt-color-border-subtle);\n }\n }\n\n &--avatar {\n margin-right: var(--dt-space-400);\n }\n\n &--content {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n min-width: 0;\n\n &-title {\n overflow: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n font-weight: var(--dt-font-weight-bold);\n border: none;\n padding: 0;\n width: 0;\n min-width: 100%;\n text-align: left;\n user-select: text;\n line-height: normal;\n }\n\n &-badge {\n line-height: normal;\n }\n\n &-subtitle {\n padding: 0;\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n line-height: normal;\n overflow: hidden;\n width: 0;\n min-width: 100%;\n }\n }\n\n &--right {\n display: flex;\n justify-content: right;\n }\n\n &--clickable {\n .dt-recipe-callbox--content-title {\n cursor: pointer;\n user-select: none;\n border-radius: var(--dt-size-100);\n\n &:focus-visible {\n outline: none;\n box-shadow: var(--dt-shadow-focus);\n }\n\n &:hover, &:active {\n text-decoration: underline;\n }\n }\n }\n\n .dt-recipe-callbox-badge--warning {\n background-color: var(--dt-color-surface-warning);\n }\n}\n</style>\n"],"names":["DtBadge","DtAvatar","CALLBOX_BADGE_COLORS","CALLBOX_BORDER_COLORS"],"mappings":";;;;;;AAwFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,SAAAA,OAAA,UAAAC,OAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,UAAA,QAAA,OAAA,KAAAC,kBAAA,oBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,KAAAC,uCAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAAD,kBAAA,qBAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAAC,kBAAA,sBAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA,GAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;"}
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=\"dt-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox--video-wrapper\"\n class=\"dt-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=\"['dt-recipe-callbox--main-content', borderClass, { 'dt-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"dt-recipe-callbox--main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"dt-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=\"dt-recipe-callbox--content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox--title\"\n class=\"dt-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=\"dt-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=\"dt-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=\"dt-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=\"dt-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/vue2';\n\nexport default {\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\n<style lang=\"less\" scoped>\n.dt-recipe-callbox {\n padding: 0;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n border-radius: var(--dt-size-radius-300);\n\n &--video {\n display: flex;\n border-radius: var(--dt-size-radius-200) var(--dt-size-radius-200) 0 0;\n overflow: clip;\n margin-bottom: var(--dt-space-300-negative);\n }\n\n &--main-content {\n padding: 0;\n border-radius: var(--dt-size-radius-300);\n border: var(--dt-size-border-100) solid transparent;\n align-items: stretch;\n\n &.dt-recipe-callbox--border-default {\n border-color: var(--dt-color-border-default);\n }\n\n &.dt-recipe-callbox--border-ai {\n background:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n linear-gradient(135deg, var(--dt-color-border-accent), var(--dt-color-border-brand)) border-box;\n }\n\n &.dt-recipe-callbox--border-critical {\n background:\n radial-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n radial-gradient(circle, #E7301D, #F78B23) border-box;\n }\n\n &-top {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350) var(--dt-space-400);\n }\n\n &-bottom {\n border-top: 1px solid var(--dt-color-border-subtle);\n }\n }\n\n &--avatar {\n margin-right: var(--dt-space-400);\n }\n\n &--content {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n min-width: 0;\n\n &-title {\n overflow: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n font-weight: var(--dt-font-weight-bold);\n border: none;\n padding: 0;\n width: 0;\n min-width: 100%;\n text-align: left;\n user-select: text;\n line-height: normal;\n }\n\n &-badge {\n line-height: normal;\n }\n\n &-subtitle {\n padding: 0;\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n line-height: normal;\n overflow: hidden;\n width: 0;\n min-width: 100%;\n }\n }\n\n &--right {\n display: flex;\n justify-content: right;\n }\n\n &--clickable {\n .dt-recipe-callbox--content-title {\n cursor: pointer;\n user-select: none;\n border-radius: var(--dt-size-100);\n\n &:focus-visible {\n outline: none;\n box-shadow: var(--dt-shadow-focus);\n }\n\n &:hover, &:active {\n text-decoration: underline;\n }\n }\n }\n\n .dt-recipe-callbox-badge--warning {\n background-color: var(--dt-color-surface-warning);\n }\n}\n</style>\n"],"names":["DtBadge","DtAvatar","DtIconPause","CALLBOX_BADGE_COLORS","CALLBOX_BORDER_COLORS"],"mappings":";;;;;;;AA+FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAAA,SAAAA,iBAAAC,QAAA,aAAAC,iBAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,UAAA,QAAA,OAAA,KAAAC,kBAAA,oBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,KAAAC,uCAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAAD,kBAAA,qBAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAAC,kBAAA,sBAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA,GAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,12 @@
1
1
  import { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from "./callbox_constants.js";
2
2
  import DtAvatar from "../../../components/avatar/avatar.vue.js";
3
3
  import DtBadge from "../../../components/badge/badge.vue.js";
4
+ import { DtIconPause } from "@dialpad/dialtone-icons/vue2";
4
5
  /* empty css */
5
6
  import normalizeComponent from "../../../_virtual/_plugin-vue2_normalizer.js";
6
7
  const _sfc_main = {
7
8
  name: "DtRecipeCallbox",
8
- components: { DtBadge, DtAvatar },
9
+ components: { DtBadge, DtAvatar, DtIconPause },
9
10
  inheritAttrs: false,
10
11
  props: {
11
12
  /**
@@ -108,7 +109,9 @@ const _sfc_main = {
108
109
  };
109
110
  var _sfc_render = function render() {
110
111
  var _vm = this, _c = _vm._self._c;
111
- return _c("div", { staticClass: "dt-recipe-callbox", attrs: { "data-qa": "dt-recipe-callbox" } }, [_vm.$slots.video ? _c("div", { staticClass: "dt-recipe-callbox--video", attrs: { "data-qa": "dt-recipe-callbox--video-wrapper" } }, [_vm._t("video")], 2) : _vm._e(), _c("div", { class: ["dt-recipe-callbox--main-content", _vm.borderClass, { "dt-recipe-callbox--clickable": _vm.clickable }], attrs: { "data-qa": "dt-recipe-callbox--main-content" } }, [_c("div", { staticClass: "dt-recipe-callbox--main-content-top" }, [_vm.shouldShowAvatar ? _c("dt-avatar", { attrs: { "avatar-class": "dt-recipe-callbox--avatar", "image-src": _vm.avatarSrc, "image-alt": "", "full-name": _vm.avatarFullName, "seed": _vm.avatarSeed, "clickable": _vm.clickable, "overlay-icon": _vm.isOnHold ? "pause" : null, "size": "sm" }, on: { "click": _vm.handleClick } }) : _vm._e(), _c("div", { staticClass: "dt-recipe-callbox--content" }, [_c(_vm.clickable ? "button" : "span", { tag: "component", staticClass: "dt-recipe-callbox--content-title", attrs: { "data-qa": "dt-recipe-callbox--title" }, on: { "click": _vm.handleClick } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.$slots.badge || _vm.badgeText ? _c("div", { staticClass: "dt-recipe-callbox--content-badge", attrs: { "data-qa": "dt-recipe-callbox--badge-wrapper" } }, [_vm._t("badge", function() {
112
+ return _c("div", { staticClass: "dt-recipe-callbox", attrs: { "data-qa": "dt-recipe-callbox" } }, [_vm.$slots.video ? _c("div", { staticClass: "dt-recipe-callbox--video", attrs: { "data-qa": "dt-recipe-callbox--video-wrapper" } }, [_vm._t("video")], 2) : _vm._e(), _c("div", { class: ["dt-recipe-callbox--main-content", _vm.borderClass, { "dt-recipe-callbox--clickable": _vm.clickable }], attrs: { "data-qa": "dt-recipe-callbox--main-content" } }, [_c("div", { staticClass: "dt-recipe-callbox--main-content-top" }, [_vm.shouldShowAvatar ? _c("dt-avatar", { attrs: { "avatar-class": "dt-recipe-callbox--avatar", "image-src": _vm.avatarSrc, "image-alt": "", "full-name": _vm.avatarFullName, "seed": _vm.avatarSeed, "clickable": _vm.clickable, "size": "sm" }, on: { "click": _vm.handleClick }, scopedSlots: _vm._u([_vm.isOnHold ? { key: "overlayIcon", fn: function() {
113
+ return [_c("dt-icon-pause")];
114
+ }, proxy: true } : null], null, true) }) : _vm._e(), _c("div", { staticClass: "dt-recipe-callbox--content" }, [_c(_vm.clickable ? "button" : "span", { tag: "component", staticClass: "dt-recipe-callbox--content-title", attrs: { "data-qa": "dt-recipe-callbox--title" }, on: { "click": _vm.handleClick } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.$slots.badge || _vm.badgeText ? _c("div", { staticClass: "dt-recipe-callbox--content-badge", attrs: { "data-qa": "dt-recipe-callbox--badge-wrapper" } }, [_vm._t("badge", function() {
112
115
  return [_c("dt-badge", { class: _vm.badgeClass, attrs: { "text": _vm.badgeText } })];
113
116
  })], 2) : _vm._e(), _vm.$slots.subtitle ? _c("div", { staticClass: "dt-recipe-callbox--content-subtitle", attrs: { "data-qa": "dt-recipe-callbox--subtitle-wrapper" } }, [_vm._t("subtitle")], 2) : _vm._e()], 1), _vm.$slots.right ? _c("div", { staticClass: "dt-recipe-callbox--right", attrs: { "data-qa": "dt-recipe-callbox--right-wrapper" } }, [_vm._t("right")], 2) : _vm._e()], 1), _vm.$slots.bottom ? _c("div", { staticClass: "dt-recipe-callbox--main-content-bottom", attrs: { "data-qa": "dt-recipe-callbox--bottom-wrapper" } }, [_vm._t("bottom")], 2) : _vm._e()])]);
114
117
  };
@@ -119,7 +122,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
119
122
  _sfc_staticRenderFns,
120
123
  false,
121
124
  null,
122
- "ef08f46e"
125
+ "8d007874"
123
126
  );
124
127
  const callbox = __component__.exports;
125
128
  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=\"dt-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox--video-wrapper\"\n class=\"dt-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=\"['dt-recipe-callbox--main-content', borderClass, { 'dt-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"dt-recipe-callbox--main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"dt-recipe-callbox--avatar\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :full-name=\"avatarFullName\"\n :seed=\"avatarSeed\"\n :clickable=\"clickable\"\n :overlay-icon=\"isOnHold ? 'pause' : null\"\n size=\"sm\"\n @click=\"handleClick\"\n />\n <div class=\"dt-recipe-callbox--content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox--title\"\n class=\"dt-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=\"dt-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=\"dt-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=\"dt-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=\"dt-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';\n\nexport default {\n name: 'DtRecipeCallbox',\n\n components: { DtBadge, DtAvatar },\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\n<style lang=\"less\" scoped>\n.dt-recipe-callbox {\n padding: 0;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n border-radius: var(--dt-size-radius-300);\n\n &--video {\n display: flex;\n border-radius: var(--dt-size-radius-200) var(--dt-size-radius-200) 0 0;\n overflow: clip;\n margin-bottom: var(--dt-space-300-negative);\n }\n\n &--main-content {\n padding: 0;\n border-radius: var(--dt-size-radius-300);\n border: var(--dt-size-border-100) solid transparent;\n align-items: stretch;\n\n &.dt-recipe-callbox--border-default {\n border-color: var(--dt-color-border-default);\n }\n\n &.dt-recipe-callbox--border-ai {\n background:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n linear-gradient(135deg, var(--dt-color-border-accent), var(--dt-color-border-brand)) border-box;\n }\n\n &.dt-recipe-callbox--border-critical {\n background:\n radial-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n radial-gradient(circle, #E7301D, #F78B23) border-box;\n }\n\n &-top {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350) var(--dt-space-400);\n }\n\n &-bottom {\n border-top: 1px solid var(--dt-color-border-subtle);\n }\n }\n\n &--avatar {\n margin-right: var(--dt-space-400);\n }\n\n &--content {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n min-width: 0;\n\n &-title {\n overflow: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n font-weight: var(--dt-font-weight-bold);\n border: none;\n padding: 0;\n width: 0;\n min-width: 100%;\n text-align: left;\n user-select: text;\n line-height: normal;\n }\n\n &-badge {\n line-height: normal;\n }\n\n &-subtitle {\n padding: 0;\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n line-height: normal;\n overflow: hidden;\n width: 0;\n min-width: 100%;\n }\n }\n\n &--right {\n display: flex;\n justify-content: right;\n }\n\n &--clickable {\n .dt-recipe-callbox--content-title {\n cursor: pointer;\n user-select: none;\n border-radius: var(--dt-size-100);\n\n &:focus-visible {\n outline: none;\n box-shadow: var(--dt-shadow-focus);\n }\n\n &:hover, &:active {\n text-decoration: underline;\n }\n }\n }\n\n .dt-recipe-callbox-badge--warning {\n background-color: var(--dt-color-surface-warning);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;AAwFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,SAAA,SAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,UAAA,QAAA,OAAA,KAAA,oBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,KAAA,qBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,qBAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAA,sBAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA,GAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
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=\"dt-recipe-callbox\"\n >\n <div\n v-if=\"$slots.video\"\n data-qa=\"dt-recipe-callbox--video-wrapper\"\n class=\"dt-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=\"['dt-recipe-callbox--main-content', borderClass, { 'dt-recipe-callbox--clickable': clickable }]\"\n >\n <div\n class=\"dt-recipe-callbox--main-content-top\"\n >\n <dt-avatar\n v-if=\"shouldShowAvatar\"\n avatar-class=\"dt-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=\"dt-recipe-callbox--content\">\n <component\n :is=\"clickable ? 'button' : 'span'\"\n data-qa=\"dt-recipe-callbox--title\"\n class=\"dt-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=\"dt-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=\"dt-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=\"dt-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=\"dt-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/vue2';\n\nexport default {\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\n<style lang=\"less\" scoped>\n.dt-recipe-callbox {\n padding: 0;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n border-radius: var(--dt-size-radius-300);\n\n &--video {\n display: flex;\n border-radius: var(--dt-size-radius-200) var(--dt-size-radius-200) 0 0;\n overflow: clip;\n margin-bottom: var(--dt-space-300-negative);\n }\n\n &--main-content {\n padding: 0;\n border-radius: var(--dt-size-radius-300);\n border: var(--dt-size-border-100) solid transparent;\n align-items: stretch;\n\n &.dt-recipe-callbox--border-default {\n border-color: var(--dt-color-border-default);\n }\n\n &.dt-recipe-callbox--border-ai {\n background:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n linear-gradient(135deg, var(--dt-color-border-accent), var(--dt-color-border-brand)) border-box;\n }\n\n &.dt-recipe-callbox--border-critical {\n background:\n radial-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)) padding-box,\n radial-gradient(circle, #E7301D, #F78B23) border-box;\n }\n\n &-top {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350) var(--dt-space-400);\n }\n\n &-bottom {\n border-top: 1px solid var(--dt-color-border-subtle);\n }\n }\n\n &--avatar {\n margin-right: var(--dt-space-400);\n }\n\n &--content {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n min-width: 0;\n\n &-title {\n overflow: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--dt-color-foreground-primary);\n background-color: var(--dt-color-surface-primary);\n font-weight: var(--dt-font-weight-bold);\n border: none;\n padding: 0;\n width: 0;\n min-width: 100%;\n text-align: left;\n user-select: text;\n line-height: normal;\n }\n\n &-badge {\n line-height: normal;\n }\n\n &-subtitle {\n padding: 0;\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n line-height: normal;\n overflow: hidden;\n width: 0;\n min-width: 100%;\n }\n }\n\n &--right {\n display: flex;\n justify-content: right;\n }\n\n &--clickable {\n .dt-recipe-callbox--content-title {\n cursor: pointer;\n user-select: none;\n border-radius: var(--dt-size-100);\n\n &:focus-visible {\n outline: none;\n box-shadow: var(--dt-shadow-focus);\n }\n\n &:hover, &:active {\n text-decoration: underline;\n }\n }\n }\n\n .dt-recipe-callbox-badge--warning {\n background-color: var(--dt-color-surface-warning);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;AA+FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,SAAA,UAAA,YAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,UAAA,QAAA,OAAA,KAAA,oBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,KAAA,qBAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,qBAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAA,sBAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA,GAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -2,6 +2,7 @@
2
2
  const emoji_text_wrapper = require("../../../components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs");
3
3
  const avatar = require("../../../components/avatar/avatar.vue.cjs");
4
4
  const common_utils = require("../../../common/utils.cjs");
5
+ const vue2 = require("@dialpad/dialtone-icons/vue2");
5
6
  const _pluginVue2_normalizer = require("../../../_virtual/_plugin-vue2_normalizer.cjs");
6
7
  const general_row = require("../general_row/general_row.vue.cjs");
7
8
  const _sfc_main = {
@@ -9,7 +10,8 @@ const _sfc_main = {
9
10
  components: {
10
11
  DtAvatar: avatar,
11
12
  DtRecipeGeneralRow: general_row,
12
- DtEmojiTextWrapper: emoji_text_wrapper
13
+ DtEmojiTextWrapper: emoji_text_wrapper,
14
+ DtIconUser: vue2.DtIconUser
13
15
  },
14
16
  inheritAttrs: false,
15
17
  props: {
@@ -163,16 +165,15 @@ const _sfc_main = {
163
165
  },
164
166
  contactDescription() {
165
167
  return common_utils.safeConcatStrings([this.name, this.presenceText, this.userStatus]);
166
- },
167
- iconName() {
168
- return this.noInitials ? "user" : null;
169
168
  }
170
169
  }
171
170
  };
172
171
  var _sfc_render = function render() {
173
172
  var _vm = this, _c = _vm._self._c;
174
173
  return _c("dt-recipe-general-row", _vm._g(_vm._b({ attrs: { "unread-count": _vm.unreadCount, "description": _vm.contactDescription, "has-unreads": _vm.hasUnreads, "selected": _vm.selected, "has-call-button": _vm.hasCallButton, "muted": _vm.muted, "is-typing": _vm.isTyping, "call-button-tooltip": _vm.callButtonTooltip, "unread-count-tooltip": _vm.unreadCountTooltip, "data-qa": "contact-row" }, scopedSlots: _vm._u([{ key: "left", fn: function() {
175
- return [_c("dt-avatar", { attrs: { "full-name": _vm.name, "image-src": _vm.avatarSrc, "color": _vm.avatarColor, "image-alt": "", "icon-name": _vm.iconName, "icon-size": "200", "size": "sm", "seed": _vm.avatarSeed, "presence": _vm.avatarPresence } })];
174
+ return [_c("dt-avatar", { attrs: { "full-name": _vm.name, "image-src": _vm.avatarSrc, "color": _vm.avatarColor, "image-alt": "", "size": "sm", "seed": _vm.avatarSeed, "presence": _vm.avatarPresence }, scopedSlots: _vm._u([_vm.noInitials ? { key: "icon", fn: function() {
175
+ return [_c("dt-icon-user", { attrs: { "size": "200" } })];
176
+ }, proxy: true } : null], null, true) })];
176
177
  }, proxy: true }, { key: "label", fn: function() {
177
178
  return [_c("dt-emoji-text-wrapper", { staticClass: "dt-leftbar-row__description", attrs: { "data-qa": "dt-leftbar-row-description", "size": "200" } }, [_vm._v(" " + _vm._s(_vm.name) + " ")]), _c("div", { staticClass: "dt-leftbar-row__status" }, [_vm.presenceText ? _c("span", { class: ["dt-leftbar-row__meta-context", _vm.presenceColorClass], attrs: { "data-qa": "dt-leftbar-row-presence-text" } }, [_vm._v(" " + _vm._s(_vm.presenceText) + " ")]) : _vm._e(), _vm.userStatus ? _c("dt-emoji-text-wrapper", { staticClass: "dt-leftbar-row__meta-custom", attrs: { "size": "100", "element-type": "span", "data-qa": "dt-leftbar-row-user-status" } }, [_vm._v(" " + _vm._s(_vm.userStatus) + " ")]) : _vm._e()], 1)];
178
179
  }, proxy: true }]) }, "dt-recipe-general-row", _vm.$attrs, false), _vm.$listeners));
@@ -1 +1 @@
1
- {"version":3,"file":"contact_row.vue.cjs","sources":["../../../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n data-qa=\"contact-row\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :color=\"avatarColor\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n icon-size=\"200\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n />\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n },\n\n inheritAttrs: false,\n\n props: {\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 * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\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: null,\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\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 * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\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 * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\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 * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n },\n};\n</script>\n"],"names":["DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","safeConcatStrings"],"mappings":";;;;;;AAgEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA;AAAAA,IACA,oBAAAC;AAAAA,IACA,oBAAAC;AAAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,cAAA,KAAA,gBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAAC,aAAA,kBAAA,CAAA,KAAA,MAAA,KAAA,cAAA,KAAA,UAAA,CAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,aAAA,KAAA,aAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"contact_row.vue.cjs","sources":["../../../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n data-qa=\"contact-row\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :color=\"avatarColor\"\n image-alt=\"\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n >\n <template\n v-if=\"noInitials\"\n #icon\n >\n <dt-icon-user\n size=\"200\"\n />\n </template>\n </dt-avatar>\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue2';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n DtIconUser,\n },\n\n inheritAttrs: false,\n\n props: {\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 * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\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: null,\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\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 * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\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 * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\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 * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n },\n};\n</script>\n"],"names":["DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","DtIconUser","safeConcatStrings"],"mappings":";;;;;;;AAwEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA;AAAAA,IACA,oBAAAC;AAAAA,IACA,oBAAAC;AAAAA,IACA,YAAAC,KAAA;AAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,cAAA,KAAA,gBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAAC,aAAA,kBAAA,CAAA,KAAA,MAAA,KAAA,cAAA,KAAA,UAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import DtEmojiTextWrapper from "../../../components/emoji_text_wrapper/emoji_text_wrapper.vue.js";
2
2
  import DtAvatar from "../../../components/avatar/avatar.vue.js";
3
3
  import { safeConcatStrings } from "../../../common/utils.js";
4
+ import { DtIconUser } from "@dialpad/dialtone-icons/vue2";
4
5
  import normalizeComponent from "../../../_virtual/_plugin-vue2_normalizer.js";
5
6
  import DtRecipeGeneralRow from "../general_row/general_row.vue.js";
6
7
  const _sfc_main = {
@@ -8,7 +9,8 @@ const _sfc_main = {
8
9
  components: {
9
10
  DtAvatar,
10
11
  DtRecipeGeneralRow,
11
- DtEmojiTextWrapper
12
+ DtEmojiTextWrapper,
13
+ DtIconUser
12
14
  },
13
15
  inheritAttrs: false,
14
16
  props: {
@@ -162,16 +164,15 @@ const _sfc_main = {
162
164
  },
163
165
  contactDescription() {
164
166
  return safeConcatStrings([this.name, this.presenceText, this.userStatus]);
165
- },
166
- iconName() {
167
- return this.noInitials ? "user" : null;
168
167
  }
169
168
  }
170
169
  };
171
170
  var _sfc_render = function render() {
172
171
  var _vm = this, _c = _vm._self._c;
173
172
  return _c("dt-recipe-general-row", _vm._g(_vm._b({ attrs: { "unread-count": _vm.unreadCount, "description": _vm.contactDescription, "has-unreads": _vm.hasUnreads, "selected": _vm.selected, "has-call-button": _vm.hasCallButton, "muted": _vm.muted, "is-typing": _vm.isTyping, "call-button-tooltip": _vm.callButtonTooltip, "unread-count-tooltip": _vm.unreadCountTooltip, "data-qa": "contact-row" }, scopedSlots: _vm._u([{ key: "left", fn: function() {
174
- return [_c("dt-avatar", { attrs: { "full-name": _vm.name, "image-src": _vm.avatarSrc, "color": _vm.avatarColor, "image-alt": "", "icon-name": _vm.iconName, "icon-size": "200", "size": "sm", "seed": _vm.avatarSeed, "presence": _vm.avatarPresence } })];
173
+ return [_c("dt-avatar", { attrs: { "full-name": _vm.name, "image-src": _vm.avatarSrc, "color": _vm.avatarColor, "image-alt": "", "size": "sm", "seed": _vm.avatarSeed, "presence": _vm.avatarPresence }, scopedSlots: _vm._u([_vm.noInitials ? { key: "icon", fn: function() {
174
+ return [_c("dt-icon-user", { attrs: { "size": "200" } })];
175
+ }, proxy: true } : null], null, true) })];
175
176
  }, proxy: true }, { key: "label", fn: function() {
176
177
  return [_c("dt-emoji-text-wrapper", { staticClass: "dt-leftbar-row__description", attrs: { "data-qa": "dt-leftbar-row-description", "size": "200" } }, [_vm._v(" " + _vm._s(_vm.name) + " ")]), _c("div", { staticClass: "dt-leftbar-row__status" }, [_vm.presenceText ? _c("span", { class: ["dt-leftbar-row__meta-context", _vm.presenceColorClass], attrs: { "data-qa": "dt-leftbar-row-presence-text" } }, [_vm._v(" " + _vm._s(_vm.presenceText) + " ")]) : _vm._e(), _vm.userStatus ? _c("dt-emoji-text-wrapper", { staticClass: "dt-leftbar-row__meta-custom", attrs: { "size": "100", "element-type": "span", "data-qa": "dt-leftbar-row-user-status" } }, [_vm._v(" " + _vm._s(_vm.userStatus) + " ")]) : _vm._e()], 1)];
177
178
  }, proxy: true }]) }, "dt-recipe-general-row", _vm.$attrs, false), _vm.$listeners));
@@ -1 +1 @@
1
- {"version":3,"file":"contact_row.vue.js","sources":["../../../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n data-qa=\"contact-row\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :color=\"avatarColor\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n icon-size=\"200\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n />\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n },\n\n inheritAttrs: false,\n\n props: {\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 * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\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: null,\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\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 * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\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 * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\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 * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;AAgEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,cAAA,KAAA,gBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAA,kBAAA,CAAA,KAAA,MAAA,KAAA,cAAA,KAAA,UAAA,CAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,aAAA,KAAA,aAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"contact_row.vue.js","sources":["../../../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n data-qa=\"contact-row\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :color=\"avatarColor\"\n image-alt=\"\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n >\n <template\n v-if=\"noInitials\"\n #icon\n >\n <dt-icon-user\n size=\"200\"\n />\n </template>\n </dt-avatar>\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue2';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n DtIconUser,\n },\n\n inheritAttrs: false,\n\n props: {\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 * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\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: null,\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\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 * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\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 * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\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 * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;AAwEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,cAAA,KAAA,gBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAA,kBAAA,CAAA,KAAA,MAAA,KAAA,cAAA,KAAA,UAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}