@dialpad/dialtone-vue 3.120.0 → 3.120.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
  2. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
  3. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
  4. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
  5. package/dist/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
  6. package/dist/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
  7. package/dist/chunks/dropdown-w8Do29L5.js +442 -0
  8. package/dist/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
  9. package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  10. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  11. package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  12. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  13. package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  14. package/dist/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
  15. package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
  16. package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
  17. package/dist/chunks/index-4qgKeErp.js +446 -0
  18. package/dist/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
  19. package/dist/chunks/index-b_MgDylR.js +447 -0
  20. package/dist/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
  21. package/dist/chunks/{input-4UQWegUk.js → input-NmYDD5bn.js} +83 -60
  22. package/dist/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
  23. package/dist/chunks/input-ttnte8zB.js +295 -0
  24. package/dist/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
  25. package/dist/chunks/input_group-M-D25pOJ.js +152 -0
  26. package/dist/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
  27. package/dist/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
  28. package/dist/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
  29. package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  30. package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  32. package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
  34. package/dist/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
  35. package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
  36. package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
  37. package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
  38. package/dist/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
  39. package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  40. package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
  41. package/dist/chunks/modal-VgxXAQFP.js +105 -0
  42. package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  43. package/dist/chunks/modal-XOr4kiNZ.js +106 -0
  44. package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
  45. package/dist/chunks/notice_action-WTucGhvr.js +222 -0
  46. package/dist/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
  47. package/dist/chunks/notice_action-p-ePanW_.js +223 -0
  48. package/dist/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
  49. package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
  50. package/dist/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
  51. package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
  52. package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
  53. package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
  54. package/dist/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
  55. package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
  56. package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  57. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
  58. package/dist/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  59. package/dist/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
  60. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  61. package/dist/chunks/stack_constants-HraCekPm.js +15 -0
  62. package/dist/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
  63. package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
  64. package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
  65. package/dist/chunks/tab-RTDgnD9-.js +391 -0
  66. package/dist/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
  67. package/dist/chunks/tab-qc3f42Yp.js +390 -0
  68. package/dist/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
  69. package/dist/common/constants.cjs +60 -0
  70. package/dist/{lib → common}/constants.cjs.map +1 -1
  71. package/dist/{lib → common}/constants.js +25 -18
  72. package/dist/{lib → common}/constants.js.map +1 -1
  73. package/dist/common/dates.cjs +72 -0
  74. package/dist/{lib → common}/dates.cjs.map +1 -1
  75. package/dist/common/dates.js +72 -0
  76. package/dist/{lib → common}/dates.js.map +1 -1
  77. package/dist/common/emoji.cjs +163 -0
  78. package/dist/common/emoji.cjs.map +1 -0
  79. package/dist/common/emoji.js +168 -0
  80. package/dist/common/emoji.js.map +1 -0
  81. package/dist/common/mixins.cjs +17 -0
  82. package/dist/{lib → common}/mixins.cjs.map +1 -1
  83. package/dist/common/mixins.js +17 -0
  84. package/dist/common/utils.cjs +243 -0
  85. package/dist/{lib → common}/utils.cjs.map +1 -1
  86. package/dist/common/utils.js +243 -0
  87. package/dist/{lib → common}/utils.js.map +1 -1
  88. package/dist/common/validators.cjs +23 -0
  89. package/dist/{lib → common}/validators.cjs.map +1 -1
  90. package/dist/common/validators.js +23 -0
  91. package/dist/{lib → common}/validators.js.map +1 -1
  92. package/dist/dialtone-vue.cjs +373 -1
  93. package/dist/dialtone-vue.cjs.map +1 -1
  94. package/dist/dialtone-vue.js +328 -327
  95. package/dist/dialtone-vue.js.map +1 -1
  96. package/dist/lib/attachment-carousel.cjs +345 -1
  97. package/dist/lib/attachment-carousel.cjs.map +1 -1
  98. package/dist/lib/attachment-carousel.js +126 -108
  99. package/dist/lib/attachment-carousel.js.map +1 -1
  100. package/dist/lib/avatar.cjs +447 -1
  101. package/dist/lib/avatar.cjs.map +1 -1
  102. package/dist/lib/avatar.js +135 -101
  103. package/dist/lib/avatar.js.map +1 -1
  104. package/dist/lib/badge.cjs +206 -1
  105. package/dist/lib/badge.cjs.map +1 -1
  106. package/dist/lib/badge.js +64 -48
  107. package/dist/lib/badge.js.map +1 -1
  108. package/dist/lib/banner.cjs +242 -2
  109. package/dist/lib/banner.cjs.map +1 -1
  110. package/dist/lib/banner.js +81 -71
  111. package/dist/lib/banner.js.map +1 -1
  112. package/dist/lib/breadcrumbs.cjs +150 -1
  113. package/dist/lib/breadcrumbs.cjs.map +1 -1
  114. package/dist/lib/breadcrumbs.js +60 -52
  115. package/dist/lib/breadcrumbs.js.map +1 -1
  116. package/dist/lib/button-group.cjs +41 -1
  117. package/dist/lib/button-group.cjs.map +1 -1
  118. package/dist/lib/button-group.js +15 -14
  119. package/dist/lib/button-group.js.map +1 -1
  120. package/dist/lib/button.cjs +356 -1
  121. package/dist/lib/button.cjs.map +1 -1
  122. package/dist/lib/button.js +108 -88
  123. package/dist/lib/button.js.map +1 -1
  124. package/dist/lib/callbar-button-with-popover.cjs +322 -1
  125. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  126. package/dist/lib/callbar-button-with-popover.js +101 -83
  127. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  128. package/dist/lib/callbar-button.cjs +200 -1
  129. package/dist/lib/callbar-button.cjs.map +1 -1
  130. package/dist/lib/callbar-button.js +52 -45
  131. package/dist/lib/callbar-button.js.map +1 -1
  132. package/dist/lib/callbox.cjs +217 -1
  133. package/dist/lib/callbox.cjs.map +1 -1
  134. package/dist/lib/callbox.js +80 -67
  135. package/dist/lib/callbox.js.map +1 -1
  136. package/dist/lib/card.cjs +91 -1
  137. package/dist/lib/card.cjs.map +1 -1
  138. package/dist/lib/card.js +27 -27
  139. package/dist/lib/card.js.map +1 -1
  140. package/dist/lib/checkbox-group.cjs +115 -1
  141. package/dist/lib/checkbox-group.cjs.map +1 -1
  142. package/dist/lib/checkbox-group.js +34 -23
  143. package/dist/lib/checkbox-group.js.map +1 -1
  144. package/dist/lib/checkbox.cjs +156 -1
  145. package/dist/lib/checkbox.cjs.map +1 -1
  146. package/dist/lib/checkbox.js +72 -60
  147. package/dist/lib/checkbox.js.map +1 -1
  148. package/dist/lib/chip.cjs +235 -1
  149. package/dist/lib/chip.cjs.map +1 -1
  150. package/dist/lib/chip.js +84 -67
  151. package/dist/lib/chip.js.map +1 -1
  152. package/dist/lib/codeblock.cjs +23 -2
  153. package/dist/lib/codeblock.cjs.map +1 -1
  154. package/dist/lib/codeblock.js +13 -13
  155. package/dist/lib/codeblock.js.map +1 -1
  156. package/dist/lib/collapsible.cjs +398 -1
  157. package/dist/lib/collapsible.cjs.map +1 -1
  158. package/dist/lib/collapsible.js +123 -100
  159. package/dist/lib/collapsible.js.map +1 -1
  160. package/dist/lib/combobox-multi-select.cjs +589 -1
  161. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  162. package/dist/lib/combobox-multi-select.js +270 -177
  163. package/dist/lib/combobox-multi-select.js.map +1 -1
  164. package/dist/lib/combobox-with-popover.cjs +452 -1
  165. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  166. package/dist/lib/combobox-with-popover.js +172 -127
  167. package/dist/lib/combobox-with-popover.js.map +1 -1
  168. package/dist/lib/combobox.cjs +18 -1
  169. package/dist/lib/combobox.cjs.map +1 -1
  170. package/dist/lib/combobox.js +9 -9
  171. package/dist/lib/contact-info.cjs +205 -1
  172. package/dist/lib/contact-info.cjs.map +1 -1
  173. package/dist/lib/contact-info.js +69 -60
  174. package/dist/lib/contact-info.js.map +1 -1
  175. package/dist/lib/contact-row.cjs +246 -1
  176. package/dist/lib/contact-row.cjs.map +1 -1
  177. package/dist/lib/contact-row.js +67 -63
  178. package/dist/lib/contact-row.js.map +1 -1
  179. package/dist/lib/datepicker.cjs +854 -1
  180. package/dist/lib/datepicker.cjs.map +1 -1
  181. package/dist/lib/datepicker.js +585 -441
  182. package/dist/lib/datepicker.js.map +1 -1
  183. package/dist/lib/description-list.cjs +116 -1
  184. package/dist/lib/description-list.cjs.map +1 -1
  185. package/dist/lib/description-list.js +56 -24
  186. package/dist/lib/description-list.js.map +1 -1
  187. package/dist/lib/dropdown.cjs +36 -1
  188. package/dist/lib/dropdown.cjs.map +1 -1
  189. package/dist/lib/dropdown.js +22 -21
  190. package/dist/lib/dropdown.js.map +1 -1
  191. package/dist/lib/editor.cjs +711 -1
  192. package/dist/lib/editor.cjs.map +1 -1
  193. package/dist/lib/editor.js +271 -235
  194. package/dist/lib/editor.js.map +1 -1
  195. package/dist/lib/emoji-picker.cjs +1277 -1
  196. package/dist/lib/emoji-picker.cjs.map +1 -1
  197. package/dist/lib/emoji-picker.js +859 -569
  198. package/dist/lib/emoji-picker.js.map +1 -1
  199. package/dist/lib/emoji-row.cjs +128 -1
  200. package/dist/lib/emoji-row.cjs.map +1 -1
  201. package/dist/lib/emoji-row.js +89 -75
  202. package/dist/lib/emoji-row.js.map +1 -1
  203. package/dist/lib/emoji-text-wrapper.cjs +102 -1
  204. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  205. package/dist/lib/emoji-text-wrapper.js +42 -31
  206. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  207. package/dist/lib/emoji.cjs +158 -1
  208. package/dist/lib/emoji.cjs.map +1 -1
  209. package/dist/lib/emoji.js +153 -6
  210. package/dist/lib/emoji.js.map +1 -1
  211. package/dist/lib/feed-item-row.cjs +296 -1
  212. package/dist/lib/feed-item-row.cjs.map +1 -1
  213. package/dist/lib/feed-item-row.js +119 -100
  214. package/dist/lib/feed-item-row.js.map +1 -1
  215. package/dist/lib/feed-pill.cjs +173 -1
  216. package/dist/lib/feed-pill.cjs.map +1 -1
  217. package/dist/lib/feed-pill.js +70 -57
  218. package/dist/lib/feed-pill.js.map +1 -1
  219. package/dist/lib/general-row.cjs +518 -1
  220. package/dist/lib/general-row.cjs.map +1 -1
  221. package/dist/lib/general-row.js +186 -148
  222. package/dist/lib/general-row.js.map +1 -1
  223. package/dist/lib/group-row.cjs +116 -1
  224. package/dist/lib/group-row.cjs.map +1 -1
  225. package/dist/lib/group-row.js +37 -35
  226. package/dist/lib/group-row.js.map +1 -1
  227. package/dist/lib/grouped-chip.cjs +96 -1
  228. package/dist/lib/grouped-chip.cjs.map +1 -1
  229. package/dist/lib/grouped-chip.js +51 -46
  230. package/dist/lib/grouped-chip.js.map +1 -1
  231. package/dist/lib/hovercard.cjs +223 -1
  232. package/dist/lib/hovercard.cjs.map +1 -1
  233. package/dist/lib/hovercard.js +115 -80
  234. package/dist/lib/hovercard.js.map +1 -1
  235. package/dist/lib/icon.cjs +58 -1
  236. package/dist/lib/icon.cjs.map +1 -1
  237. package/dist/lib/icon.js +20 -20
  238. package/dist/lib/icon.js.map +1 -1
  239. package/dist/lib/image-viewer.cjs +243 -1
  240. package/dist/lib/image-viewer.cjs.map +1 -1
  241. package/dist/lib/image-viewer.js +104 -80
  242. package/dist/lib/image-viewer.js.map +1 -1
  243. package/dist/lib/input-group.cjs +91 -1
  244. package/dist/lib/input-group.cjs.map +1 -1
  245. package/dist/lib/input-group.js +41 -39
  246. package/dist/lib/input-group.js.map +1 -1
  247. package/dist/lib/input.cjs +578 -1
  248. package/dist/lib/input.cjs.map +1 -1
  249. package/dist/lib/input.js +185 -137
  250. package/dist/lib/input.js.map +1 -1
  251. package/dist/lib/item-layout.cjs +91 -1
  252. package/dist/lib/item-layout.cjs.map +1 -1
  253. package/dist/lib/item-layout.js +45 -39
  254. package/dist/lib/item-layout.js.map +1 -1
  255. package/dist/lib/ivr-node.cjs +263 -1
  256. package/dist/lib/ivr-node.cjs.map +1 -1
  257. package/dist/lib/ivr-node.js +130 -112
  258. package/dist/lib/ivr-node.js.map +1 -1
  259. package/dist/lib/keyboard-shortcut.cjs +119 -1
  260. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  261. package/dist/lib/keyboard-shortcut.js +58 -48
  262. package/dist/lib/keyboard-shortcut.js.map +1 -1
  263. package/dist/lib/lazy-show.cjs +82 -1
  264. package/dist/lib/lazy-show.cjs.map +1 -1
  265. package/dist/lib/lazy-show.js +21 -19
  266. package/dist/lib/lazy-show.js.map +1 -1
  267. package/dist/lib/link.cjs +43 -1
  268. package/dist/lib/link.cjs.map +1 -1
  269. package/dist/lib/link.js +20 -19
  270. package/dist/lib/link.js.map +1 -1
  271. package/dist/lib/list-item-group.cjs +67 -1
  272. package/dist/lib/list-item-group.cjs.map +1 -1
  273. package/dist/lib/list-item-group.js +24 -22
  274. package/dist/lib/list-item-group.js.map +1 -1
  275. package/dist/lib/list-item.cjs +216 -1
  276. package/dist/lib/list-item.cjs.map +1 -1
  277. package/dist/lib/list-item.js +71 -60
  278. package/dist/lib/list-item.js.map +1 -1
  279. package/dist/lib/message-input.cjs +708 -1
  280. package/dist/lib/message-input.cjs.map +1 -1
  281. package/dist/lib/message-input.js +232 -206
  282. package/dist/lib/message-input.js.map +1 -1
  283. package/dist/lib/modal.cjs +444 -2
  284. package/dist/lib/modal.cjs.map +1 -1
  285. package/dist/lib/modal.js +153 -120
  286. package/dist/lib/modal.js.map +1 -1
  287. package/dist/lib/notice.cjs +197 -1
  288. package/dist/lib/notice.cjs.map +1 -1
  289. package/dist/lib/notice.js +66 -63
  290. package/dist/lib/notice.js.map +1 -1
  291. package/dist/lib/pagination.cjs +205 -1
  292. package/dist/lib/pagination.cjs.map +1 -1
  293. package/dist/lib/pagination.js +96 -81
  294. package/dist/lib/pagination.js.map +1 -1
  295. package/dist/lib/popover.cjs +1080 -1
  296. package/dist/lib/popover.cjs.map +1 -1
  297. package/dist/lib/popover.js +447 -267
  298. package/dist/lib/popover.js.map +1 -1
  299. package/dist/lib/presence.cjs +70 -1
  300. package/dist/lib/presence.cjs.map +1 -1
  301. package/dist/lib/presence.js +33 -27
  302. package/dist/lib/presence.js.map +1 -1
  303. package/dist/lib/radio-group.cjs +88 -1
  304. package/dist/lib/radio-group.cjs.map +1 -1
  305. package/dist/lib/radio-group.js +18 -18
  306. package/dist/lib/radio-group.js.map +1 -1
  307. package/dist/lib/radio.cjs +162 -1
  308. package/dist/lib/radio.cjs.map +1 -1
  309. package/dist/lib/radio.js +66 -57
  310. package/dist/lib/radio.js.map +1 -1
  311. package/dist/lib/rich-text-editor.cjs +1137 -1
  312. package/dist/lib/rich-text-editor.cjs.map +1 -1
  313. package/dist/lib/rich-text-editor.js +567 -386
  314. package/dist/lib/rich-text-editor.js.map +1 -1
  315. package/dist/lib/root-layout.cjs +158 -1
  316. package/dist/lib/root-layout.cjs.map +1 -1
  317. package/dist/lib/root-layout.js +33 -31
  318. package/dist/lib/root-layout.js.map +1 -1
  319. package/dist/lib/scroller.cjs +1090 -1
  320. package/dist/lib/scroller.cjs.map +1 -1
  321. package/dist/lib/scroller.js +668 -345
  322. package/dist/lib/scroller.js.map +1 -1
  323. package/dist/lib/select-menu.cjs +312 -1
  324. package/dist/lib/select-menu.cjs.map +1 -1
  325. package/dist/lib/select-menu.js +124 -79
  326. package/dist/lib/select-menu.js.map +1 -1
  327. package/dist/lib/settings-menu-button.cjs +77 -1
  328. package/dist/lib/settings-menu-button.cjs.map +1 -1
  329. package/dist/lib/settings-menu-button.js +31 -30
  330. package/dist/lib/settings-menu-button.js.map +1 -1
  331. package/dist/lib/skeleton.cjs +635 -1
  332. package/dist/lib/skeleton.cjs.map +1 -1
  333. package/dist/lib/skeleton.js +189 -152
  334. package/dist/lib/skeleton.js.map +1 -1
  335. package/dist/lib/stack.cjs +123 -1
  336. package/dist/lib/stack.cjs.map +1 -1
  337. package/dist/lib/stack.js +61 -53
  338. package/dist/lib/stack.js.map +1 -1
  339. package/dist/lib/tabs.cjs +102 -1
  340. package/dist/lib/tabs.cjs.map +1 -1
  341. package/dist/lib/tabs.js +47 -41
  342. package/dist/lib/tabs.js.map +1 -1
  343. package/dist/lib/time-pill.cjs +41 -1
  344. package/dist/lib/time-pill.cjs.map +1 -1
  345. package/dist/lib/time-pill.js +18 -14
  346. package/dist/lib/time-pill.js.map +1 -1
  347. package/dist/lib/toast.cjs +281 -1
  348. package/dist/lib/toast.cjs.map +1 -1
  349. package/dist/lib/toast.js +96 -74
  350. package/dist/lib/toast.js.map +1 -1
  351. package/dist/lib/toggle.cjs +192 -1
  352. package/dist/lib/toggle.cjs.map +1 -1
  353. package/dist/lib/toggle.js +60 -49
  354. package/dist/lib/toggle.js.map +1 -1
  355. package/dist/lib/tooltip-directive.cjs +84 -1
  356. package/dist/lib/tooltip-directive.cjs.map +1 -1
  357. package/dist/lib/tooltip-directive.js +56 -42
  358. package/dist/lib/tooltip-directive.js.map +1 -1
  359. package/dist/lib/tooltip.cjs +460 -1
  360. package/dist/lib/tooltip.cjs.map +1 -1
  361. package/dist/lib/tooltip.js +162 -103
  362. package/dist/lib/tooltip.js.map +1 -1
  363. package/dist/lib/top-banner-info.cjs +71 -1
  364. package/dist/lib/top-banner-info.cjs.map +1 -1
  365. package/dist/lib/top-banner-info.js +27 -22
  366. package/dist/lib/top-banner-info.js.map +1 -1
  367. package/dist/lib/unread-pill.cjs +73 -1
  368. package/dist/lib/unread-pill.cjs.map +1 -1
  369. package/dist/lib/unread-pill.js +28 -25
  370. package/dist/lib/unread-pill.js.map +1 -1
  371. package/dist/lib/validation-messages.cjs +89 -1
  372. package/dist/lib/validation-messages.cjs.map +1 -1
  373. package/dist/lib/validation-messages.js +41 -36
  374. package/dist/lib/validation-messages.js.map +1 -1
  375. package/dist/style.css +1257 -1
  376. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  377. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  378. package/package.json +30 -29
  379. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
  380. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
  381. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
  382. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
  383. package/dist/chunks/dropdown-UO3UJalk.js +0 -2
  384. package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  385. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  386. package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  387. package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  388. package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
  389. package/dist/chunks/index-6tYeqbgP.js +0 -3
  390. package/dist/chunks/index-IBtQ5jRJ.js +0 -2
  391. package/dist/chunks/index-IBtQ5jRJ.js.map +0 -1
  392. package/dist/chunks/index-b4iXYvId.js +0 -399
  393. package/dist/chunks/index-mRmwpCBG.js +0 -256
  394. package/dist/chunks/index-mRmwpCBG.js.map +0 -1
  395. package/dist/chunks/input-0Uksk4DP.js +0 -2
  396. package/dist/chunks/input_group-AS760Cp7.js +0 -2
  397. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  398. package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  399. package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
  400. package/dist/chunks/link_constants-vIUB92L4.js +0 -16
  401. package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
  402. package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  403. package/dist/chunks/modal-VuMFkZFH.js +0 -82
  404. package/dist/chunks/modal-qEzlo0Sj.js +0 -2
  405. package/dist/chunks/notice_action-jO199emq.js +0 -2
  406. package/dist/chunks/notice_action-tJfD5Qw1.js +0 -209
  407. package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
  408. package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
  409. package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
  410. package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
  411. package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
  412. package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
  413. package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
  414. package/dist/chunks/tab-GQZFMq83.js +0 -367
  415. package/dist/chunks/tab-at7WWglk.js +0 -2
  416. package/dist/lib/constants.cjs +0 -2
  417. package/dist/lib/dates.cjs +0 -2
  418. package/dist/lib/dates.js +0 -57
  419. package/dist/lib/mixins.cjs +0 -2
  420. package/dist/lib/mixins.js +0 -17
  421. package/dist/lib/utils.cjs +0 -2
  422. package/dist/lib/utils.js +0 -171
  423. package/dist/lib/validators.cjs +0 -2
  424. package/dist/lib/validators.js +0 -12
  425. /package/dist/{lib → common}/mixins.js.map +0 -0
