@dialpad/dialtone-vue 2.152.1 → 2.153.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 (394) hide show
  1. package/dist/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  2. package/dist/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  3. package/dist/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  4. package/dist/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.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-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  8. package/dist/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  9. package/dist/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  10. package/dist/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  11. package/dist/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  12. package/dist/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
  13. package/dist/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  14. package/dist/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  15. package/dist/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  16. package/dist/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  17. package/dist/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  18. package/dist/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
  19. package/dist/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  20. package/dist/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  21. package/dist/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  22. package/dist/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  23. package/dist/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  24. package/dist/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  25. package/dist/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  26. package/dist/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  28. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  30. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.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-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  36. package/dist/chunks/{modal-XOr4kiNZ.js.map → modal-8X6poIZW.js.map} +1 -1
  37. package/dist/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  38. package/dist/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  39. package/dist/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  40. package/dist/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  41. package/dist/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  42. package/dist/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.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-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  46. package/dist/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  48. package/dist/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  50. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  52. package/dist/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.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-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  56. package/dist/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  57. package/dist/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  58. package/dist/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.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 +3 -1
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +3 -1
  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 +8 -44
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +8 -44
  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 +172 -48
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +172 -48
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +75 -58
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +75 -58
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +31 -20
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +31 -20
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +53 -29
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +53 -29
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +36 -30
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +36 -30
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +7 -14
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +7 -14
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +55 -62
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +55 -62
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +91 -23
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +91 -23
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +49 -33
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +49 -33
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +78 -15
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +78 -15
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +16 -23
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +16 -23
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +3 -15
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +3 -15
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +52 -16
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +52 -16
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +58 -26
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +58 -26
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +4 -11
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +4 -11
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +91 -34
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +91 -34
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +131 -38
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +131 -38
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +130 -39
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +130 -39
  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 +86 -29
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +86 -29
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +95 -24
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +95 -24
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +61 -18
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +61 -18
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +361 -102
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +361 -102
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +11 -12
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +11 -12
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +13 -17
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +13 -17
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +409 -109
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +409 -109
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +512 -234
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +512 -234
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +69 -31
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +69 -31
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +14 -22
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +14 -22
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +40 -13
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +40 -13
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +27 -12
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +27 -12
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +106 -27
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +106 -27
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +90 -35
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +90 -35
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +184 -75
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +184 -75
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +27 -16
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +27 -16
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +68 -20
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +68 -20
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +71 -41
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +71 -41
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +10 -12
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +10 -12
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +9 -12
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +9 -12
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +98 -23
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +98 -23
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +24 -14
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +24 -14
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +108 -40
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +108 -40
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +42 -11
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +42 -11
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +135 -47
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +135 -47
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +35 -23
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +35 -23
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +15 -11
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +15 -11
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +9 -15
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +9 -15
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +17 -11
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +17 -11
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +42 -23
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +42 -23
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +360 -97
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +360 -97
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +94 -36
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +94 -36
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +40 -21
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +40 -21
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +81 -20
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +81 -20
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +194 -75
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +195 -76
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +23 -22
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +23 -22
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +2 -11
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +2 -11
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +47 -15
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +47 -15
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +336 -317
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +336 -317
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +33 -15
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +33 -15
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  313. package/dist/lib/scrollbar-directive.js.map +1 -1
  314. package/dist/lib/select-menu.cjs +52 -33
  315. package/dist/lib/select-menu.cjs.map +1 -1
  316. package/dist/lib/select-menu.js +52 -33
  317. package/dist/lib/select-menu.js.map +1 -1
  318. package/dist/lib/settings-menu-button.cjs +42 -16
  319. package/dist/lib/settings-menu-button.cjs.map +1 -1
  320. package/dist/lib/settings-menu-button.js +42 -16
  321. package/dist/lib/settings-menu-button.js.map +1 -1
  322. package/dist/lib/skeleton.cjs +118 -93
  323. package/dist/lib/skeleton.cjs.map +1 -1
  324. package/dist/lib/skeleton.js +118 -93
  325. package/dist/lib/skeleton.js.map +1 -1
  326. package/dist/lib/split-button.cjs +164 -64
  327. package/dist/lib/split-button.cjs.map +1 -1
  328. package/dist/lib/split-button.js +164 -64
  329. package/dist/lib/split-button.js.map +1 -1
  330. package/dist/lib/stack.cjs +21 -33
  331. package/dist/lib/stack.cjs.map +1 -1
  332. package/dist/lib/stack.js +21 -33
  333. package/dist/lib/stack.js.map +1 -1
  334. package/dist/lib/tabs.cjs +20 -13
  335. package/dist/lib/tabs.cjs.map +1 -1
  336. package/dist/lib/tabs.js +20 -13
  337. package/dist/lib/tabs.js.map +1 -1
  338. package/dist/lib/time-pill.cjs +8 -11
  339. package/dist/lib/time-pill.cjs.map +1 -1
  340. package/dist/lib/time-pill.js +8 -11
  341. package/dist/lib/time-pill.js.map +1 -1
  342. package/dist/lib/toast.cjs +42 -21
  343. package/dist/lib/toast.cjs.map +1 -1
  344. package/dist/lib/toast.js +42 -21
  345. package/dist/lib/toast.js.map +1 -1
  346. package/dist/lib/toggle.cjs +28 -24
  347. package/dist/lib/toggle.cjs.map +1 -1
  348. package/dist/lib/toggle.js +28 -24
  349. package/dist/lib/toggle.js.map +1 -1
  350. package/dist/lib/tooltip-directive.cjs +32 -26
  351. package/dist/lib/tooltip-directive.cjs.map +1 -1
  352. package/dist/lib/tooltip-directive.js +32 -26
  353. package/dist/lib/tooltip-directive.js.map +1 -1
  354. package/dist/lib/tooltip.cjs +31 -21
  355. package/dist/lib/tooltip.cjs.map +1 -1
  356. package/dist/lib/tooltip.js +32 -22
  357. package/dist/lib/tooltip.js.map +1 -1
  358. package/dist/lib/top-banner-info.cjs +18 -21
  359. package/dist/lib/top-banner-info.cjs.map +1 -1
  360. package/dist/lib/top-banner-info.js +18 -21
  361. package/dist/lib/top-banner-info.js.map +1 -1
  362. package/dist/lib/unread-pill.cjs +18 -12
  363. package/dist/lib/unread-pill.cjs.map +1 -1
  364. package/dist/lib/unread-pill.js +18 -12
  365. package/dist/lib/unread-pill.js.map +1 -1
  366. package/dist/lib/validation-messages.cjs +23 -16
  367. package/dist/lib/validation-messages.cjs.map +1 -1
  368. package/dist/lib/validation-messages.js +23 -16
  369. package/dist/lib/validation-messages.js.map +1 -1
  370. package/dist/types/common/emoji/index.d.ts +2 -59236
  371. package/dist/types/common/emoji/index.d.ts.map +1 -1
  372. package/dist/types/components/button/button.vue.d.ts +1 -1
  373. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  374. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  375. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  376. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  377. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  378. package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
  379. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  380. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  381. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  382. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  383. package/dist/types/components/input/input.vue.d.ts +1 -1
  384. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  385. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  386. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  387. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  388. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  389. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  390. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  391. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  392. package/package.json +3 -2
  393. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  394. package/dist/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state.js","sources":["../../components/empty_state/empty_state_constants.js","../../components/empty_state/empty_state.vue"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n","<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AC+CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,0BAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA,mBAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA,WAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,4BAAA;AACA,aAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,cAAA,KAAA,MAAA;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,gBAAA;AACA,cAAA,KAAA,MAAA;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,YAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"empty-state.js","sources":["../../components/empty_state/empty_state_constants.js","../../components/empty_state/empty_state.vue"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n","<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":["EMPTY_STATE_SIZE_MODIFIERS","sm","md","lg","_sfc_main","name","components","DtIllustration","DtIcon","DtStack","props","size","type","String","default","validator","s","Object","keys","includes","illustrationName","ILLUSTRATION_NAMES","iconName","ICON_NAMES","headerText","required","bodyText","showIllustration","Boolean","computed","showIllustrationComponent","notSmSize","showIcon","sizeClass","emptyStateClasses","contentClass","headlineClass","bodyClass","mounted","$slots","body","console","warn"],"mappings":";;;;;;;;;AAAO,MAAMA,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AC+CA,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,MAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAC,OAAAC,OAAAC,KAAAlB,0BAAA,EAAAmB,SAAAH,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAI,kBAAA;AAAA,MACAR,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAV,UAAAgB,mBAAAF,SAAAd,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAiB,UAAA;AAAA,MACAV,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAV,UAAAkB,WAAAJ,SAAAd,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAmB,YAAA;AAAA,MACAZ,MAAAC;AAAAA,MACAY,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,UAAA;AAAA,MACAd,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAa,kBAAA;AAAA,MACAf,MAAAgB;AAAAA,MACAd,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,4BAAA;AACA,aAAA,KAAAV,oBAAA,KAAAW;AAAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,WAAA;AACA,UAAA,CAAA,KAAAV,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAAF,oBAAA,KAAAW;AAAAA,IACA;AAAA,IAEAA,YAAA;AACA,aAAA,KAAApB,SAAA;AAAA,IACA;AAAA,IAEAsB,YAAA;AACA,aAAAjC,2BAAA,KAAAW,IAAA;AAAA,IACA;AAAA,IAEAuB,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAAD,SAAA;AAAA,IACA;AAAA,IAEAE,eAAA;AACA,cAAA,KAAAxB,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEAyB,gBAAA;AACA,cAAA,KAAAzB,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA0B,YAAA;AACA,cAAA,KAAA1B,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA2B,UAAA;AACA,QAAA,CAAA,KAAAZ,YAAA,CAAA,KAAAa,OAAAC,MAAA;AACAC,cAAAC,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const modal = require("../chunks/modal-VgxXAQFP.js");
