@dialpad/dialtone-vue 3.146.0 → 3.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/chunks/{dropdown-6HXkh24e.js → dropdown-oA-_Gotg.js} +45 -40
  2. package/dist/chunks/{dropdown-6HXkh24e.js.map → dropdown-oA-_Gotg.js.map} +1 -1
  3. package/dist/chunks/{dropdown-QNvAb160.js → dropdown-p-Azgwov.js} +45 -40
  4. package/dist/chunks/{dropdown-QNvAb160.js.map → dropdown-p-Azgwov.js.map} +1 -1
  5. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  6. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  7. package/dist/chunks/{icon_constants-gIQj4mf7.js → icon_constants-Dy4MEUJL.js} +2 -3
  8. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  9. package/dist/chunks/{icon_constants-bvhFNOPu.js → icon_constants-QYpmdE0R.js} +2 -3
  10. package/dist/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  11. package/dist/chunks/{index-ouh7Bvm-.js → index-4qgKeErp.js} +84 -71
  12. package/dist/chunks/{index-T15rAIdX.js.map → index-4qgKeErp.js.map} +1 -1
  13. package/dist/chunks/{index-dfdrE-3M.js → index-GVD15GIB.js} +12 -3
  14. package/dist/chunks/{index-dfdrE-3M.js.map → index-GVD15GIB.js.map} +1 -1
  15. package/dist/chunks/{index-T15rAIdX.js → index-b_MgDylR.js} +84 -71
  16. package/dist/chunks/{index-ouh7Bvm-.js.map → index-b_MgDylR.js.map} +1 -1
  17. package/dist/chunks/{index-fEp0B-5Z.js → index-lu2o2f4r.js} +12 -3
  18. package/dist/chunks/{index-fEp0B-5Z.js.map → index-lu2o2f4r.js.map} +1 -1
  19. package/dist/chunks/{input-HIysg24t.js → input-NmYDD5bn.js} +9 -3
  20. package/dist/chunks/{input-HIysg24t.js.map → input-NmYDD5bn.js.map} +1 -1
  21. package/dist/chunks/{input-dLLo3Wtg.js → input-ttnte8zB.js} +9 -3
  22. package/dist/chunks/{input-dLLo3Wtg.js.map → input-ttnte8zB.js.map} +1 -1
  23. package/dist/chunks/{input_group-rE6nhye8.js → input_group-M-D25pOJ.js} +2 -4
  24. package/dist/chunks/{input_group-hV1WT2it.js.map → input_group-M-D25pOJ.js.map} +1 -1
  25. package/dist/chunks/{input_group-hV1WT2it.js → input_group-jWnq2DJT.js} +2 -4
  26. package/dist/chunks/{input_group-rE6nhye8.js.map → input_group-jWnq2DJT.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  28. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  30. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  31. package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
  32. package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
  33. package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  34. package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  35. package/dist/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  36. package/dist/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
  37. package/dist/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  38. package/dist/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
  39. package/dist/chunks/{notice_action-3ed0uIMN.js → notice_action-WTucGhvr.js} +61 -40
  40. package/dist/chunks/{notice_action-e08Lw5W6.js.map → notice_action-WTucGhvr.js.map} +1 -1
  41. package/dist/chunks/{notice_action-e08Lw5W6.js → notice_action-p-ePanW_.js} +61 -40
  42. package/dist/chunks/{notice_action-3ed0uIMN.js.map → notice_action-p-ePanW_.js.map} +1 -1
  43. package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  44. package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  45. package/dist/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  46. package/dist/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-h9MD6WUt.js → popover_constants-XnGWXaxX.js} +47 -26
  48. package/dist/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-Ji3Zlts6.js → sr_only_close_button-3EdsV-dH.js} +4 -4
  50. package/dist/chunks/{sr_only_close_button-Ji3Zlts6.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-gKr0Vlbz.js → sr_only_close_button-xGrHFjwA.js} +4 -4
  52. package/dist/chunks/{sr_only_close_button-gKr0Vlbz.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  53. package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
  54. package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  55. package/dist/chunks/{tab-aD6t0MNo.js → tab-RTDgnD9-.js} +49 -46
  56. package/dist/chunks/{tab-aD6t0MNo.js.map → tab-RTDgnD9-.js.map} +1 -1
  57. package/dist/chunks/{tab-X7IvNGTl.js → tab-qc3f42Yp.js} +49 -46
  58. package/dist/chunks/{tab-X7IvNGTl.js.map → tab-qc3f42Yp.js.map} +1 -1
  59. package/dist/common/constants.cjs.map +1 -1
  60. package/dist/common/constants.js.map +1 -1
  61. package/dist/common/dates.cjs +1 -3
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +1 -3
  64. package/dist/common/dates.js.map +1 -1
  65. package/dist/common/emoji.cjs +1 -1
  66. package/dist/common/emoji.js +1 -1
  67. package/dist/common/mixins.cjs +3 -3
  68. package/dist/common/mixins.js +3 -3
  69. package/dist/common/utils.cjs +45 -11
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +45 -11
  72. package/dist/common/utils.js.map +1 -1
  73. package/dist/common/validators.cjs.map +1 -1
  74. package/dist/common/validators.js.map +1 -1
  75. package/dist/component-documentation.json +1 -1
  76. package/dist/dialtone-vue.cjs +12 -12
  77. package/dist/dialtone-vue.js +12 -12
  78. package/dist/lib/attachment-carousel.cjs +108 -87
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +108 -87
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +88 -56
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +88 -56
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +31 -15
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +31 -15
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +56 -38
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +56 -38
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +36 -25
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +36 -25
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +7 -2
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +7 -2
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +69 -44
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +69 -44
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +81 -68
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +81 -68
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +45 -32
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +45 -32
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +57 -38
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +57 -38
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +33 -13
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +33 -13
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +5 -2
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +5 -2
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +45 -41
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +45 -41
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +53 -38
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +53 -38
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +6 -4
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +6 -4
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +76 -62
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +76 -62
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +88 -75
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +88 -75
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +85 -77
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +85 -77
  149. package/dist/lib/combobox-with-popover.js.map +1 -1
  150. package/dist/lib/combobox.cjs +3 -3
  151. package/dist/lib/combobox.js +3 -3
  152. package/dist/lib/contact-centers-row.cjs +89 -65
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +89 -65
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +82 -59
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +82 -59
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +47 -37
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +47 -37
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +263 -267
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +263 -267
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +14 -9
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +14 -9
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +6 -6
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +6 -6
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +249 -312
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +249 -312
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +419 -387
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +419 -387
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +69 -59
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +69 -59
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +12 -13
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +12 -13
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +23 -19
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +23 -19
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +30 -20
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +30 -20
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +74 -43
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +74 -43
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +55 -45
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +55 -45
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +165 -115
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +165 -115
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +9 -7
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +9 -7
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +48 -27
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +48 -27
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +33 -25
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +33 -25
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +1 -1
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +1 -1
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +1 -2
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +1 -2
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +66 -52
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +66 -52
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +19 -15
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +19 -15
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +114 -77
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +114 -77
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +27 -10
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +27 -10
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +89 -80
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +89 -80
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +31 -26
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +31 -26
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +8 -6
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +8 -6
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +7 -2
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +7 -2
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +14 -7
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +14 -7
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +25 -24
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +25 -24
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +264 -227
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +264 -227
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +99 -59
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +99 -59
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +46 -33
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +46 -33
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +61 -49
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +61 -49
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +156 -133
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +157 -134
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +17 -9
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +17 -9
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +1 -1
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +1 -1
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +41 -34
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +41 -34
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +288 -292
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +288 -292
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +39 -24
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +39 -24
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs +422 -388
  313. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  314. package/dist/lib/scrollbar-directive.js +422 -388
  315. package/dist/lib/scrollbar-directive.js.map +1 -1
  316. package/dist/lib/scroller.cjs +83 -100
  317. package/dist/lib/scroller.cjs.map +1 -1
  318. package/dist/lib/scroller.js +83 -100
  319. package/dist/lib/scroller.js.map +1 -1
  320. package/dist/lib/select-menu.cjs +67 -40
  321. package/dist/lib/select-menu.cjs.map +1 -1
  322. package/dist/lib/select-menu.js +67 -40
  323. package/dist/lib/select-menu.js.map +1 -1
  324. package/dist/lib/settings-menu-button.cjs +16 -10
  325. package/dist/lib/settings-menu-button.cjs.map +1 -1
  326. package/dist/lib/settings-menu-button.js +16 -10
  327. package/dist/lib/settings-menu-button.js.map +1 -1
  328. package/dist/lib/skeleton.cjs +93 -74
  329. package/dist/lib/skeleton.cjs.map +1 -1
  330. package/dist/lib/skeleton.js +93 -74
  331. package/dist/lib/skeleton.js.map +1 -1
  332. package/dist/lib/split-button.cjs +74 -68
  333. package/dist/lib/split-button.cjs.map +1 -1
  334. package/dist/lib/split-button.js +74 -68
  335. package/dist/lib/split-button.js.map +1 -1
  336. package/dist/lib/stack.cjs +26 -18
  337. package/dist/lib/stack.cjs.map +1 -1
  338. package/dist/lib/stack.js +26 -18
  339. package/dist/lib/stack.js.map +1 -1
  340. package/dist/lib/tabs.cjs +7 -3
  341. package/dist/lib/tabs.cjs.map +1 -1
  342. package/dist/lib/tabs.js +7 -3
  343. package/dist/lib/tabs.js.map +1 -1
  344. package/dist/lib/time-pill.cjs.map +1 -1
  345. package/dist/lib/time-pill.js.map +1 -1
  346. package/dist/lib/toast.cjs +51 -35
  347. package/dist/lib/toast.cjs.map +1 -1
  348. package/dist/lib/toast.js +51 -35
  349. package/dist/lib/toast.js.map +1 -1
  350. package/dist/lib/toggle.cjs +34 -24
  351. package/dist/lib/toggle.cjs.map +1 -1
  352. package/dist/lib/toggle.js +34 -24
  353. package/dist/lib/toggle.js.map +1 -1
  354. package/dist/lib/tooltip-directive.cjs +19 -26
  355. package/dist/lib/tooltip-directive.cjs.map +1 -1
  356. package/dist/lib/tooltip-directive.js +19 -26
  357. package/dist/lib/tooltip-directive.js.map +1 -1
  358. package/dist/lib/tooltip.cjs +32 -21
  359. package/dist/lib/tooltip.cjs.map +1 -1
  360. package/dist/lib/tooltip.js +33 -22
  361. package/dist/lib/tooltip.js.map +1 -1
  362. package/dist/lib/top-banner-info.cjs +23 -8
  363. package/dist/lib/top-banner-info.cjs.map +1 -1
  364. package/dist/lib/top-banner-info.js +23 -8
  365. package/dist/lib/top-banner-info.js.map +1 -1
  366. package/dist/lib/unread-pill.cjs +11 -8
  367. package/dist/lib/unread-pill.cjs.map +1 -1
  368. package/dist/lib/unread-pill.js +11 -8
  369. package/dist/lib/unread-pill.js.map +1 -1
  370. package/dist/lib/validation-messages.cjs +17 -14
  371. package/dist/lib/validation-messages.cjs.map +1 -1
  372. package/dist/lib/validation-messages.js +17 -14
  373. package/dist/lib/validation-messages.js.map +1 -1
  374. package/dist/style.css +9 -9
  375. package/dist/types/components/button/button.vue.d.ts +1 -1
  376. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  377. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  378. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  379. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  380. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  381. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  382. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  383. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  384. package/dist/types/components/input/input.vue.d.ts +3 -2
  385. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  386. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  387. package/dist/types/components/notice/notice.vue.d.ts +1 -1
  388. package/dist/types/components/radio/radio.vue.d.ts +1 -1
  389. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  390. package/dist/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  391. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  392. package/dist/types/components/tabs/tab.vue.d.ts +1 -1
  393. package/dist/types/components/toast/toast.vue.d.ts +2 -2
  394. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  395. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  396. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  397. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  398. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  399. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  400. package/package.json +2 -4
  401. package/dist/chunks/icon_constants-bvhFNOPu.js.map +0 -1
  402. package/dist/chunks/icon_constants-gIQj4mf7.js.map +0 -1
@@ -5,7 +5,7 @@ import { _export_sfc } from "../chunks/_plugin-vue_export-helper-caHeSgYY.js";
5
5
  import "../common/utils.js";
6
6
  import "../common/constants.js";
7
7
  import "@dialpad/dialtone-icons/icons.json";
8
- import "../chunks/icon_constants-gIQj4mf7.js";
8
+ import "../chunks/icon_constants-Dy4MEUJL.js";
9
9
  import "./presence.js";
10
10
  import "./icon.js";
11
11
  import "@dialpad/dialtone-icons/vue3";
@@ -79,6 +79,13 @@ const _sfc_main = {
79
79
  type: String,
80
80
  default: ""
81
81
  },
82
+ /**
83
+ * Avatar color to display if `avatarSrc` is empty.
84
+ */
85
+ avatarColor: {
86
+ type: String,
87
+ default: null
88
+ },
82
89
  /**
83
90
  * Determines whether to show the presence indicator for
84
91
  * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
@@ -117,18 +124,10 @@ const _hoisted_2 = {
117
124
  key: 0,
118
125
  class: "dt-contact-info--avatars"
119
126
  };
120
- const _hoisted_3 = {
121
- "data-qa": "contact-info-header"
122
- };
123
- const _hoisted_4 = {
124
- "data-qa": "contact-info-subtitle"
125
- };
126
- const _hoisted_5 = {
127
- "data-qa": "contact-info-bottom"
128
- };
129
- const _hoisted_6 = {
130
- "data-qa": "contact-info-right"
131
- };
127
+ const _hoisted_3 = { "data-qa": "contact-info-header" };
128
+ const _hoisted_4 = { "data-qa": "contact-info-subtitle" };
129
+ const _hoisted_5 = { "data-qa": "contact-info-bottom" };
130
+ const _hoisted_6 = { "data-qa": "contact-info-right" };
132
131
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
133
132
  const _component_dt_avatar = resolveComponent("dt-avatar");
134
133
  const _component_dt_item_layout = resolveComponent("dt-item-layout");
@@ -137,54 +136,78 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
137
136
  "data-qa": "contact-info",
138
137
  class: "dt-contact-info"
139
138
  }, createSlots({
140
- default: withCtx(() => [createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "header", {}, void 0, true)])]),
141
- subtitle: withCtx(() => [createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "subtitle", {}, void 0, true)])]),
139
+ default: withCtx(() => [
140
+ createElementVNode("div", _hoisted_3, [
141
+ renderSlot(_ctx.$slots, "header", {}, void 0, true)
142
+ ])
143
+ ]),
144
+ subtitle: withCtx(() => [
145
+ createElementVNode("div", _hoisted_4, [
146
+ renderSlot(_ctx.$slots, "subtitle", {}, void 0, true)
147
+ ])
148
+ ]),
142
149
  _: 2
143
- }, [$props.showAvatar ? {
144
- name: "left",
145
- fn: withCtx(() => [createElementVNode("button", {
146
- class: "dt-contact-info__left",
147
- "data-qa": "contact-info-left",
148
- "aria-labelledby": $props.avatarLabelledBy,
149
- onClick: _cache[0] || (_cache[0] = (...args) => $options.avatarClick && $options.avatarClick(...args))
150
- }, [$props.avatarList ? (openBlock(), createElementBlock("span", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.avatarList, (avatar, index) => {
151
- return openBlock(), createBlock(_component_dt_avatar, {
152
- key: index,
153
- size: $props.avatarSize,
154
- seed: avatar.seed,
155
- "full-name": avatar.fullName,
156
- "image-src": avatar.src,
157
- "image-alt": "",
158
- "icon-name": $props.avatarIcon,
159
- "overlay-icon": avatar.icon,
160
- "overlay-text": avatar.text,
161
- "avatar-class": [{
162
- "d-mln24": index > 0,
163
- "d-bc-brand": !!avatar.halo
164
- }]
165
- }, null, 8, ["size", "seed", "full-name", "image-src", "icon-name", "overlay-icon", "overlay-text", "avatar-class"]);
166
- }), 128))])) : (openBlock(), createBlock(_component_dt_avatar, {
167
- key: 1,
168
- size: $props.avatarSize,
169
- "full-name": $props.avatarFullName,
170
- "image-src": $props.avatarSrc,
171
- "image-alt": "",
172
- "icon-name": $props.avatarIcon,
173
- seed: $props.avatarSeed,
174
- presence: $props.presence
175
- }, null, 8, ["size", "full-name", "image-src", "icon-name", "seed", "presence"]))], 8, _hoisted_1)]),
176
- key: "0"
177
- } : void 0, _ctx.$slots.bottom ? {
178
- name: "bottom",
179
- fn: withCtx(() => [createElementVNode("div", _hoisted_5, [renderSlot(_ctx.$slots, "bottom", {}, void 0, true)])]),
180
- key: "1"
181
- } : void 0, _ctx.$slots.right ? {
182
- name: "right",
183
- fn: withCtx(() => [createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "right", {}, void 0, true)])]),
184
- key: "2"
185
- } : void 0]), 1032, ["role"]);
150
+ }, [
151
+ $props.showAvatar ? {
152
+ name: "left",
153
+ fn: withCtx(() => [
154
+ createElementVNode("button", {
155
+ class: "dt-contact-info__left",
156
+ "data-qa": "contact-info-left",
157
+ "aria-labelledby": $props.avatarLabelledBy,
158
+ onClick: _cache[0] || (_cache[0] = (...args) => $options.avatarClick && $options.avatarClick(...args))
159
+ }, [
160
+ $props.avatarList ? (openBlock(), createElementBlock("span", _hoisted_2, [
161
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.avatarList, (avatar, index) => {
162
+ return openBlock(), createBlock(_component_dt_avatar, {
163
+ key: index,
164
+ size: $props.avatarSize,
165
+ seed: avatar.seed,
166
+ "full-name": avatar.fullName,
167
+ "image-src": avatar.src,
168
+ "image-alt": "",
169
+ "icon-name": $props.avatarIcon,
170
+ "overlay-icon": avatar.icon,
171
+ "overlay-text": avatar.text,
172
+ "avatar-class": [{ "d-mln24": index > 0, "d-bc-brand": !!avatar.halo }]
173
+ }, null, 8, ["size", "seed", "full-name", "image-src", "icon-name", "overlay-icon", "overlay-text", "avatar-class"]);
174
+ }), 128))
175
+ ])) : (openBlock(), createBlock(_component_dt_avatar, {
176
+ key: 1,
177
+ size: $props.avatarSize,
178
+ "full-name": $props.avatarFullName,
179
+ "image-src": $props.avatarSrc,
180
+ "image-alt": "",
181
+ "icon-name": $props.avatarIcon,
182
+ seed: $props.avatarSeed,
183
+ color: $props.avatarColor,
184
+ presence: $props.presence
185
+ }, null, 8, ["size", "full-name", "image-src", "icon-name", "seed", "color", "presence"]))
186
+ ], 8, _hoisted_1)
187
+ ]),
188
+ key: "0"
189
+ } : void 0,
190
+ _ctx.$slots.bottom ? {
191
+ name: "bottom",
192
+ fn: withCtx(() => [
193
+ createElementVNode("div", _hoisted_5, [
194
+ renderSlot(_ctx.$slots, "bottom", {}, void 0, true)
195
+ ])
196
+ ]),
197
+ key: "1"
198
+ } : void 0,
199
+ _ctx.$slots.right ? {
200
+ name: "right",
201
+ fn: withCtx(() => [
202
+ createElementVNode("div", _hoisted_6, [
203
+ renderSlot(_ctx.$slots, "right", {}, void 0, true)
204
+ ])
205
+ ]),
206
+ key: "2"
207
+ } : void 0
208
+ ]), 1032, ["role"]);
186
209
  }
187
- const contact_info = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a3c913d1"]]);
210
+ const contact_info = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-7b60b2d6"]]);
188
211
  export {
189
212
  contact_info as DtRecipeContactInfo
190
213
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contact-info.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 :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 * 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":["_sfc_main","name","components","DtAvatar","DtItemLayout","props","role","type","String","default","showAvatar","Boolean","avatarSrc","avatarSeed","avatarFullName","avatarIcon","avatarSize","avatarLabelledBy","presence","avatarList","Array","emits","methods","avatarClick","$emit","class","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createBlock","_component_dt_item_layout","$props","_createElementVNode","_renderSlot","_ctx","$slots","undefined","subtitle","onClick","$options","args","_openBlock","_createElementBlock","_hoisted_2","_Fragment","_renderList","avatar","index","_component_dt_avatar","key","size","seed","fullName","src","icon","text","halo","bottom","right"],"mappings":"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"}
1
+ {"version":3,"file":"contact-info.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":["_createBlock","_createElementVNode","_renderSlot","_openBlock","_createElementBlock","_Fragment","_renderList"],"mappings":"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"}
@@ -6,9 +6,9 @@ const common_utils = require("../common/utils.cjs");
6
6
  const vue = require("vue");
7
7
  const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
8
8
  const lib_generalRow = require("./general-row.cjs");
9
- require("../chunks/index-fEp0B-5Z.js");
9
+ require("../chunks/index-lu2o2f4r.js");
10
10
  require("@dialpad/dialtone-emojis");
11
- require("../chunks/icon_constants-bvhFNOPu.js");
11
+ require("../chunks/icon_constants-QYpmdE0R.js");
12
12
  require("@dialpad/dialtone-icons/icons.json");
13
13
  require("./emoji.cjs");
14
14
  require("./skeleton.cjs");
@@ -20,7 +20,7 @@ require("./badge.cjs");
20
20
  require("./button.cjs");
21
21
  require("../chunks/link_constants-x8NwdqmA.js");
22
22
  require("./tooltip.cjs");
23
- require("../chunks/popover_constants-h9MD6WUt.js");
23
+ require("../chunks/popover_constants-XnGWXaxX.js");
24
24
  require("tippy.js");
25
25
  const _sfc_main = {
26
26
  name: "DtRecipeContactRow",
@@ -176,9 +176,7 @@ const _sfc_main = {
176
176
  }
177
177
  }
178
178
  };
179
- const _hoisted_1 = {
180
- class: "dt-leftbar-row__status"
181
- };
179
+ const _hoisted_1 = { class: "dt-leftbar-row__status" };
182
180
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
183
181
  const _component_dt_avatar = vue.resolveComponent("dt-avatar");
184
182
  const _component_dt_emoji_text_wrapper = vue.resolveComponent("dt-emoji-text-wrapper");
@@ -196,37 +194,49 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
196
194
  }, _ctx.$attrs, vue.toHandlers($options.contactRowListeners), {
197
195
  onCall: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("call", $event))
198
196
  }), {
199
- left: vue.withCtx(() => [vue.createVNode(_component_dt_avatar, {
200
- "full-name": $props.name,
201
- "image-src": $props.avatarSrc,
202
- "image-alt": "",
203
- "icon-name": $options.iconName,
204
- "icon-size": "200",
205
- size: "sm",
206
- seed: $props.avatarSeed,
207
- presence: $props.avatarPresence
208
- }, null, 8, ["full-name", "image-src", "icon-name", "seed", "presence"])]),
209
- label: vue.withCtx(() => [vue.createVNode(_component_dt_emoji_text_wrapper, {
210
- class: "dt-leftbar-row__description",
211
- "data-qa": "dt-leftbar-row-description",
212
- size: "200"
213
- }, {
214
- default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString($props.name), 1)]),
215
- _: 1
216
- }), vue.createElementVNode("div", _hoisted_1, [$props.presenceText ? (vue.openBlock(), vue.createElementBlock("span", {
217
- key: 0,
218
- "data-qa": "dt-leftbar-row-presence-text",
219
- class: vue.normalizeClass(["dt-leftbar-row__meta-context", $options.presenceColorClass])
220
- }, vue.toDisplayString($props.presenceText), 3)) : vue.createCommentVNode("", true), $props.userStatus ? (vue.openBlock(), vue.createBlock(_component_dt_emoji_text_wrapper, {
221
- key: 1,
222
- size: "100",
223
- "element-type": "span",
224
- "data-qa": "dt-leftbar-row-user-status",
225
- class: "dt-leftbar-row__meta-custom"
226
- }, {
227
- default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString($props.userStatus), 1)]),
228
- _: 1
229
- })) : vue.createCommentVNode("", true)])]),
197
+ left: vue.withCtx(() => [
198
+ vue.createVNode(_component_dt_avatar, {
199
+ "full-name": $props.name,
200
+ "image-src": $props.avatarSrc,
201
+ "image-alt": "",
202
+ "icon-name": $options.iconName,
203
+ "icon-size": "200",
204
+ size: "sm",
205
+ seed: $props.avatarSeed,
206
+ presence: $props.avatarPresence
207
+ }, null, 8, ["full-name", "image-src", "icon-name", "seed", "presence"])
208
+ ]),
209
+ label: vue.withCtx(() => [
210
+ vue.createVNode(_component_dt_emoji_text_wrapper, {
211
+ class: "dt-leftbar-row__description",
212
+ "data-qa": "dt-leftbar-row-description",
213
+ size: "200"
214
+ }, {
215
+ default: vue.withCtx(() => [
216
+ vue.createTextVNode(vue.toDisplayString($props.name), 1)
217
+ ]),
218
+ _: 1
219
+ }),
220
+ vue.createElementVNode("div", _hoisted_1, [
221
+ $props.presenceText ? (vue.openBlock(), vue.createElementBlock("span", {
222
+ key: 0,
223
+ "data-qa": "dt-leftbar-row-presence-text",
224
+ class: vue.normalizeClass(["dt-leftbar-row__meta-context", $options.presenceColorClass])
225
+ }, vue.toDisplayString($props.presenceText), 3)) : vue.createCommentVNode("", true),
226
+ $props.userStatus ? (vue.openBlock(), vue.createBlock(_component_dt_emoji_text_wrapper, {
227
+ key: 1,
228
+ size: "100",
229
+ "element-type": "span",
230
+ "data-qa": "dt-leftbar-row-user-status",
231
+ class: "dt-leftbar-row__meta-custom"
232
+ }, {
233
+ default: vue.withCtx(() => [
234
+ vue.createTextVNode(vue.toDisplayString($props.userStatus), 1)
235
+ ]),
236
+ _: 1
237
+ })) : vue.createCommentVNode("", true)
238
+ ])
239
+ ]),
230
240
  _: 1
231
241
  }, 16, ["unread-count", "description", "has-unreads", "selected", "has-call-button", "muted", "is-typing", "call-button-tooltip", "unread-count-tooltip"]);
232
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contact-row.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 v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\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 { extractVueListeners, 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 * 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 * 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 contactRowListeners () {\n return extractVueListeners(this.$attrs);\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":["_sfc_main","name","components","DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","inheritAttrs","props","avatarSrc","type","String","default","avatarPresence","avatarSeed","presenceText","required","userStatus","muted","Boolean","unreadCount","hasUnreads","selected","noInitials","isTyping","hasCallButton","callButtonTooltip","unreadCountTooltip","emits","computed","presenceColorClass","undefined","contactRowListeners","extractVueListeners","$attrs","contactDescription","safeConcatStrings","iconName","_hoisted_1","class","_openBlock","_createBlock","_component_dt_recipe_general_row","_mergeProps","$props","description","$options","_ctx","_toHandlers","onCall","_cache","$event","$emit","left","_createVNode","_component_dt_avatar","size","seed","presence","label","_component_dt_emoji_text_wrapper","_createElementVNode","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"contact-row.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 v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\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 { extractVueListeners, 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 * 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 * 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 contactRowListeners () {\n return extractVueListeners(this.$attrs);\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","extractVueListeners","safeConcatStrings","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode","_createElementVNode","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+DA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,UAAAA,WAAQ;AAAA,IACR,oBAAAC,eAAkB;AAAA,IAClB,oBAAAC,qBAAkB;AAAA,EACnB;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,UAAU;AAAA,IACR,qBAAsB;AACpB,cAAQ,KAAK,gBAAc;AAAA,QACzB,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO;AAAA,MACX;AAAA,IACD;AAAA,IAED,sBAAuB;AACrB,aAAOC,aAAmB,oBAAC,KAAK,MAAM;AAAA,IACvC;AAAA,IAED,qBAAsB;AACpB,aAAOC,aAAiB,kBAAC,CAAC,KAAK,MAAM,KAAK,cAAc,KAAK,UAAU,CAAC;AAAA,IACzE;AAAA,IAED,WAAY;AACV,aAAO,KAAK,aAAa,SAAS;AAAA,IACnC;AAAA,EACF;AACH;AA3MW,MAAA,aAAA,EAAA,OAAM,yBAAwB;;;;;AAlCvC,SAAAC,cAAA,GAAAC,gBAqDwB,kCArDxBC,IAAAA,WAqDwB;AAAA,IApDrB,gBAAc,OAAW;AAAA,IACzB,aAAa,SAAkB;AAAA,IAC/B,eAAa,OAAU;AAAA,IACvB,UAAU,OAAQ;AAAA,IAClB,mBAAiB,OAAa;AAAA,IAC9B,OAAO,OAAK;AAAA,IACZ,aAAW,OAAQ;AAAA,IACnB,uBAAqB,OAAiB;AAAA,IACtC,wBAAsB,OAAkB;AAAA,KACjC,KAAM,QACdC,IAAM,WAAoB,SAAD,mBAAA,GAAA;AAAA,IACxB,QAAI,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,YAAE,KAAK,MAAA,QAAS,MAAM;AAAA;IAEhB,kBACT,MASE;AAAA,MATFC,IAAAA,YASE,sBAAA;AAAA,QARC,aAAW,OAAI;AAAA,QACf,aAAW,OAAS;AAAA,QACrB,aAAU;AAAA,QACT,aAAW,SAAQ;AAAA,QACpB,aAAU;AAAA,QACV,MAAK;AAAA,QACJ,MAAM,OAAU;AAAA,QAChB,UAAU,OAAc;AAAA;;IAGlB,mBACT,MAMwB;AAAA,MANxBA,IAAAA,YAMwB,kCAAA;AAAA,QALtB,OAAM;AAAA,QACN,WAAQ;AAAA,QACR,MAAK;AAAA;6BAEL,MAAU;AAAA,kDAAP,OAAI,IAAA,GAAA,CAAA;AAAA;;;MAETC,IAAA,mBAiBM,OAjBN,YAiBM;AAAA,QAfI,OAAY,iCADpBC,IAMO,mBAAA,QAAA;AAAA;UAJL,WAAQ;AAAA,UACP,2DAAwC,SAAkB,kBAAA,CAAA;AAAA,+BAExD,OAAY,YAAA,GAAA,CAAA;QAGT,OAAU,+BADlBL,IAQwB,YAAA,kCAAA;AAAA;UANtB,MAAK;AAAA,UACL,gBAAa;AAAA,UACb,WAAQ;AAAA,UACR,OAAM;AAAA;+BAEN,MAAgB;AAAA,oDAAb,OAAU,UAAA,GAAA,CAAA;AAAA;;;;;;;;;;"}
@@ -4,9 +4,9 @@ import { extractVueListeners, safeConcatStrings } from "../common/utils.js";
4
4
  import { resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createVNode, createTextVNode, toDisplayString, createElementVNode, createElementBlock, normalizeClass, createCommentVNode } from "vue";
5
5
  import { _export_sfc } from "../chunks/_plugin-vue_export-helper-caHeSgYY.js";
6
6
  import { DtRecipeGeneralRow } from "./general-row.js";
7
- import "../chunks/index-dfdrE-3M.js";
7
+ import "../chunks/index-GVD15GIB.js";
8
8
  import "@dialpad/dialtone-emojis";
9
- import "../chunks/icon_constants-gIQj4mf7.js";
9
+ import "../chunks/icon_constants-Dy4MEUJL.js";
10
10
  import "@dialpad/dialtone-icons/icons.json";
11
11
  import "./emoji.js";
12
12
  import "./skeleton.js";
@@ -18,7 +18,7 @@ import "./badge.js";
18
18
  import "./button.js";
19
19
  import "../chunks/link_constants-AfTWrr-n.js";
20
20
  import "./tooltip.js";
21
- import "../chunks/popover_constants-6YkPPbnk.js";
21
+ import "../chunks/popover_constants-WsOUIY-m.js";
22
22
  import "tippy.js";
23
23
  const _sfc_main = {
24
24
  name: "DtRecipeContactRow",
@@ -174,9 +174,7 @@ const _sfc_main = {
174
174
  }
175
175
  }
176
176
  };
177
- const _hoisted_1 = {
178
- class: "dt-leftbar-row__status"
179
- };
177
+ const _hoisted_1 = { class: "dt-leftbar-row__status" };
180
178
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
181
179
  const _component_dt_avatar = resolveComponent("dt-avatar");
182
180
  const _component_dt_emoji_text_wrapper = resolveComponent("dt-emoji-text-wrapper");
@@ -194,37 +192,49 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
194
192
  }, _ctx.$attrs, toHandlers($options.contactRowListeners), {
195
193
  onCall: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("call", $event))
196
194
  }), {
197
- left: withCtx(() => [createVNode(_component_dt_avatar, {
198
- "full-name": $props.name,
199
- "image-src": $props.avatarSrc,
200
- "image-alt": "",
201
- "icon-name": $options.iconName,
202
- "icon-size": "200",
203
- size: "sm",
204
- seed: $props.avatarSeed,
205
- presence: $props.avatarPresence
206
- }, null, 8, ["full-name", "image-src", "icon-name", "seed", "presence"])]),
207
- label: withCtx(() => [createVNode(_component_dt_emoji_text_wrapper, {
208
- class: "dt-leftbar-row__description",
209
- "data-qa": "dt-leftbar-row-description",
210
- size: "200"
211
- }, {
212
- default: withCtx(() => [createTextVNode(toDisplayString($props.name), 1)]),
213
- _: 1
214
- }), createElementVNode("div", _hoisted_1, [$props.presenceText ? (openBlock(), createElementBlock("span", {
215
- key: 0,
216
- "data-qa": "dt-leftbar-row-presence-text",
217
- class: normalizeClass(["dt-leftbar-row__meta-context", $options.presenceColorClass])
218
- }, toDisplayString($props.presenceText), 3)) : createCommentVNode("", true), $props.userStatus ? (openBlock(), createBlock(_component_dt_emoji_text_wrapper, {
219
- key: 1,
220
- size: "100",
221
- "element-type": "span",
222
- "data-qa": "dt-leftbar-row-user-status",
223
- class: "dt-leftbar-row__meta-custom"
224
- }, {
225
- default: withCtx(() => [createTextVNode(toDisplayString($props.userStatus), 1)]),
226
- _: 1
227
- })) : createCommentVNode("", true)])]),
195
+ left: withCtx(() => [
196
+ createVNode(_component_dt_avatar, {
197
+ "full-name": $props.name,
198
+ "image-src": $props.avatarSrc,
199
+ "image-alt": "",
200
+ "icon-name": $options.iconName,
201
+ "icon-size": "200",
202
+ size: "sm",
203
+ seed: $props.avatarSeed,
204
+ presence: $props.avatarPresence
205
+ }, null, 8, ["full-name", "image-src", "icon-name", "seed", "presence"])
206
+ ]),
207
+ label: withCtx(() => [
208
+ createVNode(_component_dt_emoji_text_wrapper, {
209
+ class: "dt-leftbar-row__description",
210
+ "data-qa": "dt-leftbar-row-description",
211
+ size: "200"
212
+ }, {
213
+ default: withCtx(() => [
214
+ createTextVNode(toDisplayString($props.name), 1)
215
+ ]),
216
+ _: 1
217
+ }),
218
+ createElementVNode("div", _hoisted_1, [
219
+ $props.presenceText ? (openBlock(), createElementBlock("span", {
220
+ key: 0,
221
+ "data-qa": "dt-leftbar-row-presence-text",
222
+ class: normalizeClass(["dt-leftbar-row__meta-context", $options.presenceColorClass])
223
+ }, toDisplayString($props.presenceText), 3)) : createCommentVNode("", true),
224
+ $props.userStatus ? (openBlock(), createBlock(_component_dt_emoji_text_wrapper, {
225
+ key: 1,
226
+ size: "100",
227
+ "element-type": "span",
228
+ "data-qa": "dt-leftbar-row-user-status",
229
+ class: "dt-leftbar-row__meta-custom"
230
+ }, {
231
+ default: withCtx(() => [
232
+ createTextVNode(toDisplayString($props.userStatus), 1)
233
+ ]),
234
+ _: 1
235
+ })) : createCommentVNode("", true)
236
+ ])
237
+ ]),
228
238
  _: 1
229
239
  }, 16, ["unread-count", "description", "has-unreads", "selected", "has-call-button", "muted", "is-typing", "call-button-tooltip", "unread-count-tooltip"]);
230
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contact-row.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 v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\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 { extractVueListeners, 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 * 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 * 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 contactRowListeners () {\n return extractVueListeners(this.$attrs);\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":["_sfc_main","name","components","DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","inheritAttrs","props","avatarSrc","type","String","default","avatarPresence","avatarSeed","presenceText","required","userStatus","muted","Boolean","unreadCount","hasUnreads","selected","noInitials","isTyping","hasCallButton","callButtonTooltip","unreadCountTooltip","emits","computed","presenceColorClass","undefined","contactRowListeners","extractVueListeners","$attrs","contactDescription","safeConcatStrings","iconName","_hoisted_1","class","_openBlock","_createBlock","_component_dt_recipe_general_row","_mergeProps","$props","description","$options","_ctx","_toHandlers","onCall","_cache","$event","$emit","left","_createVNode","_component_dt_avatar","size","seed","presence","label","_component_dt_emoji_text_wrapper","_createElementVNode","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"contact-row.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 v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\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 { extractVueListeners, 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 * 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 * 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 contactRowListeners () {\n return extractVueListeners(this.$attrs);\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":["DtEmojiTextWrapper","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode","_createElementVNode","_createElementBlock"],"mappings":"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"}