@dialpad/dialtone 9.126.6 → 9.127.1

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 (619) hide show
  1. package/README.md +1 -1
  2. package/dist/tokens/doc.json +25670 -25670
  3. package/dist/vue2/common/mixins/index.cjs +1 -1
  4. package/dist/vue2/common/mixins/index.js +2 -4
  5. package/dist/vue2/common/mixins/index.js.map +1 -1
  6. package/dist/vue2/component-documentation.json +1 -1
  7. package/dist/vue2/dialtone-vue.cjs +1 -1
  8. package/dist/vue2/dialtone-vue.js +345 -347
  9. package/dist/vue2/dialtone-vue.js.map +1 -1
  10. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  11. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  12. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +16 -12
  13. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  14. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  15. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  16. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js +6 -6
  17. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  18. package/dist/vue2/lib/button/button.cjs +1 -1
  19. package/dist/vue2/lib/button/button.cjs.map +1 -1
  20. package/dist/vue2/lib/button/button.js +6 -6
  21. package/dist/vue2/lib/button/button.js.map +1 -1
  22. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  23. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  24. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +18 -18
  25. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  26. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  27. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  28. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +14 -14
  29. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  30. package/dist/vue2/lib/chip/chip.cjs +1 -1
  31. package/dist/vue2/lib/chip/chip.cjs.map +1 -1
  32. package/dist/vue2/lib/chip/chip.js +7 -7
  33. package/dist/vue2/lib/chip/chip.js.map +1 -1
  34. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  35. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  36. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +13 -13
  37. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  38. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  39. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  40. package/dist/vue2/lib/datepicker/datepicker.js +26 -26
  41. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  42. package/dist/vue2/lib/datepicker/formatUtils.cjs +1 -1
  43. package/dist/vue2/lib/datepicker/formatUtils.cjs.map +1 -1
  44. package/dist/vue2/lib/datepicker/formatUtils.js +21 -20
  45. package/dist/vue2/lib/datepicker/formatUtils.js.map +1 -1
  46. package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
  47. package/dist/vue2/lib/dropdown/dropdown.cjs.map +1 -1
  48. package/dist/vue2/lib/dropdown/dropdown.js +24 -26
  49. package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
  50. package/dist/vue2/lib/editor/editor.cjs +1 -1
  51. package/dist/vue2/lib/editor/editor.cjs.map +1 -1
  52. package/dist/vue2/lib/editor/editor.js +17 -17
  53. package/dist/vue2/lib/editor/editor.js.map +1 -1
  54. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  55. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  56. package/dist/vue2/lib/emoji-picker/emoji-picker.js +7 -6
  57. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  58. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  59. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  60. package/dist/vue2/lib/emoji-row/emoji-row.js +24 -20
  61. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  62. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  63. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  64. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +8 -8
  65. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  66. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  67. package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
  68. package/dist/vue2/lib/general-row/general-row.js +17 -17
  69. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  70. package/dist/vue2/lib/group-row/group-row.cjs +1 -1
  71. package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
  72. package/dist/vue2/lib/group-row/group-row.js +11 -7
  73. package/dist/vue2/lib/group-row/group-row.js.map +1 -1
  74. package/dist/vue2/lib/icon/icon.cjs +1 -1
  75. package/dist/vue2/lib/icon/icon.cjs.map +1 -1
  76. package/dist/vue2/lib/icon/icon.js +10 -6
  77. package/dist/vue2/lib/icon/icon.js.map +1 -1
  78. package/dist/vue2/lib/image-viewer/image-viewer.cjs +1 -1
  79. package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
  80. package/dist/vue2/lib/image-viewer/image-viewer.js +8 -7
  81. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  82. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  83. package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
  84. package/dist/vue2/lib/ivr-node/ivr-node.js +17 -17
  85. package/dist/vue2/lib/ivr-node/ivr-node.js.map +1 -1
  86. package/dist/vue2/lib/loader/loader.cjs +1 -1
  87. package/dist/vue2/lib/loader/loader.cjs.map +1 -1
  88. package/dist/vue2/lib/loader/loader.js +12 -8
  89. package/dist/vue2/lib/loader/loader.js.map +1 -1
  90. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  91. package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
  92. package/dist/vue2/lib/message-input/message-input-link.js +15 -15
  93. package/dist/vue2/lib/message-input/message-input-link.js.map +1 -1
  94. package/dist/vue2/lib/message-input/message-input-topbar.cjs +1 -1
  95. package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
  96. package/dist/vue2/lib/message-input/message-input-topbar.js +14 -10
  97. package/dist/vue2/lib/message-input/message-input-topbar.js.map +1 -1
  98. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  99. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  100. package/dist/vue2/lib/message-input/message-input.js +14 -10
  101. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  102. package/dist/vue2/lib/modal/modal.cjs +1 -1
  103. package/dist/vue2/lib/modal/modal.cjs.map +1 -1
  104. package/dist/vue2/lib/modal/modal.js +12 -11
  105. package/dist/vue2/lib/modal/modal.js.map +1 -1
  106. package/dist/vue2/lib/notice/notice-action.cjs +1 -1
  107. package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
  108. package/dist/vue2/lib/notice/notice-action.js +10 -6
  109. package/dist/vue2/lib/notice/notice-action.js.map +1 -1
  110. package/dist/vue2/lib/pagination/pagination.cjs +1 -1
  111. package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
  112. package/dist/vue2/lib/pagination/pagination.js +7 -7
  113. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  114. package/dist/vue2/lib/popover/popover-header-footer.cjs +1 -1
  115. package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
  116. package/dist/vue2/lib/popover/popover-header-footer.js +13 -9
  117. package/dist/vue2/lib/popover/popover-header-footer.js.map +1 -1
  118. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +2 -2
  119. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  120. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +61 -57
  121. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  122. package/dist/vue2/lib/toast/toast.cjs.map +1 -1
  123. package/dist/vue2/lib/toast/toast.js.map +1 -1
  124. package/dist/vue2/lib/unread-pill/unread-pill.cjs +1 -1
  125. package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
  126. package/dist/vue2/lib/unread-pill/unread-pill.js +15 -11
  127. package/dist/vue2/lib/unread-pill/unread-pill.js.map +1 -1
  128. package/dist/vue2/localization/de-DE.cjs +1 -13
  129. package/dist/vue2/localization/de-DE.cjs.map +1 -1
  130. package/dist/vue2/localization/de-DE.js +1 -13
  131. package/dist/vue2/localization/de-DE.js.map +1 -1
  132. package/dist/vue2/localization/es-LA.cjs +1 -13
  133. package/dist/vue2/localization/es-LA.cjs.map +1 -1
  134. package/dist/vue2/localization/es-LA.js +1 -13
  135. package/dist/vue2/localization/es-LA.js.map +1 -1
  136. package/dist/vue2/localization/fr-FR.cjs +1 -13
  137. package/dist/vue2/localization/fr-FR.cjs.map +1 -1
  138. package/dist/vue2/localization/fr-FR.js +1 -13
  139. package/dist/vue2/localization/fr-FR.js.map +1 -1
  140. package/dist/vue2/localization/index.cjs +1 -1
  141. package/dist/vue2/localization/index.cjs.map +1 -1
  142. package/dist/vue2/localization/index.js +59 -53
  143. package/dist/vue2/localization/index.js.map +1 -1
  144. package/dist/vue2/localization/it-IT.cjs +1 -13
  145. package/dist/vue2/localization/it-IT.cjs.map +1 -1
  146. package/dist/vue2/localization/it-IT.js +1 -13
  147. package/dist/vue2/localization/it-IT.js.map +1 -1
  148. package/dist/vue2/localization/ja-JP.cjs +1 -8
  149. package/dist/vue2/localization/ja-JP.cjs.map +1 -1
  150. package/dist/vue2/localization/ja-JP.js +1 -8
  151. package/dist/vue2/localization/ja-JP.js.map +1 -1
  152. package/dist/vue2/localization/nl-NL.cjs +1 -13
  153. package/dist/vue2/localization/nl-NL.cjs.map +1 -1
  154. package/dist/vue2/localization/nl-NL.js +1 -13
  155. package/dist/vue2/localization/nl-NL.js.map +1 -1
  156. package/dist/vue2/localization/pt-BR.cjs +1 -13
  157. package/dist/vue2/localization/pt-BR.cjs.map +1 -1
  158. package/dist/vue2/localization/pt-BR.js +1 -13
  159. package/dist/vue2/localization/pt-BR.js.map +1 -1
  160. package/dist/vue2/localization/ru-RU.cjs +1 -23
  161. package/dist/vue2/localization/ru-RU.cjs.map +1 -1
  162. package/dist/vue2/localization/ru-RU.js +1 -23
  163. package/dist/vue2/localization/ru-RU.js.map +1 -1
  164. package/dist/vue2/localization/zh-CN.cjs +1 -8
  165. package/dist/vue2/localization/zh-CN.cjs.map +1 -1
  166. package/dist/vue2/localization/zh-CN.js +1 -8
  167. package/dist/vue2/localization/zh-CN.js.map +1 -1
  168. package/dist/vue2/shared/sr_only_close_button.cjs +1 -1
  169. package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
  170. package/dist/vue2/shared/sr_only_close_button.js +14 -10
  171. package/dist/vue2/shared/sr_only_close_button.js.map +1 -1
  172. package/dist/vue2/types/common/mixins/index.d.ts +0 -1
  173. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts +5 -8
  174. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  175. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +3 -5
  176. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -1
  177. package/dist/vue2/types/components/button/button.vue.d.ts +4 -6
  178. package/dist/vue2/types/components/button/button.vue.d.ts.map +1 -1
  179. package/dist/vue2/types/components/chip/chip.vue.d.ts +6 -8
  180. package/dist/vue2/types/components/chip/chip.vue.d.ts.map +1 -1
  181. package/dist/vue2/types/components/datepicker/formatUtils.d.ts.map +1 -1
  182. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +3 -5
  183. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts.map +1 -1
  184. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts +3 -5
  185. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  186. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  187. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -5
  188. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +2 -4
  189. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  190. package/dist/vue2/types/components/loader/loader.vue.d.ts +5 -6
  191. package/dist/vue2/types/components/loader/loader.vue.d.ts.map +1 -1
  192. package/dist/vue2/types/components/modal/modal.vue.d.ts +2 -4
  193. package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
  194. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +5 -6
  195. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  196. package/dist/vue2/types/components/pagination/pagination.vue.d.ts +4 -6
  197. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  198. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +5 -6
  199. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  200. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -7
  201. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  202. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  203. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +5 -7
  204. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  205. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +5 -7
  206. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  207. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +4 -6
  208. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  209. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +3 -5
  210. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  211. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +5 -6
  212. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  213. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +14 -16
  214. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  215. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +5 -6
  216. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  217. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +6 -8
  218. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  219. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +5 -6
  220. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  221. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +5 -7
  222. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  223. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +3 -5
  224. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  225. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +5 -6
  226. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  227. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +5 -7
  228. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  229. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +17 -19
  230. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  231. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +8 -9
  232. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  233. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +5 -6
  234. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  235. package/dist/vue3/common/mixins/index.cjs +1 -1
  236. package/dist/vue3/common/mixins/index.js +8 -10
  237. package/dist/vue3/common/mixins/index.js.map +1 -1
  238. package/dist/vue3/common/utils/index.cjs +1 -1
  239. package/dist/vue3/common/utils/index.cjs.map +1 -1
  240. package/dist/vue3/common/utils/index.js +42 -38
  241. package/dist/vue3/common/utils/index.js.map +1 -1
  242. package/dist/vue3/component-documentation.json +1 -1
  243. package/dist/vue3/dialtone-vue.cjs +1 -1
  244. package/dist/vue3/dialtone-vue.js +298 -299
  245. package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  246. package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  247. package/dist/vue3/lib/attachment-carousel/attachment-carousel.js +86 -110
  248. package/dist/vue3/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  249. package/dist/vue3/lib/banner/banner.cjs +2 -2
  250. package/dist/vue3/lib/banner/banner.cjs.map +1 -1
  251. package/dist/vue3/lib/banner/banner.js +27 -38
  252. package/dist/vue3/lib/banner/banner.js.map +1 -1
  253. package/dist/vue3/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  254. package/dist/vue3/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  255. package/dist/vue3/lib/breadcrumbs/breadcrumbs.js +20 -18
  256. package/dist/vue3/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  257. package/dist/vue3/lib/button/button.cjs +1 -1
  258. package/dist/vue3/lib/button/button.cjs.map +1 -1
  259. package/dist/vue3/lib/button/button.js +26 -24
  260. package/dist/vue3/lib/button/button.js.map +1 -1
  261. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  262. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  263. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +36 -41
  264. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  265. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  266. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  267. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js +35 -37
  268. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  269. package/dist/vue3/lib/chip/chip.cjs +1 -1
  270. package/dist/vue3/lib/chip/chip.cjs.map +1 -1
  271. package/dist/vue3/lib/chip/chip.js +54 -57
  272. package/dist/vue3/lib/chip/chip.js.map +1 -1
  273. package/dist/vue3/lib/combobox/combobox-constants.cjs +1 -1
  274. package/dist/vue3/lib/combobox/combobox-constants.cjs.map +1 -1
  275. package/dist/vue3/lib/combobox/combobox-constants.js +2 -2
  276. package/dist/vue3/lib/combobox/combobox-constants.js.map +1 -1
  277. package/dist/vue3/lib/combobox/combobox-empty-list.cjs.map +1 -1
  278. package/dist/vue3/lib/combobox/combobox-empty-list.js.map +1 -1
  279. package/dist/vue3/lib/combobox/combobox-loading-list.cjs.map +1 -1
  280. package/dist/vue3/lib/combobox/combobox-loading-list.js.map +1 -1
  281. package/dist/vue3/lib/combobox/combobox.cjs +2 -2
  282. package/dist/vue3/lib/combobox/combobox.cjs.map +1 -1
  283. package/dist/vue3/lib/combobox/combobox.js +20 -20
  284. package/dist/vue3/lib/combobox/combobox.js.map +1 -1
  285. package/dist/vue3/lib/combobox/index.cjs +1 -1
  286. package/dist/vue3/lib/combobox/index.js +3 -3
  287. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  288. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  289. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +119 -124
  290. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  291. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  292. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  293. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js +76 -80
  294. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  295. package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  296. package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  297. package/dist/vue3/lib/contact-centers-row/contact-centers-row.js +68 -63
  298. package/dist/vue3/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  299. package/dist/vue3/lib/contact-row/contact-row.cjs +1 -1
  300. package/dist/vue3/lib/contact-row/contact-row.cjs.map +1 -1
  301. package/dist/vue3/lib/contact-row/contact-row.js +32 -48
  302. package/dist/vue3/lib/contact-row/contact-row.js.map +1 -1
  303. package/dist/vue3/lib/datepicker/datepicker-constants.cjs +1 -1
  304. package/dist/vue3/lib/datepicker/datepicker-constants.cjs.map +1 -1
  305. package/dist/vue3/lib/datepicker/datepicker-constants.js +2 -3
  306. package/dist/vue3/lib/datepicker/datepicker-constants.js.map +1 -1
  307. package/dist/vue3/lib/datepicker/datepicker.cjs +1 -1
  308. package/dist/vue3/lib/datepicker/datepicker.cjs.map +1 -1
  309. package/dist/vue3/lib/datepicker/datepicker.js +264 -349
  310. package/dist/vue3/lib/datepicker/datepicker.js.map +1 -1
  311. package/dist/vue3/lib/datepicker/formatUtils.cjs +1 -1
  312. package/dist/vue3/lib/datepicker/formatUtils.cjs.map +1 -1
  313. package/dist/vue3/lib/datepicker/formatUtils.js +21 -20
  314. package/dist/vue3/lib/datepicker/formatUtils.js.map +1 -1
  315. package/dist/vue3/lib/datepicker/utils.cjs +1 -1
  316. package/dist/vue3/lib/datepicker/utils.cjs.map +1 -1
  317. package/dist/vue3/lib/datepicker/utils.js +12 -11
  318. package/dist/vue3/lib/datepicker/utils.js.map +1 -1
  319. package/dist/vue3/lib/description-list/description-list.cjs +1 -1
  320. package/dist/vue3/lib/description-list/description-list.cjs.map +1 -1
  321. package/dist/vue3/lib/description-list/description-list.js +10 -10
  322. package/dist/vue3/lib/description-list/description-list.js.map +1 -1
  323. package/dist/vue3/lib/dropdown/dropdown.cjs +1 -1
  324. package/dist/vue3/lib/dropdown/dropdown.cjs.map +1 -1
  325. package/dist/vue3/lib/dropdown/dropdown.js +36 -46
  326. package/dist/vue3/lib/dropdown/dropdown.js.map +1 -1
  327. package/dist/vue3/lib/editor/editor.cjs +1 -1
  328. package/dist/vue3/lib/editor/editor.cjs.map +1 -1
  329. package/dist/vue3/lib/editor/editor.js +169 -186
  330. package/dist/vue3/lib/editor/editor.js.map +1 -1
  331. package/dist/vue3/lib/editor/index.cjs +1 -1
  332. package/dist/vue3/lib/editor/index.js +2 -2
  333. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs +1 -1
  334. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  335. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js +7 -20
  336. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  337. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs +1 -1
  338. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  339. package/dist/vue3/lib/emoji-picker/emoji-picker.js +419 -477
  340. package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
  341. package/dist/vue3/lib/emoji-picker/index.cjs +1 -1
  342. package/dist/vue3/lib/emoji-picker/index.js +3 -4
  343. package/dist/vue3/lib/emoji-row/emoji-row-constants.cjs +1 -1
  344. package/dist/vue3/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  345. package/dist/vue3/lib/emoji-row/emoji-row-constants.js +6 -7
  346. package/dist/vue3/lib/emoji-row/emoji-row-constants.js.map +1 -1
  347. package/dist/vue3/lib/emoji-row/emoji-row.cjs +1 -1
  348. package/dist/vue3/lib/emoji-row/emoji-row.cjs.map +1 -1
  349. package/dist/vue3/lib/emoji-row/emoji-row.js +53 -43
  350. package/dist/vue3/lib/emoji-row/emoji-row.js.map +1 -1
  351. package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  352. package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  353. package/dist/vue3/lib/feed-item-pill/feed-item-pill.js +52 -53
  354. package/dist/vue3/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  355. package/dist/vue3/lib/general-row/general-row.cjs +1 -1
  356. package/dist/vue3/lib/general-row/general-row.cjs.map +1 -1
  357. package/dist/vue3/lib/general-row/general-row.js +133 -118
  358. package/dist/vue3/lib/general-row/general-row.js.map +1 -1
  359. package/dist/vue3/lib/group-row/group-row.cjs +1 -1
  360. package/dist/vue3/lib/group-row/group-row.cjs.map +1 -1
  361. package/dist/vue3/lib/group-row/group-row.js +53 -39
  362. package/dist/vue3/lib/group-row/group-row.js.map +1 -1
  363. package/dist/vue3/lib/icon/icon-constants.cjs.map +1 -1
  364. package/dist/vue3/lib/icon/icon-constants.js.map +1 -1
  365. package/dist/vue3/lib/icon/icon.cjs +1 -1
  366. package/dist/vue3/lib/icon/icon.cjs.map +1 -1
  367. package/dist/vue3/lib/icon/icon.js +16 -13
  368. package/dist/vue3/lib/icon/icon.js.map +1 -1
  369. package/dist/vue3/lib/image-viewer/image-viewer.cjs +1 -1
  370. package/dist/vue3/lib/image-viewer/image-viewer.cjs.map +1 -1
  371. package/dist/vue3/lib/image-viewer/image-viewer.js +51 -47
  372. package/dist/vue3/lib/image-viewer/image-viewer.js.map +1 -1
  373. package/dist/vue3/lib/ivr-node/ivr-node-constants.cjs +1 -1
  374. package/dist/vue3/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  375. package/dist/vue3/lib/ivr-node/ivr-node-constants.js +24 -24
  376. package/dist/vue3/lib/ivr-node/ivr-node-constants.js.map +1 -1
  377. package/dist/vue3/lib/ivr-node/ivr-node.cjs +1 -1
  378. package/dist/vue3/lib/ivr-node/ivr-node.cjs.map +1 -1
  379. package/dist/vue3/lib/ivr-node/ivr-node.js +80 -76
  380. package/dist/vue3/lib/ivr-node/ivr-node.js.map +1 -1
  381. package/dist/vue3/lib/message-input/message-input-link.cjs +1 -1
  382. package/dist/vue3/lib/message-input/message-input-link.cjs.map +1 -1
  383. package/dist/vue3/lib/message-input/message-input-link.js +100 -77
  384. package/dist/vue3/lib/message-input/message-input-link.js.map +1 -1
  385. package/dist/vue3/lib/message-input/message-input-topbar.cjs +1 -1
  386. package/dist/vue3/lib/message-input/message-input-topbar.cjs.map +1 -1
  387. package/dist/vue3/lib/message-input/message-input-topbar.js +126 -94
  388. package/dist/vue3/lib/message-input/message-input-topbar.js.map +1 -1
  389. package/dist/vue3/lib/message-input/message-input.cjs +1 -1
  390. package/dist/vue3/lib/message-input/message-input.cjs.map +1 -1
  391. package/dist/vue3/lib/message-input/message-input.js +272 -296
  392. package/dist/vue3/lib/message-input/message-input.js.map +1 -1
  393. package/dist/vue3/lib/modal/modal.cjs +1 -2
  394. package/dist/vue3/lib/modal/modal.cjs.map +1 -1
  395. package/dist/vue3/lib/modal/modal.js +64 -79
  396. package/dist/vue3/lib/modal/modal.js.map +1 -1
  397. package/dist/vue3/lib/notice/notice-action.cjs +1 -1
  398. package/dist/vue3/lib/notice/notice-action.cjs.map +1 -1
  399. package/dist/vue3/lib/notice/notice-action.js +38 -39
  400. package/dist/vue3/lib/notice/notice-action.js.map +1 -1
  401. package/dist/vue3/lib/notice/notice.cjs +1 -1
  402. package/dist/vue3/lib/notice/notice.cjs.map +1 -1
  403. package/dist/vue3/lib/notice/notice.js +37 -49
  404. package/dist/vue3/lib/notice/notice.js.map +1 -1
  405. package/dist/vue3/lib/pagination/pagination.cjs +1 -1
  406. package/dist/vue3/lib/pagination/pagination.cjs.map +1 -1
  407. package/dist/vue3/lib/pagination/pagination.js +72 -81
  408. package/dist/vue3/lib/pagination/pagination.js.map +1 -1
  409. package/dist/vue3/lib/popover/popover-header-footer.cjs +1 -1
  410. package/dist/vue3/lib/popover/popover-header-footer.cjs.map +1 -1
  411. package/dist/vue3/lib/popover/popover-header-footer.js +44 -45
  412. package/dist/vue3/lib/popover/popover-header-footer.js.map +1 -1
  413. package/dist/vue3/lib/popover/popover.cjs +1 -1
  414. package/dist/vue3/lib/popover/popover.cjs.map +1 -1
  415. package/dist/vue3/lib/popover/popover.js +26 -37
  416. package/dist/vue3/lib/popover/popover.js.map +1 -1
  417. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +3 -3
  418. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  419. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +187 -181
  420. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  421. package/dist/vue3/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  422. package/dist/vue3/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  423. package/dist/vue3/lib/time-pill/time-pill.cjs.map +1 -1
  424. package/dist/vue3/lib/time-pill/time-pill.js.map +1 -1
  425. package/dist/vue3/lib/toast/toast.cjs +1 -1
  426. package/dist/vue3/lib/toast/toast.cjs.map +1 -1
  427. package/dist/vue3/lib/toast/toast.js +83 -127
  428. package/dist/vue3/lib/toast/toast.js.map +1 -1
  429. package/dist/vue3/lib/unread-pill/unread-pill.cjs +1 -1
  430. package/dist/vue3/lib/unread-pill/unread-pill.cjs.map +1 -1
  431. package/dist/vue3/lib/unread-pill/unread-pill.js +25 -14
  432. package/dist/vue3/lib/unread-pill/unread-pill.js.map +1 -1
  433. package/dist/vue3/localization/de-DE.cjs +157 -0
  434. package/dist/vue3/localization/de-DE.cjs.map +1 -0
  435. package/dist/vue3/localization/de-DE.js +160 -0
  436. package/dist/vue3/localization/de-DE.js.map +1 -0
  437. package/dist/vue3/localization/en-US.cjs +175 -0
  438. package/dist/vue3/localization/en-US.cjs.map +1 -0
  439. package/dist/vue3/localization/en-US.js +178 -0
  440. package/dist/vue3/localization/en-US.js.map +1 -0
  441. package/dist/vue3/localization/es-LA.cjs +157 -0
  442. package/dist/vue3/localization/es-LA.cjs.map +1 -0
  443. package/dist/vue3/localization/es-LA.js +160 -0
  444. package/dist/vue3/localization/es-LA.js.map +1 -0
  445. package/dist/vue3/localization/fr-FR.cjs +157 -0
  446. package/dist/vue3/localization/fr-FR.cjs.map +1 -0
  447. package/dist/vue3/localization/fr-FR.js +160 -0
  448. package/dist/vue3/localization/fr-FR.js.map +1 -0
  449. package/dist/vue3/localization/index.cjs +2 -0
  450. package/dist/vue3/localization/index.cjs.map +1 -0
  451. package/dist/vue3/localization/index.js +82 -0
  452. package/dist/vue3/localization/index.js.map +1 -0
  453. package/dist/vue3/localization/it-IT.cjs +157 -0
  454. package/dist/vue3/localization/it-IT.cjs.map +1 -0
  455. package/dist/vue3/localization/it-IT.js +160 -0
  456. package/dist/vue3/localization/it-IT.js.map +1 -0
  457. package/dist/vue3/localization/ja-JP.cjs +157 -0
  458. package/dist/vue3/localization/ja-JP.cjs.map +1 -0
  459. package/dist/vue3/localization/ja-JP.js +160 -0
  460. package/dist/vue3/localization/ja-JP.js.map +1 -0
  461. package/dist/vue3/localization/nl-NL.cjs +157 -0
  462. package/dist/vue3/localization/nl-NL.cjs.map +1 -0
  463. package/dist/vue3/localization/nl-NL.js +160 -0
  464. package/dist/vue3/localization/nl-NL.js.map +1 -0
  465. package/dist/vue3/localization/pt-BR.cjs +157 -0
  466. package/dist/vue3/localization/pt-BR.cjs.map +1 -0
  467. package/dist/vue3/localization/pt-BR.js +160 -0
  468. package/dist/vue3/localization/pt-BR.js.map +1 -0
  469. package/dist/vue3/localization/ru-RU.cjs +157 -0
  470. package/dist/vue3/localization/ru-RU.cjs.map +1 -0
  471. package/dist/vue3/localization/ru-RU.js +160 -0
  472. package/dist/vue3/localization/ru-RU.js.map +1 -0
  473. package/dist/vue3/localization/zh-CN.cjs +157 -0
  474. package/dist/vue3/localization/zh-CN.cjs.map +1 -0
  475. package/dist/vue3/localization/zh-CN.js +160 -0
  476. package/dist/vue3/localization/zh-CN.js.map +1 -0
  477. package/dist/vue3/shared/sr_only_close_button.cjs +1 -1
  478. package/dist/vue3/shared/sr_only_close_button.cjs.map +1 -1
  479. package/dist/vue3/shared/sr_only_close_button.js +27 -25
  480. package/dist/vue3/shared/sr_only_close_button.js.map +1 -1
  481. package/dist/vue3/types/common/mixins/index.d.ts +0 -1
  482. package/dist/vue3/types/common/sr_only_close_button.vue.d.ts +8 -15
  483. package/dist/vue3/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  484. package/dist/vue3/types/common/utils/index.d.ts +1 -0
  485. package/dist/vue3/types/common/utils/index.d.ts.map +1 -1
  486. package/dist/vue3/types/components/banner/banner.vue.d.ts +0 -33
  487. package/dist/vue3/types/components/banner/banner.vue.d.ts.map +1 -1
  488. package/dist/vue3/types/components/breadcrumbs/breadcrumbs.vue.d.ts +2 -0
  489. package/dist/vue3/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -1
  490. package/dist/vue3/types/components/button/button.vue.d.ts +2 -0
  491. package/dist/vue3/types/components/button/button.vue.d.ts.map +1 -1
  492. package/dist/vue3/types/components/chip/chip.vue.d.ts +3 -15
  493. package/dist/vue3/types/components/chip/chip.vue.d.ts.map +1 -1
  494. package/dist/vue3/types/components/combobox/combobox.vue.d.ts.map +1 -1
  495. package/dist/vue3/types/components/combobox/combobox_constants.d.ts +2 -2
  496. package/dist/vue3/types/components/combobox/index.d.ts +1 -1
  497. package/dist/vue3/types/components/datepicker/composables/useCalendar.d.ts.map +1 -1
  498. package/dist/vue3/types/components/datepicker/composables/useMonthYearPicker.d.ts +5 -1
  499. package/dist/vue3/types/components/datepicker/composables/useMonthYearPicker.d.ts.map +1 -1
  500. package/dist/vue3/types/components/datepicker/datepicker.vue.d.ts.map +1 -1
  501. package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts +0 -1
  502. package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  503. package/dist/vue3/types/components/datepicker/formatUtils.d.ts +5 -5
  504. package/dist/vue3/types/components/datepicker/formatUtils.d.ts.map +1 -1
  505. package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts +0 -4
  506. package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts.map +1 -1
  507. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +0 -12
  508. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  509. package/dist/vue3/types/components/datepicker/utils.d.ts +1 -0
  510. package/dist/vue3/types/components/datepicker/utils.d.ts.map +1 -1
  511. package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +0 -24
  512. package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  513. package/dist/vue3/types/components/emoji_picker/emoji_picker_constants.d.ts +0 -13
  514. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  515. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -3
  516. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  517. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +3 -8
  518. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  519. package/dist/vue3/types/components/modal/modal.vue.d.ts +3 -35
  520. package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
  521. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -34
  522. package/dist/vue3/types/components/notice/notice.vue.d.ts.map +1 -1
  523. package/dist/vue3/types/components/notice/notice_action.vue.d.ts +7 -35
  524. package/dist/vue3/types/components/notice/notice_action.vue.d.ts.map +1 -1
  525. package/dist/vue3/types/components/pagination/pagination.vue.d.ts +5 -24
  526. package/dist/vue3/types/components/pagination/pagination.vue.d.ts.map +1 -1
  527. package/dist/vue3/types/components/popover/popover.vue.d.ts +0 -33
  528. package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
  529. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +5 -10
  530. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  531. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +2 -0
  532. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  533. package/dist/vue3/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +2 -46
  534. package/dist/vue3/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  535. package/dist/vue3/types/components/toast/layouts/toast_layout_default.vue.d.ts +1 -34
  536. package/dist/vue3/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  537. package/dist/vue3/types/components/toast/toast.vue.d.ts +4 -115
  538. package/dist/vue3/types/components/toast/toast.vue.d.ts.map +1 -1
  539. package/dist/vue3/types/index.d.ts +1 -0
  540. package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +3 -11
  541. package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  542. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +3 -10
  543. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  544. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +4 -8
  545. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  546. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node_constants.d.ts +7 -7
  547. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
  548. package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  549. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -25
  550. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  551. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +3 -41
  552. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  553. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +6 -25
  554. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  555. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +2 -2
  556. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +6 -49
  557. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  558. package/dist/vue3/types/recipes/conversation_view/editor/index.d.ts +1 -1
  559. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +6 -2
  560. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  561. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row_constants.d.ts.map +1 -1
  562. package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +3 -8
  563. package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  564. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  565. package/dist/vue3/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +6 -1
  566. package/dist/vue3/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  567. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +12 -88
  568. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  569. package/dist/vue3/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +11 -1
  570. package/dist/vue3/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  571. package/dist/vue3/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +13 -1
  572. package/dist/vue3/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  573. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +5 -8
  574. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  575. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +0 -18
  576. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  577. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +9 -27
  578. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  579. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts +11 -21
  580. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  581. package/dist/vue3/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +6 -2
  582. package/dist/vue3/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  583. package/package.json +4 -4
  584. package/dist/vue2/common/mixins/localization.cjs +0 -2
  585. package/dist/vue2/common/mixins/localization.cjs.map +0 -1
  586. package/dist/vue2/common/mixins/localization.js +0 -10
  587. package/dist/vue2/common/mixins/localization.js.map +0 -1
  588. package/dist/vue2/types/common/mixins/localization.d.ts +0 -8
  589. package/dist/vue2/types/common/mixins/localization.d.ts.map +0 -1
  590. package/dist/vue3/common/mixins/sr-only-close-button.cjs +0 -3
  591. package/dist/vue3/common/mixins/sr-only-close-button.cjs.map +0 -1
  592. package/dist/vue3/common/mixins/sr-only-close-button.js +0 -44
  593. package/dist/vue3/common/mixins/sr-only-close-button.js.map +0 -1
  594. package/dist/vue3/lib/contact-row/contact-row-constants.cjs +0 -2
  595. package/dist/vue3/lib/contact-row/contact-row-constants.cjs.map +0 -1
  596. package/dist/vue3/lib/contact-row/contact-row-constants.js +0 -5
  597. package/dist/vue3/lib/contact-row/contact-row-constants.js.map +0 -1
  598. package/dist/vue3/lib/emoji/emoji-constants.cjs +0 -2
  599. package/dist/vue3/lib/emoji/emoji-constants.cjs.map +0 -1
  600. package/dist/vue3/lib/emoji/emoji-constants.js +0 -5
  601. package/dist/vue3/lib/emoji/emoji-constants.js.map +0 -1
  602. package/dist/vue3/lib/group-row/group-row-constants.cjs +0 -2
  603. package/dist/vue3/lib/group-row/group-row-constants.cjs.map +0 -1
  604. package/dist/vue3/lib/group-row/group-row-constants.js +0 -8
  605. package/dist/vue3/lib/group-row/group-row-constants.js.map +0 -1
  606. package/dist/vue3/lib/time-pill/time-pill-constants.cjs +0 -2
  607. package/dist/vue3/lib/time-pill/time-pill-constants.cjs.map +0 -1
  608. package/dist/vue3/lib/time-pill/time-pill-constants.js +0 -8
  609. package/dist/vue3/lib/time-pill/time-pill-constants.js.map +0 -1
  610. package/dist/vue3/types/common/mixins/sr_only_close_button.d.ts +0 -30
  611. package/dist/vue3/types/common/mixins/sr_only_close_button.d.ts.map +0 -1
  612. package/dist/vue3/types/components/emoji/emoji_constants.d.ts +0 -3
  613. package/dist/vue3/types/components/emoji/emoji_constants.d.ts.map +0 -1
  614. package/dist/vue3/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts +0 -6
  615. package/dist/vue3/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts.map +0 -1
  616. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row_constants.d.ts +0 -3
  617. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row_constants.d.ts.map +0 -1
  618. package/dist/vue3/types/recipes/leftbar/group_row/group_row_constants.d.ts +0 -6
  619. package/dist/vue3/types/recipes/leftbar/group_row/group_row_constants.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./general-row-constants.cjs"),c=require("@dialpad/dialtone-icons/vue2"),_=require("./leftbar-general-row-icon.cjs"),p=require("../../common/utils/index.cjs"),h=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),f=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),b=require("../badge/badge.cjs"),C=require("../button/button.cjs"),T=require("../tooltip/tooltip.cjs"),E=require("../../common/mixins/localization.cjs"),w={name:"DtRecipeGeneralRow",components:{DtEmojiTextWrapper:f.default,DtBadge:b.default,DtButton:C.default,DtTooltip:T.default,DtIconPhone:c.DtIconPhone,DtIconWaveform:c.DtIconWaveform,DtRecipeLeftbarGeneralRowIcon:_.default},mixins:[E.default],inheritAttrs:!1,props:{type:{type:String,default:"inbox",validator:a=>Object.values(n.LEFTBAR_GENERAL_ROW_TYPES).includes(a)},ariaLabel:{type:String,default:""},description:{type:String,required:!0},color:{type:String,default:null,validator:a=>Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(a)},channelSetting:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:""},hasCallButton:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:"300",validator:a=>n.LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(a)}},emits:["click","call"],data(){return{actionFocused:!1,labelWidth:"100%"}},computed:{leftbarGeneralRowClasses(){return["d-recipe-leftbar-row",{"d-recipe-leftbar-row--no-action":!this.hasCallButton,"d-recipe-leftbar-row--has-unread":this.hasUnreads,"d-recipe-leftbar-row__unread-count":this.showUnreadCount||this.showUnreadMentionCount,"d-recipe-leftbar-row--selected":this.selected,"d-recipe-leftbar-row--muted":this.muted,"d-recipe-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case n.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:if(this.hasUnreads)return"channel unread";break;case n.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:if(this.hasUnreads)return"locked channel unread";break}return this.type},getAriaLabel(){return this.ariaLabel?this.ariaLabel:p.safeConcatStrings([this.typingTooltip,this.description,this.unreadCountTooltip,this.dndTextTooltip,this.activeVoiceChatTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton||this.showUnreadMentionCount},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads},showUnreadMentionCount(){return!!this.unreadMentionCount&&this.hasUnreads},hasUnreadCount(){return this.unreadCount!==null},hasUnreadMentionCount(){return this.unreadMentionCount!==null},shouldApplyCustomStyleForCountBadge(){return this.hasUnreadCount&&this.hasUnreadMentionCount},shouldApplyCustomStyleForMentionOnly(){return this.channelSetting==="always"&&!this.hasUnreadCount&&this.hasUnreadMentionCount},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return p.safeConcatStrings([this.unreadCount&&this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t("DIALTONE_UNREAD_MENTION_COUNT_TEXT",{unreadCount:this.mentionCount})])},dndTextTooltip(){return this.dndText&&this.i18n.$t("DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP")},activeVoiceChatTooltip(){return this.activeVoiceChat&&this.i18n.$t("DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT")},callButtonTooltip(){return this.i18n.$t("DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP")},typingTooltip(){return this.isTyping&&this.i18n.$t("DIALTONE_TYPING_TEXT")}},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()},beforeDestroy:function(){this.resizeObserver.disconnect()},methods:{validateProps(){this.type===n.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER&&!Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)&&console.error(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR)},adjustLabelWidth(){var i,o,s,l,d,u;const a=((o=(i=this.$el)==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:o.clientWidth)||0,t=((l=(s=this.$el)==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,e=((u=(d=this.$el)==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:u.clientWidth)||0,r=16;this.labelWidth=a-(t+e+r)+"px"}}};var y=function(){var t=this,e=t._self._c;return e("div",{class:t.leftbarGeneralRowClasses,attrs:{"data-qa":"dt-recipe-leftbar-row"}},[e("a",t._g(t._b({staticClass:"d-recipe-leftbar-row__primary",attrs:{"data-qa":"data-qa"in t.$attrs?t.$attrs["data-qa"]:"d-recipe-leftbar-row-link","aria-label":t.getAriaLabel,title:t.description,href:"href"in t.$attrs?t.$attrs.href:"javascript:void(0)"}},"a",t.$attrs,!1),t.$listeners),[e("div",{staticClass:"d-recipe-leftbar-row__alpha"},[t.isTyping?e("div",{directives:[{name:"dt-tooltip",rawName:"v-dt-tooltip",value:t.typingTooltip,expression:"typingTooltip"}],staticClass:"d-recipe-leftbar-row__is-typing"},[e("span"),e("span"),e("span")]):t._t("left",function(){return[e("dt-recipe-leftbar-general-row-icon",{attrs:{type:t.getIcon,color:t.color,"icon-size":t.iconSize,"data-qa":"dt-recipe-leftbar-row-icon"}})]})],2),e("div",{staticClass:"d-recipe-leftbar-row__label",style:`flex-basis: ${t.labelWidth}`},[t._t("label",function(){return[e("dt-emoji-text-wrapper",{staticClass:"d-recipe-leftbar-row__description",attrs:{"data-qa":"dt-recipe-leftbar-row-description",size:"200"}},[t._v(" "+t._s(t.description)+" ")])]})],2)]),t.hasActions?e("div",{staticClass:"d-recipe-leftbar-row__omega"},[t.dndText?e("dt-tooltip",{attrs:{placement:"top",message:t.dndTextTooltip},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("div",{ref:"d-recipe-leftbar-row-dnd",staticClass:"d-recipe-leftbar-row__dnd",attrs:{"data-qa":"dt-recipe-leftbar-row-dnd"}},[t._v(" "+t._s(t.dndText)+" ")])]},proxy:!0}],null,!1,3247296267)}):t._e(),t.activeVoiceChat?e("div",{directives:[{name:"dt-tooltip",rawName:"v-dt-tooltip",value:t.activeVoiceChatTooltip,expression:"activeVoiceChatTooltip"}],staticClass:"d-recipe-leftbar-row__active-voice"},[e("dt-icon-waveform",{attrs:{size:"300"}})],1):t.showUnreadCount||t.showUnreadMentionCount?e("dt-tooltip",{attrs:{message:t.unreadCountTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[t.showUnreadCount?e("dt-badge",{class:["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-count-badge":t.shouldApplyCustomStyleForCountBadge}],attrs:{kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-badge"}},[t._v(" "+t._s(t.unreadCount)+" ")]):t._e(),t.showUnreadMentionCount?e("dt-badge",{class:["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-mention-count-badge":t.shouldApplyCustomStyleForCountBadge},{"d-recipe-leftbar-row__unread-mention-only-count-badge":t.shouldApplyCustomStyleForMentionOnly}],attrs:{kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-mention-badge"}},[t._v(" "+t._s(t.unreadMentionCount)+" ")]):t._e()]},proxy:!0}],null,!1,715135836)}):t._e(),t.hasCallButton?e("div",{staticClass:"d-recipe-leftbar-row__action",attrs:{"data-qa":"dt-recipe-leftbar-row-action"}},[e("dt-tooltip",{attrs:{message:t.callButtonTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("dt-button",{staticClass:"d-recipe-leftbar-row__action-button",attrs:{"data-qa":"dt-recipe-leftbar-row-action-call-button",circle:"",size:"xs",kind:"inverted","aria-label":t.callButtonTooltip},on:{focus:function(r){t.actionFocused=!0},blur:function(r){t.actionFocused=!1},click:function(r){return r.stopPropagation(),t.$emit("call",r)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("dt-icon-phone",{attrs:{size:"200"}})]},proxy:!0}],null,!1,2193255039)})]},proxy:!0}],null,!1,3837984112)})],1):t._e()],1):t._e()])},m=[],g=h.n(w,y,m);const R=g.exports;exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./general-row-constants.cjs"),c=require("@dialpad/dialtone-icons/vue2"),_=require("./leftbar-general-row-icon.cjs"),p=require("../../common/utils/index.cjs"),h=require("../../localization/index.cjs"),f=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),b=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),C=require("../badge/badge.cjs"),T=require("../button/button.cjs"),E=require("../tooltip/tooltip.cjs"),w={name:"DtRecipeGeneralRow",components:{DtEmojiTextWrapper:b.default,DtBadge:C.default,DtButton:T.default,DtTooltip:E.default,DtIconPhone:c.DtIconPhone,DtIconWaveform:c.DtIconWaveform,DtRecipeLeftbarGeneralRowIcon:_.default},inheritAttrs:!1,props:{type:{type:String,default:"inbox",validator:a=>Object.values(n.LEFTBAR_GENERAL_ROW_TYPES).includes(a)},ariaLabel:{type:String,default:""},description:{type:String,required:!0},color:{type:String,default:null,validator:a=>Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(a)},channelSetting:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:""},hasCallButton:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:"300",validator:a=>n.LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(a)}},emits:["click","call"],data(){return{actionFocused:!1,labelWidth:"100%",i18n:new h.DialtoneLocalization}},computed:{leftbarGeneralRowClasses(){return["d-recipe-leftbar-row",{"d-recipe-leftbar-row--no-action":!this.hasCallButton,"d-recipe-leftbar-row--has-unread":this.hasUnreads,"d-recipe-leftbar-row__unread-count":this.showUnreadCount||this.showUnreadMentionCount,"d-recipe-leftbar-row--selected":this.selected,"d-recipe-leftbar-row--muted":this.muted,"d-recipe-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case n.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:if(this.hasUnreads)return"channel unread";break;case n.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:if(this.hasUnreads)return"locked channel unread";break}return this.type},getAriaLabel(){return this.ariaLabel?this.ariaLabel:p.safeConcatStrings([this.typingTooltip,this.description,this.unreadCountTooltip,this.dndTextTooltip,this.activeVoiceChatTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton||this.showUnreadMentionCount},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads},showUnreadMentionCount(){return!!this.unreadMentionCount&&this.hasUnreads},hasUnreadCount(){return this.unreadCount!==null},hasUnreadMentionCount(){return this.unreadMentionCount!==null},shouldApplyCustomStyleForCountBadge(){return this.hasUnreadCount&&this.hasUnreadMentionCount},shouldApplyCustomStyleForMentionOnly(){return this.channelSetting==="always"&&!this.hasUnreadCount&&this.hasUnreadMentionCount},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return p.safeConcatStrings([this.unreadCount&&this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t("DIALTONE_UNREAD_MENTION_COUNT_TEXT",{unreadCount:this.mentionCount})])},dndTextTooltip(){return this.dndText&&this.i18n.$t("DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP")},activeVoiceChatTooltip(){return this.activeVoiceChat&&this.i18n.$t("DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT")},callButtonTooltip(){return this.i18n.$t("DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP")},typingTooltip(){return this.isTyping&&this.i18n.$t("DIALTONE_TYPING_TEXT")}},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()},beforeDestroy:function(){this.resizeObserver.disconnect()},methods:{validateProps(){this.type===n.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER&&!Object.keys(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)&&console.error(n.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR)},adjustLabelWidth(){var i,o,s,l,d,u;const a=((o=(i=this.$el)==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:o.clientWidth)||0,t=((l=(s=this.$el)==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,e=((u=(d=this.$el)==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:u.clientWidth)||0,r=16;this.labelWidth=a-(t+e+r)+"px"}}};var y=function(){var t=this,e=t._self._c;return e("div",{class:t.leftbarGeneralRowClasses,attrs:{"data-qa":"dt-recipe-leftbar-row"}},[e("a",t._g(t._b({staticClass:"d-recipe-leftbar-row__primary",attrs:{"data-qa":"data-qa"in t.$attrs?t.$attrs["data-qa"]:"d-recipe-leftbar-row-link","aria-label":t.getAriaLabel,title:t.description,href:"href"in t.$attrs?t.$attrs.href:"javascript:void(0)"}},"a",t.$attrs,!1),t.$listeners),[e("div",{staticClass:"d-recipe-leftbar-row__alpha"},[t.isTyping?e("div",{directives:[{name:"dt-tooltip",rawName:"v-dt-tooltip",value:t.typingTooltip,expression:"typingTooltip"}],staticClass:"d-recipe-leftbar-row__is-typing"},[e("span"),e("span"),e("span")]):t._t("left",function(){return[e("dt-recipe-leftbar-general-row-icon",{attrs:{type:t.getIcon,color:t.color,"icon-size":t.iconSize,"data-qa":"dt-recipe-leftbar-row-icon"}})]})],2),e("div",{staticClass:"d-recipe-leftbar-row__label",style:`flex-basis: ${t.labelWidth}`},[t._t("label",function(){return[e("dt-emoji-text-wrapper",{staticClass:"d-recipe-leftbar-row__description",attrs:{"data-qa":"dt-recipe-leftbar-row-description",size:"200"}},[t._v(" "+t._s(t.description)+" ")])]})],2)]),t.hasActions?e("div",{staticClass:"d-recipe-leftbar-row__omega"},[t.dndText?e("dt-tooltip",{attrs:{placement:"top",message:t.dndTextTooltip},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("div",{ref:"d-recipe-leftbar-row-dnd",staticClass:"d-recipe-leftbar-row__dnd",attrs:{"data-qa":"dt-recipe-leftbar-row-dnd"}},[t._v(" "+t._s(t.dndText)+" ")])]},proxy:!0}],null,!1,3247296267)}):t._e(),t.activeVoiceChat?e("div",{directives:[{name:"dt-tooltip",rawName:"v-dt-tooltip",value:t.activeVoiceChatTooltip,expression:"activeVoiceChatTooltip"}],staticClass:"d-recipe-leftbar-row__active-voice"},[e("dt-icon-waveform",{attrs:{size:"300"}})],1):t.showUnreadCount||t.showUnreadMentionCount?e("dt-tooltip",{attrs:{message:t.unreadCountTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[t.showUnreadCount?e("dt-badge",{class:["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-count-badge":t.shouldApplyCustomStyleForCountBadge}],attrs:{kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-badge"}},[t._v(" "+t._s(t.unreadCount)+" ")]):t._e(),t.showUnreadMentionCount?e("dt-badge",{class:["d-recipe-leftbar-row__unread-badge",{"d-recipe-leftbar-row__unread-mention-count-badge":t.shouldApplyCustomStyleForCountBadge},{"d-recipe-leftbar-row__unread-mention-only-count-badge":t.shouldApplyCustomStyleForMentionOnly}],attrs:{kind:"count",type:"bulletin","data-qa":"dt-recipe-leftbar-row-unread-mention-badge"}},[t._v(" "+t._s(t.unreadMentionCount)+" ")]):t._e()]},proxy:!0}],null,!1,715135836)}):t._e(),t.hasCallButton?e("div",{staticClass:"d-recipe-leftbar-row__action",attrs:{"data-qa":"dt-recipe-leftbar-row-action"}},[e("dt-tooltip",{attrs:{message:t.callButtonTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("dt-button",{staticClass:"d-recipe-leftbar-row__action-button",attrs:{"data-qa":"dt-recipe-leftbar-row-action-call-button",circle:"",size:"xs",kind:"inverted","aria-label":t.callButtonTooltip},on:{focus:function(r){t.actionFocused=!0},blur:function(r){t.actionFocused=!1},click:function(r){return r.stopPropagation(),t.$emit("call",r)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("dt-icon-phone",{attrs:{size:"200"}})]},proxy:!0}],null,!1,2193255039)})]},proxy:!0}],null,!1,3837984112)})],1):t._e()],1):t._e()])},g=[],m=f.n(w,y,g);const R=m.exports;exports.default=R;
2
2
  //# sourceMappingURL=general-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-row.cjs","sources":["../../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-recipe-leftbar-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'd-recipe-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=\"$listeners\"\n >\n <div\n class=\"d-recipe-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n v-dt-tooltip=\"typingTooltip\"\n class=\"d-recipe-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-recipe-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"d-recipe-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=\"d-recipe-leftbar-row-dnd\"\n class=\"d-recipe-leftbar-row__dnd\"\n data-qa=\"dt-recipe-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n v-dt-tooltip=\"activeVoiceChatTooltip\"\n class=\"d-recipe-leftbar-row__active-voice\"\n >\n <dt-icon-waveform\n size=\"300\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount || showUnreadMentionCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n v-if=\"showUnreadCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge', {\n 'd-recipe-leftbar-row__unread-count-badge':\n shouldApplyCustomStyleForCountBadge,\n }]\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-badge\n v-if=\"showUnreadMentionCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-mention-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge',\n { 'd-recipe-leftbar-row__unread-mention-count-badge': shouldApplyCustomStyleForCountBadge },\n { 'd-recipe-leftbar-row__unread-mention-only-count-badge': shouldApplyCustomStyleForMentionOnly },\n ]\"\n >\n {{ unreadMentionCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"d-recipe-leftbar-row__action-button\"\n data-qa=\"dt-recipe-leftbar-row-action-call-button\"\n circle\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-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 { DtIconPhone, DtIconWaveform } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtButton,\n DtTooltip,\n DtIconPhone,\n DtIconWaveform,\n DtRecipeLeftbarGeneralRowIcon,\n },\n\n mixins: [DtLocalizationMixin],\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 * The channel setting, either 'mention' or 'always'.\n * @values 'mention', 'always', null.\n */\n channelSetting: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\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 * 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 * 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 * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n {\n 'd-recipe-leftbar-row--no-action': !this.hasCallButton,\n 'd-recipe-leftbar-row--has-unread': this.hasUnreads,\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount || this.showUnreadMentionCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n 'd-recipe-leftbar-row--muted': this.muted,\n 'd-recipe-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 getAriaLabel () {\n if (this.ariaLabel) return this.ariaLabel;\n\n return safeConcatStrings([\n this.typingTooltip,\n this.description,\n this.unreadCountTooltip,\n this.dndTextTooltip,\n this.activeVoiceChatTooltip,\n ]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton ||\n this.showUnreadMentionCount;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n\n showUnreadMentionCount () {\n return !!this.unreadMentionCount && this.hasUnreads;\n },\n\n hasUnreadCount () {\n return this.unreadCount !== null;\n },\n\n hasUnreadMentionCount () {\n return this.unreadMentionCount !== null;\n },\n\n shouldApplyCustomStyleForCountBadge () {\n return this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n /**\n * When a channel in 'always' setting, meaning the user should see both unread count and unread mention count,\n * if there are only mention messages, we should apply the theme design tokens var(--dt-theme-mention-color-[background||foreground]-strong).\n * @returns {boolean}\n */\n shouldApplyCustomStyleForMentionOnly () {\n return this.channelSetting === 'always' && !this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n dndTextTooltip () {\n return this.dndText && this.i18n.$t('DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP');\n },\n\n activeVoiceChatTooltip () {\n return this.activeVoiceChat && this.i18n.$t('DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT');\n },\n\n callButtonTooltip () {\n return this.i18n.$t('DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP');\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\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 beforeDestroy: 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('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtIconPhone","DtIconWaveform","DtRecipeLeftbarGeneralRowIcon","DtLocalizationMixin","type","LEFTBAR_GENERAL_ROW_TYPES","color","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","size","LEFTBAR_GENERAL_ROW_ICON_SIZES","safeConcatStrings","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings"],"mappings":"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"}
1
+ {"version":3,"file":"general-row.cjs","sources":["../../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-recipe-leftbar-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'd-recipe-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=\"$listeners\"\n >\n <div\n class=\"d-recipe-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n v-dt-tooltip=\"typingTooltip\"\n class=\"d-recipe-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-recipe-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"d-recipe-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=\"d-recipe-leftbar-row-dnd\"\n class=\"d-recipe-leftbar-row__dnd\"\n data-qa=\"dt-recipe-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n v-dt-tooltip=\"activeVoiceChatTooltip\"\n class=\"d-recipe-leftbar-row__active-voice\"\n >\n <dt-icon-waveform\n size=\"300\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount || showUnreadMentionCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n v-if=\"showUnreadCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge', {\n 'd-recipe-leftbar-row__unread-count-badge':\n shouldApplyCustomStyleForCountBadge,\n }]\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-badge\n v-if=\"showUnreadMentionCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-mention-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge',\n { 'd-recipe-leftbar-row__unread-mention-count-badge': shouldApplyCustomStyleForCountBadge },\n { 'd-recipe-leftbar-row__unread-mention-only-count-badge': shouldApplyCustomStyleForMentionOnly },\n ]\"\n >\n {{ unreadMentionCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"d-recipe-leftbar-row__action-button\"\n data-qa=\"dt-recipe-leftbar-row-action-call-button\"\n circle\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-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 { DtIconPhone, DtIconWaveform } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtButton,\n DtTooltip,\n DtIconPhone,\n DtIconWaveform,\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 * The channel setting, either 'mention' or 'always'.\n * @values 'mention', 'always', null.\n */\n channelSetting: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\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 * 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 * 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 * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n {\n 'd-recipe-leftbar-row--no-action': !this.hasCallButton,\n 'd-recipe-leftbar-row--has-unread': this.hasUnreads,\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount || this.showUnreadMentionCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n 'd-recipe-leftbar-row--muted': this.muted,\n 'd-recipe-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 getAriaLabel () {\n if (this.ariaLabel) return this.ariaLabel;\n\n return safeConcatStrings([\n this.typingTooltip,\n this.description,\n this.unreadCountTooltip,\n this.dndTextTooltip,\n this.activeVoiceChatTooltip,\n ]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton ||\n this.showUnreadMentionCount;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n\n showUnreadMentionCount () {\n return !!this.unreadMentionCount && this.hasUnreads;\n },\n\n hasUnreadCount () {\n return this.unreadCount !== null;\n },\n\n hasUnreadMentionCount () {\n return this.unreadMentionCount !== null;\n },\n\n shouldApplyCustomStyleForCountBadge () {\n return this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n /**\n * When a channel in 'always' setting, meaning the user should see both unread count and unread mention count,\n * if there are only mention messages, we should apply the theme design tokens var(--dt-theme-mention-color-[background||foreground]-strong).\n * @returns {boolean}\n */\n shouldApplyCustomStyleForMentionOnly () {\n return this.channelSetting === 'always' && !this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n dndTextTooltip () {\n return this.dndText && this.i18n.$t('DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP');\n },\n\n activeVoiceChatTooltip () {\n return this.activeVoiceChat && this.i18n.$t('DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT');\n },\n\n callButtonTooltip () {\n return this.i18n.$t('DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP');\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\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 beforeDestroy: 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('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtIconPhone","DtIconWaveform","DtRecipeLeftbarGeneralRowIcon","type","LEFTBAR_GENERAL_ROW_TYPES","color","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","size","LEFTBAR_GENERAL_ROW_ICON_SIZES","DialtoneLocalization","safeConcatStrings","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings"],"mappings":"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"}
@@ -2,24 +2,23 @@ import { LEFTBAR_GENERAL_ROW_TYPES as n, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLO
2
2
  import { DtIconPhone as f, DtIconWaveform as C } from "@dialpad/dialtone-icons/vue2";
3
3
  import b from "./leftbar-general-row-icon.js";
4
4
  import { safeConcatStrings as p } from "../../common/utils/index.js";
5
- import { n as T } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
6
- import m from "../emoji-text-wrapper/emoji-text-wrapper.js";
7
- import y from "../badge/badge.js";
8
- import w from "../button/button.js";
9
- import v from "../tooltip/tooltip.js";
10
- import g from "../../common/mixins/localization.js";
5
+ import { DialtoneLocalization as T } from "../../localization/index.js";
6
+ import { n as m } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
7
+ import y from "../emoji-text-wrapper/emoji-text-wrapper.js";
8
+ import w from "../badge/badge.js";
9
+ import v from "../button/button.js";
10
+ import g from "../tooltip/tooltip.js";
11
11
  const E = {
12
12
  name: "DtRecipeGeneralRow",
13
13
  components: {
14
- DtEmojiTextWrapper: m,
15
- DtBadge: y,
16
- DtButton: w,
17
- DtTooltip: v,
14
+ DtEmojiTextWrapper: y,
15
+ DtBadge: w,
16
+ DtButton: v,
17
+ DtTooltip: g,
18
18
  DtIconPhone: f,
19
19
  DtIconWaveform: C,
20
20
  DtRecipeLeftbarGeneralRowIcon: b
21
21
  },
22
- mixins: [g],
23
22
  inheritAttrs: !1,
24
23
  props: {
25
24
  /**
@@ -155,7 +154,8 @@ const E = {
155
154
  data() {
156
155
  return {
157
156
  actionFocused: !1,
158
- labelWidth: "100%"
157
+ labelWidth: "100%",
158
+ i18n: new T()
159
159
  };
160
160
  },
161
161
  computed: {
@@ -263,8 +263,8 @@ const E = {
263
263
  this.type === n.CONTACT_CENTER && !Object.keys(c).includes(this.color) && console.error(_);
264
264
  },
265
265
  adjustLabelWidth() {
266
- var i, o, s, l, d, u;
267
- const a = ((o = (i = this.$el) == null ? void 0 : i.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : o.clientWidth) || 0, t = ((l = (s = this.$el) == null ? void 0 : s.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : l.clientWidth) || 0, e = ((u = (d = this.$el) == null ? void 0 : d.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : u.clientWidth) || 0, r = 16;
266
+ var o, i, s, l, d, u;
267
+ const a = ((i = (o = this.$el) == null ? void 0 : o.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : i.clientWidth) || 0, t = ((l = (s = this.$el) == null ? void 0 : s.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : l.clientWidth) || 0, e = ((u = (d = this.$el) == null ? void 0 : d.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : u.clientWidth) || 0, r = 16;
268
268
  this.labelWidth = a - (t + e + r) + "px";
269
269
  }
270
270
  }
@@ -296,13 +296,13 @@ var N = function() {
296
296
  return [e("dt-icon-phone", { attrs: { size: "200" } })];
297
297
  }, proxy: !0 }], null, !1, 2193255039) })];
298
298
  }, proxy: !0 }], null, !1, 3837984112) })], 1) : t._e()], 1) : t._e()]);
299
- }, A = [], O = /* @__PURE__ */ T(
299
+ }, A = [], O = /* @__PURE__ */ m(
300
300
  E,
301
301
  N,
302
302
  A
303
303
  );
304
- const $ = O.exports;
304
+ const M = O.exports;
305
305
  export {
306
- $ as default
306
+ M as default
307
307
  };
308
308
  //# sourceMappingURL=general-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-row.js","sources":["../../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-recipe-leftbar-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'd-recipe-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=\"$listeners\"\n >\n <div\n class=\"d-recipe-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n v-dt-tooltip=\"typingTooltip\"\n class=\"d-recipe-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-recipe-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"d-recipe-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=\"d-recipe-leftbar-row-dnd\"\n class=\"d-recipe-leftbar-row__dnd\"\n data-qa=\"dt-recipe-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n v-dt-tooltip=\"activeVoiceChatTooltip\"\n class=\"d-recipe-leftbar-row__active-voice\"\n >\n <dt-icon-waveform\n size=\"300\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount || showUnreadMentionCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n v-if=\"showUnreadCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge', {\n 'd-recipe-leftbar-row__unread-count-badge':\n shouldApplyCustomStyleForCountBadge,\n }]\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-badge\n v-if=\"showUnreadMentionCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-mention-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge',\n { 'd-recipe-leftbar-row__unread-mention-count-badge': shouldApplyCustomStyleForCountBadge },\n { 'd-recipe-leftbar-row__unread-mention-only-count-badge': shouldApplyCustomStyleForMentionOnly },\n ]\"\n >\n {{ unreadMentionCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"d-recipe-leftbar-row__action-button\"\n data-qa=\"dt-recipe-leftbar-row-action-call-button\"\n circle\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-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 { DtIconPhone, DtIconWaveform } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtButton,\n DtTooltip,\n DtIconPhone,\n DtIconWaveform,\n DtRecipeLeftbarGeneralRowIcon,\n },\n\n mixins: [DtLocalizationMixin],\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 * The channel setting, either 'mention' or 'always'.\n * @values 'mention', 'always', null.\n */\n channelSetting: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\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 * 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 * 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 * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n {\n 'd-recipe-leftbar-row--no-action': !this.hasCallButton,\n 'd-recipe-leftbar-row--has-unread': this.hasUnreads,\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount || this.showUnreadMentionCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n 'd-recipe-leftbar-row--muted': this.muted,\n 'd-recipe-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 getAriaLabel () {\n if (this.ariaLabel) return this.ariaLabel;\n\n return safeConcatStrings([\n this.typingTooltip,\n this.description,\n this.unreadCountTooltip,\n this.dndTextTooltip,\n this.activeVoiceChatTooltip,\n ]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton ||\n this.showUnreadMentionCount;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n\n showUnreadMentionCount () {\n return !!this.unreadMentionCount && this.hasUnreads;\n },\n\n hasUnreadCount () {\n return this.unreadCount !== null;\n },\n\n hasUnreadMentionCount () {\n return this.unreadMentionCount !== null;\n },\n\n shouldApplyCustomStyleForCountBadge () {\n return this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n /**\n * When a channel in 'always' setting, meaning the user should see both unread count and unread mention count,\n * if there are only mention messages, we should apply the theme design tokens var(--dt-theme-mention-color-[background||foreground]-strong).\n * @returns {boolean}\n */\n shouldApplyCustomStyleForMentionOnly () {\n return this.channelSetting === 'always' && !this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n dndTextTooltip () {\n return this.dndText && this.i18n.$t('DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP');\n },\n\n activeVoiceChatTooltip () {\n return this.activeVoiceChat && this.i18n.$t('DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT');\n },\n\n callButtonTooltip () {\n return this.i18n.$t('DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP');\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\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 beforeDestroy: 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('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtIconPhone","DtIconWaveform","DtRecipeLeftbarGeneralRowIcon","DtLocalizationMixin","type","LEFTBAR_GENERAL_ROW_TYPES","color","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","size","LEFTBAR_GENERAL_ROW_ICON_SIZES","safeConcatStrings","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings"],"mappings":"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"}
1
+ {"version":3,"file":"general-row.js","sources":["../../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-recipe-leftbar-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'd-recipe-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=\"$listeners\"\n >\n <div\n class=\"d-recipe-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n v-dt-tooltip=\"typingTooltip\"\n class=\"d-recipe-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-recipe-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"d-recipe-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=\"d-recipe-leftbar-row-dnd\"\n class=\"d-recipe-leftbar-row__dnd\"\n data-qa=\"dt-recipe-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n v-dt-tooltip=\"activeVoiceChatTooltip\"\n class=\"d-recipe-leftbar-row__active-voice\"\n >\n <dt-icon-waveform\n size=\"300\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount || showUnreadMentionCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n v-if=\"showUnreadCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge', {\n 'd-recipe-leftbar-row__unread-count-badge':\n shouldApplyCustomStyleForCountBadge,\n }]\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-badge\n v-if=\"showUnreadMentionCount\"\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-recipe-leftbar-row-unread-mention-badge\"\n :class=\"['d-recipe-leftbar-row__unread-badge',\n { 'd-recipe-leftbar-row__unread-mention-count-badge': shouldApplyCustomStyleForCountBadge },\n { 'd-recipe-leftbar-row__unread-mention-only-count-badge': shouldApplyCustomStyleForMentionOnly },\n ]\"\n >\n {{ unreadMentionCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"d-recipe-leftbar-row__action-button\"\n data-qa=\"dt-recipe-leftbar-row-action-call-button\"\n circle\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-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 { DtIconPhone, DtIconWaveform } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtButton,\n DtTooltip,\n DtIconPhone,\n DtIconWaveform,\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 * The channel setting, either 'mention' or 'always'.\n * @values 'mention', 'always', null.\n */\n channelSetting: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\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 * 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 * 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 * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n {\n 'd-recipe-leftbar-row--no-action': !this.hasCallButton,\n 'd-recipe-leftbar-row--has-unread': this.hasUnreads,\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount || this.showUnreadMentionCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n 'd-recipe-leftbar-row--muted': this.muted,\n 'd-recipe-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 getAriaLabel () {\n if (this.ariaLabel) return this.ariaLabel;\n\n return safeConcatStrings([\n this.typingTooltip,\n this.description,\n this.unreadCountTooltip,\n this.dndTextTooltip,\n this.activeVoiceChatTooltip,\n ]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton ||\n this.showUnreadMentionCount;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n\n showUnreadMentionCount () {\n return !!this.unreadMentionCount && this.hasUnreads;\n },\n\n hasUnreadCount () {\n return this.unreadCount !== null;\n },\n\n hasUnreadMentionCount () {\n return this.unreadMentionCount !== null;\n },\n\n shouldApplyCustomStyleForCountBadge () {\n return this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n /**\n * When a channel in 'always' setting, meaning the user should see both unread count and unread mention count,\n * if there are only mention messages, we should apply the theme design tokens var(--dt-theme-mention-color-[background||foreground]-strong).\n * @returns {boolean}\n */\n shouldApplyCustomStyleForMentionOnly () {\n return this.channelSetting === 'always' && !this.hasUnreadCount && this.hasUnreadMentionCount;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n dndTextTooltip () {\n return this.dndText && this.i18n.$t('DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP');\n },\n\n activeVoiceChatTooltip () {\n return this.activeVoiceChat && this.i18n.$t('DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT');\n },\n\n callButtonTooltip () {\n return this.i18n.$t('DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP');\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\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 beforeDestroy: 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('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtIconPhone","DtIconWaveform","DtRecipeLeftbarGeneralRowIcon","type","LEFTBAR_GENERAL_ROW_TYPES","color","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","size","LEFTBAR_GENERAL_ROW_ICON_SIZES","DialtoneLocalization","safeConcatStrings","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings"],"mappings":";;;;;;;;;;AAkKA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,+BAAAC;AAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MACA,OAAA,OAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAE,MACA,OAAA,KAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAE,MACAC,EAAA,SAAAD,CAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,YAAA;AAAA,MACA,MAAA,IAAAE,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,2BAAA;AACA,aAAA;AAAA,QACA;AAAA,QACA;AAAA,UACA,mCAAA,CAAA,KAAA;AAAA,UACA,oCAAA,KAAA;AAAA,UACA,sCAAA,KAAA,mBAAA,KAAA;AAAA,UACA,kCAAA,KAAA;AAAA,UACA,+BAAA,KAAA;AAAA,UACA,wCAAA,KAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,UAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAAL,EAAA;AACA,cAAA,KAAA,WAAA,QAAA;AACA;AAAA,QACA,KAAAA,EAAA;AACA,cAAA,KAAA,WAAA,QAAA;AACA;AAAA,MACA;AACA,aAAA,KAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,KAAA,YAAA,KAAA,YAEAM,EAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,WAAA,KAAA,mBAAA,KAAA,mBAAA,KAAA,iBACA,KAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AACA,aAAA,CAAA,CAAA,KAAA,eAAA,KAAA;AAAA,IACA;AAAA,IAEA,yBAAA;AACA,aAAA,CAAA,CAAA,KAAA,sBAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,gBAAA;AAAA,IACA;AAAA,IAEA,wBAAA;AACA,aAAA,KAAA,uBAAA;AAAA,IACA;AAAA,IAEA,sCAAA;AACA,aAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,uCAAA;AACA,aAAA,KAAA,mBAAA,YAAA,CAAA,KAAA,kBAAA,KAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,WAAA,IACA,KAAA,cACA,OAAA,KAAA,WAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,kBAAA,IACA,KAAA,qBACA,OAAA,KAAA,kBAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAAA,EAAA;AAAA,QACA,KAAA,eAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,QACA,KAAA,sBAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,WAAA,KAAA,KAAA,GAAA,uCAAA;AAAA,IACA;AAAA,IAEA,yBAAA;AACA,aAAA,KAAA,mBAAA,KAAA,KAAA,GAAA,6CAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,KAAA,KAAA,GAAA,0CAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,YAAA,KAAA,KAAA,GAAA,sBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA,UAAA;AACA,aAAA,cAAA,GACA,MAAA,KAAA,aACA,KAAA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,SAAA,iBAAA,IAAA,eAAA,KAAA,gBAAA,GACA,KAAA,eAAA,QAAA,KAAA,GAAA,GACA,KAAA,iBAAA;AAAA,EACA;AAAA,EAEA,eAAA,WAAA;AACA,SAAA,eAAA;EACA;AAAA,EAEA,SAAA;AAAA,IACA,gBAAA;AACA,MAAA,KAAA,SAAAN,EAAA,kBACA,CAAA,OAAA,KAAAE,CAAA,EAAA,SAAA,KAAA,KAAA,KACA,QAAA,MAAAK,CAAA;AAAA,IAEA;AAAA,IAEA,mBAAA;;AACA,YAAAC,MAAAC,KAAAC,IAAA,KAAA,QAAA,gBAAAA,EAAA,cAAA,sCAAA,gBAAAD,EAAA,gBAAA,GACAE,MAAAC,KAAAC,IAAA,KAAA,QAAA,gBAAAA,EAAA,cAAA,oCAAA,gBAAAD,EAAA,gBAAA,GACAE,MAAAC,KAAAC,IAAA,KAAA,QAAA,gBAAAA,EAAA,cAAA,oCAAA,gBAAAD,EAAA,gBAAA,GACAE,IAAA;AACA,WAAA,aAAAT,KAAAG,IAAAG,IAAAG,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@dialpad/dialtone-icons/vue2"),n=require("../../common/utils/index.cjs"),i=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),o=require("../general-row/general-row.cjs"),s=require("../../common/mixins/localization.cjs"),u={name:"DtRecipeGroupRow",components:{DtIconUsers:r.DtIconUsers,DtRecipeGeneralRow:o.default},mixins:[s.default],inheritAttrs:!1,props:{names:{type:String,required:!0},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1}},emits:["click"],computed:{groupCount(){return this.names.split(",").length},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return n.safeConcatStrings([this.unreadCount&&this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t("DIALTONE_UNREAD_MENTION_COUNT_TEXT",{unreadCount:this.mentionCount})])},typingTooltip(){return this.isTyping&&this.i18n.$t("DIALTONE_TYPING_TEXT")},ariaLabel(){return n.safeConcatStrings([this.typingTooltip,this.i18n.$t("DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT",{count:this.groupCount}),this.names,this.unreadCountTooltip])}}};var a=function(){var e=this,t=e._self._c;return t("dt-recipe-general-row",e._g(e._b({attrs:{description:e.names,"aria-label":e.ariaLabel,"unread-count":e.unreadCount,"has-unreads":e.hasUnreads,"unread-mention-count":e.unreadMentionCount,selected:e.selected,"is-typing":e.isTyping},scopedSlots:e._u([{key:"left",fn:function(){return[t("dt-icon-users",{attrs:{size:"300"}})]},proxy:!0}])},"dt-recipe-general-row",e.$attrs,!1),e.$listeners))},l=[],d=i.n(u,a,l);const _=d.exports;exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@dialpad/dialtone-icons/vue2"),n=require("../../common/utils/index.cjs"),i=require("../../localization/index.cjs"),o=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),s=require("../general-row/general-row.cjs"),u={name:"DtRecipeGroupRow",components:{DtIconUsers:r.DtIconUsers,DtRecipeGeneralRow:s.default},inheritAttrs:!1,props:{names:{type:String,required:!0},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1}},emits:["click"],data(){return{i18n:new i.DialtoneLocalization}},computed:{groupCount(){return this.names.split(",").length},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return n.safeConcatStrings([this.unreadCount&&this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t("DIALTONE_UNREAD_MENTION_COUNT_TEXT",{unreadCount:this.mentionCount})])},typingTooltip(){return this.isTyping&&this.i18n.$t("DIALTONE_TYPING_TEXT")},ariaLabel(){return n.safeConcatStrings([this.typingTooltip,this.i18n.$t("DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT",{count:this.groupCount}),this.names,this.unreadCountTooltip])}}};var a=function(){var e=this,t=e._self._c;return t("dt-recipe-general-row",e._g(e._b({attrs:{description:e.names,"aria-label":e.ariaLabel,"unread-count":e.unreadCount,"has-unreads":e.hasUnreads,"unread-mention-count":e.unreadMentionCount,selected:e.selected,"is-typing":e.isTyping},scopedSlots:e._u([{key:"left",fn:function(){return[t("dt-icon-users",{attrs:{size:"300"}})]},proxy:!0}])},"dt-recipe-general-row",e.$attrs,!1),e.$listeners))},l=[],d=o.n(u,a,l);const c=d.exports;exports.default=c;
2
2
  //# sourceMappingURL=group-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-row.cjs","sources":["../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue2';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n mixins: [DtLocalizationMixin],\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n groupCount () {\n return this.names.split(',').length;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\n },\n\n ariaLabel () {\n return safeConcatStrings([\n this.typingTooltip,\n this.i18n.$t('DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT', { count: this.groupCount }),\n this.names,\n this.unreadCountTooltip,\n ]);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconUsers","DtRecipeGeneralRow","DtLocalizationMixin","safeConcatStrings"],"mappings":"4VA0BAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,YAAAC,EAAA,YACA,mBAAAC,EAAA,OACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,aAAA,GAEA,MAAA,CAKA,MAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,IACA,EAKA,mBAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,SAAA,CACA,YAAA,CACA,OAAA,KAAA,MAAA,MAAA,GAAA,EAAA,MACA,EAEA,cAAA,CACA,OAAA,MAAA,KAAA,WAAA,EACA,KAAA,YACA,OAAA,KAAA,WAAA,CACA,EAEA,cAAA,CACA,OAAA,MAAA,KAAA,kBAAA,EACA,KAAA,mBACA,OAAA,KAAA,kBAAA,CACA,EAEA,oBAAA,CACA,OAAAC,oBAAA,CACA,KAAA,aAAA,KAAA,KAAA,GAAA,qCAAA,CAAA,YAAA,KAAA,aAAA,EACA,KAAA,oBAAA,KAAA,KAAA,GAAA,qCAAA,CAAA,YAAA,KAAA,aAAA,CACA,CAAA,CACA,EAEA,eAAA,CACA,OAAA,KAAA,UAAA,KAAA,KAAA,GAAA,sBAAA,CACA,EAEA,WAAA,CACA,OAAAA,oBAAA,CACA,KAAA,cACA,KAAA,KAAA,GAAA,sCAAA,CAAA,MAAA,KAAA,WAAA,EACA,KAAA,MACA,KAAA,kBACA,CAAA,CACA,CACA,CACA"}
1
+ {"version":3,"file":"group-row.cjs","sources":["../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue2';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n groupCount () {\n return this.names.split(',').length;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\n },\n\n ariaLabel () {\n return safeConcatStrings([\n this.typingTooltip,\n this.i18n.$t('DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT', { count: this.groupCount }),\n this.names,\n this.unreadCountTooltip,\n ]);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconUsers","DtRecipeGeneralRow","DialtoneLocalization","safeConcatStrings"],"mappings":"oVA0BAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,YAAAC,EAAA,YACA,mBAAAC,EAAA,OACA,EAEA,aAAA,GAEA,MAAA,CAKA,MAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,IACA,EAKA,mBAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,MAAA,CACA,MAAA,CACA,KAAA,IAAAC,EAAAA,oBACA,CACA,EAEA,SAAA,CACA,YAAA,CACA,OAAA,KAAA,MAAA,MAAA,GAAA,EAAA,MACA,EAEA,cAAA,CACA,OAAA,MAAA,KAAA,WAAA,EACA,KAAA,YACA,OAAA,KAAA,WAAA,CACA,EAEA,cAAA,CACA,OAAA,MAAA,KAAA,kBAAA,EACA,KAAA,mBACA,OAAA,KAAA,kBAAA,CACA,EAEA,oBAAA,CACA,OAAAC,oBAAA,CACA,KAAA,aAAA,KAAA,KAAA,GAAA,qCAAA,CAAA,YAAA,KAAA,aAAA,EACA,KAAA,oBAAA,KAAA,KAAA,GAAA,qCAAA,CAAA,YAAA,KAAA,aAAA,CACA,CAAA,CACA,EAEA,eAAA,CACA,OAAA,KAAA,UAAA,KAAA,KAAA,GAAA,sBAAA,CACA,EAEA,WAAA,CACA,OAAAA,oBAAA,CACA,KAAA,cACA,KAAA,KAAA,GAAA,sCAAA,CAAA,MAAA,KAAA,WAAA,EACA,KAAA,MACA,KAAA,kBACA,CAAA,CACA,CACA,CACA"}
@@ -1,15 +1,14 @@
1
1
  import { DtIconUsers as r } from "@dialpad/dialtone-icons/vue2";
2
2
  import { safeConcatStrings as e } from "../../common/utils/index.js";
3
- import { n as o } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
- import i from "../general-row/general-row.js";
5
- import s from "../../common/mixins/localization.js";
3
+ import { DialtoneLocalization as o } from "../../localization/index.js";
4
+ import { n as i } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
5
+ import s from "../general-row/general-row.js";
6
6
  const a = {
7
7
  name: "DtRecipeGroupRow",
8
8
  components: {
9
9
  DtIconUsers: r,
10
- DtRecipeGeneralRow: i
10
+ DtRecipeGeneralRow: s
11
11
  },
12
- mixins: [s],
13
12
  inheritAttrs: !1,
14
13
  props: {
15
14
  /**
@@ -65,6 +64,11 @@ const a = {
65
64
  */
66
65
  "click"
67
66
  ],
67
+ data() {
68
+ return {
69
+ i18n: new o()
70
+ };
71
+ },
68
72
  computed: {
69
73
  groupCount() {
70
74
  return this.names.split(",").length;
@@ -99,12 +103,12 @@ var u = function() {
99
103
  return n("dt-recipe-general-row", t._g(t._b({ attrs: { description: t.names, "aria-label": t.ariaLabel, "unread-count": t.unreadCount, "has-unreads": t.hasUnreads, "unread-mention-count": t.unreadMentionCount, selected: t.selected, "is-typing": t.isTyping }, scopedSlots: t._u([{ key: "left", fn: function() {
100
104
  return [n("dt-icon-users", { attrs: { size: "300" } })];
101
105
  }, proxy: !0 }]) }, "dt-recipe-general-row", t.$attrs, !1), t.$listeners));
102
- }, l = [], p = /* @__PURE__ */ o(
106
+ }, l = [], d = /* @__PURE__ */ i(
103
107
  a,
104
108
  u,
105
109
  l
106
110
  );
107
- const f = p.exports;
111
+ const f = d.exports;
108
112
  export {
109
113
  f as default
110
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"group-row.js","sources":["../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue2';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n mixins: [DtLocalizationMixin],\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n groupCount () {\n return this.names.split(',').length;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\n },\n\n ariaLabel () {\n return safeConcatStrings([\n this.typingTooltip,\n this.i18n.$t('DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT', { count: this.groupCount }),\n this.names,\n this.unreadCountTooltip,\n ]);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconUsers","DtRecipeGeneralRow","DtLocalizationMixin","safeConcatStrings"],"mappings":";;;;;AA0BA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA,EACA;AAAA,EAEA,QAAA,CAAAC,CAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,aAAA;AACA,aAAA,KAAA,MAAA,MAAA,GAAA,EAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,WAAA,IACA,KAAA,cACA,OAAA,KAAA,WAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,kBAAA,IACA,KAAA,qBACA,OAAA,KAAA,kBAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAAC,EAAA;AAAA,QACA,KAAA,eAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,QACA,KAAA,sBAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,YAAA,KAAA,KAAA,GAAA,sBAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAA,EAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA,KAAA,GAAA,uCAAA,EAAA,OAAA,KAAA,YAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"group-row.js","sources":["../../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-mention-count=\"unreadMentionCount\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-icon-users\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport { DtIconUsers } from '@dialpad/dialtone-icons/vue2';\nimport { safeConcatStrings } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIconUsers,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Number of unread mention messages\n */\n unreadMentionCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n groupCount () {\n return this.names.split(',').length;\n },\n\n messageCount () {\n return isNaN(this.unreadCount)\n ? this.unreadCount\n : Number(this.unreadCount);\n },\n\n mentionCount () {\n return isNaN(this.unreadMentionCount)\n ? this.unreadMentionCount\n : Number(this.unreadMentionCount);\n },\n\n unreadCountTooltip () {\n return safeConcatStrings([\n this.unreadCount && this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: this.messageCount }),\n this.unreadMentionCount && this.i18n.$t('DIALTONE_UNREAD_MENTION_COUNT_TEXT', { unreadCount: this.mentionCount }),\n ]);\n },\n\n typingTooltip () {\n return this.isTyping && this.i18n.$t('DIALTONE_TYPING_TEXT');\n },\n\n ariaLabel () {\n return safeConcatStrings([\n this.typingTooltip,\n this.i18n.$t('DIALTONE_GROUP_ROW_GROUP_COUNT_TEXT', { count: this.groupCount }),\n this.names,\n this.unreadCountTooltip,\n ]);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconUsers","DtRecipeGeneralRow","DialtoneLocalization","safeConcatStrings"],"mappings":";;;;;AA0BA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA,EACA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA,IAAAC,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,aAAA;AACA,aAAA,KAAA,MAAA,MAAA,GAAA,EAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,WAAA,IACA,KAAA,cACA,OAAA,KAAA,WAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,MAAA,KAAA,kBAAA,IACA,KAAA,qBACA,OAAA,KAAA,kBAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAAC,EAAA;AAAA,QACA,KAAA,eAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,QACA,KAAA,sBAAA,KAAA,KAAA,GAAA,sCAAA,EAAA,aAAA,KAAA,cAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,YAAA,KAAA,KAAA,GAAA,sBAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAA,EAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA,KAAA,GAAA,uCAAA,EAAA,OAAA,KAAA,YAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("@dialpad/dialtone-icons/vue2"),n=require("./icon-constants.cjs"),a=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),o={name:"DtIcon",props:{size:{type:String,default:"500",validator:t=>Object.keys(n.ICON_SIZE_MODIFIERS).includes(t)},name:{type:String,required:!0,validator:t=>n.ICON_NAMES.includes(t)},ariaLabel:{type:String,default:void 0}},computed:{icon(){return i.icons[`./src/icons/${this.name}.vue`]},iconAriaLabel(){return this.ariaLabel}}};var c=function(){var e=this,r=e._self._c;return e.icon?r(e.icon,{tag:"component",attrs:{size:e.size,"aria-label":e.iconAriaLabel,"data-qa":e.$attrs["data-qa"]??"dt-icon"}}):e._e()},s=[],u=a.n(o,c,s);const _=u.exports;exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("@dialpad/dialtone-icons/vue2"),n=require("./icon-constants.cjs"),i=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),o={name:"DtIcon",props:{size:{type:String,default:"500",validator:t=>Object.keys(n.ICON_SIZE_MODIFIERS).includes(t)},name:{type:String,required:!0,validator:t=>n.ICON_NAMES.includes(t)},ariaLabel:{type:String,default:void 0}},data(){return{}},computed:{icon(){return a.icons[`./src/icons/${this.name}.vue`]},iconAriaLabel(){return this.ariaLabel}}};var c=function(){var e=this,r=e._self._c;return e.icon?r(e.icon,{tag:"component",attrs:{size:e.size,"aria-label":e.iconAriaLabel,"data-qa":e.$attrs["data-qa"]??"dt-icon"}}):e._e()},s=[],u=i.n(o,c,s);const _=u.exports;exports.default=_;
2
2
  //# sourceMappingURL=icon.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.cjs","sources":["../../../components/icon/icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './icon_constants';\n// import { DtLocalizationMixin } from '@/common/mixins';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n // mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screenreader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n\n iconAriaLabel () {\n // const fluentKey = toFluentKeyString(this.name);\n // return this.ariaLabel || this.i18n.$t(`DIALTONE_ICON_${fluentKey}`);\n return this.ariaLabel;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","name","ICON_NAMES","icons"],"mappings":"sPAoBAA,EAAA,CACA,KAAA,SAIA,MAAA,CAKA,KAAA,CACA,KAAA,OACA,QAAA,MACA,UAAAC,GAAA,OAAA,KAAAC,qBAAA,EAAA,SAAAD,CAAA,CACA,EAKA,KAAA,CACA,KAAA,OACA,SAAA,GACA,UAAAE,GAAAC,aAAA,SAAAD,CAAA,CACA,EAKA,UAAA,CACA,KAAA,OACA,QAAA,MACA,CACA,EAEA,SAAA,CACA,MAAA,CACA,OAAAE,EAAAA,MAAA,eAAA,KAAA,IAAA,MAAA,CACA,EAEA,eAAA,CAGA,OAAA,KAAA,SACA,CACA,CACA"}
1
+ {"version":3,"file":"icon.cjs","sources":["../../../components/icon/icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './icon_constants';\n// import { DialtoneLocalization } from '@/localization';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screen-reader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n data () {\n return {\n // i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n\n iconAriaLabel () {\n // const fluentKey = toFluentKeyString(this.name);\n // return this.ariaLabel || this.i18n.$t(`DIALTONE_ICON_${fluentKey}`);\n return this.ariaLabel;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","name","ICON_NAMES","icons"],"mappings":"sPAoBAA,EAAA,CACA,KAAA,SAEA,MAAA,CAKA,KAAA,CACA,KAAA,OACA,QAAA,MACA,UAAAC,GAAA,OAAA,KAAAC,qBAAA,EAAA,SAAAD,CAAA,CACA,EAKA,KAAA,CACA,KAAA,OACA,SAAA,GACA,UAAAE,GAAAC,aAAA,SAAAD,CAAA,CACA,EAKA,UAAA,CACA,KAAA,OACA,QAAA,MACA,CACA,EAEA,MAAA,CACA,MAAA,CAEA,CACA,EAEA,SAAA,CACA,MAAA,CACA,OAAAE,EAAAA,MAAA,eAAA,KAAA,IAAA,MAAA,CACA,EAEA,eAAA,CAGA,OAAA,KAAA,SACA,CACA,CACA"}
@@ -3,7 +3,6 @@ import { ICON_SIZE_MODIFIERS as n, ICON_NAMES as i } from "./icon-constants.js";
3
3
  import { n as o } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
4
  const c = {
5
5
  name: "DtIcon",
6
- // mixins: [DtLocalizationMixin],
7
6
  props: {
8
7
  /**
9
8
  * The size of the icon.
@@ -23,13 +22,18 @@ const c = {
23
22
  validator: (t) => i.includes(t)
24
23
  },
25
24
  /**
26
- * The label of the icon as read out by a screenreader. Leave this unset if your icon is purely presentational
25
+ * The label of the icon as read out by a screen-reader. Leave this unset if your icon is purely presentational
27
26
  */
28
27
  ariaLabel: {
29
28
  type: String,
30
29
  default: void 0
31
30
  }
32
31
  },
32
+ data() {
33
+ return {
34
+ // i18n: new DialtoneLocalization(),
35
+ };
36
+ },
33
37
  computed: {
34
38
  icon() {
35
39
  return r[`./src/icons/${this.name}.vue`];
@@ -42,13 +46,13 @@ const c = {
42
46
  var s = function() {
43
47
  var e = this, a = e._self._c;
44
48
  return e.icon ? a(e.icon, { tag: "component", attrs: { size: e.size, "aria-label": e.iconAriaLabel, "data-qa": e.$attrs["data-qa"] ?? "dt-icon" } }) : e._e();
45
- }, _ = [], d = /* @__PURE__ */ o(
49
+ }, d = [], _ = /* @__PURE__ */ o(
46
50
  c,
47
51
  s,
48
- _
52
+ d
49
53
  );
50
- const u = d.exports;
54
+ const p = _.exports;
51
55
  export {
52
- u as default
56
+ p as default
53
57
  };
54
58
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../components/icon/icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './icon_constants';\n// import { DtLocalizationMixin } from '@/common/mixins';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n // mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screenreader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n\n iconAriaLabel () {\n // const fluentKey = toFluentKeyString(this.name);\n // return this.ariaLabel || this.i18n.$t(`DIALTONE_ICON_${fluentKey}`);\n return this.ariaLabel;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","name","ICON_NAMES","icons"],"mappings":";;;AAoBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA;AAAA,EAIA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,KAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,CAAAE,MAAAC,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,OAAA;AACA,aAAAE,EAAA,eAAA,KAAA,IAAA,MAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AAGA,aAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../components/icon/icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './icon_constants';\n// import { DialtoneLocalization } from '@/localization';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screen-reader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n data () {\n return {\n // i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n\n iconAriaLabel () {\n // const fluentKey = toFluentKeyString(this.name);\n // return this.ariaLabel || this.i18n.$t(`DIALTONE_ICON_${fluentKey}`);\n return this.ariaLabel;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","name","ICON_NAMES","icons"],"mappings":";;;AAoBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,KAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,CAAAE,MAAAC,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,OAAA;AACA,aAAAE,EAAA,eAAA,KAAA,IAAA,MAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AAGA,aAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/mixins/modal.cjs"),i=require("../../common/constants/index.cjs"),n=require("@dialpad/dialtone-icons/vue2"),r=require("../../node_modules/@linusborg/vue-simple-portal.cjs"),l=require("../../shared/sr_only_close_button.cjs"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),c=require("../button/button.cjs"),d=require("../../common/mixins/localization.cjs"),m={name:"DtImageViewer",components:{Portal:r.Portal,SrOnlyCloseButton:l.default,DtButton:c.default,DtIconClose:n.DtIconClose},mixins:[a.default,d.default],props:{appendTo:{type:String,default:"body"},open:{type:Boolean,default:null},imageSrc:{type:String,required:!0},imageAlt:{type:String,required:!0},imageButtonClass:{type:String,required:!1,default:""},ariaLabel:{type:String,required:!0}},emits:["opened","update:open"],data(){return{showCloseButton:!0,isOpen:!1}},computed:{modalListeners(){return{...this.$listeners,click:t=>{t.target===t.currentTarget&&this.close()},keydown:t=>{switch(t.code){case i.EVENT_KEYNAMES.esc:case i.EVENT_KEYNAMES.escape:this.close();break;case i.EVENT_KEYNAMES.tab:this.trapFocus(t);break}}}},closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},watch:{isOpen:{immediate:!0,handler(t){var e;t?this.previousActiveElement=document.activeElement:((e=this.previousActiveElement)==null||e.focus(),this.previousActiveElement=null)}},open:{handler:function(t){t!==null&&(this.isOpen=t)},immediate:!0}},methods:{openModal(){this.open===null&&(this.isOpen=!0,this.showCloseButton=!0,this.$emit("opened",!0),setTimeout(()=>{this.focusAfterOpen()}))},close(){this.isOpen=!1,this.$emit("opened",!1),this.open!==null&&this.$emit("update:open",!1)},focusAfterOpen(){var t;(t=this.$refs.closeImage)==null||t.$el.focus()},trapFocus(t){this.isOpen&&this.focusTrappedTabPress(t)}}};var p=function(){var e=this,s=e._self._c;return s("div",[s("dt-button",{staticClass:"d-image-viewer__preview-button",attrs:{"data-qa":"dt-image-viewer-preview","aria-label":e.ariaLabel,importance:"clear"},on:{click:e.openModal}},[s("img",{class:e.imageButtonClass,attrs:{src:e.imageSrc,alt:e.imageAlt}})]),e.isOpen?s("portal",{attrs:{selector:e.appendTo}},[s("div",e._g({staticClass:"d-modal",attrs:{"aria-hidden":e.isOpen?"false":"true","data-qa":"dt-modal"},on:{mouseover:function(o){e.showCloseButton=!0},mouseleave:function(o){e.showCloseButton=!1},focusin:function(o){e.showCloseButton=!0},focusout:function(o){e.showCloseButton=!1}}},e.modalListeners),[s("div",{staticClass:"d-image-viewer__full",attrs:{"data-qa":"dt-image-viewer-full",role:"dialog","aria-modal":"true"}},[s("img",{staticClass:"d-image-viewer__full__image",attrs:{src:e.imageSrc,alt:e.imageAlt}})]),s("transition",{attrs:{name:"fade"}},[e.showCloseButton?s("dt-button",{ref:"closeImage",staticClass:"d-modal__close",attrs:{"data-qa":"dt-image-viewer-close-btn",circle:"",size:"lg",importance:"clear",kind:"inverted","aria-label":e.closeButtonTitle,title:e.closeButtonTitle},on:{click:e.close},scopedSlots:e._u([{key:"icon",fn:function(){return[s("dt-icon-close",{staticClass:"d-image-viewer__close-button",attrs:{size:"400"}})]},proxy:!0}],null,!1,3317018023)}):s("sr-only-close-button",{on:{close:e.close}})],1)],1)]):e._e()],1)},_=[],f=u.n(m,p,_);const g=f.exports;exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/mixins/modal.cjs"),o=require("../../common/constants/index.cjs"),n=require("@dialpad/dialtone-icons/vue2"),r=require("../../node_modules/@linusborg/vue-simple-portal.cjs"),l=require("../../shared/sr_only_close_button.cjs"),u=require("../../localization/index.cjs"),c=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),d=require("../button/button.cjs"),m={name:"DtImageViewer",components:{Portal:r.Portal,SrOnlyCloseButton:l.default,DtButton:d.default,DtIconClose:n.DtIconClose},mixins:[a.default],props:{appendTo:{type:String,default:"body"},open:{type:Boolean,default:null},imageSrc:{type:String,required:!0},imageAlt:{type:String,required:!0},imageButtonClass:{type:String,required:!1,default:""},ariaLabel:{type:String,required:!0}},emits:["opened","update:open"],data(){return{showCloseButton:!0,isOpen:!1,i18n:new u.DialtoneLocalization}},computed:{modalListeners(){return{...this.$listeners,click:t=>{t.target===t.currentTarget&&this.close()},keydown:t=>{switch(t.code){case o.EVENT_KEYNAMES.esc:case o.EVENT_KEYNAMES.escape:this.close();break;case o.EVENT_KEYNAMES.tab:this.trapFocus(t);break}}}},closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},watch:{isOpen:{immediate:!0,handler(t){var e;t?this.previousActiveElement=document.activeElement:((e=this.previousActiveElement)==null||e.focus(),this.previousActiveElement=null)}},open:{handler:function(t){t!==null&&(this.isOpen=t)},immediate:!0}},methods:{openModal(){this.open===null&&(this.isOpen=!0,this.showCloseButton=!0,this.$emit("opened",!0),setTimeout(()=>{this.focusAfterOpen()}))},close(){this.isOpen=!1,this.$emit("opened",!1),this.open!==null&&this.$emit("update:open",!1)},focusAfterOpen(){var t;(t=this.$refs.closeImage)==null||t.$el.focus()},trapFocus(t){this.isOpen&&this.focusTrappedTabPress(t)}}};var p=function(){var e=this,s=e._self._c;return s("div",[s("dt-button",{staticClass:"d-image-viewer__preview-button",attrs:{"data-qa":"dt-image-viewer-preview","aria-label":e.ariaLabel,importance:"clear"},on:{click:e.openModal}},[s("img",{class:e.imageButtonClass,attrs:{src:e.imageSrc,alt:e.imageAlt}})]),e.isOpen?s("portal",{attrs:{selector:e.appendTo}},[s("div",e._g({staticClass:"d-modal",attrs:{"aria-hidden":e.isOpen?"false":"true","data-qa":"dt-modal"},on:{mouseover:function(i){e.showCloseButton=!0},mouseleave:function(i){e.showCloseButton=!1},focusin:function(i){e.showCloseButton=!0},focusout:function(i){e.showCloseButton=!1}}},e.modalListeners),[s("div",{staticClass:"d-image-viewer__full",attrs:{"data-qa":"dt-image-viewer-full",role:"dialog","aria-modal":"true"}},[s("img",{staticClass:"d-image-viewer__full__image",attrs:{src:e.imageSrc,alt:e.imageAlt}})]),s("transition",{attrs:{name:"fade"}},[e.showCloseButton?s("dt-button",{ref:"closeImage",staticClass:"d-modal__close",attrs:{"data-qa":"dt-image-viewer-close-btn",circle:"",size:"lg",importance:"clear",kind:"inverted","aria-label":e.closeButtonTitle,title:e.closeButtonTitle},on:{click:e.close},scopedSlots:e._u([{key:"icon",fn:function(){return[s("dt-icon-close",{staticClass:"d-image-viewer__close-button",attrs:{size:"400"}})]},proxy:!0}],null,!1,3317018023)}):s("sr-only-close-button",{on:{close:e.close}})],1)],1)]):e._e()],1)},_=[],f=c.n(m,p,_);const g=f.exports;exports.default=g;
2
2
  //# sourceMappingURL=image-viewer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.cjs","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n class=\"d-image-viewer__close-button\"\n size=\"400\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n SrOnlyCloseButton,\n DtButton,\n DtIconClose,\n },\n\n mixins: [Modal, DtLocalizationMixin],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","Portal","SrOnlyCloseButton","DtButton","DtIconClose","Modal","DtLocalizationMixin","event","EVENT_KEYNAMES","isShowing","_a","open","e"],"mappings":"qfAiFAA,EAAA,CACA,KAAA,gBAEA,WAAA,CACA,OAAAC,EAAA,OACA,kBAAAC,EAAA,QACA,SAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAEA,OAAA,CAAAC,EAAA,QAAAC,SAAA,EAEA,MAAA,CAOA,SAAA,CACA,KAAA,OACA,QAAA,MACA,EASA,KAAA,CACA,KAAA,QACA,QAAA,IACA,EAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,iBAAA,CACA,KAAA,OACA,SAAA,GACA,QAAA,EACA,EAKA,UAAA,CACA,KAAA,OACA,SAAA,EACA,CACA,EAEA,MAAA,CAOA,SAMA,aACA,EAEA,MAAA,CACA,MAAA,CACA,gBAAA,GACA,OAAA,EACA,CACA,EAEA,SAAA,CACA,gBAAA,CACA,MAAA,CACA,GAAA,KAAA,WAEA,MAAAC,GAAA,CACAA,EAAA,SAAAA,EAAA,eAAA,KAAA,OACA,EAEA,QAAAA,GAAA,CACA,OAAAA,EAAA,KAAA,CACA,KAAAC,EAAAA,eAAA,IACA,KAAAA,EAAA,eAAA,OACA,KAAA,MAAA,EACA,MACA,KAAAA,EAAA,eAAA,IACA,KAAA,UAAAD,CAAA,EACA,KACA,CACA,CACA,CACA,EAEA,kBAAA,CACA,OAAA,KAAA,KAAA,GAAA,uBAAA,CACA,CACA,EAEA,MAAA,CACA,OAAA,CACA,UAAA,GACA,QAAAE,EAAA,OACAA,EAEA,KAAA,sBAAA,SAAA,gBAGAC,EAAA,KAAA,wBAAA,MAAAA,EAAA,QACA,KAAA,sBAAA,KAEA,CACA,EAEA,KAAA,CACA,QAAA,SAAAC,EAAA,CACAA,IAAA,OACA,KAAA,OAAAA,EAEA,EAEA,UAAA,EACA,CACA,EAEA,QAAA,CACA,WAAA,CAEA,KAAA,OAAA,OAGA,KAAA,OAAA,GACA,KAAA,gBAAA,GACA,KAAA,MAAA,SAAA,EAAA,EAEA,WAAA,IAAA,CACA,KAAA,eAAA,CACA,CAAA,EACA,EAEA,OAAA,CACA,KAAA,OAAA,GACA,KAAA,MAAA,SAAA,EAAA,EAEA,KAAA,OAAA,MACA,KAAA,MAAA,cAAA,EAAA,CAEA,EAEA,gBAAA,QACAD,EAAA,KAAA,MAAA,aAAA,MAAAA,EAAA,IAAA,OACA,EAEA,UAAAE,EAAA,CACA,KAAA,QACA,KAAA,qBAAAA,CAAA,CAEA,CACA,CACA"}
1
+ {"version":3,"file":"image-viewer.cjs","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n class=\"d-image-viewer__close-button\"\n size=\"400\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n SrOnlyCloseButton,\n DtButton,\n DtIconClose,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","Portal","SrOnlyCloseButton","DtButton","DtIconClose","Modal","DialtoneLocalization","event","EVENT_KEYNAMES","isShowing","_a","open","e"],"mappings":"6eAiFAA,EAAA,CACA,KAAA,gBAEA,WAAA,CACA,OAAAC,EAAA,OACA,kBAAAC,EAAA,QACA,SAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,MAAA,CAOA,SAAA,CACA,KAAA,OACA,QAAA,MACA,EASA,KAAA,CACA,KAAA,QACA,QAAA,IACA,EAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,iBAAA,CACA,KAAA,OACA,SAAA,GACA,QAAA,EACA,EAKA,UAAA,CACA,KAAA,OACA,SAAA,EACA,CACA,EAEA,MAAA,CAOA,SAMA,aACA,EAEA,MAAA,CACA,MAAA,CACA,gBAAA,GACA,OAAA,GACA,KAAA,IAAAC,EAAAA,oBACA,CACA,EAEA,SAAA,CACA,gBAAA,CACA,MAAA,CACA,GAAA,KAAA,WAEA,MAAAC,GAAA,CACAA,EAAA,SAAAA,EAAA,eAAA,KAAA,OACA,EAEA,QAAAA,GAAA,CACA,OAAAA,EAAA,KAAA,CACA,KAAAC,EAAAA,eAAA,IACA,KAAAA,EAAA,eAAA,OACA,KAAA,MAAA,EACA,MACA,KAAAA,EAAA,eAAA,IACA,KAAA,UAAAD,CAAA,EACA,KACA,CACA,CACA,CACA,EAEA,kBAAA,CACA,OAAA,KAAA,KAAA,GAAA,uBAAA,CACA,CACA,EAEA,MAAA,CACA,OAAA,CACA,UAAA,GACA,QAAAE,EAAA,OACAA,EAEA,KAAA,sBAAA,SAAA,gBAGAC,EAAA,KAAA,wBAAA,MAAAA,EAAA,QACA,KAAA,sBAAA,KAEA,CACA,EAEA,KAAA,CACA,QAAA,SAAAC,EAAA,CACAA,IAAA,OACA,KAAA,OAAAA,EAEA,EAEA,UAAA,EACA,CACA,EAEA,QAAA,CACA,WAAA,CAEA,KAAA,OAAA,OAGA,KAAA,OAAA,GACA,KAAA,gBAAA,GACA,KAAA,MAAA,SAAA,EAAA,EAEA,WAAA,IAAA,CACA,KAAA,eAAA,CACA,CAAA,EACA,EAEA,OAAA,CACA,KAAA,OAAA,GACA,KAAA,MAAA,SAAA,EAAA,EAEA,KAAA,OAAA,MACA,KAAA,MAAA,cAAA,EAAA,CAEA,EAEA,gBAAA,QACAD,EAAA,KAAA,MAAA,aAAA,MAAAA,EAAA,IAAA,OACA,EAEA,UAAAE,EAAA,CACA,KAAA,QACA,KAAA,qBAAAA,CAAA,CAEA,CACA,CACA"}