@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 +1 @@
1
- {"version":3,"file":"combobox-with-popover.cjs","sources":["../../../recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtCombobox","DtPopover","ComboboxLoadingList","ComboboxEmptyList","SrOnlyCloseButtonMixin","t","LABEL_SIZES","getUniqueString","padding","DROPDOWN_PADDING_CLASSES","item","contentWidth","POPOVER_CONTENT_WIDTHS","appendTo","POPOVER_APPEND_TO_VALUES","hasSlotContent","show","val","value","highlightIndex","opened","_a","popoverEl","_b","comboboxEl","_c","el","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createBlock","_component_dt_combobox","_mergeProps","$props","$data","$options","_withCtx","inputProps","_createElementVNode","args","_withKeys","$event","_renderSlot","_ctx","listProps","clearHighlightIndex","_createVNode","_component_dt_popover","_cache","_createSlots","_normalizeClass","_component_combobox_loading_list","_normalizeProps","_component_combobox_empty_list"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-with-popover.cjs","sources":["../../../recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(COMBOBOX_LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtCombobox","DtPopover","ComboboxLoadingList","ComboboxEmptyList","t","COMBOBOX_LABEL_SIZES","getUniqueString","padding","DROPDOWN_PADDING_CLASSES","item","contentWidth","POPOVER_CONTENT_WIDTHS","appendTo","POPOVER_APPEND_TO_VALUES","hasSlotContent","show","val","value","highlightIndex","opened","_a","popoverEl","_b","comboboxEl","_c","el","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createBlock","_component_dt_combobox","_mergeProps","$props","$data","$options","_withCtx","inputProps","_createElementVNode","args","_withKeys","$event","_renderSlot","_ctx","listProps","clearHighlightIndex","_createVNode","_component_dt_popover","_cache","_createSlots","_normalizeClass","_component_combobox_loading_list","_normalizeProps","_component_combobox_empty_list"],"mappings":"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"}
@@ -1,24 +1,22 @@
1
- import C from "../combobox/combobox-loading-list.js";
2
- import O from "../combobox/combobox-empty-list.js";
3
- import { getUniqueString as g, hasSlotContent as _ } from "../../common/utils/index.js";
4
- import E from "../../common/mixins/sr-only-close-button.js";
5
- import { resolveComponent as a, openBlock as f, createBlock as p, mergeProps as c, withCtx as l, createElementVNode as r, withKeys as y, renderSlot as d, createVNode as P, createSlots as A, normalizeClass as D, normalizeProps as k } from "vue";
1
+ import _ from "../combobox/combobox-loading-list.js";
2
+ import C from "../combobox/combobox-empty-list.js";
3
+ import { getUniqueString as g, hasSlotContent as v } from "../../common/utils/index.js";
4
+ import { resolveComponent as r, openBlock as f, createBlock as p, mergeProps as c, withCtx as l, createElementVNode as a, withKeys as y, renderSlot as d, createVNode as E, createSlots as P, normalizeClass as A, normalizeProps as D } from "vue";
6
5
  import { _ as B } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
7
- import F from "../combobox/combobox.js";
8
- import W from "../popover/popover.js";
9
- import { LABEL_SIZES as I } from "../combobox/combobox-constants.js";
6
+ import k from "../combobox/combobox.js";
7
+ import F from "../popover/popover.js";
8
+ import { COMBOBOX_LABEL_SIZES as W } from "../combobox/combobox-constants.js";
10
9
  import { DROPDOWN_PADDING_CLASSES as S } from "../dropdown/dropdown-constants.js";
11
- import { POPOVER_CONTENT_WIDTHS as M, POPOVER_APPEND_TO_VALUES as H } from "../popover/popover-constants.js";
10
+ import { POPOVER_CONTENT_WIDTHS as I, POPOVER_APPEND_TO_VALUES as M } from "../popover/popover-constants.js";
12
11
  const N = {
13
12
  compatConfig: { MODE: 3 },
14
13
  name: "DtRecipeComboboxWithPopover",
15
14
  components: {
16
- DtCombobox: F,
17
- DtPopover: W,
18
- ComboboxLoadingList: C,
19
- ComboboxEmptyList: O
15
+ DtCombobox: k,
16
+ DtPopover: F,
17
+ ComboboxLoadingList: _,
18
+ ComboboxEmptyList: C
20
19
  },
21
- mixins: [E],
22
20
  props: {
23
21
  /**
24
22
  * String to use for the input label.
@@ -42,7 +40,7 @@ const N = {
42
40
  size: {
43
41
  type: String,
44
42
  default: null,
45
- validator: (e) => Object.values(I).includes(e)
43
+ validator: (t) => Object.values(W).includes(t)
46
44
  },
47
45
  /**
48
46
  * Description for the input
@@ -114,7 +112,7 @@ const N = {
114
112
  padding: {
115
113
  type: String,
116
114
  default: "small",
117
- validator: (e) => Object.keys(S).some((o) => o === e)
115
+ validator: (t) => Object.keys(S).some((o) => o === t)
118
116
  },
119
117
  /**
120
118
  * Width configuration for the popover content. When its value is 'anchor',
@@ -123,7 +121,7 @@ const N = {
123
121
  contentWidth: {
124
122
  type: String,
125
123
  default: null,
126
- validator: (e) => M.includes(e)
124
+ validator: (t) => I.includes(t)
127
125
  },
128
126
  /**
129
127
  * If the list should be shown by pressing up or down arrow key on the input element.
@@ -185,7 +183,7 @@ const N = {
185
183
  appendTo: {
186
184
  type: [HTMLElement, String],
187
185
  default: "body",
188
- validator: (e) => H.includes(e) || e instanceof HTMLElement
186
+ validator: (t) => M.includes(t) || t instanceof HTMLElement
189
187
  },
190
188
  /**
191
189
  * Named transition when the content display is toggled.
@@ -232,7 +230,7 @@ const N = {
232
230
  isInputFocused: !1,
233
231
  isListFocused: !1,
234
232
  externalAnchor: g(),
235
- hasSlotContent: _
233
+ hasSlotContent: v
236
234
  };
237
235
  },
238
236
  computed: {
@@ -247,18 +245,18 @@ const N = {
247
245
  },
248
246
  watch: {
249
247
  showList: {
250
- handler: function(e) {
251
- e !== null && (this.isListShown = e);
248
+ handler: function(t) {
249
+ t !== null && (this.isListShown = t);
252
250
  },
253
251
  immediate: !0
254
252
  },
255
- isListShown(e) {
256
- e ? window.addEventListener("mousedown", this.onFocusOut) : window.removeEventListener("mousedown", this.onFocusOut), this.onOpened(e);
253
+ isListShown(t) {
254
+ t ? window.addEventListener("mousedown", this.onFocusOut) : window.removeEventListener("mousedown", this.onFocusOut), this.onOpened(t);
257
255
  }
258
256
  },
259
257
  methods: {
260
- handleDisplayList(e) {
261
- !this.hasSuggestionList && e && this.showComboboxList(), !this.hasSuggestionList && !e && this.closeComboboxList();
258
+ handleDisplayList(t) {
259
+ !this.hasSuggestionList && t && this.showComboboxList(), !this.hasSuggestionList && !t && this.closeComboboxList();
262
260
  },
263
261
  showComboboxList() {
264
262
  this.showList == null && (this.isListShown = !0);
@@ -266,52 +264,52 @@ const N = {
266
264
  closeComboboxList() {
267
265
  this.showList == null && (this.isListShown = !1);
268
266
  },
269
- onSelect(e) {
270
- this.loading || (this.$emit("select", e), this.hasSuggestionList || this.closeComboboxList());
267
+ onSelect(t) {
268
+ this.loading || (this.$emit("select", t), this.hasSuggestionList || this.closeComboboxList());
271
269
  },
272
270
  onEscape() {
273
271
  this.$emit("escape"), this.closeComboboxList();
274
272
  },
275
- onHighlight(e) {
276
- this.loading || this.$emit("highlight", e);
273
+ onHighlight(t) {
274
+ this.loading || this.$emit("highlight", t);
277
275
  },
278
- onOpened(e) {
279
- this.$emit("opened", e);
276
+ onOpened(t) {
277
+ this.$emit("opened", t);
280
278
  },
281
- onFocusIn(e) {
279
+ onFocusIn(t) {
282
280
  var o;
283
- this.hasSuggestionList && e && ((o = this.$refs.input) == null ? void 0 : o.querySelector("input")) === e.target && this.showComboboxList();
281
+ this.hasSuggestionList && t && ((o = this.$refs.input) == null ? void 0 : o.querySelector("input")) === t.target && this.showComboboxList();
284
282
  },
285
- onFocusOut(e) {
286
- var u, i, n;
287
- const o = (i = (u = this.$refs.popover) == null ? void 0 : u.tip) == null ? void 0 : i.popper, t = this.$refs.input;
288
- (n = e.composedPath()) != null && n.some((m) => [o, t].includes(m)) || this.closeComboboxList();
283
+ onFocusOut(t) {
284
+ var m, i, n;
285
+ const o = (i = (m = this.$refs.popover) == null ? void 0 : m.tip) == null ? void 0 : i.popper, e = this.$refs.input;
286
+ (n = t.composedPath()) != null && n.some((u) => [o, e].includes(u)) || this.closeComboboxList();
289
287
  },
290
288
  openOnArrowKeyPress() {
291
289
  this.showList !== null || this.isListShown || !this.openWithArrowKeys || this.showComboboxList();
292
290
  }
293
291
  }
294
- }, K = ["id"], T = { ref: "header" }, V = ["onMouseleave", "onFocusout"], z = { ref: "footer" };
295
- function R(e, o, t, u, i, n) {
296
- const m = a("combobox-loading-list"), L = a("combobox-empty-list"), w = a("dt-popover"), x = a("dt-combobox");
292
+ }, H = ["id"], K = { ref: "header" }, T = ["onMouseleave", "onFocusout"], V = { ref: "footer" };
293
+ function z(t, o, e, m, i, n) {
294
+ const u = r("combobox-loading-list"), L = r("combobox-empty-list"), w = r("dt-popover"), x = r("dt-combobox");
297
295
  return f(), p(x, c({
298
296
  ref: "combobox",
299
- loading: t.loading,
300
- label: t.label,
301
- "label-visible": t.labelVisible,
302
- size: t.size,
303
- description: t.description,
304
- "empty-list": t.emptyList,
305
- "empty-state-message": t.emptyStateMessage,
297
+ loading: e.loading,
298
+ label: e.label,
299
+ "label-visible": e.labelVisible,
300
+ size: e.size,
301
+ description: e.description,
302
+ "empty-list": e.emptyList,
303
+ "empty-state-message": e.emptyStateMessage,
306
304
  "show-list": i.isListShown,
307
- "on-beginning-of-list": t.onBeginningOfList,
308
- "on-end-of-list": t.onEndOfList,
305
+ "on-beginning-of-list": e.onBeginningOfList,
306
+ "on-end-of-list": e.onEndOfList,
309
307
  "list-rendered-outside": !0,
310
- "list-id": t.listId,
308
+ "list-id": e.listId,
311
309
  "data-qa": "dt-combobox"
312
310
  }, n.comboboxListeners), {
313
311
  input: l(({ inputProps: h }) => [
314
- r("div", {
312
+ a("div", {
315
313
  id: i.externalAnchor,
316
314
  ref: "input",
317
315
  onFocusin: o[0] || (o[0] = (...s) => n.onFocusIn && n.onFocusIn(...s)),
@@ -320,82 +318,80 @@ function R(e, o, t, u, i, n) {
320
318
  o[2] || (o[2] = y((s) => n.openOnArrowKeyPress(s), ["down"]))
321
319
  ]
322
320
  }, [
323
- d(e.$slots, "input", {
321
+ d(t.$slots, "input", {
324
322
  inputProps: h,
325
323
  onInput: n.handleDisplayList
326
324
  })
327
- ], 40, K)
325
+ ], 40, H)
328
326
  ]),
329
327
  list: l(({ opened: h, listProps: s, clearHighlightIndex: b }) => [
330
- P(w, {
328
+ E(w, {
331
329
  ref: "popover",
332
330
  open: i.isListShown,
333
- "onUpdate:open": o[3] || (o[3] = (v) => i.isListShown = v),
331
+ "onUpdate:open": o[3] || (o[3] = (O) => i.isListShown = O),
334
332
  "hide-on-click": !1,
335
- "max-height": t.maxHeight,
336
- "max-width": t.maxWidth,
337
- offset: t.popoverOffset,
338
- sticky: t.popoverSticky,
333
+ "max-height": e.maxHeight,
334
+ "max-width": e.maxWidth,
335
+ offset: e.popoverOffset,
336
+ sticky: e.popoverSticky,
339
337
  placement: "bottom-start",
340
338
  "initial-focus-element": "none",
341
339
  padding: "none",
342
340
  role: "listbox",
343
341
  "external-anchor": i.externalAnchor,
344
- "content-width": t.contentWidth,
342
+ "content-width": e.contentWidth,
345
343
  "content-appear": !0,
346
344
  "content-tabindex": null,
347
345
  modal: !1,
348
346
  "auto-focus": !1,
349
- "append-to": t.appendTo,
350
- transition: t.transition,
351
- "visually-hidden-close-label": e.visuallyHiddenCloseLabel,
352
- "visually-hidden-close": e.visuallyHiddenClose,
347
+ "append-to": e.appendTo,
348
+ transition: e.transition,
353
349
  onOpened: h
354
- }, A({
350
+ }, P({
355
351
  content: l(() => [
356
- r("div", {
352
+ a("div", {
357
353
  ref: "listWrapper",
358
- class: D([
354
+ class: A([
359
355
  "d-recipe-combobox-with-popover__list",
360
- i.DROPDOWN_PADDING_CLASSES[t.padding],
361
- t.listClass
356
+ i.DROPDOWN_PADDING_CLASSES[e.padding],
357
+ e.listClass
362
358
  ]),
363
359
  onMouseleave: b,
364
360
  onFocusout: b
365
361
  }, [
366
- t.loading ? (f(), p(m, k(c({ key: 0 }, s)), null, 16)) : t.emptyList && t.emptyStateMessage ? (f(), p(L, c({ key: 1 }, s, { message: t.emptyStateMessage }), null, 16, ["message"])) : d(e.$slots, "list", {
362
+ e.loading ? (f(), p(u, D(c({ key: 0 }, s)), null, 16)) : e.emptyList && e.emptyStateMessage ? (f(), p(L, c({ key: 1 }, s, { message: e.emptyStateMessage }), null, 16, ["message"])) : d(t.$slots, "list", {
367
363
  key: 2,
368
364
  listProps: s
369
365
  })
370
- ], 42, V)
366
+ ], 42, T)
371
367
  ]),
372
368
  _: 2
373
369
  }, [
374
- i.hasSlotContent(e.$slots.header) ? {
370
+ i.hasSlotContent(t.$slots.header) ? {
375
371
  name: "headerContent",
376
372
  fn: l(() => [
377
- r("div", T, [
378
- d(e.$slots, "header")
373
+ a("div", K, [
374
+ d(t.$slots, "header")
379
375
  ], 512)
380
376
  ]),
381
377
  key: "0"
382
378
  } : void 0,
383
- i.hasSlotContent(e.$slots.footer) ? {
379
+ i.hasSlotContent(t.$slots.footer) ? {
384
380
  name: "footerContent",
385
381
  fn: l(() => [
386
- r("div", z, [
387
- d(e.$slots, "footer")
382
+ a("div", V, [
383
+ d(t.$slots, "footer")
388
384
  ], 512)
389
385
  ]),
390
386
  key: "1"
391
387
  } : void 0
392
- ]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "transition", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])
388
+ ]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "transition", "onOpened"])
393
389
  ]),
394
390
  _: 3
395
391
  }, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
396
392
  }
397
- const te = /* @__PURE__ */ B(N, [["render", R]]);
393
+ const $ = /* @__PURE__ */ B(N, [["render", z]]);
398
394
  export {
399
- te as default
395
+ $ as default
400
396
  };
401
397
  //# sourceMappingURL=combobox-with-popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-with-popover.js","sources":["../../../recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtCombobox","DtPopover","ComboboxLoadingList","ComboboxEmptyList","SrOnlyCloseButtonMixin","t","LABEL_SIZES","getUniqueString","padding","DROPDOWN_PADDING_CLASSES","item","contentWidth","POPOVER_CONTENT_WIDTHS","appendTo","POPOVER_APPEND_TO_VALUES","hasSlotContent","show","val","value","highlightIndex","opened","_a","popoverEl","_b","comboboxEl","_c","el","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createBlock","_component_dt_combobox","_mergeProps","$props","$data","$options","_withCtx","inputProps","_createElementVNode","args","_withKeys","$event","_renderSlot","_ctx","listProps","clearHighlightIndex","_createVNode","_component_dt_popover","_cache","_createSlots","_normalizeClass","_component_combobox_loading_list","_normalizeProps","_component_combobox_empty_list"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-with-popover.js","sources":["../../../recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(COMBOBOX_LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtCombobox","DtPopover","ComboboxLoadingList","ComboboxEmptyList","COMBOBOX_LABEL_SIZES","getUniqueString","padding","DROPDOWN_PADDING_CLASSES","item","contentWidth","POPOVER_CONTENT_WIDTHS","appendTo","POPOVER_APPEND_TO_VALUES","hasSlotContent","show","val","value","highlightIndex","opened","e","_a","popoverEl","_b","comboboxEl","_c","el","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createBlock","_component_dt_combobox","_mergeProps","$props","$data","$options","_withCtx","inputProps","_createElementVNode","args","_withKeys","$event","_renderSlot","_ctx","listProps","clearHighlightIndex","_createVNode","_component_dt_popover","_cache","_createSlots","_normalizeClass","_component_combobox_loading_list","_normalizeProps","_component_combobox_empty_list"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/utils/index.cjs"),b=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),h=require("@dialpad/dialtone-icons/vue3/chevron-down"),m=require("@dialpad/dialtone-icons/vue3/headphones"),e=require("vue"),f=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),w=require("../button/button.cjs"),C=require("../badge/badge.cjs"),v={compatConfig:{MODE:3},name:"DtRecipeContactCentersRow",components:{DtButton:w.default,DtBadge:C.default,DtEmojiTextWrapper:b.default,DtIconHeadphones:m,DtIconChevronDown:h},inheritAttrs:!1,props:{ariaLabel:{type:String,default:""},description:{type:String,required:!0},selected:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unreadCount:{type:String,default:null},menuButtonAriaLabel:{type:String,required:!0}},emits:["click","click-menu"],data(){return{labelWidth:"auto"}},computed:{leftbarContactCentersRowClasses(){return["d-recipe-leftbar-row","d-recipe-leftbar-row--contact-centers",{"d-recipe-leftbar-row__unread-count":this.showUnreadCount,"d-recipe-leftbar-row--selected":this.selected}]},getAriaLabel(){return this.ariaLabel?this.ariaLabel:a.safeConcatStrings([this.description,this.unreadCountTooltip])},contactRowListeners(){return a.extractVueListeners(this.$attrs)},showUnreadCount(){return!!this.unreadCount}},watch:{$props:{deep:!0,async handler(){await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(a.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:a.removeClassStyleAttrs,addClassStyleAttrs:a.addClassStyleAttrs,adjustLabelWidth(){var n,r,s,l,d,c;const t=((r=(n=a.returnFirstEl(this.$el))==null?void 0:n.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:r.clientWidth)||0,i=((l=(s=a.returnFirstEl(this.$el))==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,o=((c=(d=a.returnFirstEl(this.$el))==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:c.clientWidth)||0,p=12;this.labelWidth=t-(i+o+p)+"px"}}},g=["data-qa","aria-label","title","href"],y={class:"d-recipe-leftbar-row__alpha"},q={key:0,class:"d-recipe-leftbar-row__omega"},S={class:"d-recipe-leftbar-row__action-container"},k={class:"d-recipe-leftbar-row__bottom"};function V(t,i,o,p,n,r){const s=e.resolveComponent("dt-icon-headphones"),l=e.resolveComponent("dt-emoji-text-wrapper"),d=e.resolveComponent("dt-badge"),c=e.resolveComponent("dt-icon-chevron-down"),_=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["d-recipe-leftbar-row__container",{"d-recipe-leftbar-row__container--off-duty":t.$slots.timer}]},r.addClassStyleAttrs(t.$attrs)),[e.createElementVNode("div",{class:e.normalizeClass(r.leftbarContactCentersRowClasses),"data-qa":"dt-recipe-contact-centers-row"},[e.createElementVNode("a",e.mergeProps({class:"d-recipe-leftbar-row__primary","data-qa":t.$attrs["data-qa"]??"d-recipe-leftbar-row-link","aria-label":r.getAriaLabel,title:o.description,href:t.$attrs.href??"javascript:void(0)"},r.removeClassStyleAttrs(t.$attrs),e.toHandlers(r.contactRowListeners,!0),{onClick:i[0]||(i[0]=u=>t.$emit("click",u))}),[e.createElementVNode("div",y,[e.createVNode(s,{size:"300","data-qa":"dt-recipe-leftbar-row-icon"})]),e.createElementVNode("div",{class:"d-recipe-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${n.labelWidth}`)},[e.createVNode(l,{class:"d-recipe-leftbar-row__description","data-qa":"dt-recipe-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.description),1)]),_:1})],4)],16,g),o.hideActions?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",q,[e.renderSlot(t.$slots,"right"),e.createElementVNode("div",S,[r.showUnreadCount?(e.openBlock(),e.createBlock(d,{key:0,class:"d-recipe-leftbar-row__unread-badge","data-qa":"dt-recipe-leftbar-row-unread-badge",kind:"count",type:"bulletin"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.unreadCount),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{class:"d-recipe-leftbar-row__action","data-qa":"dt-recipe-leftbar-row-action-button","aria-label":o.menuButtonAriaLabel,importance:"clear",size:"xs",circle:"",onClick:i[1]||(i[1]=e.withModifiers(u=>t.$emit("click-menu",u),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(c,{size:"100"})]),_:1},8,["aria-label"])])]))],2),e.createElementVNode("div",k,[e.renderSlot(t.$slots,"timer")])],16)}const W=f._(v,[["render",V]]);exports.default=W;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/utils/index.cjs"),p=require("@dialpad/dialtone-icons/vue3"),h=require("../../localization/index.cjs"),e=require("vue"),m=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),f=require("../button/button.cjs"),w=require("../badge/badge.cjs"),C=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),v={compatConfig:{MODE:3},name:"DtRecipeContactCentersRow",components:{DtButton:f.default,DtBadge:w.default,DtEmojiTextWrapper:C.default,DtIconHeadphones:p.DtIconHeadphones,DtIconChevronDown:p.DtIconChevronDown},inheritAttrs:!1,props:{ariaLabel:{type:String,default:""},description:{type:String,required:!0},selected:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unreadCount:{type:String,default:null,validator(t){return t?/^\d+\+?$/.test(t):!0}}},emits:["click","click-menu"],data(){return{labelWidth:"auto",i18n:new h.DialtoneLocalization}},computed:{leftbarContactCentersRowClasses(){return["d-recipe-leftbar-row","d-recipe-leftbar-row--contact-centers",{"d-recipe-leftbar-row__unread-count":this.showUnreadCount,"d-recipe-leftbar-row--selected":this.selected}]},getAriaLabel(){const t=isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount);return this.ariaLabel?this.ariaLabel:a.safeConcatStrings([this.description,this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:t})])},contactRowListeners(){return a.extractVueListeners(this.$attrs)},showUnreadCount(){return!!this.unreadCount},menuButtonLabel(){return this.i18n.$t("DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL")}},watch:{$props:{deep:!0,async handler(){await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(a.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:a.removeClassStyleAttrs,addClassStyleAttrs:a.addClassStyleAttrs,adjustLabelWidth(){var i,r,s,l,d,c;const t=((r=(i=a.returnFirstEl(this.$el))==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:r.clientWidth)||0,o=((l=(s=a.returnFirstEl(this.$el))==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,n=((c=(d=a.returnFirstEl(this.$el))==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:c.clientWidth)||0,_=12;this.labelWidth=t-(o+n+_)+"px"}}},g=["data-qa","aria-label","title","href"],y={class:"d-recipe-leftbar-row__alpha"},N={key:0,class:"d-recipe-leftbar-row__omega"},E={class:"d-recipe-leftbar-row__action-container"},S={class:"d-recipe-leftbar-row__bottom"};function q(t,o,n,_,i,r){const s=e.resolveComponent("dt-icon-headphones"),l=e.resolveComponent("dt-emoji-text-wrapper"),d=e.resolveComponent("dt-badge"),c=e.resolveComponent("dt-icon-chevron-down"),b=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["d-recipe-leftbar-row__container",{"d-recipe-leftbar-row__container--off-duty":t.$slots.timer}]},r.addClassStyleAttrs(t.$attrs)),[e.createElementVNode("div",{class:e.normalizeClass(r.leftbarContactCentersRowClasses),"data-qa":"dt-recipe-contact-centers-row"},[e.createElementVNode("a",e.mergeProps({class:"d-recipe-leftbar-row__primary","data-qa":t.$attrs["data-qa"]??"d-recipe-leftbar-row-link","aria-label":r.getAriaLabel,title:n.description,href:t.$attrs.href??"javascript:void(0)"},r.removeClassStyleAttrs(t.$attrs),e.toHandlers(r.contactRowListeners,!0),{onClick:o[0]||(o[0]=u=>t.$emit("click",u))}),[e.createElementVNode("div",y,[e.createVNode(s,{size:"300","data-qa":"dt-recipe-leftbar-row-icon"})]),e.createElementVNode("div",{class:"d-recipe-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${i.labelWidth}`)},[e.createVNode(l,{class:"d-recipe-leftbar-row__description","data-qa":"dt-recipe-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.description),1)]),_:1})],4)],16,g),n.hideActions?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",N,[e.renderSlot(t.$slots,"right"),e.createElementVNode("div",E,[r.showUnreadCount?(e.openBlock(),e.createBlock(d,{key:0,class:"d-recipe-leftbar-row__unread-badge","data-qa":"dt-recipe-leftbar-row-unread-badge",kind:"count",type:"bulletin"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.unreadCount),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{class:"d-recipe-leftbar-row__action","data-qa":"dt-recipe-leftbar-row-action-button","aria-label":r.menuButtonLabel,title:r.menuButtonLabel,importance:"clear",size:"xs",circle:"",onClick:o[1]||(o[1]=e.withModifiers(u=>t.$emit("click-menu",u),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(c,{size:"100"})]),_:1},8,["aria-label","title"])])]))],2),e.createElementVNode("div",S,[e.renderSlot(t.$slots,"timer")])],16)}const L=m._(v,[["render",q]]);exports.default=L;
2
2
  //# sourceMappingURL=contact-centers-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact-centers-row.cjs","sources":["../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\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 * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(returnFirstEl(this.$el));\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n adjustLabelWidth () {\n const labelWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtBadge","DtEmojiTextWrapper","DtIconHeadphones","DtIconChevronDown","safeConcatStrings","extractVueListeners","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","labelWidth","omegaWidth","alphaWidth","paddings","_hoisted_1","_hoisted_2","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","_ctx","$options","_createElementVNode","_normalizeClass","$props","_toHandlers","_cache","$event","_createVNode","_component_dt_icon_headphones","_normalizeStyle","$data","_component_dt_emoji_text_wrapper","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_3","_renderSlot","_createBlock","_component_dt_badge","_component_dt_button","_withModifiers","_component_dt_icon_chevron_down"],"mappings":"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"}
1
+ {"version":3,"file":"contact-centers-row.cjs","sources":["../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\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 </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonLabel\"\n :title=\"menuButtonLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DtIconChevronDown, DtIconHeadphones } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\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.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n validator (value) {\n if (!value) return true;\n return /^\\d+\\+?$/.test(value);\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 * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n const count = isNaN(this.unreadCount) ? this.unreadCount : Number(this.unreadCount);\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([\n this.description,\n this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: count }),\n ]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n\n menuButtonLabel () {\n return this.i18n.$t('DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL');\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(returnFirstEl(this.$el));\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n adjustLabelWidth () {\n const labelWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtBadge","DtEmojiTextWrapper","DtIconHeadphones","DtIconChevronDown","value","DialtoneLocalization","count","safeConcatStrings","extractVueListeners","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","labelWidth","omegaWidth","alphaWidth","paddings","_hoisted_1","_hoisted_2","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","_ctx","$options","_createElementVNode","_normalizeClass","$props","_toHandlers","_cache","$event","_createVNode","_component_dt_icon_headphones","_normalizeStyle","$data","_component_dt_emoji_text_wrapper","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_3","_renderSlot","_createBlock","_component_dt_badge","_component_dt_button","_withModifiers","_component_dt_icon_chevron_down"],"mappings":"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"}