3
+ const modal = require("../chunks/modal-OaWxzqNt.js");
4
4
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
5
5
  const lib_avatar = require("./avatar.cjs");
6
6
  const lib_lazyShow = require("./lazy-show.cjs");
@@ -10,7 +10,7 @@ require("../common/utils.cjs");
10
10
  require("../common/constants.cjs");
11
11
  require("vue");
12
12
  require("@dialpad/dialtone-icons/icons.json");
13
- require("../chunks/icon_constants-QYpmdE0R.js");
13
+ require("../chunks/icon_constants-VEA0wI5C.js");
14
14
  require("./presence.cjs");
15
15
  require("./icon.cjs");
16
16
  require("@dialpad/dialtone-icons/vue2");
@@ -159,12 +159,11 @@ const _sfc_main = {
159
159
  return this.noInitials ? "user" : null;
160
160
  },
161
161
  listItemClasses() {
162
- return [
163
- "dt-feed-item-row",
164
- { "dt-feed-item-row--active": this.isActive && this.state === DEFAULT_FEED_ROW_STATE },
165
- { "dt-feed-item-row--state-transition": this.transitionActive },
166
- FEED_ROW_STATE_BACKGROUND_COLOR[this.state]
167
- ];
162
+ return ["dt-feed-item-row", {
163
+ "dt-feed-item-row--active": this.isActive && this.state === DEFAULT_FEED_ROW_STATE
164
+ }, {
165
+ "dt-feed-item-row--state-transition": this.transitionActive
166
+ }, FEED_ROW_STATE_BACKGROUND_COLOR[this.state]];
168
167
  }