@@ -1,2 +1,519 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./emoji-text-wrapper.cjs"),e=require("vue"),C=require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js"),m=require("./icon.cjs"),b=require("./utils.cjs"),y=require("./badge.cjs"),w=require("./button.cjs"),A=require("./tooltip.cjs");require("../chunks/index-IBtQ5jRJ.js");require("emoji-regex");require("@dialpad/dialtone-emojis");require("./skeleton.cjs");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("@dialpad/dialtone-icons/vue3");require("./constants.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("../chunks/popover_constants-hOEhklvr.js");require("tippy.js");require("./lazy-show.cjs");const a={INBOX:"inbox",CONTACTS:"contacts",CHANNELS:"channels",HOME:"home",THREADS:"threads",LOCKED_CHANNEL:"locked channel",CONTACT_CENTER:"contact center",QUICK_START:"quick start",COACHING_GROUP:"coaching group",COACHING_CENTER:"coaching center",DIALBOT:"dialbot",ASSIGNED:"assigned",DIGITAL:"digital"},f={[a.INBOX]:"inbox",[a.CONTACTS]:"contacts",[a.CHANNELS]:"hash",[a.HOME]:"home",[a.THREADS]:"thread",[a.LOCKED_CHANNEL]:"lock",[a.QUICK_START]:"sparkle",[a.COACHING_GROUP]:"users",[a.COACHING_CENTER]:"external-link","locked channel unread":"lock-filled","channel unread":"hash-bold",[a.ASSIGNED]:"at-sign",[a.DIGITAL]:"laptop-2"},d={"magenta-200":"d-bgc-magenta-200","green-200":"d-bgc-green-200","gold-300":"d-bgc-gold-300","purple-600":"d-bgc-purple-600","magenta-300":"d-bgc-magenta-300","purple-300":"d-bgc-purple-300","green-500":"d-bgc-green-500","purple-100":"d-bgc-purple-100","magenta-400":"d-bgc-magenta-400","magenta-100":"d-bgc-magenta-100","black-300":"d-bgc-black-300"},T="If type is contact center, color must be oneof the following:"+Object.keys(d).join(", "),E=["300","200"],O={name:"DtRecipeLeftbarGeneralRowIcon",components:{DtIcon:m.DtIcon},props:{type:{type:String,default:null},color:{type:String,default:null},iconSize:{type:String,default:"300"}},computed:{isIconType(){return![a.DIALBOT,a.CONTACT_CENTER].includes(this.type)},isContactCenterType(){return this.type===a.CONTACT_CENTER},isDialbotType(){return this.type===a.DIALBOT},getIconName(){return f[this.type]},contactCenterIconClasses(){return["dt-leftbar-row__icon-cc",d[this.color]]},dialbotClasses(){return["d-d-flex","d-ai-center","d-jc-center"]}}};function B(t,r,o,_,l,n){const i=e.resolveComponent("dt-icon");return n.isIconType?(e.openBlock(),e.createBlock(i,{key:0,name:n.getIconName,size:o.iconSize},null,8,["name","size"])):n.isContactCenterType?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(n.contactCenterIconClasses)},null,2)):n.isDialbotType?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(n.dialbotClasses),"data-qa":"general-row-dialbot"},[e.createVNode(i,{name:"dialbot",size:"500"})],2)):e.createCommentVNode("",!0)}const S=C._(O,[["render",B]]),L={name:"DtRecipeGeneralRow",components:{DtEmojiTextWrapper:R.DtEmojiTextWrapper,DtBadge:y.DtBadge,DtIcon:m.DtIcon,DtButton:w.DtButton,DtTooltip:A.DtTooltip,DtRecipeLeftbarGeneralRowIcon:S},inheritAttrs:!1,props:{type:{type:String,default:"inbox",validator:t=>Object.values(a).includes(t)},ariaLabel:{type:String,default:""},description:{type:String,required:!0},color:{type:String,default:null,validator:t=>Object.keys(d).includes(t)},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadCountTooltip:{type:String,default:""},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:""},dndTextTooltip:{type:String,default:""},hasCallButton:{type:Boolean,default:!1},callButtonTooltip:{type:String,default:""},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:"300",validator:t=>E.includes(t)}},emits:["call"],data(){return{actionFocused:!1,labelWidth:"100%"}},computed:{leftbarGeneralRowClasses(){return["dt-leftbar-row",{"dt-leftbar-row--no-action":!this.hasCallButton,"dt-leftbar-row--has-unread":this.hasUnreads,"dt-leftbar-row--unread-count":this.showUnreadCount,"dt-leftbar-row--selected":this.selected,"dt-leftbar-row--muted":this.muted,"dt-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case a.CHANNELS:if(this.hasUnreads)return"channel unread";break;case a.LOCKED_CHANNEL:if(this.hasUnreads)return"locked channel unread";break}return this.type},generalRowListeners(){return b.extractVueListeners(this.$attrs)},getAriaLabel(){return this.ariaLabel?this.ariaLabel:b.safeConcatStrings([this.description,this.unreadCountTooltip,this.dndTextTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads}},watch:{$props:{immediate:!0,deep:!0,async handler(){this.validateProps(),await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(this.$el),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{validateProps(){this.type===a.CONTACT_CENTER&&!Object.keys(d).includes(this.color)&&console.error(T)},adjustLabelWidth(){var l,n,i,u,s,c;const t=((n=(l=this.$el)==null?void 0:l.querySelector(".dt-leftbar-row__primary"))==null?void 0:n.clientWidth)||0,r=((u=(i=this.$el)==null?void 0:i.querySelector(".dt-leftbar-row__omega"))==null?void 0:u.clientWidth)||0,o=((c=(s=this.$el)==null?void 0:s.querySelector(".dt-leftbar-row__alpha"))==null?void 0:c.clientWidth)||0,_=16;this.labelWidth=t-(r+o+_)+"px"}}},h=t=>(e.pushScopeId("data-v-49d75ce6"),t=t(),e.popScopeId(),t),k=["data-qa","aria-label","title","href"],I={class:"dt-leftbar-row__alpha"},v={key:0,class:"dt-leftbar-row__is-typing"},q=h(()=>e.createElementVNode("span",null,null,-1)),D=h(()=>e.createElementVNode("span",null,null,-1)),G=h(()=>e.createElementVNode("span",null,null,-1)),V=[q,D,G],W={key:0,class:"dt-leftbar-row__omega"},x={key:1,class:"dt-leftbar-row__active-voice"},z={key:3,class:"dt-leftbar-row__action","data-qa":"dt-leftbar-row-action"};function j(t,r,o,_,l,n){const i=e.resolveComponent("dt-recipe-leftbar-general-row-icon"),u=e.resolveComponent("dt-emoji-text-wrapper"),s=e.resolveComponent("dt-tooltip"),c=e.resolveComponent("dt-icon"),g=e.resolveComponent("dt-badge"),N=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.leftbarGeneralRowClasses),"data-qa":"dt-leftbar-row"},[e.createElementVNode("a",e.mergeProps({class:"dt-leftbar-row__primary","data-qa":"data-qa"in t.$attrs?t.$attrs["data-qa"]:"dt-leftbar-row-link","aria-label":n.getAriaLabel,title:o.description,href:"href"in t.$attrs?t.$attrs.href:"javascript:void(0)"},t.$attrs,e.toHandlers(n.generalRowListeners,!0)),[e.createElementVNode("div",I,[o.isTyping?(e.openBlock(),e.createElementBlock("div",v,V)):e.renderSlot(t.$slots,"left",{key:1},()=>[e.createVNode(i,{type:n.getIcon,color:o.color,"icon-size":o.iconSize,"data-qa":"dt-leftbar-row-icon"},null,8,["type","color","icon-size"])],!0)]),e.createElementVNode("div",{class:"dt-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${l.labelWidth}`)},[e.renderSlot(t.$slots,"label",{},()=>[e.createVNode(u,{class:"dt-leftbar-row__description","data-qa":"dt-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.description),1)]),_:1})],!0)],4)],16,k),n.hasActions?(e.openBlock(),e.createElementBlock("div",W,[o.dndText?(e.openBlock(),e.createBlock(s,{key:0,placement:"top",message:o.dndTextTooltip},{anchor:e.withCtx(()=>[e.createElementVNode("div",{ref:"dt-leftbar-row-dnd",class:"dt-leftbar-row__dnd","data-qa":"dt-leftbar-row-dnd"},e.toDisplayString(o.dndText),513)]),_:1},8,["message"])):e.createCommentVNode("",!0),o.activeVoiceChat?(e.openBlock(),e.createElementBlock("div",x,[e.createVNode(c,{size:"300",name:"waveform"})])):n.showUnreadCount?(e.openBlock(),e.createBlock(s,{key:2,message:o.unreadCountTooltip,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(g,{kind:"count",type:"bulletin","data-qa":"dt-leftbar-row-unread-badge",class:"dt-leftbar-row__unread-badge"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.unreadCount),1)]),_:1})]),_:1},8,["message"])):e.createCommentVNode("",!0),o.hasCallButton?(e.openBlock(),e.createElementBlock("div",z,[e.createVNode(s,{message:o.callButtonTooltip,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(N,{class:"dt-leftbar-row__action-button","data-qa":"dt-leftbar-row-action-call-button",circle:!0,size:"xs",kind:"inverted","aria-label":o.callButtonTooltip,onFocus:r[0]||(r[0]=p=>l.actionFocused=!0),onBlur:r[1]||(r[1]=p=>l.actionFocused=!1),onClick:r[2]||(r[2]=e.withModifiers(p=>t.$emit("call",p),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(c,{name:"phone",size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)}const H=C._(L,[["render",j],["__scopeId","data-v-49d75ce6"]]);exports.DtRecipeGeneralRow=H;exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS=d;exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR=T;exports.LEFTBAR_GENERAL_ROW_ICON_MAPPING=f;exports.LEFTBAR_GENERAL_ROW_ICON_SIZES=E;exports.LEFTBAR_GENERAL_ROW_TYPES=a;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const lib_emojiTextWrapper = require("./emoji-text-wrapper.cjs");
4
+ const vue = require("vue");
5
+ const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
6
+ const lib_icon = require("./icon.cjs");
7
+ const common_utils = require("../common/utils.cjs");
8
+ const lib_badge = require("./badge.cjs");
9
+ const lib_button = require("./button.cjs");
10
+ const lib_tooltip = require("./tooltip.cjs");
11
+ require("../common/emoji.cjs");
12
+ require("emoji-regex");
13
+ require("@dialpad/dialtone-emojis");
14
+ require("../chunks/icon_constants-QYpmdE0R.js");
15
+ require("@dialpad/dialtone-icons/icons.json");
16
+ require("./emoji.cjs");
17
+ require("./skeleton.cjs");
18
+ require("@dialpad/dialtone-icons/vue3");
19
+ require("../common/constants.cjs");
20
+ require("../chunks/link_constants-Huj7D_hm.js");
21
+ require("../chunks/popover_constants-JwBF9h1Z.js");
22
+ require("tippy.js");
23
+ require("./lazy-show.cjs");
24
+ const LEFTBAR_GENERAL_ROW_TYPES = {
25
+ INBOX: "inbox",
26
+ CONTACTS: "contacts",
27
+ CHANNELS: "channels",
28
+ HOME: "home",
29
+ THREADS: "threads",
30
+ LOCKED_CHANNEL: "locked channel",
31
+ CONTACT_CENTER: "contact center",
32
+ QUICK_START: "quick start",
33
+ COACHING_GROUP: "coaching group",
34
+ COACHING_CENTER: "coaching center",
35
+ DIALBOT: "dialbot",
36
+ ASSIGNED: "assigned",
37
+ DIGITAL: "digital"
38
+ };
39
+ const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {
40
+ [LEFTBAR_GENERAL_ROW_TYPES.INBOX]: "inbox",
41
+ [LEFTBAR_GENERAL_ROW_TYPES.CONTACTS]: "contacts",
42
+ [LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: "hash",
43
+ [LEFTBAR_GENERAL_ROW_TYPES.HOME]: "home",
44
+ [LEFTBAR_GENERAL_ROW_TYPES.THREADS]: "thread",
45
+ [LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: "lock",
46
+ [LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: "sparkle",
47
+ [LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: "users",
48
+ [LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: "external-link",
49
+ "locked channel unread": "lock-filled",
50
+ "channel unread": "hash-bold",
51
+ [LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: "at-sign",
52
+ [LEFTBAR_GENERAL_ROW_TYPES.DIGITAL]: "laptop-2"
53
+ };
54
+ const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = {
55
+ "magenta-200": "d-bgc-magenta-200",
56
+ "green-200": "d-bgc-green-200",
57
+ "gold-300": "d-bgc-gold-300",
58
+ "purple-600": "d-bgc-purple-600",
59
+ "magenta-300": "d-bgc-magenta-300",
60
+ "purple-300": "d-bgc-purple-300",
61
+ "green-500": "d-bgc-green-500",
62
+ "purple-100": "d-bgc-purple-100",
63
+ "magenta-400": "d-bgc-magenta-400",
64
+ "magenta-100": "d-bgc-magenta-100",
65
+ "black-300": "d-bgc-black-300"
66
+ };
67
+ const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = "If type is contact center, color must be oneof the following:" + Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).join(", ");
68
+ const LEFTBAR_GENERAL_ROW_ICON_SIZES = [
69
+ "300",
70
+ "200"
71
+ ];
72
+ const _sfc_main$1 = {
73
+ name: "DtRecipeLeftbarGeneralRowIcon",
74
+ components: { DtIcon: lib_icon.DtIcon },
75
+ props: {
76
+ type: {
77
+ type: String,
78
+ default: null
79
+ },
80
+ color: {
81
+ type: String,
82
+ default: null
83
+ },
84
+ iconSize: {
85
+ type: String,
86
+ default: "300"
87
+ }
88
+ },
89
+ computed: {
90
+ isIconType() {
91
+ return ![LEFTBAR_GENERAL_ROW_TYPES.DIALBOT, LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER].includes(this.type);
92
+ },
93
+ isContactCenterType() {
94
+ return this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER;
95
+ },
96
+ isDialbotType() {
97
+ return this.type === LEFTBAR_GENERAL_ROW_TYPES.DIALBOT;
98
+ },
99
+ getIconName() {
100
+ return LEFTBAR_GENERAL_ROW_ICON_MAPPING[this.type];
101
+ },
102
+ contactCenterIconClasses() {
103
+ return [
104
+ "dt-leftbar-row__icon-cc",
105
+ LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS[this.color]
106
+ ];
107
+ },
108
+ dialbotClasses() {
109
+ return [
110
+ "d-d-flex",
111
+ "d-ai-center",
112
+ "d-jc-center"
113
+ ];
114
+ }
115
+ }
116
+ };
117
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
118
+ const _component_dt_icon = vue.resolveComponent("dt-icon");
119
+ return $options.isIconType ? (vue.openBlock(), vue.createBlock(_component_dt_icon, {
120
+ key: 0,
121
+ name: $options.getIconName,
122
+ size: $props.iconSize
123
+ }, null, 8, ["name", "size"])) : $options.isContactCenterType ? (vue.openBlock(), vue.createElementBlock("div", {
124
+ key: 1,
125
+ class: vue.normalizeClass($options.contactCenterIconClasses)
126
+ }, null, 2)) : $options.isDialbotType ? (vue.openBlock(), vue.createElementBlock("div", {
127
+ key: 2,
128
+ class: vue.normalizeClass($options.dialbotClasses),
129
+ "data-qa": "general-row-dialbot"
130
+ }, [
131
+ vue.createVNode(_component_dt_icon, {
132
+ name: "dialbot",
133
+ size: "500"
134
+ })
135
+ ], 2)) : vue.createCommentVNode("", true);
136
+ }
137
+ const DtRecipeLeftbarGeneralRowIcon = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
138
+ const _sfc_main = {
139
+ name: "DtRecipeGeneralRow",
140
+ components: {
141
+ DtEmojiTextWrapper: lib_emojiTextWrapper.DtEmojiTextWrapper,
142
+ DtBadge: lib_badge.DtBadge,
143
+ DtIcon: lib_icon.DtIcon,
144
+ DtButton: lib_button.DtButton,
145
+ DtTooltip: lib_tooltip.DtTooltip,
146
+ DtRecipeLeftbarGeneralRowIcon
147
+ },
148
+ inheritAttrs: false,
149
+ props: {
150
+ /**
151
+ * Determines the icon to show.
152
+ * If type is contact center, the color prop must be provided and will determine the color of the icon
153
+ */
154
+ type: {
155
+ type: String,
156
+ default: "inbox",
157
+ validator: (type) => {
158
+ return Object.values(LEFTBAR_GENERAL_ROW_TYPES).includes(type);
159
+ }
160
+ },
161
+ /**
162
+ * Will be read out by a screen reader upon focus of this row. If not defined "description" will be read.
163
+ */
164
+ ariaLabel: {
165
+ type: String,
166
+ default: ""
167
+ },
168
+ /**
169
+ * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot
170
+ * you still must input this as it will be displayed as the "title" attribute for the row.
171
+ */
172
+ description: {
173
+ type: String,
174
+ required: true
175
+ },
176
+ /**
177
+ * Determines the color of the contact center icon
178
+ */
179
+ color: {
180
+ type: String,
181
+ default: null,
182
+ validator: (color) => {
183
+ return Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(color);
184
+ }
185
+ },
186
+ /**
187
+ * Styles the row with an increased font weight to convey it has unreads. This must be true to see
188
+ * the unread count badge.
189
+ */
190
+ hasUnreads: {
191
+ type: Boolean,
192
+ default: false
193
+ },
194
+ /**
195
+ * Number of unread messages
196
+ */
197
+ unreadCount: {
198
+ type: String,
199
+ default: null
200
+ },
201
+ /**
202
+ * Text shown when the unread count is hovered.
203
+ */
204
+ unreadCountTooltip: {
205
+ type: String,
206
+ default: ""
207
+ },
208
+ /**
209
+ * Determines if the row is selected
210
+ */
211
+ selected: {
212
+ type: Boolean,
213
+ default: false
214
+ },
215
+ /**
216
+ * Gives a faded style to be used when muted
217
+ */
218
+ muted: {
219
+ type: Boolean,
220
+ default: false
221
+ },
222
+ /**
223
+ * Shows styling to represent an active voice chat. This will display over unreadCount.
224
+ */
225
+ activeVoiceChat: {
226
+ type: Boolean,
227
+ default: false
228
+ },
229
+ /**
230
+ * Acronym used to represent "Do not Disturb" state. If entered will display the entered text alongside
231
+ * unreadCount.
232
+ */
233
+ dndText: {
234
+ type: String,
235
+ default: ""
236
+ },
237
+ /**
238
+ * Text shown in tooltip when you hover the dndText
239
+ */
240
+ dndTextTooltip: {
241
+ type: String,
242
+ default: ""
243
+ },
244
+ /**
245
+ * Whether the row should have a call button. Usually only applicable to individual contact rows.
246
+ */
247
+ hasCallButton: {
248
+ type: Boolean,
249
+ default: false
250
+ },
251
+ /**
252
+ * Text shown when the call button is hovered.
253
+ */
254
+ callButtonTooltip: {
255
+ type: String,
256
+ default: ""
257
+ },
258
+ /**
259
+ * Shows an "is typing" animation over the avatar when true.
260
+ */
261
+ isTyping: {
262
+ type: Boolean,
263
+ default: false
264
+ },
265
+ /**
266
+ * Sets the size of the icon.
267
+ */
268
+ iconSize: {
269
+ type: String,
270
+ default: "300",
271
+ validator: (size) => {
272
+ return LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(size);
273
+ }
274
+ }
275
+ },
276
+ emits: [
277
+ /**
278
+ * Call button clicked
279
+ *
280
+ * @event call
281
+ * @type {PointerEvent | KeyboardEvent}
282
+ */
283
+ "call"
284
+ ],
285
+ data() {
286
+ return {
287
+ actionFocused: false,
288
+ labelWidth: "100%"
289
+ };
290
+ },
291
+ computed: {
292
+ leftbarGeneralRowClasses() {
293
+ return [
294
+ "dt-leftbar-row",
295
+ {
296
+ "dt-leftbar-row--no-action": !this.hasCallButton,
297
+ "dt-leftbar-row--has-unread": this.hasUnreads,
298
+ "dt-leftbar-row--unread-count": this.showUnreadCount,
299
+ "dt-leftbar-row--selected": this.selected,
300
+ "dt-leftbar-row--muted": this.muted,
301
+ "dt-leftbar-row--action-focused": this.actionFocused
302
+ }
303
+ ];
304
+ },
305
+ getIcon() {
306
+ switch (this.type) {
307
+ case LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:
308
+ if (this.hasUnreads)
309
+ return "channel unread";
310
+ break;
311
+ case LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:
312
+ if (this.hasUnreads)
313
+ return "locked channel unread";
314
+ break;
315
+ }
316
+ return this.type;
317
+ },
318
+ generalRowListeners() {
319
+ return common_utils.extractVueListeners(this.$attrs);
320
+ },
321
+ getAriaLabel() {
322
+ return this.ariaLabel ? this.ariaLabel : common_utils.safeConcatStrings([this.description, this.unreadCountTooltip, this.dndTextTooltip]);
323
+ },
324
+ hasActions() {
325
+ return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton;
326
+ },
327
+ showUnreadCount() {
328
+ return !!this.unreadCount && this.hasUnreads;
329
+ }
330
+ },
331
+ watch: {
332
+ $props: {
333
+ immediate: true,
334
+ deep: true,
335
+ async handler() {
336
+ this.validateProps();
337
+ await this.$nextTick();
338
+ this.adjustLabelWidth();
339
+ }
340
+ }
341
+ },
342
+ mounted() {
343
+ this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);
344
+ this.resizeObserver.observe(this.$el);
345
+ this.adjustLabelWidth();
346
+ },
347
+ beforeUnmount: function() {
348
+ this.resizeObserver.disconnect();
349
+ },
350
+ methods: {
351
+ validateProps() {
352
+ if (this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER && !Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)) {
353
+ console.error(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR);
354
+ }
355
+ },
356
+ adjustLabelWidth() {
357
+ var _a, _b, _c, _d, _e, _f;
358
+ const labelWidth = ((_b = (_a = this.$el) == null ? void 0 : _a.querySelector(".dt-leftbar-row__primary")) == null ? void 0 : _b.clientWidth) || 0;
359
+ const omegaWidth = ((_d = (_c = this.$el) == null ? void 0 : _c.querySelector(".dt-leftbar-row__omega")) == null ? void 0 : _d.clientWidth) || 0;
360
+ const alphaWidth = ((_f = (_e = this.$el) == null ? void 0 : _e.querySelector(".dt-leftbar-row__alpha")) == null ? void 0 : _f.clientWidth) || 0;
361
+ const paddings = 16;
362
+ this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + "px";
363
+ }
364
+ }
365
+ };
366
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-49d75ce6"), n = n(), vue.popScopeId(), n);
367
+ const _hoisted_1 = ["data-qa", "aria-label", "title", "href"];
368
+ const _hoisted_2 = { class: "dt-leftbar-row__alpha" };
369
+ const _hoisted_3 = {
370
+ key: 0,
371
+ class: "dt-leftbar-row__is-typing"
372
+ };
373
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", null, null, -1));
374
+ const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", null, null, -1));
375
+ const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", null, null, -1));
376
+ const _hoisted_7 = [
377
+ _hoisted_4,
378
+ _hoisted_5,
379
+ _hoisted_6
380
+ ];
381
+ const _hoisted_8 = {
382
+ key: 0,
383
+ class: "dt-leftbar-row__omega"
384
+ };
385
+ const _hoisted_9 = {
386
+ key: 1,
387
+ class: "dt-leftbar-row__active-voice"
388
+ };
389
+ const _hoisted_10 = {
390
+ key: 3,
391
+ class: "dt-leftbar-row__action",
392
+ "data-qa": "dt-leftbar-row-action"
393
+ };
394
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
395
+ const _component_dt_recipe_leftbar_general_row_icon = vue.resolveComponent("dt-recipe-leftbar-general-row-icon");
396
+ const _component_dt_emoji_text_wrapper = vue.resolveComponent("dt-emoji-text-wrapper");
397
+ const _component_dt_tooltip = vue.resolveComponent("dt-tooltip");
398
+ const _component_dt_icon = vue.resolveComponent("dt-icon");
399
+ const _component_dt_badge = vue.resolveComponent("dt-badge");
400
+ const _component_dt_button = vue.resolveComponent("dt-button");
401
+ return vue.openBlock(), vue.createElementBlock("div", {
402
+ class: vue.normalizeClass($options.leftbarGeneralRowClasses),
403
+ "data-qa": "dt-leftbar-row"
404
+ }, [
405
+ vue.createElementVNode("a", vue.mergeProps({
406
+ class: "dt-leftbar-row__primary",
407
+ "data-qa": "data-qa" in _ctx.$attrs ? _ctx.$attrs["data-qa"] : "dt-leftbar-row-link",
408
+ "aria-label": $options.getAriaLabel,
409
+ title: $props.description,
410
+ href: "href" in _ctx.$attrs ? _ctx.$attrs.href : "javascript:void(0)"
411
+ }, _ctx.$attrs, vue.toHandlers($options.generalRowListeners, true)), [
412
+ vue.createElementVNode("div", _hoisted_2, [
413
+ $props.isTyping ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, _hoisted_7)) : vue.renderSlot(_ctx.$slots, "left", { key: 1 }, () => [
414
+ vue.createVNode(_component_dt_recipe_leftbar_general_row_icon, {
415
+ type: $options.getIcon,
416
+ color: $props.color,
417
+ "icon-size": $props.iconSize,
418
+ "data-qa": "dt-leftbar-row-icon"
419
+ }, null, 8, ["type", "color", "icon-size"])
420
+ ], true)
421
+ ]),
422
+ vue.createElementVNode("div", {
423
+ class: "dt-leftbar-row__label",
424
+ style: vue.normalizeStyle(`flex-basis: ${$data.labelWidth}`)
425
+ }, [
426
+ vue.renderSlot(_ctx.$slots, "label", {}, () => [
427
+ vue.createVNode(_component_dt_emoji_text_wrapper, {
428
+ class: "dt-leftbar-row__description",
429
+ "data-qa": "dt-leftbar-row-description",
430
+ size: "200"
431
+ }, {
432
+ default: vue.withCtx(() => [
433
+ vue.createTextVNode(vue.toDisplayString($props.description), 1)
434
+ ]),
435
+ _: 1
436
+ })
437
+ ], true)
438
+ ], 4)
439
+ ], 16, _hoisted_1),
440
+ $options.hasActions ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
441
+ $props.dndText ? (vue.openBlock(), vue.createBlock(_component_dt_tooltip, {
442
+ key: 0,
443
+ placement: "top",
444
+ message: $props.dndTextTooltip
445
+ }, {
446
+ anchor: vue.withCtx(() => [
447
+ vue.createElementVNode("div", {
448
+ ref: "dt-leftbar-row-dnd",
449
+ class: "dt-leftbar-row__dnd",
450
+ "data-qa": "dt-leftbar-row-dnd"
451
+ }, vue.toDisplayString($props.dndText), 513)
452
+ ]),
453
+ _: 1
454
+ }, 8, ["message"])) : vue.createCommentVNode("", true),
455
+ $props.activeVoiceChat ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
456
+ vue.createVNode(_component_dt_icon, {
457
+ size: "300",
458
+ name: "waveform"
459
+ })
460
+ ])) : $options.showUnreadCount ? (vue.openBlock(), vue.createBlock(_component_dt_tooltip, {
461
+ key: 2,
462
+ message: $props.unreadCountTooltip,
463
+ placement: "top"
464
+ }, {
465
+ anchor: vue.withCtx(() => [
466
+ vue.createVNode(_component_dt_badge, {
467
+ kind: "count",
468
+ type: "bulletin",
469
+ "data-qa": "dt-leftbar-row-unread-badge",
470
+ class: "dt-leftbar-row__unread-badge"
471
+ }, {
472
+ default: vue.withCtx(() => [
473
+ vue.createTextVNode(vue.toDisplayString($props.unreadCount), 1)
474
+ ]),
475
+ _: 1
476
+ })
477
+ ]),
478
+ _: 1
479
+ }, 8, ["message"])) : vue.createCommentVNode("", true),
480
+ $props.hasCallButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
481
+ vue.createVNode(_component_dt_tooltip, {
482
+ message: $props.callButtonTooltip,
483
+ placement: "top"
484
+ }, {
485
+ anchor: vue.withCtx(() => [
486
+ vue.createVNode(_component_dt_button, {
487
+ class: "dt-leftbar-row__action-button",
488
+ "data-qa": "dt-leftbar-row-action-call-button",
489
+ circle: true,
490
+ size: "xs",
491
+ kind: "inverted",
492
+ "aria-label": $props.callButtonTooltip,
493
+ onFocus: _cache[0] || (_cache[0] = ($event) => $data.actionFocused = true),
494
+ onBlur: _cache[1] || (_cache[1] = ($event) => $data.actionFocused = false),
495
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers(($event) => _ctx.$emit("call", $event), ["stop"]))
496
+ }, {
497
+ icon: vue.withCtx(() => [
498
+ vue.createVNode(_component_dt_icon, {
499
+ name: "phone",
500
+ size: "200"
501
+ })
502
+ ]),
503
+ _: 1
504
+ }, 8, ["aria-label"])
505
+ ]),
506
+ _: 1
507
+ }, 8, ["message"])
508
+ ])) : vue.createCommentVNode("", true)
509
+ ])) : vue.createCommentVNode("", true)
510
+ ], 2);
511
+ }
512
+ const DtRecipeGeneralRow = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-49d75ce6"]]);
513
+ exports.DtRecipeGeneralRow = DtRecipeGeneralRow;
514
+ exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS;
515
+ exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR;
516
+ exports.LEFTBAR_GENERAL_ROW_ICON_MAPPING = LEFTBAR_GENERAL_ROW_ICON_MAPPING;
517
+ exports.LEFTBAR_GENERAL_ROW_ICON_SIZES = LEFTBAR_GENERAL_ROW_ICON_SIZES;
518
+ exports.LEFTBAR_GENERAL_ROW_TYPES = LEFTBAR_GENERAL_ROW_TYPES;
2
519
  //# sourceMappingURL=general-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-row.cjs","sources":["../../recipes/leftbar/general_row/general_row_constants.js","../../recipes/leftbar/general_row/leftbar_general_row_icon.vue","../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["export const LEFTBAR_GENERAL_ROW_TYPES = {\n INBOX: 'inbox',\n CONTACTS: 'contacts',\n CHANNELS: 'channels',\n HOME: 'home',\n THREADS: 'threads',\n LOCKED_CHANNEL: 'locked channel',\n CONTACT_CENTER: 'contact center',\n QUICK_START: 'quick start',\n COACHING_GROUP: 'coaching group',\n COACHING_CENTER: 'coaching center',\n DIALBOT: 'dialbot',\n ASSIGNED: 'assigned',\n DIGITAL: 'digital',\n};\n\nexport const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {\n [LEFTBAR_GENERAL_ROW_TYPES.INBOX]: 'inbox',\n [LEFTBAR_GENERAL_ROW_TYPES.CONTACTS]: 'contacts',\n [LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',\n [LEFTBAR_GENERAL_ROW_TYPES.HOME]: 'home',\n [LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',\n [LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',\n [LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',\n 'locked channel unread': 'lock-filled',\n 'channel unread': 'hash-bold',\n [LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',\n [LEFTBAR_GENERAL_ROW_TYPES.DIGITAL]: 'laptop-2',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = {\n 'magenta-200': 'd-bgc-magenta-200',\n 'green-200': 'd-bgc-green-200',\n 'gold-300': 'd-bgc-gold-300',\n 'purple-600': 'd-bgc-purple-600',\n 'magenta-300': 'd-bgc-magenta-300',\n 'purple-300': 'd-bgc-purple-300',\n 'green-500': 'd-bgc-green-500',\n 'purple-100': 'd-bgc-purple-100',\n 'magenta-400': 'd-bgc-magenta-400',\n 'magenta-100': 'd-bgc-magenta-100',\n 'black-300': 'd-bgc-black-300',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = 'If type is contact center, color must be one' +\n 'of the following:' + Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).join(', ');\n\nexport const LEFTBAR_GENERAL_ROW_ICON_SIZES = [\n '300',\n '200',\n];\n\nexport default {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n};\n","<template>\n <dt-icon\n v-if=\"isIconType\"\n :name=\"getIconName\"\n :size=\"iconSize\"\n />\n <div\n v-else-if=\"isContactCenterType\"\n :class=\"contactCenterIconClasses\"\n />\n <div\n v-else-if=\"isDialbotType\"\n :class=\"dialbotClasses\"\n data-qa=\"general-row-dialbot\"\n >\n <dt-icon\n name=\"dialbot\"\n size=\"500\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport {\n LEFTBAR_GENERAL_ROW_ICON_MAPPING as ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_TYPES as TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS as COLORS,\n} from '@/recipes/leftbar/general_row/general_row_constants';\n\nexport default {\n name: 'DtRecipeLeftbarGeneralRowIcon',\n components: { DtIcon },\n props: {\n type: {\n type: String,\n default: null,\n },\n\n color: {\n type: String,\n default: null,\n },\n\n iconSize: {\n type: String,\n default: '300',\n },\n },\n\n computed: {\n isIconType () {\n return ![TYPES.DIALBOT, TYPES.CONTACT_CENTER].includes(this.type);\n },\n\n isContactCenterType () {\n return this.type === TYPES.CONTACT_CENTER;\n },\n\n isDialbotType () {\n return this.type === TYPES.DIALBOT;\n },\n\n getIconName () {\n return ICON_MAPPING[this.type];\n },\n\n contactCenterIconClasses () {\n return [\n 'dt-leftbar-row__icon-cc',\n COLORS[this.color],\n ];\n },\n\n dialbotClasses () {\n return [\n 'd-d-flex',\n 'd-ai-center',\n 'd-jc-center',\n ];\n },\n },\n};\n</script>\n","<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-leftbar-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"'href' in $attrs ? $attrs.href : 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"generalRowListeners\"\n >\n <div\n class=\"dt-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n class=\"dt-leftbar-row__is-typing\"\n >\n <span /><span /><span />\n </div>\n <slot\n v-else\n name=\"left\"\n >\n <dt-recipe-leftbar-general-row-icon\n :type=\"getIcon\"\n :color=\"color\"\n :icon-size=\"iconSize\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <dt-tooltip\n v-if=\"dndText\"\n placement=\"top\"\n :message=\"dndTextTooltip\"\n >\n <template #anchor>\n <div\n ref=\"dt-leftbar-row-dnd\"\n class=\"dt-leftbar-row__dnd\"\n data-qa=\"dt-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n class=\"dt-leftbar-row__active-voice\"\n >\n <dt-icon\n size=\"300\"\n name=\"waveform\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n class=\"dt-leftbar-row__unread-badge\"\n >\n {{ unreadCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"dt-leftbar-row__action-button\"\n data-qa=\"dt-leftbar-row-action-call-button\"\n :circle=\"true\"\n size=\"xs\"\n kind=\"inverted\"\n :aria-label=\"callButtonTooltip\"\n @focus=\"actionFocused = true\"\n @blur=\"actionFocused = false\"\n @click.stop=\"$emit('call', $event)\"\n >\n <template #icon>\n <dt-icon\n name=\"phone\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n} from './general_row_constants';\nimport { DtBadge } from '@/components/badge';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtIcon,\n DtButton,\n DtTooltip,\n DtRecipeLeftbarGeneralRowIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines the icon to show.\n * If type is contact center, the color prop must be provided and will determine the color of the icon\n */\n type: {\n type: String,\n default: 'inbox',\n validator: (type) => {\n return Object.values(LEFTBAR_GENERAL_ROW_TYPES).includes(type);\n },\n },\n\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot\n * you still must input this as it will be displayed as the \"title\" attribute for the row.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines the color of the contact center icon\n */\n color: {\n type: String,\n default: null,\n validator: (color) => {\n return Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(color);\n },\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows styling to represent an active voice chat. This will display over unreadCount.\n */\n activeVoiceChat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Acronym used to represent \"Do not Disturb\" state. If entered will display the entered text alongside\n * unreadCount.\n */\n dndText: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown in tooltip when you hover the dndText\n */\n dndTextTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the row should have a call button. Usually only applicable to individual contact rows.\n */\n hasCallButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the size of the icon.\n */\n iconSize: {\n type: String,\n default: '300',\n validator: (size) => {\n return LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(size);\n },\n },\n },\n\n emits: [\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'dt-leftbar-row',\n {\n 'dt-leftbar-row--no-action': !this.hasCallButton,\n 'dt-leftbar-row--has-unread': this.hasUnreads,\n 'dt-leftbar-row--unread-count': this.showUnreadCount,\n 'dt-leftbar-row--selected': this.selected,\n 'dt-leftbar-row--muted': this.muted,\n 'dt-leftbar-row--action-focused': this.actionFocused,\n },\n ];\n },\n\n getIcon () {\n switch (this.type) {\n case LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:\n if (this.hasUnreads) return 'channel unread';\n break;\n case LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:\n if (this.hasUnreads) return 'locked channel unread';\n break;\n }\n return this.type;\n },\n\n generalRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip, this.dndTextTooltip]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n async handler () {\n this.validateProps();\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n validateProps () {\n if (this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER &&\n !Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)) {\n console.error(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR);\n }\n },\n\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.dt-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.dt-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.dt-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n@import \"../style/leftbar_row.less\";\n</style>\n"],"names":["LEFTBAR_GENERAL_ROW_TYPES","LEFTBAR_GENERAL_ROW_ICON_MAPPING","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","LEFTBAR_GENERAL_ROW_ICON_SIZES","_sfc_main","DtIcon","TYPES","ICON_MAPPING","COLORS","$options","_createBlock","_component_dt_icon","$props","_createElementBlock","_createVNode","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtRecipeLeftbarGeneralRowIcon","type","color","size","extractVueListeners","safeConcatStrings","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings","_hoisted_2","_createElementVNode","_hoisted_4","_hoisted_5","_hoisted_6","_mergeProps","_ctx","_toHandlers","_openBlock","_hoisted_3","_hoisted_7","_renderSlot","_component_dt_recipe_leftbar_general_row_icon","$data","_component_dt_emoji_text_wrapper","_hoisted_8","_component_dt_tooltip","_hoisted_9","_component_dt_badge","_hoisted_10","_component_dt_button","_cache","_withModifiers","$event"],"mappings":"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"}
