@dialpad/dialtone 9.86.1 → 9.86.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/README.md +0 -16
  2. package/dist/css/dialtone-default-theme.css +1151 -4
  3. package/dist/css/dialtone-default-theme.min.css +1 -1
  4. package/dist/css/dialtone.css +1151 -4
  5. package/dist/css/dialtone.min.css +1 -1
  6. package/dist/tokens/doc.json +14952 -14952
  7. package/dist/vue2/_virtual/_plugin-vue2_normalizer.cjs +0 -3
  8. package/dist/vue2/_virtual/_plugin-vue2_normalizer.cjs.map +1 -1
  9. package/dist/vue2/_virtual/_plugin-vue2_normalizer.js +0 -3
  10. package/dist/vue2/_virtual/_plugin-vue2_normalizer.js.map +1 -1
  11. package/dist/vue2/common/sr_only_close_button.vue.cjs +1 -4
  12. package/dist/vue2/common/sr_only_close_button.vue.cjs.map +1 -1
  13. package/dist/vue2/common/sr_only_close_button.vue.js +1 -4
  14. package/dist/vue2/common/sr_only_close_button.vue.js.map +1 -1
  15. package/dist/vue2/components/avatar/avatar.vue.cjs +1 -4
  16. package/dist/vue2/components/avatar/avatar.vue.cjs.map +1 -1
  17. package/dist/vue2/components/avatar/avatar.vue.js +1 -4
  18. package/dist/vue2/components/avatar/avatar.vue.js.map +1 -1
  19. package/dist/vue2/components/badge/badge.vue.cjs +1 -4
  20. package/dist/vue2/components/badge/badge.vue.cjs.map +1 -1
  21. package/dist/vue2/components/badge/badge.vue.js +1 -4
  22. package/dist/vue2/components/badge/badge.vue.js.map +1 -1
  23. package/dist/vue2/components/banner/banner.vue.cjs +1 -4
  24. package/dist/vue2/components/banner/banner.vue.cjs.map +1 -1
  25. package/dist/vue2/components/banner/banner.vue.js +1 -4
  26. package/dist/vue2/components/banner/banner.vue.js.map +1 -1
  27. package/dist/vue2/components/breadcrumbs/breadcrumb_item.vue.cjs +1 -4
  28. package/dist/vue2/components/breadcrumbs/breadcrumb_item.vue.cjs.map +1 -1
  29. package/dist/vue2/components/breadcrumbs/breadcrumb_item.vue.js +1 -4
  30. package/dist/vue2/components/breadcrumbs/breadcrumb_item.vue.js.map +1 -1
  31. package/dist/vue2/components/breadcrumbs/breadcrumbs.vue.cjs +1 -4
  32. package/dist/vue2/components/breadcrumbs/breadcrumbs.vue.cjs.map +1 -1
  33. package/dist/vue2/components/breadcrumbs/breadcrumbs.vue.js +1 -4
  34. package/dist/vue2/components/breadcrumbs/breadcrumbs.vue.js.map +1 -1
  35. package/dist/vue2/components/button/button.vue.cjs +1 -4
  36. package/dist/vue2/components/button/button.vue.cjs.map +1 -1
  37. package/dist/vue2/components/button/button.vue.js +1 -4
  38. package/dist/vue2/components/button/button.vue.js.map +1 -1
  39. package/dist/vue2/components/button_group/button_group.vue.cjs +1 -4
  40. package/dist/vue2/components/button_group/button_group.vue.cjs.map +1 -1
  41. package/dist/vue2/components/button_group/button_group.vue.js +1 -4
  42. package/dist/vue2/components/button_group/button_group.vue.js.map +1 -1
  43. package/dist/vue2/components/card/card.vue.cjs +1 -4
  44. package/dist/vue2/components/card/card.vue.cjs.map +1 -1
  45. package/dist/vue2/components/card/card.vue.js +1 -4
  46. package/dist/vue2/components/card/card.vue.js.map +1 -1
  47. package/dist/vue2/components/checkbox/checkbox.vue.cjs +1 -4
  48. package/dist/vue2/components/checkbox/checkbox.vue.cjs.map +1 -1
  49. package/dist/vue2/components/checkbox/checkbox.vue.js +1 -4
  50. package/dist/vue2/components/checkbox/checkbox.vue.js.map +1 -1
  51. package/dist/vue2/components/checkbox_group/checkbox_group.vue.cjs +1 -4
  52. package/dist/vue2/components/checkbox_group/checkbox_group.vue.cjs.map +1 -1
  53. package/dist/vue2/components/checkbox_group/checkbox_group.vue.js +1 -4
  54. package/dist/vue2/components/checkbox_group/checkbox_group.vue.js.map +1 -1
  55. package/dist/vue2/components/chip/chip.vue.cjs +1 -4
  56. package/dist/vue2/components/chip/chip.vue.cjs.map +1 -1
  57. package/dist/vue2/components/chip/chip.vue.js +1 -4
  58. package/dist/vue2/components/chip/chip.vue.js.map +1 -1
  59. package/dist/vue2/components/codeblock/codeblock.vue.cjs +1 -4
  60. package/dist/vue2/components/codeblock/codeblock.vue.cjs.map +1 -1
  61. package/dist/vue2/components/codeblock/codeblock.vue.js +1 -4
  62. package/dist/vue2/components/codeblock/codeblock.vue.js.map +1 -1
  63. package/dist/vue2/components/collapsible/collapsible.vue.cjs +1 -4
  64. package/dist/vue2/components/collapsible/collapsible.vue.cjs.map +1 -1
  65. package/dist/vue2/components/collapsible/collapsible.vue.js +1 -4
  66. package/dist/vue2/components/collapsible/collapsible.vue.js.map +1 -1
  67. package/dist/vue2/components/collapsible/collapsible_lazy_show.vue.cjs +1 -4
  68. package/dist/vue2/components/collapsible/collapsible_lazy_show.vue.cjs.map +1 -1
  69. package/dist/vue2/components/collapsible/collapsible_lazy_show.vue.js +1 -4
  70. package/dist/vue2/components/collapsible/collapsible_lazy_show.vue.js.map +1 -1
  71. package/dist/vue2/components/combobox/combobox.vue.cjs +1 -4
  72. package/dist/vue2/components/combobox/combobox.vue.cjs.map +1 -1
  73. package/dist/vue2/components/combobox/combobox.vue.js +1 -4
  74. package/dist/vue2/components/combobox/combobox.vue.js.map +1 -1
  75. package/dist/vue2/components/combobox/combobox_empty-list.vue.cjs +1 -4
  76. package/dist/vue2/components/combobox/combobox_empty-list.vue.cjs.map +1 -1
  77. package/dist/vue2/components/combobox/combobox_empty-list.vue.js +1 -4
  78. package/dist/vue2/components/combobox/combobox_empty-list.vue.js.map +1 -1
  79. package/dist/vue2/components/combobox/combobox_loading-list.vue.cjs +1 -4
  80. package/dist/vue2/components/combobox/combobox_loading-list.vue.cjs.map +1 -1
  81. package/dist/vue2/components/combobox/combobox_loading-list.vue.js +1 -4
  82. package/dist/vue2/components/combobox/combobox_loading-list.vue.js.map +1 -1
  83. package/dist/vue2/components/datepicker/datepicker.vue.cjs +1 -4
  84. package/dist/vue2/components/datepicker/datepicker.vue.cjs.map +1 -1
  85. package/dist/vue2/components/datepicker/datepicker.vue.js +1 -4
  86. package/dist/vue2/components/datepicker/datepicker.vue.js.map +1 -1
  87. package/dist/vue2/components/datepicker/modules/calendar.vue.cjs +1 -4
  88. package/dist/vue2/components/datepicker/modules/calendar.vue.cjs.map +1 -1
  89. package/dist/vue2/components/datepicker/modules/calendar.vue.js +1 -4
  90. package/dist/vue2/components/datepicker/modules/calendar.vue.js.map +1 -1
  91. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.cjs +1 -4
  92. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
  93. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.js +1 -4
  94. package/dist/vue2/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
  95. package/dist/vue2/components/description_list/description_list.vue.cjs +1 -4
  96. package/dist/vue2/components/description_list/description_list.vue.cjs.map +1 -1
  97. package/dist/vue2/components/description_list/description_list.vue.js +1 -4
  98. package/dist/vue2/components/description_list/description_list.vue.js.map +1 -1
  99. package/dist/vue2/components/dropdown/dropdown.vue.cjs +1 -4
  100. package/dist/vue2/components/dropdown/dropdown.vue.cjs.map +1 -1
  101. package/dist/vue2/components/dropdown/dropdown.vue.js +1 -4
  102. package/dist/vue2/components/dropdown/dropdown.vue.js.map +1 -1
  103. package/dist/vue2/components/dropdown/dropdown_separator.vue.cjs +1 -4
  104. package/dist/vue2/components/dropdown/dropdown_separator.vue.cjs.map +1 -1
  105. package/dist/vue2/components/dropdown/dropdown_separator.vue.js +1 -4
  106. package/dist/vue2/components/dropdown/dropdown_separator.vue.js.map +1 -1
  107. package/dist/vue2/components/emoji/emoji.vue.cjs +1 -4
  108. package/dist/vue2/components/emoji/emoji.vue.cjs.map +1 -1
  109. package/dist/vue2/components/emoji/emoji.vue.js +1 -4
  110. package/dist/vue2/components/emoji/emoji.vue.js.map +1 -1
  111. package/dist/vue2/components/emoji_picker/emoji_picker.vue.cjs +1 -4
  112. package/dist/vue2/components/emoji_picker/emoji_picker.vue.cjs.map +1 -1
  113. package/dist/vue2/components/emoji_picker/emoji_picker.vue.js +1 -4
  114. package/dist/vue2/components/emoji_picker/emoji_picker.vue.js.map +1 -1
  115. package/dist/vue2/components/emoji_picker/modules/emoji_description.vue.cjs +1 -4
  116. package/dist/vue2/components/emoji_picker/modules/emoji_description.vue.cjs.map +1 -1
  117. package/dist/vue2/components/emoji_picker/modules/emoji_description.vue.js +1 -4
  118. package/dist/vue2/components/emoji_picker/modules/emoji_description.vue.js.map +1 -1
  119. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs +1 -4
  120. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
  121. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js +1 -4
  122. package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
  123. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.cjs +1 -4
  124. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.cjs.map +1 -1
  125. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.js +1 -4
  126. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.js.map +1 -1
  127. package/dist/vue2/components/emoji_picker/modules/emoji_skin_selector.vue.cjs +1 -4
  128. package/dist/vue2/components/emoji_picker/modules/emoji_skin_selector.vue.cjs.map +1 -1
  129. package/dist/vue2/components/emoji_picker/modules/emoji_skin_selector.vue.js +1 -4
  130. package/dist/vue2/components/emoji_picker/modules/emoji_skin_selector.vue.js.map +1 -1
  131. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs +1 -4
  132. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  133. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js +1 -4
  134. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  135. package/dist/vue2/components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs +1 -4
  136. package/dist/vue2/components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs.map +1 -1
  137. package/dist/vue2/components/emoji_text_wrapper/emoji_text_wrapper.vue.js +1 -4
  138. package/dist/vue2/components/emoji_text_wrapper/emoji_text_wrapper.vue.js.map +1 -1
  139. package/dist/vue2/components/empty_state/empty_state.vue.cjs +1 -4
  140. package/dist/vue2/components/empty_state/empty_state.vue.cjs.map +1 -1
  141. package/dist/vue2/components/empty_state/empty_state.vue.js +1 -4
  142. package/dist/vue2/components/empty_state/empty_state.vue.js.map +1 -1
  143. package/dist/vue2/components/hovercard/hovercard.vue.cjs +1 -4
  144. package/dist/vue2/components/hovercard/hovercard.vue.cjs.map +1 -1
  145. package/dist/vue2/components/hovercard/hovercard.vue.js +1 -4
  146. package/dist/vue2/components/hovercard/hovercard.vue.js.map +1 -1
  147. package/dist/vue2/components/icon/icon.vue.cjs +1 -4
  148. package/dist/vue2/components/icon/icon.vue.cjs.map +1 -1
  149. package/dist/vue2/components/icon/icon.vue.js +1 -4
  150. package/dist/vue2/components/icon/icon.vue.js.map +1 -1
  151. package/dist/vue2/components/illustration/illustration.vue.cjs +1 -4
  152. package/dist/vue2/components/illustration/illustration.vue.cjs.map +1 -1
  153. package/dist/vue2/components/illustration/illustration.vue.js +1 -4
  154. package/dist/vue2/components/illustration/illustration.vue.js.map +1 -1
  155. package/dist/vue2/components/image_viewer/image_viewer.vue.cjs +1 -4
  156. package/dist/vue2/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  157. package/dist/vue2/components/image_viewer/image_viewer.vue.js +1 -4
  158. package/dist/vue2/components/image_viewer/image_viewer.vue.js.map +1 -1
  159. package/dist/vue2/components/input/input.vue.cjs +1 -4
  160. package/dist/vue2/components/input/input.vue.cjs.map +1 -1
  161. package/dist/vue2/components/input/input.vue.js +1 -4
  162. package/dist/vue2/components/input/input.vue.js.map +1 -1
  163. package/dist/vue2/components/input_group/input_group.vue.cjs +1 -4
  164. package/dist/vue2/components/input_group/input_group.vue.cjs.map +1 -1
  165. package/dist/vue2/components/input_group/input_group.vue.js +1 -4
  166. package/dist/vue2/components/input_group/input_group.vue.js.map +1 -1
  167. package/dist/vue2/components/item_layout/item_layout.vue.cjs +1 -4
  168. package/dist/vue2/components/item_layout/item_layout.vue.cjs.map +1 -1
  169. package/dist/vue2/components/item_layout/item_layout.vue.js +1 -4
  170. package/dist/vue2/components/item_layout/item_layout.vue.js.map +1 -1
  171. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +1 -4
  172. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  173. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.js +1 -4
  174. package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  175. package/dist/vue2/components/lazy_show/lazy_show.vue.cjs +1 -4
  176. package/dist/vue2/components/lazy_show/lazy_show.vue.cjs.map +1 -1
  177. package/dist/vue2/components/lazy_show/lazy_show.vue.js +1 -4
  178. package/dist/vue2/components/lazy_show/lazy_show.vue.js.map +1 -1
  179. package/dist/vue2/components/link/link.vue.cjs +1 -4
  180. package/dist/vue2/components/link/link.vue.cjs.map +1 -1
  181. package/dist/vue2/components/link/link.vue.js +1 -4
  182. package/dist/vue2/components/link/link.vue.js.map +1 -1
  183. package/dist/vue2/components/list_item/list_item.vue.cjs +1 -4
  184. package/dist/vue2/components/list_item/list_item.vue.cjs.map +1 -1
  185. package/dist/vue2/components/list_item/list_item.vue.js +1 -4
  186. package/dist/vue2/components/list_item/list_item.vue.js.map +1 -1
  187. package/dist/vue2/components/list_item_group/list_item_group.vue.cjs +1 -4
  188. package/dist/vue2/components/list_item_group/list_item_group.vue.cjs.map +1 -1
  189. package/dist/vue2/components/list_item_group/list_item_group.vue.js +1 -4
  190. package/dist/vue2/components/list_item_group/list_item_group.vue.js.map +1 -1
  191. package/dist/vue2/components/modal/modal.vue.cjs +1 -4
  192. package/dist/vue2/components/modal/modal.vue.cjs.map +1 -1
  193. package/dist/vue2/components/modal/modal.vue.js +1 -4
  194. package/dist/vue2/components/modal/modal.vue.js.map +1 -1
  195. package/dist/vue2/components/notice/notice.vue.cjs +1 -4
  196. package/dist/vue2/components/notice/notice.vue.cjs.map +1 -1
  197. package/dist/vue2/components/notice/notice.vue.js +1 -4
  198. package/dist/vue2/components/notice/notice.vue.js.map +1 -1
  199. package/dist/vue2/components/notice/notice_action.vue.cjs +1 -4
  200. package/dist/vue2/components/notice/notice_action.vue.cjs.map +1 -1
  201. package/dist/vue2/components/notice/notice_action.vue.js +1 -4
  202. package/dist/vue2/components/notice/notice_action.vue.js.map +1 -1
  203. package/dist/vue2/components/notice/notice_content.vue.cjs +1 -4
  204. package/dist/vue2/components/notice/notice_content.vue.cjs.map +1 -1
  205. package/dist/vue2/components/notice/notice_content.vue.js +1 -4
  206. package/dist/vue2/components/notice/notice_content.vue.js.map +1 -1
  207. package/dist/vue2/components/notice/notice_icon.vue.cjs +1 -4
  208. package/dist/vue2/components/notice/notice_icon.vue.cjs.map +1 -1
  209. package/dist/vue2/components/notice/notice_icon.vue.js +1 -4
  210. package/dist/vue2/components/notice/notice_icon.vue.js.map +1 -1
  211. package/dist/vue2/components/pagination/pagination.vue.cjs +1 -4
  212. package/dist/vue2/components/pagination/pagination.vue.cjs.map +1 -1
  213. package/dist/vue2/components/pagination/pagination.vue.js +1 -4
  214. package/dist/vue2/components/pagination/pagination.vue.js.map +1 -1
  215. package/dist/vue2/components/popover/popover.vue.cjs +1 -4
  216. package/dist/vue2/components/popover/popover.vue.cjs.map +1 -1
  217. package/dist/vue2/components/popover/popover.vue.js +1 -4
  218. package/dist/vue2/components/popover/popover.vue.js.map +1 -1
  219. package/dist/vue2/components/popover/popover_header_footer.vue.cjs +1 -4
  220. package/dist/vue2/components/popover/popover_header_footer.vue.cjs.map +1 -1
  221. package/dist/vue2/components/popover/popover_header_footer.vue.js +1 -4
  222. package/dist/vue2/components/popover/popover_header_footer.vue.js.map +1 -1
  223. package/dist/vue2/components/presence/presence.vue.cjs +1 -4
  224. package/dist/vue2/components/presence/presence.vue.cjs.map +1 -1
  225. package/dist/vue2/components/presence/presence.vue.js +1 -4
  226. package/dist/vue2/components/presence/presence.vue.js.map +1 -1
  227. package/dist/vue2/components/radio/radio.vue.cjs +1 -4
  228. package/dist/vue2/components/radio/radio.vue.cjs.map +1 -1
  229. package/dist/vue2/components/radio/radio.vue.js +1 -4
  230. package/dist/vue2/components/radio/radio.vue.js.map +1 -1
  231. package/dist/vue2/components/radio_group/radio_group.vue.cjs +1 -4
  232. package/dist/vue2/components/radio_group/radio_group.vue.cjs.map +1 -1
  233. package/dist/vue2/components/radio_group/radio_group.vue.js +1 -4
  234. package/dist/vue2/components/radio_group/radio_group.vue.js.map +1 -1
  235. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelComponent.vue.cjs +1 -4
  236. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelComponent.vue.cjs.map +1 -1
  237. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelComponent.vue.js +1 -4
  238. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelComponent.vue.js.map +1 -1
  239. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.cjs +1 -4
  240. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.cjs.map +1 -1
  241. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.js +1 -4
  242. package/dist/vue2/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.js.map +1 -1
  243. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.cjs +1 -4
  244. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.cjs.map +1 -1
  245. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.js +1 -4
  246. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.js.map +1 -1
  247. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.cjs +1 -4
  248. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.cjs.map +1 -1
  249. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.js +1 -4
  250. package/dist/vue2/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.js.map +1 -1
  251. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionComponent.vue.cjs +1 -4
  252. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionComponent.vue.cjs.map +1 -1
  253. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionComponent.vue.js +1 -4
  254. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionComponent.vue.js.map +1 -1
  255. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs +1 -4
  256. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs.map +1 -1
  257. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js +1 -4
  258. package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js.map +1 -1
  259. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.cjs +1 -4
  260. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.cjs.map +1 -1
  261. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.js +1 -4
  262. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.js.map +1 -1
  263. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.cjs +1 -4
  264. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.cjs.map +1 -1
  265. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.js +1 -4
  266. package/dist/vue2/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.js.map +1 -1
  267. package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs +1 -4
  268. package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs.map +1 -1
  269. package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js +1 -4
  270. package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js.map +1 -1
  271. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs +1 -4
  272. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
  273. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js +1 -4
  274. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
  275. package/dist/vue2/components/root_layout/root_layout.vue.cjs +1 -4
  276. package/dist/vue2/components/root_layout/root_layout.vue.cjs.map +1 -1
  277. package/dist/vue2/components/root_layout/root_layout.vue.js +1 -4
  278. package/dist/vue2/components/root_layout/root_layout.vue.js.map +1 -1
  279. package/dist/vue2/components/select_menu/select_menu.vue.cjs +1 -4
  280. package/dist/vue2/components/select_menu/select_menu.vue.cjs.map +1 -1
  281. package/dist/vue2/components/select_menu/select_menu.vue.js +1 -4
  282. package/dist/vue2/components/select_menu/select_menu.vue.js.map +1 -1
  283. package/dist/vue2/components/skeleton/skeleton-list-item.vue.cjs +1 -4
  284. package/dist/vue2/components/skeleton/skeleton-list-item.vue.cjs.map +1 -1
  285. package/dist/vue2/components/skeleton/skeleton-list-item.vue.js +1 -4
  286. package/dist/vue2/components/skeleton/skeleton-list-item.vue.js.map +1 -1
  287. package/dist/vue2/components/skeleton/skeleton-paragraph.vue.cjs +1 -4
  288. package/dist/vue2/components/skeleton/skeleton-paragraph.vue.cjs.map +1 -1
  289. package/dist/vue2/components/skeleton/skeleton-paragraph.vue.js +1 -4
  290. package/dist/vue2/components/skeleton/skeleton-paragraph.vue.js.map +1 -1
  291. package/dist/vue2/components/skeleton/skeleton-shape.vue.cjs +1 -4
  292. package/dist/vue2/components/skeleton/skeleton-shape.vue.cjs.map +1 -1
  293. package/dist/vue2/components/skeleton/skeleton-shape.vue.js +1 -4
  294. package/dist/vue2/components/skeleton/skeleton-shape.vue.js.map +1 -1
  295. package/dist/vue2/components/skeleton/skeleton-text.vue.cjs +1 -4
  296. package/dist/vue2/components/skeleton/skeleton-text.vue.cjs.map +1 -1
  297. package/dist/vue2/components/skeleton/skeleton-text.vue.js +1 -4
  298. package/dist/vue2/components/skeleton/skeleton-text.vue.js.map +1 -1
  299. package/dist/vue2/components/skeleton/skeleton.vue.cjs +1 -4
  300. package/dist/vue2/components/skeleton/skeleton.vue.cjs.map +1 -1
  301. package/dist/vue2/components/skeleton/skeleton.vue.js +1 -4
  302. package/dist/vue2/components/skeleton/skeleton.vue.js.map +1 -1
  303. package/dist/vue2/components/split_button/split_button-alpha.vue.cjs +1 -4
  304. package/dist/vue2/components/split_button/split_button-alpha.vue.cjs.map +1 -1
  305. package/dist/vue2/components/split_button/split_button-alpha.vue.js +1 -4
  306. package/dist/vue2/components/split_button/split_button-alpha.vue.js.map +1 -1
  307. package/dist/vue2/components/split_button/split_button-omega.vue.cjs +1 -4
  308. package/dist/vue2/components/split_button/split_button-omega.vue.cjs.map +1 -1
  309. package/dist/vue2/components/split_button/split_button-omega.vue.js +1 -4
  310. package/dist/vue2/components/split_button/split_button-omega.vue.js.map +1 -1
  311. package/dist/vue2/components/split_button/split_button.vue.cjs +1 -4
  312. package/dist/vue2/components/split_button/split_button.vue.cjs.map +1 -1
  313. package/dist/vue2/components/split_button/split_button.vue.js +1 -4
  314. package/dist/vue2/components/split_button/split_button.vue.js.map +1 -1
  315. package/dist/vue2/components/stack/stack.vue.cjs +1 -4
  316. package/dist/vue2/components/stack/stack.vue.cjs.map +1 -1
  317. package/dist/vue2/components/stack/stack.vue.js +1 -4
  318. package/dist/vue2/components/stack/stack.vue.js.map +1 -1
  319. package/dist/vue2/components/tab/tab.vue.cjs +1 -4
  320. package/dist/vue2/components/tab/tab.vue.cjs.map +1 -1
  321. package/dist/vue2/components/tab/tab.vue.js +1 -4
  322. package/dist/vue2/components/tab/tab.vue.js.map +1 -1
  323. package/dist/vue2/components/tab/tab_group.vue.cjs +1 -4
  324. package/dist/vue2/components/tab/tab_group.vue.cjs.map +1 -1
  325. package/dist/vue2/components/tab/tab_group.vue.js +1 -4
  326. package/dist/vue2/components/tab/tab_group.vue.js.map +1 -1
  327. package/dist/vue2/components/tab/tab_panel.vue.cjs +1 -4
  328. package/dist/vue2/components/tab/tab_panel.vue.cjs.map +1 -1
  329. package/dist/vue2/components/tab/tab_panel.vue.js +1 -4
  330. package/dist/vue2/components/tab/tab_panel.vue.js.map +1 -1
  331. package/dist/vue2/components/toast/toast.vue.cjs +1 -4
  332. package/dist/vue2/components/toast/toast.vue.cjs.map +1 -1
  333. package/dist/vue2/components/toast/toast.vue.js +1 -4
  334. package/dist/vue2/components/toast/toast.vue.js.map +1 -1
  335. package/dist/vue2/components/toggle/toggle.vue.cjs +1 -4
  336. package/dist/vue2/components/toggle/toggle.vue.cjs.map +1 -1
  337. package/dist/vue2/components/toggle/toggle.vue.js +1 -4
  338. package/dist/vue2/components/toggle/toggle.vue.js.map +1 -1
  339. package/dist/vue2/components/tooltip/tooltip.vue.cjs +1 -4
  340. package/dist/vue2/components/tooltip/tooltip.vue.cjs.map +1 -1
  341. package/dist/vue2/components/tooltip/tooltip.vue.js +1 -4
  342. package/dist/vue2/components/tooltip/tooltip.vue.js.map +1 -1
  343. package/dist/vue2/components/validation_messages/validation_messages.vue.cjs +1 -4
  344. package/dist/vue2/components/validation_messages/validation_messages.vue.cjs.map +1 -1
  345. package/dist/vue2/components/validation_messages/validation_messages.vue.js +1 -4
  346. package/dist/vue2/components/validation_messages/validation_messages.vue.js.map +1 -1
  347. package/dist/vue2/recipes/buttons/callbar_button/callbar_button.vue.cjs +1 -5
  348. package/dist/vue2/recipes/buttons/callbar_button/callbar_button.vue.cjs.map +1 -1
  349. package/dist/vue2/recipes/buttons/callbar_button/callbar_button.vue.js +1 -5
  350. package/dist/vue2/recipes/buttons/callbar_button/callbar_button.vue.js.map +1 -1
  351. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +7 -11
  352. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  353. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +7 -11
  354. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  355. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.cjs +6 -10
  356. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  357. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.js +6 -10
  358. package/dist/vue2/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  359. package/dist/vue2/recipes/chips/grouped_chip/grouped_chip.vue.cjs +3 -7
  360. package/dist/vue2/recipes/chips/grouped_chip/grouped_chip.vue.cjs.map +1 -1
  361. package/dist/vue2/recipes/chips/grouped_chip/grouped_chip.vue.js +3 -7
  362. package/dist/vue2/recipes/chips/grouped_chip/grouped_chip.vue.js.map +1 -1
  363. package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +9 -10
  364. package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
  365. package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +9 -10
  366. package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
  367. package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs +1 -4
  368. package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs.map +1 -1
  369. package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js +1 -4
  370. package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js.map +1 -1
  371. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +4 -8
  372. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  373. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +4 -8
  374. package/dist/vue2/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  375. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +2 -6
  376. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  377. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +2 -6
  378. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  379. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs +2 -6
  380. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs.map +1 -1
  381. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js +2 -6
  382. package/dist/vue2/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js.map +1 -1
  383. package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs +22 -26
  384. package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  385. package/dist/vue2/recipes/conversation_view/editor/editor.vue.js +22 -26
  386. package/dist/vue2/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  387. package/dist/vue2/recipes/conversation_view/emoji_row/emoji_row.vue.cjs +8 -9
  388. package/dist/vue2/recipes/conversation_view/emoji_row/emoji_row.vue.cjs.map +1 -1
  389. package/dist/vue2/recipes/conversation_view/emoji_row/emoji_row.vue.js +8 -9
  390. package/dist/vue2/recipes/conversation_view/emoji_row/emoji_row.vue.js.map +1 -1
  391. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs +1 -5
  392. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs.map +1 -1
  393. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js +1 -5
  394. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js.map +1 -1
  395. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.cjs +3 -3
  396. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.cjs.map +1 -1
  397. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.js +3 -3
  398. package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.js.map +1 -1
  399. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +10 -14
  400. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
  401. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +10 -14
  402. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
  403. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row_constants.cjs +2 -2
  404. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row_constants.cjs.map +1 -1
  405. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row_constants.js +2 -2
  406. package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row_constants.js.map +1 -1
  407. package/dist/vue2/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.cjs +4 -8
  408. package/dist/vue2/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  409. package/dist/vue2/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.js +4 -8
  410. package/dist/vue2/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.js.map +1 -1
  411. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs +13 -17
  412. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  413. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js +13 -17
  414. package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  415. package/dist/vue2/recipes/conversation_view/time_pill/time_pill.vue.cjs +2 -6
  416. package/dist/vue2/recipes/conversation_view/time_pill/time_pill.vue.cjs.map +1 -1
  417. package/dist/vue2/recipes/conversation_view/time_pill/time_pill.vue.js +2 -6
  418. package/dist/vue2/recipes/conversation_view/time_pill/time_pill.vue.js.map +1 -1
  419. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +3 -7
  420. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  421. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.js +3 -7
  422. package/dist/vue2/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  423. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs +3 -7
  424. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
  425. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js +3 -7
  426. package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
  427. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.cjs +4 -8
  428. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  429. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.js +4 -8
  430. package/dist/vue2/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  431. package/dist/vue2/recipes/leftbar/callbox/callbox_constants.cjs +3 -3
  432. package/dist/vue2/recipes/leftbar/callbox/callbox_constants.cjs.map +1 -1
  433. package/dist/vue2/recipes/leftbar/callbox/callbox_constants.js +3 -3
  434. package/dist/vue2/recipes/leftbar/callbox/callbox_constants.js.map +1 -1
  435. package/dist/vue2/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs +12 -16
  436. package/dist/vue2/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs.map +1 -1
  437. package/dist/vue2/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js +12 -16
  438. package/dist/vue2/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js.map +1 -1
  439. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.cjs +2 -5
  440. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
  441. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.js +2 -5
  442. package/dist/vue2/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
  443. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.cjs +28 -32
  444. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  445. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.js +28 -32
  446. package/dist/vue2/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  447. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +2 -5
  448. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  449. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +2 -5
  450. package/dist/vue2/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  451. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs +1 -4
  452. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  453. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js +1 -4
  454. package/dist/vue2/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  455. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.cjs +2 -6
  456. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  457. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.js +2 -6
  458. package/dist/vue2/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  459. package/dist/vue2/recipes/notices/top_banner_info/top_banner_info.vue.cjs +2 -6
  460. package/dist/vue2/recipes/notices/top_banner_info/top_banner_info.vue.cjs.map +1 -1
  461. package/dist/vue2/recipes/notices/top_banner_info/top_banner_info.vue.js +2 -6
  462. package/dist/vue2/recipes/notices/top_banner_info/top_banner_info.vue.js.map +1 -1
  463. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  464. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  465. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +4 -4
  466. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +2 -2
  467. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +6 -6
  468. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  469. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs +0 -1
  470. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs.map +1 -1
  471. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js +0 -1
  472. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js.map +1 -1
  473. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +7 -8
  474. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  475. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +7 -8
  476. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  477. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs +7 -8
  478. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  479. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js +7 -8
  480. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  481. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.cjs +3 -4
  482. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.cjs.map +1 -1
  483. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.js +3 -4
  484. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.js.map +1 -1
  485. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +13 -11
  486. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
  487. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +13 -11
  488. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
  489. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +4 -5
  490. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  491. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +4 -5
  492. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  493. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +5 -6
  494. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  495. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +5 -6
  496. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  497. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs +3 -4
  498. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs.map +1 -1
  499. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js +3 -4
  500. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js.map +1 -1
  501. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs +22 -23
  502. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  503. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js +22 -23
  504. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  505. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.cjs +8 -6
  506. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.cjs.map +1 -1
  507. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.js +8 -6
  508. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.js.map +1 -1
  509. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs +7 -8
  510. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs.map +1 -1
  511. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js +7 -8
  512. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js.map +1 -1
  513. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.cjs +3 -3
  514. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.cjs.map +1 -1
  515. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.js +3 -3
  516. package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.js.map +1 -1
  517. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +28 -29
  518. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
  519. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +28 -29
  520. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
  521. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row_constants.cjs +2 -2
  522. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row_constants.cjs.map +1 -1
  523. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row_constants.js +2 -2
  524. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row_constants.js.map +1 -1
  525. package/dist/vue3/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.cjs +4 -5
  526. package/dist/vue3/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  527. package/dist/vue3/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.js +4 -5
  528. package/dist/vue3/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.js.map +1 -1
  529. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs +21 -22
  530. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  531. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js +21 -22
  532. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  533. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.cjs +2 -3
  534. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.cjs.map +1 -1
  535. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.js +2 -3
  536. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.js.map +1 -1
  537. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +4 -5
  538. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  539. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js +4 -5
  540. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  541. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs +10 -11
  542. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
  543. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js +10 -11
  544. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
  545. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs +23 -24
  546. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  547. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js +23 -24
  548. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  549. package/dist/vue3/recipes/leftbar/callbox/callbox_constants.cjs +3 -3
  550. package/dist/vue3/recipes/leftbar/callbox/callbox_constants.cjs.map +1 -1
  551. package/dist/vue3/recipes/leftbar/callbox/callbox_constants.js +3 -3
  552. package/dist/vue3/recipes/leftbar/callbox/callbox_constants.js.map +1 -1
  553. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs +26 -27
  554. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs.map +1 -1
  555. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js +26 -27
  556. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js.map +1 -1
  557. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs +7 -7
  558. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
  559. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js +7 -7
  560. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
  561. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs +41 -43
  562. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  563. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js +42 -44
  564. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  565. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +1 -1
  566. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  567. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +1 -1
  568. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  569. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs +3 -4
  570. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  571. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js +3 -4
  572. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  573. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.cjs +4 -5
  574. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.cjs.map +1 -1
  575. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.js +4 -5
  576. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.js.map +1 -1
  577. package/dist/vue3/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  578. package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  579. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  580. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +4 -4
  581. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +2 -2
  582. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +6 -6
  583. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  584. package/package.json +4 -6
  585. package/dist/vue2/style.css +0 -1424
  586. package/dist/vue3/style.css +0 -1427