169
168
  },
170
169
  watch: {
@@ -196,27 +195,107 @@ const _sfc_main = {
196
195
  };
197
196
  var _sfc_render = function render() {
198
197
  var _vm = this, _c = _vm._self._c;
199
- return _c("dt-list-item", _vm._g(_vm._b({ ref: "FeedItemRef", class: ["dt-feed-item-row", _vm.listItemClasses], attrs: { "navigation-type": "none", "data-qa": "dt-feed-item-row" }, scopedSlots: _vm._u([{ key: "left", fn: function() {
200
- return [_vm.showHeader ? _c("div", { staticClass: "dt-feed-item-row__avatar-container" }, [_vm._t("avatar", function() {
201
- return [_c("dt-avatar", { attrs: { "full-name": _vm.displayName, "image-src": _vm.avatarImageUrl, "image-alt": "", "icon-name": _vm.iconName, "seed": _vm.avatarSeed } })];
202
- })], 2) : _vm._e(), !_vm.showHeader ? _c("span", { directives: [{ name: "show", rawName: "v-show", value: _vm.isActive, expression: "isActive" }], staticClass: "dt-feed-item-row__left-time", attrs: { "data-qa": "dt-feed-item-row--left-time" } }, [_vm._v(" " + _vm._s(_vm.shortTime) + " ")]) : _vm._e()];
203
- }, proxy: true }, { key: "bottom", fn: function() {
204
- return [_vm.$slots.reactions ? _c("div", { staticClass: "dt-feed-item-row__reactions", attrs: { "data-qa": "dt-feed-item-row--reactions" } }, [_vm._t("reactions")], 2) : _vm._e(), _vm.$slots.threading ? _c("div", { staticClass: "dt-feed-item-row__threading" }, [_vm._t("threading")], 2) : _vm._e()];
205
- }, proxy: true }, { key: "right", fn: function() {
206
- return [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.isActive, expression: "isActive" }], staticClass: "dt-feed-item-row__menu", attrs: { "data-qa": "dt-feed-item-row--menu" } }, [_c("dt-lazy-show", { attrs: { "appear": true, "transition": "fade", "show": _vm.isActive } }, [_vm._t("menu")], 2)], 1)];
207
- }, proxy: true }], null, true) }, "dt-list-item", _vm.$attrs, false), _vm.feedListeners), [_c("article", { staticClass: "dt-feed-item-row__content" }, [_vm.showHeader ? _c("div", { staticClass: "dt-feed-item-row__header", attrs: { "data-qa": "dt-feed-item-row--header" } }, [_c("p", { staticClass: "dt-feed-item-row__header__name" }, [_vm._v(" " + _vm._s(_vm.displayName) + " ")]), _c("time", { staticClass: "dt-feed-item-row__header__time" }, [_vm._v(" " + _vm._s(_vm.time) + " ")]), _vm.labelText ? _c("dt-badge", { attrs: { "text": _vm.labelText } }) : _vm._e()], 1) : _vm._e(), _c("span", { attrs: { "data-qa": "dt-feed-item-row--content" } }, [_vm._t("default")], 2), _vm.$slots.attachment ? _c("div", { staticClass: "dt-feed-item-row__attachment", attrs: { "data-qa": "dt-feed-item-row--attachment" } }, [_vm._t("attachment")], 2) : _vm._e()])]);
198
+ return _c("dt-list-item", _vm._g(_vm._b({
199
+ ref: "FeedItemRef",
200
+ class: ["dt-feed-item-row", _vm.listItemClasses],
201
+ attrs: {
202
+ "navigation-type": "none",
203
+ "data-qa": "dt-feed-item-row"
204
+ },
205
+ scopedSlots: _vm._u([{
206
+ key: "left",
207
+ fn: function() {
208
+ return [_vm.showHeader ? _c("div", {
209
+ staticClass: "dt-feed-item-row__avatar-container"
210
+ }, [_vm._t("avatar", function() {
211
+ return [_c("dt-avatar", {
212
+ attrs: {
213
+ "full-name": _vm.displayName,
214
+ "image-src": _vm.avatarImageUrl,
215
+ "image-alt": "",
216
+ "icon-name": _vm.iconName,
217
+ "seed": _vm.avatarSeed
218
+ }
219
+ })];
220
+ })], 2) : _vm._e(), !_vm.showHeader ? _c("span", {
221
+ directives: [{
222
+ name: "show",
223
+ rawName: "v-show",
224
+ value: _vm.isActive,
225
+ expression: "isActive"
226
+ }],
227
+ staticClass: "dt-feed-item-row__left-time",
228
+ attrs: {
229
+ "data-qa": "dt-feed-item-row--left-time"
230
+ }
231
+ }, [_vm._v(" " + _vm._s(_vm.shortTime) + " ")]) : _vm._e()];
232
+ },
233
+ proxy: true
234
+ }, {
235
+ key: "bottom",
236
+ fn: function() {
237
+ return [_vm.$slots.reactions ? _c("div", {
238
+ staticClass: "dt-feed-item-row__reactions",
239
+ attrs: {
240
+ "data-qa": "dt-feed-item-row--reactions"
241
+ }
242
+ }, [_vm._t("reactions")], 2) : _vm._e(), _vm.$slots.threading ? _c("div", {
243
+ staticClass: "dt-feed-item-row__threading"
244
+ }, [_vm._t("threading")], 2) : _vm._e()];
245
+ },
246
+ proxy: true
247
+ }, {
248
+ key: "right",
249
+ fn: function() {
250
+ return [_c("div", {
251
+ directives: [{
252
+ name: "show",
253
+ rawName: "v-show",
254
+ value: _vm.isActive,
255
+ expression: "isActive"
256
+ }],
257
+ staticClass: "dt-feed-item-row__menu",
258
+ attrs: {
259
+ "data-qa": "dt-feed-item-row--menu"
260
+ }
261
+ }, [_c("dt-lazy-show", {
262
+ attrs: {
263
+ "appear": true,
264
+ "transition": "fade",
265
+ "show": _vm.isActive
266
+ }
267
+ }, [_vm._t("menu")], 2)], 1)];
268
+ },
269
+ proxy: true
270
+ }], null, true)
271
+ }, "dt-list-item", _vm.$attrs, false), _vm.feedListeners), [_c("article", {
272
+ staticClass: "dt-feed-item-row__content"
273
+ }, [_vm.showHeader ? _c("div", {
274
+ staticClass: "dt-feed-item-row__header",
275
+ attrs: {
276
+ "data-qa": "dt-feed-item-row--header"
277
+ }
278
+ }, [_c("p", {
279
+ staticClass: "dt-feed-item-row__header__name"
280
+ }, [_vm._v(" " + _vm._s(_vm.displayName) + " ")]), _c("time", {
281
+ staticClass: "dt-feed-item-row__header__time"
282
+ }, [_vm._v(" " + _vm._s(_vm.time) + " ")]), _vm.labelText ? _c("dt-badge", {
283
+ attrs: {
284
+ "text": _vm.labelText
285
+ }
286
+ }) : _vm._e()], 1) : _vm._e(), _c("span", {
287
+ attrs: {
288
+ "data-qa": "dt-feed-item-row--content"
289
+ }
290
+ }, [_vm._t("default")], 2), _vm.$slots.attachment ? _c("div", {
291
+ staticClass: "dt-feed-item-row__attachment",
292
+ attrs: {
293
+ "data-qa": "dt-feed-item-row--attachment"
294
+ }
295
+ }, [_vm._t("attachment")], 2) : _vm._e()])]);
208
296
  };