1
+ {"version":3,"file":"general-row.cjs","sources":["../../recipes/leftbar/general_row/general_row_constants.js","../../recipes/leftbar/general_row/leftbar_general_row_icon.vue","../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["export const LEFTBAR_GENERAL_ROW_TYPES = {\n INBOX: 'inbox',\n CONTACTS: 'contacts',\n CHANNELS: 'channels',\n HOME: 'home',\n THREADS: 'threads',\n LOCKED_CHANNEL: 'locked channel',\n CONTACT_CENTER: 'contact center',\n QUICK_START: 'quick start',\n COACHING_GROUP: 'coaching group',\n COACHING_CENTER: 'coaching center',\n DIALBOT: 'dialbot',\n ASSIGNED: 'assigned',\n DIGITAL: 'digital',\n};\n\nexport const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {\n [LEFTBAR_GENERAL_ROW_TYPES.INBOX]: 'inbox',\n [LEFTBAR_GENERAL_ROW_TYPES.CONTACTS]: 'contacts',\n [LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',\n [LEFTBAR_GENERAL_ROW_TYPES.HOME]: 'home',\n [LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',\n [LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',\n [LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',\n 'locked channel unread': 'lock-filled',\n 'channel unread': 'hash-bold',\n [LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',\n [LEFTBAR_GENERAL_ROW_TYPES.DIGITAL]: 'laptop-2',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = {\n 'magenta-200': 'd-bgc-magenta-200',\n 'green-200': 'd-bgc-green-200',\n 'gold-300': 'd-bgc-gold-300',\n 'purple-600': 'd-bgc-purple-600',\n 'magenta-300': 'd-bgc-magenta-300',\n 'purple-300': 'd-bgc-purple-300',\n 'green-500': 'd-bgc-green-500',\n 'purple-100': 'd-bgc-purple-100',\n 'magenta-400': 'd-bgc-magenta-400',\n 'magenta-100': 'd-bgc-magenta-100',\n 'black-300': 'd-bgc-black-300',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = 'If type is contact center, color must be one' +\n 'of the following:' + Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).join(', ');\n\nexport const LEFTBAR_GENERAL_ROW_ICON_SIZES = [\n '300',\n '200',\n];\n\nexport default {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n};\n","<template>\n <dt-icon\n v-if=\"isIconType\"\n :name=\"getIconName\"\n :size=\"iconSize\"\n />\n <div\n v-else-if=\"isContactCenterType\"\n :class=\"contactCenterIconClasses\"\n />\n <div\n v-else-if=\"isDialbotType\"\n :class=\"dialbotClasses\"\n data-qa=\"general-row-dialbot\"\n >\n <dt-icon\n name=\"dialbot\"\n size=\"500\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport {\n LEFTBAR_GENERAL_ROW_ICON_MAPPING as ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_TYPES as TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS as COLORS,\n} from '@/recipes/leftbar/general_row/general_row_constants';\n\nexport default {\n name: 'DtRecipeLeftbarGeneralRowIcon',\n components: { DtIcon },\n props: {\n type: {\n type: String,\n default: null,\n },\n\n color: {\n type: String,\n default: null,\n },\n\n iconSize: {\n type: String,\n default: '300',\n },\n },\n\n computed: {\n isIconType () {\n return ![TYPES.DIALBOT, TYPES.CONTACT_CENTER].includes(this.type);\n },\n\n isContactCenterType () {\n return this.type === TYPES.CONTACT_CENTER;\n },\n\n isDialbotType () {\n return this.type === TYPES.DIALBOT;\n },\n\n getIconName () {\n return ICON_MAPPING[this.type];\n },\n\n contactCenterIconClasses () {\n return [\n 'dt-leftbar-row__icon-cc',\n COLORS[this.color],\n ];\n },\n\n dialbotClasses () {\n return [\n 'd-d-flex',\n 'd-ai-center',\n 'd-jc-center',\n ];\n },\n },\n};\n</script>\n","<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-leftbar-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"'href' in $attrs ? $attrs.href : 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"generalRowListeners\"\n >\n <div\n class=\"dt-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n class=\"dt-leftbar-row__is-typing\"\n >\n <span /><span /><span />\n </div>\n <slot\n v-else\n name=\"left\"\n >\n <dt-recipe-leftbar-general-row-icon\n :type=\"getIcon\"\n :color=\"color\"\n :icon-size=\"iconSize\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <dt-tooltip\n v-if=\"dndText\"\n placement=\"top\"\n :message=\"dndTextTooltip\"\n >\n <template #anchor>\n <div\n ref=\"dt-leftbar-row-dnd\"\n class=\"dt-leftbar-row__dnd\"\n data-qa=\"dt-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n class=\"dt-leftbar-row__active-voice\"\n >\n <dt-icon\n size=\"300\"\n name=\"waveform\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n class=\"dt-leftbar-row__unread-badge\"\n >\n {{ unreadCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"dt-leftbar-row__action-button\"\n data-qa=\"dt-leftbar-row-action-call-button\"\n :circle=\"true\"\n size=\"xs\"\n kind=\"inverted\"\n :aria-label=\"callButtonTooltip\"\n @focus=\"actionFocused = true\"\n @blur=\"actionFocused = false\"\n @click.stop=\"$emit('call', $event)\"\n >\n <template #icon>\n <dt-icon\n name=\"phone\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n} from './general_row_constants';\nimport { DtBadge } from '@/components/badge';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtIcon,\n DtButton,\n DtTooltip,\n DtRecipeLeftbarGeneralRowIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines the icon to show.\n * If type is contact center, the color prop must be provided and will determine the color of the icon\n */\n type: {\n type: String,\n default: 'inbox',\n validator: (type) => {\n return Object.values(LEFTBAR_GENERAL_ROW_TYPES).includes(type);\n },\n },\n\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot\n * you still must input this as it will be displayed as the \"title\" attribute for the row.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines the color of the contact center icon\n */\n color: {\n type: String,\n default: null,\n validator: (color) => {\n return Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(color);\n },\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows styling to represent an active voice chat. This will display over unreadCount.\n */\n activeVoiceChat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Acronym used to represent \"Do not Disturb\" state. If entered will display the entered text alongside\n * unreadCount.\n */\n dndText: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown in tooltip when you hover the dndText\n */\n dndTextTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the row should have a call button. Usually only applicable to individual contact rows.\n */\n hasCallButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the size of the icon.\n */\n iconSize: {\n type: String,\n default: '300',\n validator: (size) => {\n return LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(size);\n },\n },\n },\n\n emits: [\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'dt-leftbar-row',\n {\n 'dt-leftbar-row--no-action': !this.hasCallButton,\n 'dt-leftbar-row--has-unread': this.hasUnreads,\n 'dt-leftbar-row--unread-count': this.showUnreadCount,\n 'dt-leftbar-row--selected': this.selected,\n 'dt-leftbar-row--muted': this.muted,\n 'dt-leftbar-row--action-focused': this.actionFocused,\n },\n ];\n },\n\n getIcon () {\n switch (this.type) {\n case LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:\n if (this.hasUnreads) return 'channel unread';\n break;\n case LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:\n if (this.hasUnreads) return 'locked channel unread';\n break;\n }\n return this.type;\n },\n\n generalRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip, this.dndTextTooltip]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n async handler () {\n this.validateProps();\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n validateProps () {\n if (this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER &&\n !Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)) {\n console.error(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR);\n }\n },\n\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.dt-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.dt-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.dt-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n@import \"../style/leftbar_row.less\";\n</style>\n"],"names":["_sfc_main","DtIcon","TYPES","ICON_MAPPING","COLORS","_createBlock","_createElementBlock","_createVNode","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","extractVueListeners","safeConcatStrings","_createElementVNode","_mergeProps","_toHandlers","_openBlock","_renderSlot","_withModifiers"],"mappings":"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"}