@@ -1,6 +1,5 @@
1
1
  import { hasSlotContent } from "../../../common/utils.js";
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, createSlots, withCtx, renderSlot, createCommentVNode } from "vue";
3
- /* empty css */
4
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
5
4
  import DtChip from "../../../components/chip/chip.vue.js";
6
5
  const _sfc_main = {
@@ -16,7 +15,7 @@ const _sfc_main = {
16
15
  };
17
16
  const _hoisted_1 = {
18
17
  "data-qa": "grouped-chip",
19
- class: "dt-grouped-chip"
18
+ class: "dt-recipe-grouped-chip"
20
19
  };
21
20
  const _hoisted_2 = {
22
21
  key: 0,
@@ -43,7 +42,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
43
42
  "content-class": "d-fs100",
44
43
  size: "xs",
45
44
  "grouped-chip": true,
46
- class: "dt-chip-content dt-chip-content--left"
45
+ class: "dt-recipe-grouped-chip__content dt-recipe-grouped-chip__content-left"
47
46
  }, createSlots({
48
47
  default: withCtx(() => [
49
48
  $data.hasSlotContent(_ctx.$slots.leftContent) ? (openBlock(), createElementBlock("div", _hoisted_3, [
@@ -68,7 +67,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
68
67
  "content-class": "d-fs100",
69
68
  size: "xs",
70
69
  "grouped-chip": true,
71
- class: "dt-chip-content dt-chip-content--right"
70
+ class: "dt-recipe-grouped-chip__content dt-recipe-grouped-chip__content-right"
72
71
  }, {
73
72
  icon: withCtx(() => [
74
73
  $data.hasSlotContent(_ctx.$slots.rightIcon) ? (openBlock(), createElementBlock("div", _hoisted_4, [
@@ -1 +1 @@
1
- {"version":3,"file":"grouped_chip.vue.js","sources":["../../../../recipes/chips/grouped_chip/grouped_chip.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"grouped-chip\"\n class=\"dt-grouped-chip\"\n >\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--left\"\n >\n <template\n v-if=\"hasSlotContent($slots.leftIcon)\"\n #icon\n >\n <!-- @slot Slot for left chip icon information -->\n <div\n v-if=\"hasSlotContent($slots.leftIcon)\"\n data-qa=\"left-grouped-chip-icon\"\n >\n <slot name=\"leftIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"hasSlotContent($slots.leftContent)\"\n data-qa=\"left-grouped-chip-content\"\n >\n <!-- @slot Slot for left chip content information -->\n <slot name=\"leftContent\" />\n </div>\n </template>\n </dt-chip>\n\n <!-- Right side split chip -->\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--right\"\n >\n <template #icon>\n <div\n v-if=\"hasSlotContent($slots.rightIcon)\"\n data-qa=\"right-grouped-chip-icon\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"hasSlotContent($slots.rightContent)\"\n data-qa=\"right-grouped-chip-content\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightContent\" />\n </div>\n </template>\n </dt-chip>\n </div>\n</template>\n\n<script>\nimport { DtChip } from '@/components/chip';\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGroupedChip',\n\n components: {\n DtChip,\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-grouped-chip {\n display: inline-flex;\n white-space: nowrap;\n background-color: unset;\n background-image: unset;\n}\n\n.dt-chip-content {\n font-variant-numeric: tabular-nums;\n\n &--left {\n border-top-left-radius: var(--dt-size-radius-pill);\n border-bottom-left-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-surface-moderate-opaque);\n max-width: var(--dt-size-730);\n }\n\n &--right {\n border-top-right-radius: var(--dt-size-radius-pill);\n border-bottom-right-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-purple-200);\n max-width: var(--dt-size-730);\n }\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_createSlots","_renderSlot","_createCommentVNode","_withCtx"],"mappings":";;;;;AAuEA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL;AAAA;EAEH;AACH;;EAjFI,WAAQ;AAAA,EACR,OAAM;;;EAHV,KAAA;AAAA,EAoBU,WAAQ;;;EApBlB,KAAA;AAAA,EA4BU,WAAQ;;;EA5BlB,KAAA;AAAA,EAgDU,WAAQ;;;EAhDlB,KAAA;AAAA,EAyDU,WAAQ;;;;AAxDhB,SAAAA,UAAA,GAAAC,mBA+DM,OA/DN,YA+DM;AAAA,IA3DJC,YA6BU,oBAAA;AAAA,MA5BP,cAAY;AAAA,MACZ,aAAa;AAAA,MACd,iBAAc;AAAA,MACd,MAAK;AAAA,MACJ,gBAAc;AAAA,MACf,OAAM;AAAA,IAXZ,GAAAC,YAAA;AAAA,MAyBiB,iBACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,WAAW,KADzCH,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAA2B,KAAA,QAAA,aAAA;AAAA,cA/BrCC,mBAAA,IAAA,IAAA;AAAA;MAAA,GAAA;AAAA;MAcc,MAAc,eAAC,KAAM,OAAC,QAAQ;QAd5C,MAeS;AAAA,QAfT,IAAAC,QAkBQ,MAKM;AAAA,UAJE,MAAc,eAAC,KAAM,OAAC,QAAQ,KADtCN,aAAAC,mBAKM,OALN,YAKM;AAAA,YADJG,WAAwB,KAAA,QAAA,UAAA;AAAA,gBAtBlCC,mBAAA,IAAA,IAAA;AAAA;QAAA,KAAA;AAAA,UAAA;AAAA;IAqCIH,YA0BU,oBAAA;AAAA,MAzBP,cAAY;AAAA,MACZ,aAAa;AAAA,MACd,iBAAc;AAAA,MACd,MAAK;AAAA,MACJ,gBAAc;AAAA,MACf,OAAM;AAAA;MAEK,cACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,SAAS,KADvCF,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAAyB,KAAA,QAAA,WAAA;AAAA,cAnDnCC,mBAAA,IAAA,IAAA;AAAA;MAsDiB,iBACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,YAAY,KAD1CL,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAA4B,KAAA,QAAA,cAAA;AAAA,cA5DtCC,mBAAA,IAAA,IAAA;AAAA;MAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"grouped_chip.vue.js","sources":["../../../../recipes/chips/grouped_chip/grouped_chip.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"grouped-chip\"\n class=\"dt-recipe-grouped-chip\"\n >\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-recipe-grouped-chip__content dt-recipe-grouped-chip__content-left\"\n >\n <template\n v-if=\"hasSlotContent($slots.leftIcon)\"\n #icon\n >\n <!-- @slot Slot for left chip icon information -->\n <div\n v-if=\"hasSlotContent($slots.leftIcon)\"\n data-qa=\"left-grouped-chip-icon\"\n >\n <slot name=\"leftIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"hasSlotContent($slots.leftContent)\"\n data-qa=\"left-grouped-chip-content\"\n >\n <!-- @slot Slot for left chip content information -->\n <slot name=\"leftContent\" />\n </div>\n </template>\n </dt-chip>\n\n <!-- Right side split chip -->\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-recipe-grouped-chip__content dt-recipe-grouped-chip__content-right\"\n >\n <template #icon>\n <div\n v-if=\"hasSlotContent($slots.rightIcon)\"\n data-qa=\"right-grouped-chip-icon\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"hasSlotContent($slots.rightContent)\"\n data-qa=\"right-grouped-chip-content\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightContent\" />\n </div>\n </template>\n </dt-chip>\n </div>\n</template>\n\n<script>\nimport { DtChip } from '@/components/chip';\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGroupedChip',\n\n components: {\n DtChip,\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_createSlots","_renderSlot","_createCommentVNode","_withCtx"],"mappings":";;;;AAuEA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL;AAAA;EAEH;AACH;;EAjFI,WAAQ;AAAA,EACR,OAAM;;;EAHV,KAAA;AAAA,EAoBU,WAAQ;;;EApBlB,KAAA;AAAA,EA4BU,WAAQ;;;EA5BlB,KAAA;AAAA,EAgDU,WAAQ;;;EAhDlB,KAAA;AAAA,EAyDU,WAAQ;;;;AAxDhB,SAAAA,UAAA,GAAAC,mBA+DM,OA/DN,YA+DM;AAAA,IA3DJC,YA6BU,oBAAA;AAAA,MA5BP,cAAY;AAAA,MACZ,aAAa;AAAA,MACd,iBAAc;AAAA,MACd,MAAK;AAAA,MACJ,gBAAc;AAAA,MACf,OAAM;AAAA,IAXZ,GAAAC,YAAA;AAAA,MAyBiB,iBACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,WAAW,KADzCH,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAA2B,KAAA,QAAA,aAAA;AAAA,cA/BrCC,mBAAA,IAAA,IAAA;AAAA;MAAA,GAAA;AAAA;MAcc,MAAc,eAAC,KAAM,OAAC,QAAQ;QAd5C,MAeS;AAAA,QAfT,IAAAC,QAkBQ,MAKM;AAAA,UAJE,MAAc,eAAC,KAAM,OAAC,QAAQ,KADtCN,aAAAC,mBAKM,OALN,YAKM;AAAA,YADJG,WAAwB,KAAA,QAAA,UAAA;AAAA,gBAtBlCC,mBAAA,IAAA,IAAA;AAAA;QAAA,KAAA;AAAA,UAAA;AAAA;IAqCIH,YA0BU,oBAAA;AAAA,MAzBP,cAAY;AAAA,MACZ,aAAa;AAAA,MACd,iBAAc;AAAA,MACd,MAAK;AAAA,MACJ,gBAAc;AAAA,MACf,OAAM;AAAA;MAEK,cACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,SAAS,KADvCF,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAAyB,KAAA,QAAA,WAAA;AAAA,cAnDnCC,mBAAA,IAAA,IAAA;AAAA;MAsDiB,iBACT,MAMM;AAAA,QALE,MAAc,eAAC,KAAM,OAAC,YAAY,KAD1CL,aAAAC,mBAMM,OANN,YAMM;AAAA,UADJG,WAA4B,KAAA,QAAA,cAAA;AAAA,cA5DtCC,mBAAA,IAAA,IAAA;AAAA;MAAA,GAAA;AAAA;;;;"}
@@ -10,7 +10,6 @@ const popover_constants = require("../../../components/popover/popover_constants
10
10
  const combobox_multi_select_constants = require("./combobox_multi_select_constants.cjs");
11
11
  const sr_only_close_button = require("../../../common/mixins/sr_only_close_button.cjs");
12
12
  const vue = require("vue");
13
- ;/* empty css */
14
13
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
15
14
  const _sfc_main = {
16
15
  name: "DtRecipeComboboxMultiSelect",
@@ -312,7 +311,7 @@ const _sfc_main = {
312
311
  },
313
312
  chipWrapperClass() {
314
313
  return {
315
- [`combobox__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut
314
+ [`dt-recipe-combobox-multi-select__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut
316
315
  };
317
316
  }
318
317
  },
@@ -546,7 +545,7 @@ const _sfc_main = {
546
545
  const _hoisted_1 = { ref: "header" };
547
546
  const _hoisted_2 = {
548
547
  key: 1,
549
- class: "combobox__list--loading"
548
+ class: "dt-recipe-combobox-multi-select__list--loading"
550
549
  };
551
550
  const _hoisted_3 = { ref: "footer" };
552
551
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -573,13 +572,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
573
572
  input: vue.withCtx(({ onInput }) => [
574
573
  vue.createElementVNode("span", {
575
574
  ref: "inputSlotWrapper",
576
- class: "combobox__input-wrapper",
575
+ class: "dt-recipe-combobox-multi-select__input-wrapper",
577
576
  onFocusin: _cache[1] || (_cache[1] = (...args) => $options.handleInputFocusIn && $options.handleInputFocusIn(...args)),
578
577
  onFocusout: _cache[2] || (_cache[2] = (...args) => $options.handleInputFocusOut && $options.handleInputFocusOut(...args))
579
578
  }, [
580
579
  vue.createElementVNode("span", {
581
580
  ref: "chipsWrapper",
582
- class: vue.normalizeClass(["combobox__chip-wrapper", $options.chipWrapperClass])
581
+ class: vue.normalizeClass(["dt-recipe-combobox-multi-select__chip-wrapper", $options.chipWrapperClass])
583
582
  }, [
584
583
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.selectedItems, (item) => {
585
584
  return vue.openBlock(), vue.createBlock(_component_dt_chip, vue.mergeProps({
@@ -587,7 +586,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
587
586
  ref: "chips",
588
587
  key: item,
589
588
  "label-class": ["d-chip__label"],
590
- class: ["combobox__chip", { "combobox__chip--truncate": !!$props.chipMaxWidth }],
589
+ class: [
590
+ "dt-recipe-combobox-multi-select__chip",
591
+ { "dt-recipe-combobox-multi-select__chip--truncate": !!$props.chipMaxWidth }
592
+ ],
591
593
  style: { maxWidth: $props.chipMaxWidth },
592
594
  "close-button-props": { ariaLabel: "close" },
593
595
  size: $data.CHIP_SIZES[$props.size]
@@ -606,7 +608,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
606
608
  ref: "input",
607
609
  modelValue: $data.value,
608
610
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.value = $event),
609
- class: "combobox__input",
611
+ class: "dt-recipe-combobox-multi-select__input",
610
612
  "input-class": [$props.inputClass, { "d-fc-transparent": $data.hideInputText }],
611
613
  "input-wrapper-class": $props.inputWrapperClass,
612
614
  "aria-label": $props.label,
@@ -629,7 +631,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
629
631
  onMousedown: _cache[3] || (_cache[3] = vue.withModifiers(() => {
630
632
  }, ["prevent"]))
631
633
  }, [
632
- !$props.loading ? vue.renderSlot(_ctx.$slots, "list", { key: 0 }, void 0, true) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, vue.toDisplayString($props.loadingMessage), 1))
634
+ !$props.loading ? vue.renderSlot(_ctx.$slots, "list", { key: 0 }) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, vue.toDisplayString($props.loadingMessage), 1))
633
635
  ], 544)
634
636
  ]),
635
637
  _: 2
@@ -638,7 +640,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
638
640
  name: "header",
639
641
  fn: vue.withCtx(() => [
640
642
  vue.createElementVNode("div", _hoisted_1, [
641
- vue.renderSlot(_ctx.$slots, "header", {}, void 0, true)
643
+ vue.renderSlot(_ctx.$slots, "header")
642
644
  ], 512)
643
645
  ]),
644
646
  key: "0"
@@ -647,13 +649,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
647
649
  name: "footer",
648
650
  fn: vue.withCtx(() => [
649
651
  vue.createElementVNode("div", _hoisted_3, [
650
- vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
652
+ vue.renderSlot(_ctx.$slots, "footer")
651
653
  ], 512)
652
654
  ]),
653
655
  key: "1"
654
656
  } : void 0
655
657
  ]), 1032, ["label", "show-list", "max-height", "max-width", "popover-offset", "has-suggestion-list", "visually-hidden-close-label", "visually-hidden-close", "append-to", "transition", "onSelect", "onHighlight"]);
656
658
  }
657
- const combobox_multi_select = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-489217f9"]]);
659
+ const combobox_multi_select = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
658
660
  exports.default = combobox_multi_select;
659
661
  //# sourceMappingURL=combobox_multi_select.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox_multi_select.vue.cjs","sources":["../../../../recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-recipe-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"combobox__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['combobox__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"item in selectedItems\"\n ref=\"chips\"\n :key=\"item\"\n :label-class=\"['d-chip__label']\"\n :class=\"['combobox__chip', { 'combobox__chip--truncate': !!chipMaxWidth }]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :close-button-props=\"{ ariaLabel: 'close' }\"\n :size=\"CHIP_SIZES[size]\"\n v-on=\"chipListeners\"\n @keyup.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"combobox__input\"\n :input-class=\"[inputClass, { 'd-fc-transparent': hideInputText }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :aria-label=\"label\"\n :label=\"labelVisible ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-on=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div ref=\"header\">\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"combobox__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div ref=\"footer\">\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-recipe-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtRecipeComboboxWithPopover from '@/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { hasSlotContent } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n MULTI_SELECT_SIZES,\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\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 * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\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 * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\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 * Size of the chip, one of `xs`, `sm`, `md`\n */\n size: {\n type: String,\n default: 'md',\n validator: (t) => Object.values(MULTI_SELECT_SIZES).includes(t),\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 * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String }\n */\n 'input',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keyup: event => {\n this.onChipKeyup(event);\n this.$emit('keyup', event);\n },\n };\n },\n\n inputListeners () {\n return {\n input: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n keyup: event => {\n this.onInputKeyup(event);\n this.$emit('keyup', event);\n },\n\n click: event => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`combobox__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChipButtons () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));\n },\n\n getChips () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el);\n },\n\n getLastChipButton () {\n return this.$refs.chips && this.getChipButtons()[this.getChipButtons().length - 1];\n },\n\n getLastChip () {\n return this.$refs.chips && this.getChips()[this.getChips().length - 1];\n },\n\n getFirstChip () {\n return this.$refs.chips && this.getChips()[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyup (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyup (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[this.size]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingLeft = left + 'px';\n } else {\n input.style.paddingLeft = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingTop = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingLeft = '';\n input.style.paddingTop = '';\n input.style.paddingBottom = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n await this.$nextTick();\n this.setInputPadding();\n this.hideInputText = false;\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.hideInputText = true;\n this.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n\n<style scoped lang=\"less\">\n.combobox__input-wrapper {\n position: relative;\n display: block;\n}\n\n.combobox__chip-wrapper {\n position: absolute;\n margin-left: var(--dt-space-200);\n margin-right: var(--dt-space-200);\n padding-left: var(--dt-space-100);\n max-width: calc(var(--dt-size-100-percent) - var(--dt-space-400));\n max-height: initial;\n overflow-y: visible;\n}\n\n.combobox__chip-wrapper-md--collapsed {\n max-height: 2.8rem;\n overflow-y: hidden;\n}\n\n.combobox__chip-wrapper-sm--collapsed,\n.combobox__chip-wrapper-xs--collapsed {\n max-height: 2.5rem;\n overflow-y: hidden;\n}\n\n.combobox__chip {\n margin-top: var(--dt-space-300);\n margin-left: var(--dt-space-200);\n margin-right: var(--dt-space-200);\n z-index: var(--zi-base1);\n max-width: var(--dt-size-100-percent);\n}\n\n.combobox__input {\n flex-grow: 1;\n}\n\n.combobox__list--loading {\n text-align: center;\n padding-top: var(--dt-space-500);\n padding-bottom: var(--dt-space-500);\n}\n\n.combobox__chip--truncate {\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n</style>\n"],"names":["DtRecipeComboboxWithPopover","DtInput","DtChip","DtValidationMessages","SrOnlyCloseButtonMixin","validationMessageValidator","MULTI_SELECT_SIZES","POPOVER_APPEND_TO_VALUES","CHIP_SIZES","hasSlotContent","input","chip","CHIP_TOP_POSITION","_createBlock","_createSlots","_withCtx","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","_mergeProps","_toHandlers","_withKeys","_createTextVNode","_toDisplayString","_createVNode","_withModifiers","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"combobox_multi_select.vue.cjs","sources":["../../../../recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-recipe-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"dt-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['dt-recipe-combobox-multi-select__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"item in selectedItems\"\n ref=\"chips\"\n :key=\"item\"\n :label-class=\"['d-chip__label']\"\n :class=\"[\n 'dt-recipe-combobox-multi-select__chip',\n { 'dt-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :close-button-props=\"{ ariaLabel: 'close' }\"\n :size=\"CHIP_SIZES[size]\"\n v-on=\"chipListeners\"\n @keyup.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"dt-recipe-combobox-multi-select__input\"\n :input-class=\"[inputClass, { 'd-fc-transparent': hideInputText }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :aria-label=\"label\"\n :label=\"labelVisible ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-on=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div ref=\"header\">\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"dt-recipe-combobox-multi-select__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div ref=\"footer\">\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-recipe-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtRecipeComboboxWithPopover from '@/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { hasSlotContent } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n MULTI_SELECT_SIZES,\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\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 * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\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 * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\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 * Size of the chip, one of `xs`, `sm`, `md`\n */\n size: {\n type: String,\n default: 'md',\n validator: (t) => Object.values(MULTI_SELECT_SIZES).includes(t),\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 * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String }\n */\n 'input',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keyup: event => {\n this.onChipKeyup(event);\n this.$emit('keyup', event);\n },\n };\n },\n\n inputListeners () {\n return {\n input: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n keyup: event => {\n this.onInputKeyup(event);\n this.$emit('keyup', event);\n },\n\n click: event => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`dt-recipe-combobox-multi-select__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChipButtons () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));\n },\n\n getChips () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el);\n },\n\n getLastChipButton () {\n return this.$refs.chips && this.getChipButtons()[this.getChipButtons().length - 1];\n },\n\n getLastChip () {\n return this.$refs.chips && this.getChips()[this.getChips().length - 1];\n },\n\n getFirstChip () {\n return this.$refs.chips && this.getChips()[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyup (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyup (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[this.size]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingLeft = left + 'px';\n } else {\n input.style.paddingLeft = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingTop = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingLeft = '';\n input.style.paddingTop = '';\n input.style.paddingBottom = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n await this.$nextTick();\n this.setInputPadding();\n this.hideInputText = false;\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.hideInputText = true;\n this.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n"],"names":["DtRecipeComboboxWithPopover","DtInput","DtChip","DtValidationMessages","SrOnlyCloseButtonMixin","validationMessageValidator","MULTI_SELECT_SIZES","POPOVER_APPEND_TO_VALUES","CHIP_SIZES","hasSlotContent","input","chip","CHIP_TOP_POSITION","_createBlock","_createSlots","_withCtx","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","_mergeProps","_toHandlers","_withKeys","_createTextVNode","_toDisplayString","_createVNode","_withModifiers","_renderSlot"],"mappings":"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"}
@@ -8,7 +8,6 @@ import { POPOVER_APPEND_TO_VALUES } from "../../../components/popover/popover_co
8
8
  import { MULTI_SELECT_SIZES, CHIP_SIZES, CHIP_TOP_POSITION } from "./combobox_multi_select_constants.js";
9
9
  import SrOnlyCloseButtonMixin from "../../../common/mixins/sr_only_close_button.js";
10
10
  import { resolveComponent, openBlock, createBlock, createSlots, withCtx, createElementVNode, normalizeClass, createElementBlock, Fragment, renderList, mergeProps, toHandlers, withKeys, createTextVNode, toDisplayString, createVNode, withModifiers, renderSlot } from "vue";
11
- /* empty css */
12
11
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
13
12
  const _sfc_main = {
14
13
  name: "DtRecipeComboboxMultiSelect",
@@ -310,7 +309,7 @@ const _sfc_main = {
310
309
  },
311
310
  chipWrapperClass() {
312
311
  return {
313
- [`combobox__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut
312
+ [`dt-recipe-combobox-multi-select__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut
314
313
  };
315
314
  }
316
315
  },
@@ -544,7 +543,7 @@ const _sfc_main = {
544
543
  const _hoisted_1 = { ref: "header" };
545
544
  const _hoisted_2 = {
546
545
  key: 1,
547
- class: "combobox__list--loading"
546
+ class: "dt-recipe-combobox-multi-select__list--loading"
548
547
  };
549
548
  const _hoisted_3 = { ref: "footer" };
550
549
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -571,13 +570,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
571
570
  input: withCtx(({ onInput }) => [
572
571
  createElementVNode("span", {
573
572
  ref: "inputSlotWrapper",
574
- class: "combobox__input-wrapper",
573
+ class: "dt-recipe-combobox-multi-select__input-wrapper",
575
574
  onFocusin: _cache[1] || (_cache[1] = (...args) => $options.handleInputFocusIn && $options.handleInputFocusIn(...args)),
576
575
  onFocusout: _cache[2] || (_cache[2] = (...args) => $options.handleInputFocusOut && $options.handleInputFocusOut(...args))
577
576
  }, [
578
577
  createElementVNode("span", {
579
578
  ref: "chipsWrapper",
580
- class: normalizeClass(["combobox__chip-wrapper", $options.chipWrapperClass])
579
+ class: normalizeClass(["dt-recipe-combobox-multi-select__chip-wrapper", $options.chipWrapperClass])
581
580
  }, [
582
581
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.selectedItems, (item) => {
583
582
  return openBlock(), createBlock(_component_dt_chip, mergeProps({
@@ -585,7 +584,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
585
584
  ref: "chips",
586
585
  key: item,
587
586
  "label-class": ["d-chip__label"],
588
- class: ["combobox__chip", { "combobox__chip--truncate": !!$props.chipMaxWidth }],
587
+ class: [
588
+ "dt-recipe-combobox-multi-select__chip",
589
+ { "dt-recipe-combobox-multi-select__chip--truncate": !!$props.chipMaxWidth }
590
+ ],
589
591
  style: { maxWidth: $props.chipMaxWidth },
590
592
  "close-button-props": { ariaLabel: "close" },
591
593
  size: $data.CHIP_SIZES[$props.size]
@@ -604,7 +606,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
604
606
  ref: "input",
605
607
  modelValue: $data.value,
606
608
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.value = $event),
607
- class: "combobox__input",
609
+ class: "dt-recipe-combobox-multi-select__input",
608
610
  "input-class": [$props.inputClass, { "d-fc-transparent": $data.hideInputText }],
609
611
  "input-wrapper-class": $props.inputWrapperClass,
610
612
  "aria-label": $props.label,
@@ -627,7 +629,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
627
629
  onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {
628
630
  }, ["prevent"]))
629
631
  }, [
630
- !$props.loading ? renderSlot(_ctx.$slots, "list", { key: 0 }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString($props.loadingMessage), 1))
632
+ !$props.loading ? renderSlot(_ctx.$slots, "list", { key: 0 }) : (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString($props.loadingMessage), 1))
631
633
  ], 544)
632
634
  ]),
633
635
  _: 2
@@ -636,7 +638,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
636
638
  name: "header",
637
639
  fn: withCtx(() => [
638
640
  createElementVNode("div", _hoisted_1, [
639
- renderSlot(_ctx.$slots, "header", {}, void 0, true)
641
+ renderSlot(_ctx.$slots, "header")
640
642
  ], 512)
641
643
  ]),
642
644
  key: "0"
@@ -645,14 +647,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
645
647
  name: "footer",
646
648
  fn: withCtx(() => [
647
649
  createElementVNode("div", _hoisted_3, [
648
- renderSlot(_ctx.$slots, "footer", {}, void 0, true)
650
+ renderSlot(_ctx.$slots, "footer")
649
651
  ], 512)
650
652
  ]),
651
653
  key: "1"
652
654
  } : void 0
653
655
  ]), 1032, ["label", "show-list", "max-height", "max-width", "popover-offset", "has-suggestion-list", "visually-hidden-close-label", "visually-hidden-close", "append-to", "transition", "onSelect", "onHighlight"]);
654
656
  }
655
- const combobox_multi_select = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-489217f9"]]);
657
+ const combobox_multi_select = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
656
658
  export {
657
659
  combobox_multi_select as default
658
660
  };
@@ -1 +1 @@
1
- {"version":3,"file":"combobox_multi_select.vue.js","sources":["../../../../recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-recipe-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"combobox__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['combobox__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"item in selectedItems\"\n ref=\"chips\"\n :key=\"item\"\n :label-class=\"['d-chip__label']\"\n :class=\"['combobox__chip', { 'combobox__chip--truncate': !!chipMaxWidth }]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :close-button-props=\"{ ariaLabel: 'close' }\"\n :size=\"CHIP_SIZES[size]\"\n v-on=\"chipListeners\"\n @keyup.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"combobox__input\"\n :input-class=\"[inputClass, { 'd-fc-transparent': hideInputText }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :aria-label=\"label\"\n :label=\"labelVisible ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-on=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div ref=\"header\">\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"combobox__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div ref=\"footer\">\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-recipe-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtRecipeComboboxWithPopover from '@/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { hasSlotContent } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n MULTI_SELECT_SIZES,\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\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 * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\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 * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\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 * Size of the chip, one of `xs`, `sm`, `md`\n */\n size: {\n type: String,\n default: 'md',\n validator: (t) => Object.values(MULTI_SELECT_SIZES).includes(t),\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 * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String }\n */\n 'input',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keyup: event => {\n this.onChipKeyup(event);\n this.$emit('keyup', event);\n },\n };\n },\n\n inputListeners () {\n return {\n input: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n keyup: event => {\n this.onInputKeyup(event);\n this.$emit('keyup', event);\n },\n\n click: event => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`combobox__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChipButtons () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));\n },\n\n getChips () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el);\n },\n\n getLastChipButton () {\n return this.$refs.chips && this.getChipButtons()[this.getChipButtons().length - 1];\n },\n\n getLastChip () {\n return this.$refs.chips && this.getChips()[this.getChips().length - 1];\n },\n\n getFirstChip () {\n return this.$refs.chips && this.getChips()[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyup (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyup (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[this.size]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingLeft = left + 'px';\n } else {\n input.style.paddingLeft = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingTop = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingLeft = '';\n input.style.paddingTop = '';\n input.style.paddingBottom = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n await this.$nextTick();\n this.setInputPadding();\n this.hideInputText = false;\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.hideInputText = true;\n this.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n\n<style scoped lang=\"less\">\n.combobox__input-wrapper {\n position: relative;\n display: block;\n}\n\n.combobox__chip-wrapper {\n position: absolute;\n margin-left: var(--dt-space-200);\n margin-right: var(--dt-space-200);\n padding-left: var(--dt-space-100);\n max-width: calc(var(--dt-size-100-percent) - var(--dt-space-400));\n max-height: initial;\n overflow-y: visible;\n}\n\n.combobox__chip-wrapper-md--collapsed {\n max-height: 2.8rem;\n overflow-y: hidden;\n}\n\n.combobox__chip-wrapper-sm--collapsed,\n.combobox__chip-wrapper-xs--collapsed {\n max-height: 2.5rem;\n overflow-y: hidden;\n}\n\n.combobox__chip {\n margin-top: var(--dt-space-300);\n margin-left: var(--dt-space-200);\n margin-right: var(--dt-space-200);\n z-index: var(--zi-base1);\n max-width: var(--dt-size-100-percent);\n}\n\n.combobox__input {\n flex-grow: 1;\n}\n\n.combobox__list--loading {\n text-align: center;\n padding-top: var(--dt-space-500);\n padding-bottom: var(--dt-space-500);\n}\n\n.combobox__chip--truncate {\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n</style>\n"],"names":["_createBlock","_createSlots","_withCtx","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","_mergeProps","_toHandlers","_withKeys","_createTextVNode","_toDisplayString","_createVNode","_withModifiers","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"combobox_multi_select.vue.js","sources":["../../../../recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-recipe-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"dt-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['dt-recipe-combobox-multi-select__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"item in selectedItems\"\n ref=\"chips\"\n :key=\"item\"\n :label-class=\"['d-chip__label']\"\n :class=\"[\n 'dt-recipe-combobox-multi-select__chip',\n { 'dt-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :close-button-props=\"{ ariaLabel: 'close' }\"\n :size=\"CHIP_SIZES[size]\"\n v-on=\"chipListeners\"\n @keyup.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"dt-recipe-combobox-multi-select__input\"\n :input-class=\"[inputClass, { 'd-fc-transparent': hideInputText }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :aria-label=\"label\"\n :label=\"labelVisible ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-on=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div ref=\"header\">\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"dt-recipe-combobox-multi-select__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div ref=\"footer\">\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-recipe-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtRecipeComboboxWithPopover from '@/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { hasSlotContent } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n MULTI_SELECT_SIZES,\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\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 * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\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 * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\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 * Size of the chip, one of `xs`, `sm`, `md`\n */\n size: {\n type: String,\n default: 'md',\n validator: (t) => Object.values(MULTI_SELECT_SIZES).includes(t),\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 * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String }\n */\n 'input',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keyup: event => {\n this.onChipKeyup(event);\n this.$emit('keyup', event);\n },\n };\n },\n\n inputListeners () {\n return {\n input: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n keyup: event => {\n this.onInputKeyup(event);\n this.$emit('keyup', event);\n },\n\n click: event => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`dt-recipe-combobox-multi-select__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChipButtons () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));\n },\n\n getChips () {\n return this.$refs.chips && this.$refs.chips.map(chip => chip.$el);\n },\n\n getLastChipButton () {\n return this.$refs.chips && this.getChipButtons()[this.getChipButtons().length - 1];\n },\n\n getLastChip () {\n return this.$refs.chips && this.getChips()[this.getChips().length - 1];\n },\n\n getFirstChip () {\n return this.$refs.chips && this.getChips()[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyup (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyup (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[this.size]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingLeft = left + 'px';\n } else {\n input.style.paddingLeft = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingTop = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingLeft = '';\n input.style.paddingTop = '';\n input.style.paddingBottom = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n await this.$nextTick();\n this.setInputPadding();\n this.hideInputText = false;\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.hideInputText = true;\n this.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n"],"names":["_createBlock","_createSlots","_withCtx","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","_mergeProps","_toHandlers","_withKeys","_createTextVNode","_toDisplayString","_createVNode","_withModifiers","_renderSlot"],"mappings":"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"}