209
297
  var _sfc_staticRenderFns = [];
210
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
211
- _sfc_main,
212
- _sfc_render,
213
- _sfc_staticRenderFns,
214
- false,
215
- null,
216
- "047dcbe5",
217
- null,
218
- null
219
- );
298
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "047dcbe5", null, null);
220
299
  const feed_item_row = __component__.exports;
221
300
  exports.DEFAULT_FEED_ROW_STATE = DEFAULT_FEED_ROW_STATE;
222
301
  exports.DtRecipeFeedItemRow = feed_item_row;
@@ -1 +1 @@
1
- {"version":3,"file":"feed-item-row.cjs","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\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 * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["DtAvatar","DtLazyShow","DtListItem","DtBadge","Modal"],"mappings":"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"}
1
+ {"version":3,"file":"feed-item-row.cjs","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\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 * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["FEED_ROW_STATE_BACKGROUND_COLOR","NORMAL","SEARCHED","ERROR","DEFAULT_FEED_ROW_STATE","_sfc_main","name","components","DtAvatar","DtLazyShow","DtListItem","DtBadge","mixins","Modal","inheritAttrs","props","avatarSeed","type","String","default","showHeader","Boolean","avatarImageUrl","displayName","noInitials","time","shortTime","labelText","isActive","state","validator","Object","keys","includes","emits","data","transitionActive","computed","feedListeners","$listeners","mouseenter","setHover","mouseleave","focusin","setFocus","focusout","transitionend","transitionComplete","keydown","event","code","trapFocus","$emit","iconName","listItemClasses","watch","immediate","handler","newState","oldState","methods","e","focusTrappedTabPress","bool"],"mappings":";;;;;;;;;;;;;;;;;;AAAO,MAAMA,kCAAkC;AAAA,EAC7CC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,OAAO;AACT;AAEO,MAAMC,yBAAyB;ACmHtC,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,cACAC,WAAA;AAAA,gBACAC,aAAA;AAAA,gBACAC,aAAA;AAAA,IACAC,SAAAA,UAAAA;AAAAA,EACA;AAAA,EAEAC,QAAA,CAAAC,MAAAA,KAAA;AAAA,EAEAC,cAAA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,YAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,YAAA;AAAA,MACAH,MAAAI;AAAAA,MACAF,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAG,gBAAA;AAAA,MACAL,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAI,aAAA;AAAA,MACAN,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAK,YAAA;AAAA,MACAP,MAAAI;AAAAA,MACAF,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAM,MAAA;AAAA,MACAR,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAO,WAAA;AAAA,MACAT,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAQ,WAAA;AAAA,MACAV,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAS,UAAA;AAAA,MACAX,MAAAI;AAAAA,MACAF,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAU,OAAA;AAAA,MACAZ,MAAAC;AAAAA,MACAC,SAAAf;AAAAA,MACA0B,WAAAD,WAAAE,OAAAC,KAAAhC,+BAAA,EAAAiC,SAAAJ,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAK,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EAAA;AAAA,EAGAC,OAAA;AACA,WAAA;AAAA,MACAC,kBAAA;AAAA;EAEA;AAAA,EAEAC,UAAA;AAAA,IACAC,gBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAAC;AAAAA,QACAC,YAAAA,MAAA,KAAAC,SAAA,IAAA;AAAA,QACAC,YAAAA,MAAA,KAAAD,SAAA,KAAA;AAAA,QACAE,SAAAA,MAAA,KAAAC,SAAA,IAAA;AAAA,QACAC,UAAAA,MAAA,KAAAD,SAAA,KAAA;AAAA,QACAE,eAAAA,MAAA,KAAAC,mBAAA;AAAA,QACAC,SAAAC,WAAA;AACA,kBAAAA,MAAAC,MAAA;AAAA,YACA,KAAA;AACA,mBAAAC,UAAAF,KAAA;AACA;AAAA,UACA;AACA,eAAAG,MAAA,WAAAH,KAAA;AAAA,QACA;AAAA;IAEA;AAAA,IAEAI,WAAA;AACA,aAAA,KAAA7B,aAAA,SAAA;AAAA,IACA;AAAA,IAEA8B,kBAAA;AACA,aAAA,CACA,oBACA;AAAA,QAAA,4BAAA,KAAA1B,YAAA,KAAAC,UAAAzB;AAAAA,MAAA,GACA;AAAA,QAAA,sCAAA,KAAAgC;AAAAA,MAAA,GACApC,gCAAA,KAAA6B,KAAA,CAAA;AAAA,IAGA;AAAA,EACA;AAAA,EAEA0B,OAAA;AAAA,IACA1B,OAAA;AAAA,MACA2B,WAAA;AAAA,MACAC,SAAA,SAAAC,UAAAC,UAAA;AACA,YAAAD,aAAAtD,wBAAA;AACA,eAAAgC,mBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEAwB,SAAA;AAAA,IACAb,qBAAA;AACA,UAAA,KAAAlB,UAAAzB,wBAAA;AACA,aAAAgC,mBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEAe,UAAAU,GAAA;AACA,WAAAC,qBAAAD,CAAA;AAAA,IACA;AAAA,IAEAjB,SAAAmB,MAAA;AACA,WAAAX,MAAA,SAAAW,IAAA;AAAA,IACA;AAAA,IAEAtB,SAAAsB,MAAA;AACA,WAAAX,MAAA,SAAAW,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { Modal } from "../chunks/modal-XOr4kiNZ.js";
1
+ import { Modal } from "../chunks/modal-8X6poIZW.js";
2
2
  import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
3
3
  import { DtAvatar } from "./avatar.js";
4
4
  import { DtLazyShow } from "./lazy-show.js";
@@ -8,7 +8,7 @@ import "../common/utils.js";
8
8
  import "../common/constants.js";
9
9
  import "vue";
10
10
  import "@dialpad/dialtone-icons/icons.json";
11
- import "../chunks/icon_constants-Dy4MEUJL.js";
11
+ import "../chunks/icon_constants-TdxqLsS2.js";
12
12
  import "./presence.js";
13
13
  import "./icon.js";
14
14
  import "@dialpad/dialtone-icons/vue2";
@@ -157,12 +157,11 @@ const _sfc_main = {
157
157
  return this.noInitials ? "user" : null;
158
158
  },
159
159
  listItemClasses() {
160
- return [
161
- "dt-feed-item-row",
162
- { "dt-feed-item-row--active": this.isActive && this.state === DEFAULT_FEED_ROW_STATE },
163
- { "dt-feed-item-row--state-transition": this.transitionActive },
164
- FEED_ROW_STATE_BACKGROUND_COLOR[this.state]
165
- ];
160
+ return ["dt-feed-item-row", {
161
+ "dt-feed-item-row--active": this.isActive && this.state === DEFAULT_FEED_ROW_STATE
162
+ }, {
163
+ "dt-feed-item-row--state-transition": this.transitionActive
164
+ }, FEED_ROW_STATE_BACKGROUND_COLOR[this.state]];
166
165
  }
167
166
  },
168
167
  watch: {
@@ -194,27 +193,107 @@ const _sfc_main = {
194
193
  };
195
194
  var _sfc_render = function render() {
196
195
  var _vm = this, _c = _vm._self._c;
197
- return _c("dt-list-item", _vm._g(_vm._b({ ref: "FeedItemRef", class: ["dt-feed-item-row", _vm.listItemClasses], attrs: { "navigation-type": "none", "data-qa": "dt-feed-item-row" }, scopedSlots: _vm._u([{ key: "left", fn: function() {
198
- return [_vm.showHeader ? _c("div", { staticClass: "dt-feed-item-row__avatar-container" }, [_vm._t("avatar", function() {
199
- return [_c("dt-avatar", { attrs: { "full-name": _vm.displayName, "image-src": _vm.avatarImageUrl, "image-alt": "", "icon-name": _vm.iconName, "seed": _vm.avatarSeed } })];
200
- })], 2) : _vm._e(), !_vm.showHeader ? _c("span", { directives: [{ name: "show", rawName: "v-show", value: _vm.isActive, expression: "isActive" }], staticClass: "dt-feed-item-row__left-time", attrs: { "data-qa": "dt-feed-item-row--left-time" } }, [_vm._v(" " + _vm._s(_vm.shortTime) + " ")]) : _vm._e()];
201
- }, proxy: true }, { key: "bottom", fn: function() {
202
- return [_vm.$slots.reactions ? _c("div", { staticClass: "dt-feed-item-row__reactions", attrs: { "data-qa": "dt-feed-item-row--reactions" } }, [_vm._t("reactions")], 2) : _vm._e(), _vm.$slots.threading ? _c("div", { staticClass: "dt-feed-item-row__threading" }, [_vm._t("threading")], 2) : _vm._e()];
203
- }, proxy: true }, { key: "right", fn: function() {
204
- return [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.isActive, expression: "isActive" }], staticClass: "dt-feed-item-row__menu", attrs: { "data-qa": "dt-feed-item-row--menu" } }, [_c("dt-lazy-show", { attrs: { "appear": true, "transition": "fade", "show": _vm.isActive } }, [_vm._t("menu")], 2)], 1)];
205
- }, proxy: true }], null, true) }, "dt-list-item", _vm.$attrs, false), _vm.feedListeners), [_c("article", { staticClass: "dt-feed-item-row__content" }, [_vm.showHeader ? _c("div", { staticClass: "dt-feed-item-row__header", attrs: { "data-qa": "dt-feed-item-row--header" } }, [_c("p", { staticClass: "dt-feed-item-row__header__name" }, [_vm._v(" " + _vm._s(_vm.displayName) + " ")]), _c("time", { staticClass: "dt-feed-item-row__header__time" }, [_vm._v(" " + _vm._s(_vm.time) + " ")]), _vm.labelText ? _c("dt-badge", { attrs: { "text": _vm.labelText } }) : _vm._e()], 1) : _vm._e(), _c("span", { attrs: { "data-qa": "dt-feed-item-row--content" } }, [_vm._t("default")], 2), _vm.$slots.attachment ? _c("div", { staticClass: "dt-feed-item-row__attachment", attrs: { "data-qa": "dt-feed-item-row--attachment" } }, [_vm._t("attachment")], 2) : _vm._e()])]);
196
+ return _c("dt-list-item", _vm._g(_vm._b({
197
+ ref: "FeedItemRef",
198
+ class: ["dt-feed-item-row", _vm.listItemClasses],
199
+ attrs: {
200
+ "navigation-type": "none",
201
+ "data-qa": "dt-feed-item-row"
202
+ },
203
+ scopedSlots: _vm._u([{
204
+ key: "left",
205
+ fn: function() {
206
+ return [_vm.showHeader ? _c("div", {
207
+ staticClass: "dt-feed-item-row__avatar-container"
208
+ }, [_vm._t("avatar", function() {
209
+ return [_c("dt-avatar", {
210
+ attrs: {
211
+ "full-name": _vm.displayName,
212
+ "image-src": _vm.avatarImageUrl,
213
+ "image-alt": "",
214
+ "icon-name": _vm.iconName,
215
+ "seed": _vm.avatarSeed
216
+ }
217
+ })];
218
+ })], 2) : _vm._e(), !_vm.showHeader ? _c("span", {
219
+ directives: [{
220
+ name: "show",
221
+ rawName: "v-show",
222
+ value: _vm.isActive,
223
+ expression: "isActive"
224
+ }],
225
+ staticClass: "dt-feed-item-row__left-time",
226
+ attrs: {
227
+ "data-qa": "dt-feed-item-row--left-time"
228
+ }
229
+ }, [_vm._v(" " + _vm._s(_vm.shortTime) + " ")]) : _vm._e()];
230
+ },
231
+ proxy: true
232
+ }, {
233
+ key: "bottom",
234
+ fn: function() {
235
+ return [_vm.$slots.reactions ? _c("div", {
236
+ staticClass: "dt-feed-item-row__reactions",
237
+ attrs: {
238
+ "data-qa": "dt-feed-item-row--reactions"
239
+ }
240
+ }, [_vm._t("reactions")], 2) : _vm._e(), _vm.$slots.threading ? _c("div", {
241
+ staticClass: "dt-feed-item-row__threading"
242
+ }, [_vm._t("threading")], 2) : _vm._e()];
243
+ },
244
+ proxy: true
245
+ }, {
246
+ key: "right",
247
+ fn: function() {
248
+ return [_c("div", {
249
+ directives: [{
250
+ name: "show",
251
+ rawName: "v-show",
252
+ value: _vm.isActive,
253
+ expression: "isActive"
254
+ }],
255
+ staticClass: "dt-feed-item-row__menu",
256
+ attrs: {
257
+ "data-qa": "dt-feed-item-row--menu"
258
+ }
259
+ }, [_c("dt-lazy-show", {
260
+ attrs: {
261
+ "appear": true,
262
+ "transition": "fade",
263
+ "show": _vm.isActive
264
+ }
265
+ }, [_vm._t("menu")], 2)], 1)];
266
+ },
267
+ proxy: true
268
+ }], null, true)
269
+ }, "dt-list-item", _vm.$attrs, false), _vm.feedListeners), [_c("article", {
270
+ staticClass: "dt-feed-item-row__content"
271
+ }, [_vm.showHeader ? _c("div", {
272
+ staticClass: "dt-feed-item-row__header",
273
+ attrs: {
274
+ "data-qa": "dt-feed-item-row--header"
275
+ }
276
+ }, [_c("p", {
277
+ staticClass: "dt-feed-item-row__header__name"
278
+ }, [_vm._v(" " + _vm._s(_vm.displayName) + " ")]), _c("time", {
279
+ staticClass: "dt-feed-item-row__header__time"
280
+ }, [_vm._v(" " + _vm._s(_vm.time) + " ")]), _vm.labelText ? _c("dt-badge", {
281
+ attrs: {
282
+ "text": _vm.labelText
283
+ }
284
+ }) : _vm._e()], 1) : _vm._e(), _c("span", {
285
+ attrs: {
286
+ "data-qa": "dt-feed-item-row--content"
287
+ }
288
+ }, [_vm._t("default")], 2), _vm.$slots.attachment ? _c("div", {
289
+ staticClass: "dt-feed-item-row__attachment",
290
+ attrs: {
291
+ "data-qa": "dt-feed-item-row--attachment"
292
+ }
293
+ }, [_vm._t("attachment")], 2) : _vm._e()])]);
206
294
  };
207
295
  var _sfc_staticRenderFns = [];
208
- var __component__ = /* @__PURE__ */ normalizeComponent(
209
- _sfc_main,
210
- _sfc_render,
211
- _sfc_staticRenderFns,
212
- false,
213
- null,
214
- "047dcbe5",
215
- null,
216
- null
217
- );
296
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "047dcbe5", null, null);
218
297
  const feed_item_row = __component__.exports;
219
298
  export {
220
299
  DEFAULT_FEED_ROW_STATE,
@@ -1 +1 @@
1
- {"version":3,"file":"feed-item-row.js","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\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 * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-item-row.js","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\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 * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["FEED_ROW_STATE_BACKGROUND_COLOR","NORMAL","SEARCHED","ERROR","DEFAULT_FEED_ROW_STATE","_sfc_main","name","components","DtAvatar","DtLazyShow","DtListItem","DtBadge","mixins","Modal","inheritAttrs","props","avatarSeed","type","String","default","showHeader","Boolean","avatarImageUrl","displayName","noInitials","time","shortTime","labelText","isActive","state","validator","Object","keys","includes","emits","data","transitionActive","computed","feedListeners","$listeners","mouseenter","setHover","mouseleave","focusin","setFocus","focusout","transitionend","transitionComplete","keydown","event","code","trapFocus","$emit","iconName","listItemClasses","watch","immediate","handler","newState","oldState","methods","e","focusTrappedTabPress","bool"],"mappings":"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"}