@dialpad/dialtone-vue 3.209.0 → 3.210.0-next.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 (402) hide show
  1. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  2. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  3. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  4. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/dialtone-vue.cjs +1 -1
  7. package/dist/dialtone-vue.js +422 -386
  8. package/dist/dialtone-vue.js.map +1 -1
  9. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  10. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  11. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  12. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  13. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  14. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  15. package/dist/lib/avatar/avatar-constants.js +169 -43
  16. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  17. package/dist/lib/avatar/avatar.cjs +1 -1
  18. package/dist/lib/avatar/avatar.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar.js +185 -100
  20. package/dist/lib/avatar/avatar.js.map +1 -1
  21. package/dist/lib/avatar/index.cjs +1 -1
  22. package/dist/lib/avatar/index.js +16 -10
  23. package/dist/lib/badge/badge.cjs +1 -1
  24. package/dist/lib/badge/badge.cjs.map +1 -1
  25. package/dist/lib/badge/badge.js +47 -35
  26. package/dist/lib/badge/badge.js.map +1 -1
  27. package/dist/lib/button/button-constants.cjs +1 -1
  28. package/dist/lib/button/button-constants.cjs.map +1 -1
  29. package/dist/lib/button/button-constants.js +23 -19
  30. package/dist/lib/button/button-constants.js.map +1 -1
  31. package/dist/lib/button/button.cjs +1 -1
  32. package/dist/lib/button/button.cjs.map +1 -1
  33. package/dist/lib/button/button.js +138 -60
  34. package/dist/lib/button/button.js.map +1 -1
  35. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  36. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  37. package/dist/lib/callbar-button/callbar-button.js +8 -9
  38. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  39. package/dist/lib/callbox/callbox.cjs +1 -1
  40. package/dist/lib/callbox/callbox.cjs.map +1 -1
  41. package/dist/lib/callbox/callbox.js +47 -47
  42. package/dist/lib/callbox/callbox.js.map +1 -1
  43. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  44. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  45. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  46. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  47. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  48. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  49. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  50. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  51. package/dist/lib/contact-info/contact-info.cjs +1 -1
  52. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  53. package/dist/lib/contact-info/contact-info.js +56 -56
  54. package/dist/lib/contact-info/contact-info.js.map +1 -1
  55. package/dist/lib/contact-row/contact-row.cjs +1 -1
  56. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  57. package/dist/lib/contact-row/contact-row.js +1 -1
  58. package/dist/lib/contact-row/contact-row.js.map +1 -1
  59. package/dist/lib/datepicker/datepicker.cjs +1 -1
  60. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  61. package/dist/lib/datepicker/datepicker.js +11 -11
  62. package/dist/lib/datepicker/datepicker.js.map +1 -1
  63. package/dist/lib/editor/editor.cjs +1 -1
  64. package/dist/lib/editor/editor.cjs.map +1 -1
  65. package/dist/lib/editor/editor.js +13 -12
  66. package/dist/lib/editor/editor.js.map +1 -1
  67. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  68. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  69. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  70. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  71. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  72. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  73. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  74. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  75. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  76. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  77. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  78. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  79. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  80. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  81. package/dist/lib/filter-pill/filter-pill.js +346 -0
  82. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  83. package/dist/lib/filter-pill/index.cjs +2 -0
  84. package/dist/lib/filter-pill/index.cjs.map +1 -0
  85. package/dist/lib/filter-pill/index.js +5 -0
  86. package/dist/lib/filter-pill/index.js.map +1 -0
  87. package/dist/lib/general-row/general-row.cjs +1 -1
  88. package/dist/lib/general-row/general-row.cjs.map +1 -1
  89. package/dist/lib/general-row/general-row.js +153 -99
  90. package/dist/lib/general-row/general-row.js.map +1 -1
  91. package/dist/lib/group-row/group-row.cjs +1 -1
  92. package/dist/lib/group-row/group-row.cjs.map +1 -1
  93. package/dist/lib/group-row/group-row.js +1 -1
  94. package/dist/lib/group-row/group-row.js.map +1 -1
  95. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  96. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  97. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  98. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  99. package/dist/lib/input/input.cjs +1 -1
  100. package/dist/lib/input/input.cjs.map +1 -1
  101. package/dist/lib/input/input.js +53 -42
  102. package/dist/lib/input/input.js.map +1 -1
  103. package/dist/lib/item-layout/item-layout.cjs +3 -3
  104. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  105. package/dist/lib/item-layout/item-layout.js +74 -39
  106. package/dist/lib/item-layout/item-layout.js.map +1 -1
  107. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  108. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  109. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  110. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  111. package/dist/lib/link/link.cjs +1 -1
  112. package/dist/lib/link/link.cjs.map +1 -1
  113. package/dist/lib/link/link.js +21 -12
  114. package/dist/lib/link/link.js.map +1 -1
  115. package/dist/lib/list-item/list-item.cjs +1 -1
  116. package/dist/lib/list-item/list-item.cjs.map +1 -1
  117. package/dist/lib/list-item/list-item.js +25 -15
  118. package/dist/lib/list-item/list-item.js.map +1 -1
  119. package/dist/lib/loader/loader.cjs +13 -1
  120. package/dist/lib/loader/loader.cjs.map +1 -1
  121. package/dist/lib/loader/loader.js +31 -20
  122. package/dist/lib/loader/loader.js.map +1 -1
  123. package/dist/lib/message-input/message-input.cjs +1 -1
  124. package/dist/lib/message-input/message-input.cjs.map +1 -1
  125. package/dist/lib/message-input/message-input.js +44 -43
  126. package/dist/lib/message-input/message-input.js.map +1 -1
  127. package/dist/lib/mode-island/index.cjs +2 -0
  128. package/dist/lib/mode-island/index.cjs.map +1 -0
  129. package/dist/lib/mode-island/index.js +7 -0
  130. package/dist/lib/mode-island/index.js.map +1 -0
  131. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  132. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  133. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  134. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  135. package/dist/lib/mode-island/mode-island.cjs +2 -0
  136. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  137. package/dist/lib/mode-island/mode-island.js +130 -0
  138. package/dist/lib/mode-island/mode-island.js.map +1 -0
  139. package/dist/lib/mode-island/utils.cjs +2 -0
  140. package/dist/lib/mode-island/utils.cjs.map +1 -0
  141. package/dist/lib/mode-island/utils.js +32 -0
  142. package/dist/lib/mode-island/utils.js.map +1 -0
  143. package/dist/lib/mode-island/validators.cjs +2 -0
  144. package/dist/lib/mode-island/validators.cjs.map +1 -0
  145. package/dist/lib/mode-island/validators.js +12 -0
  146. package/dist/lib/mode-island/validators.js.map +1 -0
  147. package/dist/lib/pagination/pagination.cjs +1 -1
  148. package/dist/lib/pagination/pagination.cjs.map +1 -1
  149. package/dist/lib/pagination/pagination.js +15 -14
  150. package/dist/lib/pagination/pagination.js.map +1 -1
  151. package/dist/lib/popover/popover.cjs +1 -1
  152. package/dist/lib/popover/popover.cjs.map +1 -1
  153. package/dist/lib/popover/popover.js +1 -1
  154. package/dist/lib/popover/popover.js.map +1 -1
  155. package/dist/lib/progress-circle/index.cjs +2 -0
  156. package/dist/lib/progress-circle/index.cjs.map +1 -0
  157. package/dist/lib/progress-circle/index.js +10 -0
  158. package/dist/lib/progress-circle/index.js.map +1 -0
  159. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  160. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  161. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  162. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  163. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  164. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  165. package/dist/lib/progress-circle/progress-circle.js +136 -0
  166. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  167. package/dist/lib/rich-text-editor/rich-text-editor.cjs +2 -2
  168. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  169. package/dist/lib/rich-text-editor/rich-text-editor.js +115 -97
  170. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  171. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  172. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  173. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  174. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  175. package/dist/lib/root-layout/root-layout.cjs +1 -1
  176. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  177. package/dist/lib/root-layout/root-layout.js +9 -10
  178. package/dist/lib/root-layout/root-layout.js.map +1 -1
  179. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  180. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  181. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  182. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  183. package/dist/lib/split-button/split-button-alpha.cjs +1 -1
  184. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  185. package/dist/lib/split-button/split-button-alpha.js +51 -28
  186. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  187. package/dist/lib/split-button/split-button.cjs +1 -1
  188. package/dist/lib/split-button/split-button.cjs.map +1 -1
  189. package/dist/lib/split-button/split-button.js +235 -89
  190. package/dist/lib/split-button/split-button.js.map +1 -1
  191. package/dist/lib/text/index.cjs +2 -0
  192. package/dist/lib/text/index.cjs.map +1 -0
  193. package/dist/lib/text/index.js +20 -0
  194. package/dist/lib/text/index.js.map +1 -0
  195. package/dist/lib/text/text-constants.cjs +2 -0
  196. package/dist/lib/text/text-constants.cjs.map +1 -0
  197. package/dist/lib/text/text-constants.js +69 -0
  198. package/dist/lib/text/text-constants.js.map +1 -0
  199. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  200. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  201. package/dist/lib/text/text-tone-tokens.js +33 -0
  202. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  203. package/dist/lib/text/text.cjs +2 -0
  204. package/dist/lib/text/text.cjs.map +1 -0
  205. package/dist/lib/text/text.js +203 -0
  206. package/dist/lib/text/text.js.map +1 -0
  207. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  208. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  209. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  210. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  211. package/dist/localization/en-US.cjs +2 -0
  212. package/dist/localization/en-US.cjs.map +1 -1
  213. package/dist/localization/en-US.js +2 -0
  214. package/dist/localization/en-US.js.map +1 -1
  215. package/dist/localization/es-LA.cjs +1 -1
  216. package/dist/localization/es-LA.cjs.map +1 -1
  217. package/dist/localization/es-LA.js +1 -1
  218. package/dist/localization/es-LA.js.map +1 -1
  219. package/dist/localization/it-IT.cjs +3 -3
  220. package/dist/localization/it-IT.cjs.map +1 -1
  221. package/dist/localization/it-IT.js +3 -3
  222. package/dist/localization/it-IT.js.map +1 -1
  223. package/dist/localization/nl-NL.cjs +2 -2
  224. package/dist/localization/nl-NL.cjs.map +1 -1
  225. package/dist/localization/nl-NL.js +2 -2
  226. package/dist/localization/nl-NL.js.map +1 -1
  227. package/dist/localization/ru-RU.cjs +1 -1
  228. package/dist/localization/ru-RU.cjs.map +1 -1
  229. package/dist/localization/ru-RU.js +1 -1
  230. package/dist/localization/ru-RU.js.map +1 -1
  231. package/dist/localization/zh-CN.cjs +1 -1
  232. package/dist/localization/zh-CN.cjs.map +1 -1
  233. package/dist/localization/zh-CN.js +1 -1
  234. package/dist/localization/zh-CN.js.map +1 -1
  235. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  236. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  237. package/dist/style.css +1 -1
  238. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  239. package/dist/types/common/sr_only_close_button.vue.d.ts +20 -2
  240. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  241. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  242. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  243. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  244. package/dist/types/components/avatar/index.d.ts +1 -1
  245. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  246. package/dist/types/components/banner/banner.vue.d.ts +40 -4
  247. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  248. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  249. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  250. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  251. package/dist/types/components/button/button.vue.d.ts +20 -2
  252. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  253. package/dist/types/components/button/button_constants.d.ts +4 -0
  254. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  255. package/dist/types/components/chip/chip.vue.d.ts +20 -2
  256. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  257. package/dist/types/components/collapsible/collapsible.vue.d.ts +20 -2
  258. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  259. package/dist/types/components/combobox/combobox.vue.d.ts +79 -13
  260. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  261. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +39 -6
  262. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  263. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +39 -6
  264. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  265. package/dist/types/components/dropdown/dropdown.vue.d.ts +40 -4
  266. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  267. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2016 -0
  268. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  269. package/dist/types/components/filter_pill/index.d.ts +2 -0
  270. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  271. package/dist/types/components/hovercard/hovercard.vue.d.ts +80 -8
  272. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  273. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +40 -4
  274. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  275. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  276. package/dist/types/components/item_layout/item_layout.vue.d.ts +36 -5
  277. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  278. package/dist/types/components/link/link.vue.d.ts +9 -0
  279. package/dist/types/components/list_item/list_item.vue.d.ts +39 -6
  280. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  281. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  282. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  283. package/dist/types/components/modal/modal.vue.d.ts +40 -4
  284. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  285. package/dist/types/components/mode_island/index.d.ts +3 -0
  286. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  287. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  288. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  289. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  290. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  291. package/dist/types/components/mode_island/utils.d.ts +12 -0
  292. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  293. package/dist/types/components/mode_island/validators.d.ts +6 -0
  294. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  295. package/dist/types/components/notice/notice.vue.d.ts +40 -4
  296. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  297. package/dist/types/components/notice/notice_action.vue.d.ts +40 -4
  298. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  299. package/dist/types/components/pagination/pagination.vue.d.ts +20 -2
  300. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  301. package/dist/types/components/popover/popover.vue.d.ts +40 -4
  302. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  303. package/dist/types/components/popover/popover_header_footer.vue.d.ts +20 -2
  304. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  305. package/dist/types/components/progress_circle/index.d.ts +3 -0
  306. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  307. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  308. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  309. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  310. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  311. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  312. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  313. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  314. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +71 -25
  315. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +39 -6
  316. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  317. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +61 -6
  318. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  319. package/dist/types/components/rich_text_editor/extensions/variable/variable.d.ts.map +1 -1
  320. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  321. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  322. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +21 -3
  323. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  324. package/dist/types/components/split_button/split_button-omega.vue.d.ts +20 -2
  325. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  326. package/dist/types/components/split_button/split_button.vue.d.ts +214 -28
  327. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  328. package/dist/types/components/tab/tab.vue.d.ts +20 -2
  329. package/dist/types/components/text/index.d.ts +3 -0
  330. package/dist/types/components/text/index.d.ts.map +1 -0
  331. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  332. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  333. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  334. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  335. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  336. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  337. package/dist/types/components/text/text.vue.d.ts +141 -0
  338. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  339. package/dist/types/components/text/text_constants.d.ts +73 -0
  340. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  341. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  342. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  343. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +40 -4
  344. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  345. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +40 -4
  346. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  347. package/dist/types/components/toast/toast.vue.d.ts +160 -16
  348. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  349. package/dist/types/index.d.ts +4 -0
  350. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +20 -2
  351. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  352. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +80 -8
  353. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  354. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +80 -8
  355. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  356. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +60 -6
  357. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  358. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +20 -2
  359. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  360. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +198 -30
  361. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  362. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +124 -12
  363. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  364. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +104 -10
  365. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  366. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +20 -2
  367. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +60 -6
  368. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  369. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +60 -6
  370. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  371. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +20 -2
  372. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  373. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +56 -7
  374. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  375. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +110 -31
  376. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  377. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +56 -7
  378. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  379. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +20 -2
  380. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  381. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +80 -8
  382. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  383. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +20 -2
  384. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  385. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +20 -2
  386. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  387. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +107 -30
  388. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  389. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  390. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  391. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +20 -2
  392. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  393. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +449 -28
  394. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  395. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +378 -3
  396. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  397. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +378 -3
  398. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  399. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  400. package/package.json +6 -5
  401. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  402. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
@@ -2,9 +2,9 @@ import _ from "../combobox-with-popover/combobox-with-popover.js";
2
2
  import v from "../input/input.js";
3
3
  import L from "../chip/chip.js";
4
4
  import W from "../validation-messages/validation-messages.js";
5
- import { validationMessageValidator as M } from "../../common/validators/index.js";
6
- import { extractNonListeners as B, returnFirstEl as d, extractVueListeners as O, hasSlotContent as T } from "../../common/utils/index.js";
7
- import { POPOVER_APPEND_TO_VALUES as P } from "../popover/popover-constants.js";
5
+ import { validationMessageValidator as B } from "../../common/validators/index.js";
6
+ import { extractNonListeners as M, returnFirstEl as d, extractVueListeners as O, hasSlotContent as P } from "../../common/utils/index.js";
7
+ import { POPOVER_APPEND_TO_VALUES as T } from "../popover/popover-constants.js";
8
8
  import { CHIP_TOP_POSITION as F, CHIP_SIZES as k, MULTI_SELECT_SIZES as H } from "./combobox-multi-select-constants.js";
9
9
  import { resolveComponent as p, openBlock as u, createBlock as f, mergeProps as g, createSlots as R, withCtx as r, createElementVNode as h, withModifiers as V, renderSlot as m, createElementBlock as b, toDisplayString as C, normalizeClass as z, Fragment as E, renderList as D, toHandlers as K, withKeys as N, createTextVNode as A, createVNode as y } from "vue";
10
10
  import { _ as U } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
@@ -54,7 +54,7 @@ const j = {
54
54
  inputMessages: {
55
55
  type: Array,
56
56
  default: () => [],
57
- validator: (t) => M(t)
57
+ validator: (t) => B(t)
58
58
  },
59
59
  /**
60
60
  * Show input validation message
@@ -151,7 +151,7 @@ const j = {
151
151
  appendTo: {
152
152
  type: [HTMLElement, String],
153
153
  default: "body",
154
- validator: (t) => P.includes(t) || t instanceof HTMLElement
154
+ validator: (t) => T.includes(t) || t instanceof HTMLElement
155
155
  },
156
156
  /**
157
157
  * Named transition when the content display is toggled.
@@ -280,7 +280,7 @@ const j = {
280
280
  resizeWindowObserver: null,
281
281
  initialInputHeight: null,
282
282
  CHIP_SIZES: k,
283
- hasSlotContent: T,
283
+ hasSlotContent: P,
284
284
  inputFocused: !1,
285
285
  hideInputText: !1
286
286
  };
@@ -356,7 +356,7 @@ const j = {
356
356
  (t = this.resizeWindowObserver) == null || t.unobserve(document.body);
357
357
  },
358
358
  methods: {
359
- extractNonListeners: B,
359
+ extractNonListeners: M,
360
360
  comboboxHighlight(t) {
361
361
  this.$emit("combobox-highlight", t);
362
362
  },
@@ -380,8 +380,8 @@ const j = {
380
380
  },
381
381
  getChips() {
382
382
  return !this.selectedItems.length || !this.$refs.chips ? null : this.selectedItems.map((e) => this.$refs.chips.find((i) => {
383
- var o, s, a;
384
- return ((a = (s = (o = d(i.$el)) == null ? void 0 : o.querySelector(".d-chip__label")) == null ? void 0 : s.textContent) == null ? void 0 : a.trim()) === e;
383
+ var n, s, a;
384
+ return ((a = (s = (n = d(i.$el)) == null ? void 0 : n.querySelector(".d-chip__label")) == null ? void 0 : s.textContent) == null ? void 0 : a.trim()) === e;
385
385
  })).filter(Boolean).map((e) => d(e.$el));
386
386
  },
387
387
  getChipButtons() {
@@ -427,26 +427,26 @@ const j = {
427
427
  this.getLastChipButton().blur(), (t = this.$refs.input) == null || t.focus(), this.showComboboxList();
428
428
  },
429
429
  navigateBetweenChips(t, e) {
430
- var o;
431
- const i = this.getChipButtons().indexOf(t), n = e ? i - 1 : i + 1;
432
- n < 0 || n >= ((o = this.$refs.chips) == null ? void 0 : o.length) || (this.getChipButtons()[i].blur(), this.getChipButtons()[n].focus(), this.closeComboboxList());
430
+ var n;
431
+ const i = this.getChipButtons().indexOf(t), o = e ? i - 1 : i + 1;
432
+ o < 0 || o >= ((n = this.$refs.chips) == null ? void 0 : n.length) || (this.getChipButtons()[i].blur(), this.getChipButtons()[o].focus(), this.closeComboboxList());
433
433
  },
434
434
  setChipsTopPosition() {
435
435
  const t = this.getInput();
436
436
  if (!t) return;
437
- const e = this.$refs.inputSlotWrapper, i = t.getBoundingClientRect().top - e.getBoundingClientRect().top, n = this.$refs.chipsWrapper;
438
- n.style.top = i - F[this.size] + "px";
437
+ const e = this.$refs.inputSlotWrapper, i = t.getBoundingClientRect().top - e.getBoundingClientRect().top, o = this.$refs.chipsWrapper;
438
+ o.style.top = i - F[this.size] + "px";
439
439
  },
440
440
  setInputPadding() {
441
441
  const t = this.getLastChip(), e = this.getInput(), i = this.$refs.chipsWrapper;
442
442
  if (!e || (this.revertInputPadding(e), this.popoverOffset = [0, 4], !t) || this.collapseOnFocusOut && !this.inputFocused) return;
443
- const n = t.offsetLeft + this.getFullWidth(t), o = e.getBoundingClientRect().width - n;
444
- o > this.reservedRightSpace ? e.style.paddingLeft = n + "px" : e.style.paddingLeft = "4px";
445
- const s = i.getBoundingClientRect().height - 4, a = t.getBoundingClientRect().height - 4, c = o > this.reservedRightSpace ? t.offsetTop + 2 : s + a - 9;
446
- e.style.paddingTop = `${c}px`;
443
+ const o = t.offsetLeft + this.getFullWidth(t), n = e.getBoundingClientRect().width - o;
444
+ n > this.reservedRightSpace ? e.style.paddingInlineStart = o + "px" : e.style.paddingInlineStart = "4px";
445
+ const s = i.getBoundingClientRect().height - 4, a = t.getBoundingClientRect().height - 4, c = n > this.reservedRightSpace ? t.offsetTop + 2 : s + a - 9;
446
+ e.style.paddingBlockStart = `${c}px`;
447
447
  },
448
448
  revertInputPadding(t) {
449
- t.style.paddingLeft = "", t.style.paddingTop = "", t.style.paddingBottom = "";
449
+ t.style.paddingInlineStart = "", t.style.paddingBlockStart = "", t.style.paddingBlockEnd = "";
450
450
  },
451
451
  getFullWidth(t) {
452
452
  const e = window.getComputedStyle(t);
@@ -480,15 +480,15 @@ const j = {
480
480
  key: 1,
481
481
  class: "d-recipe-combobox-multi-select__list--loading"
482
482
  }, G = { ref: "footer" };
483
- function J(t, e, i, n, o, s) {
484
- const a = p("dt-chip"), c = p("dt-input"), x = p("dt-validation-messages"), I = p("dt-recipe-combobox-with-popover");
485
- return u(), f(I, g({
483
+ function J(t, e, i, o, n, s) {
484
+ const a = p("dt-chip"), c = p("dt-input"), I = p("dt-validation-messages"), x = p("dt-recipe-combobox-with-popover");
485
+ return u(), f(x, g({
486
486
  ref: "comboboxWithPopover",
487
487
  label: i.label,
488
488
  "show-list": i.showList,
489
489
  "max-height": i.listMaxHeight,
490
490
  "max-width": i.listMaxWidth,
491
- "popover-offset": o.popoverOffset,
491
+ "popover-offset": n.popoverOffset,
492
492
  "has-suggestion-list": i.hasSuggestionList,
493
493
  "content-width": "anchor",
494
494
  "append-to": i.appendTo,
@@ -518,7 +518,7 @@ function J(t, e, i, n, o, s) {
518
518
  { "d-recipe-combobox-multi-select__chip--truncate": !!i.chipMaxWidth }
519
519
  ],
520
520
  style: { maxWidth: i.chipMaxWidth },
521
- size: o.CHIP_SIZES[i.size],
521
+ size: n.CHIP_SIZES[i.size],
522
522
  disabled: i.disabled
523
523
  }, K(s.chipListeners), {
524
524
  onKeydown: N((S) => s.onChipRemove(l), ["backspace"]),
@@ -532,13 +532,13 @@ function J(t, e, i, n, o, s) {
532
532
  ], 2),
533
533
  y(c, g({
534
534
  ref: "input",
535
- modelValue: o.value,
536
- "onUpdate:modelValue": e[0] || (e[0] = (l) => o.value = l),
535
+ modelValue: n.value,
536
+ "onUpdate:modelValue": e[0] || (e[0] = (l) => n.value = l),
537
537
  class: "d-recipe-combobox-multi-select__input",
538
538
  "input-class": [
539
539
  i.inputClass,
540
540
  {
541
- "d-recipe-combobox-multi-select__input--hidden": o.hideInputText
541
+ "d-recipe-combobox-multi-select__input--hidden": n.hideInputText
542
542
  }
543
543
  ],
544
544
  "input-wrapper-class": i.inputWrapperClass,
@@ -551,9 +551,9 @@ function J(t, e, i, n, o, s) {
551
551
  messages: i.inputMessages,
552
552
  size: i.size
553
553
  }, s.inputListeners, { onInput: w }), null, 16, ["modelValue", "input-class", "input-wrapper-class", "disabled", "aria-label", "label", "description", "placeholder", "show-messages", "messages", "size", "onInput"]),
554
- y(x, {
554
+ y(I, {
555
555
  "validation-messages": i.maxSelectedMessage,
556
- "show-messages": o.showValidationMessages
556
+ "show-messages": n.showValidationMessages
557
557
  }, null, 8, ["validation-messages", "show-messages"])
558
558
  ], 544)
559
559
  ]),
@@ -569,7 +569,7 @@ function J(t, e, i, n, o, s) {
569
569
  ]),
570
570
  _: 2
571
571
  }, [
572
- o.hasSlotContent(t.$slots.header) ? {
572
+ n.hasSlotContent(t.$slots.header) ? {
573
573
  name: "header",
574
574
  fn: r(() => [
575
575
  h("div", q, [
@@ -578,7 +578,7 @@ function J(t, e, i, n, o, s) {
578
578
  ]),
579
579
  key: "0"
580
580
  } : void 0,
581
- o.hasSlotContent(t.$slots.footer) ? {
581
+ n.hasSlotContent(t.$slots.footer) ? {
582
582
  name: "footer",
583
583
  fn: r(() => [
584
584
  h("div", G, [
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-multi-select.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 content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n v-bind=\"extractNonListeners($attrs)\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"d-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['d-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 'd-recipe-combobox-multi-select__chip',\n { 'd-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :size=\"CHIP_SIZES[size]\"\n :disabled=\"disabled\"\n v-on=\"chipListeners\"\n @keydown.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=\"d-recipe-combobox-multi-select__input\"\n :input-class=\"[\n inputClass, {\n 'd-recipe-combobox-multi-select__input--hidden': hideInputText,\n }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :disabled=\"disabled\"\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-bind=\"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 class=\"d-recipe-combobox-multi-select__list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"d-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 { extractVueListeners, extractNonListeners, hasSlotContent, returnFirstEl } 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';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\n },\n\n inheritAttrs: false,\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 * When true, disables the underlying input.\n */\n disabled: {\n type: Boolean,\n default: false,\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 * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\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 keydown: event => {\n this.onChipKeyDown(event);\n this.$emit('keydown', event);\n },\n };\n },\n\n inputListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n onInput: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n onKeydown: event => {\n this.onInputKeyDown(event);\n },\n\n onKeyup: event => {\n this.$emit('keyup', event);\n },\n\n onClick: () => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`d-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 await this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n await 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 async 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 await this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n extractNonListeners,\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 getChips () {\n if (!this.selectedItems.length || !this.$refs.chips) return null;\n\n // use the order from selectedItems to not rely on DOM order which may be stale\n const chips = this.selectedItems.map(item => {\n return this.$refs.chips.find(chip => {\n const chipLabel = returnFirstEl(chip.$el)?.querySelector('.d-chip__label')?.textContent?.trim();\n return chipLabel === item;\n });\n });\n return chips.filter(Boolean).map(chip => returnFirstEl(chip.$el));\n },\n\n getChipButtons () {\n const chips = this.getChips();\n return chips && chips.map(chip => returnFirstEl(chip).querySelector('button'));\n },\n\n getLastChipButton () {\n const chipButtons = this.getChipButtons();\n return chipButtons && chipButtons[chipButtons.length - 1];\n },\n\n getLastChip () {\n const chips = this.getChips();\n return chips && chips[chips.length - 1];\n },\n\n getFirstChip () {\n const chips = this.getChips();\n return chips && chips[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyDown (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 onInputKeyDown (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 there is selected text, do not focus the last chip\n if (event.target.selectionEnd !== event.target.selectionStart) {\n return;\n }\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 this.hideInputText = false;\n await this.$nextTick();\n this.setInputPadding();\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n this.hideInputText = true;\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.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRecipeComboboxWithPopover","DtInput","DtChip","DtValidationMessages","inputMessages","validationMessageValidator","MULTI_SELECT_SIZES","appendTo","POPOVER_APPEND_TO_VALUES","CHIP_SIZES","hasSlotContent","_a","event","extractVueListeners","input","extractNonListeners","highlightIndex","item","i","chip","_c","_b","returnFirstEl","chips","chipButtons","key","target","toLeft","from","to","inputSlotWrapper","top","chipsWrapper","CHIP_TOP_POSITION","lastChip","left","spaceLeft","chipsWrapperHeight","lastChipHeight","el","styles","firstChip","_hoisted_1","_hoisted_3","_openBlock","_createBlock","_component_dt_recipe_combobox_with_popover","_mergeProps","$props","$data","$options","_ctx","_withCtx","onInput","_createElementVNode","args","_createElementBlock","_Fragment","_renderList","_component_dt_chip","_toHandlers","_withKeys","$event","_createVNode","_component_dt_input","_component_dt_validation_messages","_hoisted_2","_toDisplayString","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-multi-select.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 content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n v-bind=\"extractNonListeners($attrs)\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"d-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['d-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 'd-recipe-combobox-multi-select__chip',\n { 'd-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :size=\"CHIP_SIZES[size]\"\n :disabled=\"disabled\"\n v-on=\"chipListeners\"\n @keydown.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=\"d-recipe-combobox-multi-select__input\"\n :input-class=\"[\n inputClass, {\n 'd-recipe-combobox-multi-select__input--hidden': hideInputText,\n }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :disabled=\"disabled\"\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-bind=\"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 class=\"d-recipe-combobox-multi-select__list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"d-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 { extractVueListeners, extractNonListeners, hasSlotContent, returnFirstEl } 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';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeComboboxMultiSelect',\n\n components: {\n DtRecipeComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\n },\n\n inheritAttrs: false,\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 * When true, disables the underlying input.\n */\n disabled: {\n type: Boolean,\n default: false,\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 * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\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 keydown: event => {\n this.onChipKeyDown(event);\n this.$emit('keydown', event);\n },\n };\n },\n\n inputListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n onInput: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n onKeydown: event => {\n this.onInputKeyDown(event);\n },\n\n onKeyup: event => {\n this.$emit('keyup', event);\n },\n\n onClick: () => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`d-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 await this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n await 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 async 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 await this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n extractNonListeners,\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 getChips () {\n if (!this.selectedItems.length || !this.$refs.chips) return null;\n\n // use the order from selectedItems to not rely on DOM order which may be stale\n const chips = this.selectedItems.map(item => {\n return this.$refs.chips.find(chip => {\n const chipLabel = returnFirstEl(chip.$el)?.querySelector('.d-chip__label')?.textContent?.trim();\n return chipLabel === item;\n });\n });\n return chips.filter(Boolean).map(chip => returnFirstEl(chip.$el));\n },\n\n getChipButtons () {\n const chips = this.getChips();\n return chips && chips.map(chip => returnFirstEl(chip).querySelector('button'));\n },\n\n getLastChipButton () {\n const chipButtons = this.getChipButtons();\n return chipButtons && chipButtons[chipButtons.length - 1];\n },\n\n getLastChip () {\n const chips = this.getChips();\n return chips && chips[chips.length - 1];\n },\n\n getFirstChip () {\n const chips = this.getChips();\n return chips && chips[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyDown (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 onInputKeyDown (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 there is selected text, do not focus the last chip\n if (event.target.selectionEnd !== event.target.selectionStart) {\n return;\n }\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.paddingInlineStart = left + 'px';\n } else {\n input.style.paddingInlineStart = '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.paddingBlockStart = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingInlineStart = '';\n input.style.paddingBlockStart = '';\n input.style.paddingBlockEnd = '';\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 this.hideInputText = false;\n await this.$nextTick();\n this.setInputPadding();\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n this.hideInputText = true;\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.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRecipeComboboxWithPopover","DtInput","DtChip","DtValidationMessages","inputMessages","validationMessageValidator","MULTI_SELECT_SIZES","appendTo","POPOVER_APPEND_TO_VALUES","CHIP_SIZES","hasSlotContent","_a","event","extractVueListeners","input","extractNonListeners","highlightIndex","item","i","chip","_c","_b","returnFirstEl","chips","chipButtons","key","target","toLeft","from","to","inputSlotWrapper","top","chipsWrapper","CHIP_TOP_POSITION","lastChip","left","spaceLeft","chipsWrapperHeight","lastChipHeight","el","styles","firstChip","_hoisted_1","_hoisted_3","_openBlock","_createBlock","_component_dt_recipe_combobox_with_popover","_mergeProps","$props","$data","$options","_ctx","_withCtx","onInput","_createElementVNode","args","_createElementBlock","_Fragment","_renderList","_component_dt_chip","_toHandlers","_withKeys","$event","_createVNode","_component_dt_input","_component_dt_validation_messages","_hoisted_2","_toDisplayString","_renderSlot"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/utils/index.cjs"),p=require("@dialpad/dialtone-icons/vue3"),h=require("../../localization/index.cjs"),e=require("vue"),m=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),f=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),w=require("../badge/badge.cjs"),C=require("../button/button.cjs"),v={compatConfig:{MODE:3},name:"DtRecipeContactCentersRow",components:{DtButton:C.default,DtBadge:w.default,DtEmojiTextWrapper:f.default,DtIconHeadphones:p.DtIconHeadphones,DtIconChevronDown:p.DtIconChevronDown},inheritAttrs:!1,props:{ariaLabel:{type:String,default:""},description:{type:String,required:!0},selected:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unreadCount:{type:String,default:null,validator(t){return t?/^\d+\+?$/.test(t):!0}}},emits:["click","click-menu"],data(){return{labelWidth:"auto",i18n:new h.DialtoneLocalization}},computed:{leftbarContactCentersRowClasses(){return["d-recipe-leftbar-row","d-recipe-leftbar-row--contact-centers",{"d-recipe-leftbar-row__unread-count":this.showUnreadCount,"d-recipe-leftbar-row--selected":this.selected}]},getAriaLabel(){const t=isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount);return this.ariaLabel?this.ariaLabel:a.safeConcatStrings([this.description,this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:t})])},contactRowListeners(){return a.extractVueListeners(this.$attrs)},showUnreadCount(){return!!this.unreadCount},menuButtonLabel(){return this.i18n.$t("DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL")}},watch:{$props:{deep:!0,async handler(){await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(a.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:a.removeClassStyleAttrs,addClassStyleAttrs:a.addClassStyleAttrs,adjustLabelWidth(){var i,r,s,l,d,c;const t=((r=(i=a.returnFirstEl(this.$el))==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:r.clientWidth)||0,o=((l=(s=a.returnFirstEl(this.$el))==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,n=((c=(d=a.returnFirstEl(this.$el))==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:c.clientWidth)||0,_=12;this.labelWidth=t-(o+n+_)+"px"}}},g=["data-qa","aria-label","title","href"],y={class:"d-recipe-leftbar-row__alpha"},N={key:0,class:"d-recipe-leftbar-row__omega"},E={class:"d-recipe-leftbar-row__action-container"},S={class:"d-recipe-leftbar-row__bottom"};function q(t,o,n,_,i,r){const s=e.resolveComponent("dt-icon-headphones"),l=e.resolveComponent("dt-emoji-text-wrapper"),d=e.resolveComponent("dt-badge"),c=e.resolveComponent("dt-icon-chevron-down"),b=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["d-recipe-leftbar-row__container",{"d-recipe-leftbar-row__container--off-duty":t.$slots.timer}]},r.addClassStyleAttrs(t.$attrs)),[e.createElementVNode("div",{class:e.normalizeClass(r.leftbarContactCentersRowClasses),"data-qa":"dt-recipe-contact-centers-row"},[e.createElementVNode("a",e.mergeProps({class:"d-recipe-leftbar-row__primary","data-qa":t.$attrs["data-qa"]??"d-recipe-leftbar-row-link","aria-label":r.getAriaLabel,title:n.description,href:t.$attrs.href??"javascript:void(0)"},r.removeClassStyleAttrs(t.$attrs),e.toHandlers(r.contactRowListeners,!0),{onClick:o[0]||(o[0]=u=>t.$emit("click",u))}),[e.createElementVNode("div",y,[e.createVNode(s,{size:"300","data-qa":"dt-recipe-leftbar-row-icon"})]),e.createElementVNode("div",{class:"d-recipe-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${i.labelWidth}`)},[e.createVNode(l,{class:"d-recipe-leftbar-row__description","data-qa":"dt-recipe-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.description),1)]),_:1})],4)],16,g),n.hideActions?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",N,[e.renderSlot(t.$slots,"right"),e.createElementVNode("div",E,[r.showUnreadCount?(e.openBlock(),e.createBlock(d,{key:0,class:"d-recipe-leftbar-row__unread-badge","data-qa":"dt-recipe-leftbar-row-unread-badge",kind:"count",type:"bulletin"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.unreadCount),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{class:"d-recipe-leftbar-row__action","data-qa":"dt-recipe-leftbar-row-action-button","aria-label":r.menuButtonLabel,title:r.menuButtonLabel,importance:"clear",size:"xs",circle:"",onClick:o[1]||(o[1]=e.withModifiers(u=>t.$emit("click-menu",u),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(c,{size:"100"})]),_:1},8,["aria-label","title"])])]))],2),e.createElementVNode("div",S,[e.renderSlot(t.$slots,"timer")])],16)}const L=m._(v,[["render",q]]);exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/utils/index.cjs"),p=require("@dialpad/dialtone-icons/vue3"),h=require("../../localization/index.cjs"),e=require("vue"),m=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),f=require("../emoji-text-wrapper/emoji-text-wrapper.cjs"),w=require("../badge/badge.cjs"),C=require("../button/button.cjs"),v={compatConfig:{MODE:3},name:"DtRecipeContactCentersRow",components:{DtButton:C.default,DtBadge:w.default,DtEmojiTextWrapper:f.default,DtIconHeadphones:p.DtIconHeadphones,DtIconChevronDown:p.DtIconChevronDown},inheritAttrs:!1,props:{ariaLabel:{type:String,default:""},description:{type:String,required:!0},selected:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unreadCount:{type:String,default:null,validator(t){return t?/^\d+\+?$/.test(t):!0}}},emits:["click","click-menu"],data(){return{labelWidth:"auto",i18n:new h.DialtoneLocalization}},computed:{leftbarContactCentersRowClasses(){return["d-recipe-leftbar-row","d-recipe-leftbar-row--contact-centers",{"d-recipe-leftbar-row__unread-count":this.showUnreadCount,"d-recipe-leftbar-row--selected":this.selected}]},getAriaLabel(){const t=isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount);return this.ariaLabel?this.ariaLabel:a.safeConcatStrings([this.description,this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT",{unreadCount:t})])},contactRowListeners(){return a.extractVueListeners(this.$attrs)},showUnreadCount(){return!!this.unreadCount},menuButtonLabel(){return this.i18n.$t("DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL")}},watch:{$props:{deep:!0,async handler(){await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(a.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:a.removeClassStyleAttrs,addClassStyleAttrs:a.addClassStyleAttrs,adjustLabelWidth(){var i,r,s,l,d,c;const t=((r=(i=a.returnFirstEl(this.$el))==null?void 0:i.querySelector(".d-recipe-leftbar-row__primary"))==null?void 0:r.clientWidth)||0,o=((l=(s=a.returnFirstEl(this.$el))==null?void 0:s.querySelector(".d-recipe-leftbar-row__omega"))==null?void 0:l.clientWidth)||0,n=((c=(d=a.returnFirstEl(this.$el))==null?void 0:d.querySelector(".d-recipe-leftbar-row__alpha"))==null?void 0:c.clientWidth)||0,_=12;this.labelWidth=t-(o+n+_)+"px"}}},y=["data-qa","aria-label","title","href"],g={class:"d-recipe-leftbar-row__alpha"},N={key:0,class:"d-recipe-leftbar-row__omega"},E={class:"d-recipe-leftbar-row__action-container"},S={class:"d-recipe-leftbar-row__bottom"};function q(t,o,n,_,i,r){const s=e.resolveComponent("dt-icon-headphones"),l=e.resolveComponent("dt-emoji-text-wrapper"),d=e.resolveComponent("dt-badge"),c=e.resolveComponent("dt-icon-chevron-down"),b=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["d-recipe-leftbar-row__container",{"d-recipe-leftbar-row__container--off-duty":t.$slots.timer}]},r.addClassStyleAttrs(t.$attrs)),[e.createElementVNode("div",{class:e.normalizeClass(r.leftbarContactCentersRowClasses),"data-qa":"dt-recipe-contact-centers-row"},[e.createElementVNode("a",e.mergeProps({class:"d-recipe-leftbar-row__primary","data-qa":t.$attrs["data-qa"]??"d-recipe-leftbar-row-link","aria-label":r.getAriaLabel,title:n.description,href:t.$attrs.href??"javascript:void(0)"},r.removeClassStyleAttrs(t.$attrs),e.toHandlers(r.contactRowListeners,!0),{onClick:o[0]||(o[0]=u=>t.$emit("click",u))}),[e.createElementVNode("div",g,[e.createVNode(s,{size:"300","data-qa":"dt-recipe-leftbar-row-icon"})]),e.createElementVNode("div",{class:"d-recipe-leftbar-row__label",style:e.normalizeStyle(`flex-basis: ${i.labelWidth}`)},[e.createVNode(l,{class:"d-recipe-leftbar-row__description","data-qa":"dt-recipe-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.description),1)]),_:1})],4)],16,y),n.hideActions?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",N,[t.$slots.end?e.renderSlot(t.$slots,"end",{key:0}):e.renderSlot(t.$slots,"right",{key:1}),e.createElementVNode("div",E,[r.showUnreadCount?(e.openBlock(),e.createBlock(d,{key:0,class:"d-recipe-leftbar-row__unread-badge","data-qa":"dt-recipe-leftbar-row-unread-badge",kind:"count",type:"bulletin"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.unreadCount),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{class:"d-recipe-leftbar-row__action","data-qa":"dt-recipe-leftbar-row-action-button","aria-label":r.menuButtonLabel,title:r.menuButtonLabel,importance:"clear",size:"xs",circle:"",onClick:o[1]||(o[1]=e.withModifiers(u=>t.$emit("click-menu",u),["stop"]))},{icon:e.withCtx(()=>[e.createVNode(c,{size:"100"})]),_:1},8,["aria-label","title"])])]))],2),e.createElementVNode("div",S,[e.renderSlot(t.$slots,"timer")])],16)}const L=m._(v,[["render",q]]);exports.default=L;
2
2
  //# sourceMappingURL=contact-centers-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact-centers-row.cjs","sources":["../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonLabel\"\n :title=\"menuButtonLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DtIconChevronDown, DtIconHeadphones } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n validator (value) {\n if (!value) return true;\n return /^\\d+\\+?$/.test(value);\n },\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n const count = isNaN(this.unreadCount) ? this.unreadCount : Number(this.unreadCount);\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([\n this.description,\n this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: count }),\n ]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n\n menuButtonLabel () {\n return this.i18n.$t('DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL');\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(returnFirstEl(this.$el));\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n adjustLabelWidth () {\n const labelWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtBadge","DtEmojiTextWrapper","DtIconHeadphones","DtIconChevronDown","value","DialtoneLocalization","count","safeConcatStrings","extractVueListeners","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","labelWidth","omegaWidth","alphaWidth","paddings","_hoisted_2","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","_ctx","$options","_createElementVNode","$props","_toHandlers","_cache","$event","_createVNode","_component_dt_icon_headphones","$data","_component_dt_emoji_text_wrapper","_hoisted_3","_renderSlot","_createBlock","_component_dt_badge","_component_dt_button","_withModifiers","_component_dt_icon_chevron_down"],"mappings":"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"}
1
+ {"version":3,"file":"contact-centers-row.cjs","sources":["../../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-leftbar-row__container',\n { 'd-recipe-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"d-recipe-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'd-recipe-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"d-recipe-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-recipe-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"d-recipe-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"d-recipe-leftbar-row__description\"\n data-qa=\"dt-recipe-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"d-recipe-leftbar-row__omega\"\n >\n <!-- @slot Slot for end content -->\n <slot\n v-if=\"$slots.end\"\n name=\"end\"\n />\n <!-- @slot @deprecated Use end -->\n <slot\n v-else\n name=\"right\"\n />\n <div class=\"d-recipe-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"d-recipe-leftbar-row__unread-badge\"\n data-qa=\"dt-recipe-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"d-recipe-leftbar-row__action\"\n data-qa=\"dt-recipe-leftbar-row-action-button\"\n :aria-label=\"menuButtonLabel\"\n :title=\"menuButtonLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"d-recipe-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings, removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DtIconChevronDown, DtIconHeadphones } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n validator (value) {\n if (!value) return true;\n return /^\\d+\\+?$/.test(value);\n },\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'd-recipe-leftbar-row',\n 'd-recipe-leftbar-row--contact-centers',\n {\n 'd-recipe-leftbar-row__unread-count': this.showUnreadCount,\n 'd-recipe-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n const count = isNaN(this.unreadCount) ? this.unreadCount : Number(this.unreadCount);\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([\n this.description,\n this.i18n.$t('DIALTONE_UNREAD_MESSAGE_COUNT_TEXT', { unreadCount: count }),\n ]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n\n menuButtonLabel () {\n return this.i18n.$t('DIALTONE_CONTACT_CENTERS_ROW_MENU_BUTTON_LABEL');\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(returnFirstEl(this.$el));\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n adjustLabelWidth () {\n const labelWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = returnFirstEl(this.$el)?.querySelector('.d-recipe-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtBadge","DtEmojiTextWrapper","DtIconHeadphones","DtIconChevronDown","value","DialtoneLocalization","count","safeConcatStrings","extractVueListeners","returnFirstEl","removeClassStyleAttrs","addClassStyleAttrs","labelWidth","omegaWidth","alphaWidth","paddings","_hoisted_2","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","_ctx","$options","_createElementVNode","$props","_toHandlers","_cache","$event","_createVNode","_component_dt_icon_headphones","$data","_component_dt_emoji_text_wrapper","_hoisted_3","_renderSlot","_createBlock","_component_dt_badge","_component_dt_button","_withModifiers","_component_dt_icon_chevron_down"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { addClassStyleAttrs as S, removeClassStyleAttrs as A, returnFirstEl as u, extractVueListeners as E, safeConcatStrings as N } from "../../common/utils/index.js";
2
- import { DtIconChevronDown as W, DtIconHeadphones as k } from "@dialpad/dialtone-icons/vue3";
3
- import { DialtoneLocalization as D } from "../../localization/index.js";
4
- import { resolveComponent as i, openBlock as h, createElementBlock as f, mergeProps as w, createElementVNode as o, normalizeClass as T, toHandlers as q, createVNode as _, normalizeStyle as B, withCtx as b, createTextVNode as C, toDisplayString as y, renderSlot as v, createBlock as $, createCommentVNode as L, withModifiers as z } from "vue";
1
+ import { addClassStyleAttrs as S, removeClassStyleAttrs as k, returnFirstEl as u, extractVueListeners as A, safeConcatStrings as E } from "../../common/utils/index.js";
2
+ import { DtIconChevronDown as N, DtIconHeadphones as W } from "@dialpad/dialtone-icons/vue3";
3
+ import { DialtoneLocalization as $ } from "../../localization/index.js";
4
+ import { resolveComponent as i, openBlock as h, createElementBlock as w, mergeProps as C, createElementVNode as o, normalizeClass as D, toHandlers as T, createVNode as p, normalizeStyle as q, withCtx as b, createTextVNode as y, toDisplayString as v, renderSlot as m, createBlock as B, createCommentVNode as L, withModifiers as z } from "vue";
5
5
  import { _ as O } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
6
  import R from "../emoji-text-wrapper/emoji-text-wrapper.js";
7
7
  import j from "../badge/badge.js";
@@ -13,8 +13,8 @@ const V = {
13
13
  DtButton: U,
14
14
  DtBadge: j,
15
15
  DtEmojiTextWrapper: R,
16
- DtIconHeadphones: k,
17
- DtIconChevronDown: W
16
+ DtIconHeadphones: W,
17
+ DtIconChevronDown: N
18
18
  },
19
19
  inheritAttrs: !1,
20
20
  props: {
@@ -76,7 +76,7 @@ const V = {
76
76
  data() {
77
77
  return {
78
78
  labelWidth: "auto",
79
- i18n: new D()
79
+ i18n: new $()
80
80
  };
81
81
  },
82
82
  computed: {
@@ -92,13 +92,13 @@ const V = {
92
92
  },
93
93
  getAriaLabel() {
94
94
  const e = isNaN(this.unreadCount) ? this.unreadCount : Number(this.unreadCount);
95
- return this.ariaLabel ? this.ariaLabel : N([
95
+ return this.ariaLabel ? this.ariaLabel : E([
96
96
  this.description,
97
97
  this.i18n.$t("DIALTONE_UNREAD_MESSAGE_COUNT_TEXT", { unreadCount: e })
98
98
  ]);
99
99
  },
100
100
  contactRowListeners() {
101
- return E(this.$attrs);
101
+ return A(this.$attrs);
102
102
  },
103
103
  showUnreadCount() {
104
104
  return !!this.unreadCount;
@@ -122,65 +122,65 @@ const V = {
122
122
  this.resizeObserver.disconnect();
123
123
  },
124
124
  methods: {
125
- removeClassStyleAttrs: A,
125
+ removeClassStyleAttrs: k,
126
126
  addClassStyleAttrs: S,
127
127
  adjustLabelWidth() {
128
128
  var n, t, s, l, d, c;
129
- const e = ((t = (n = u(this.$el)) == null ? void 0 : n.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : t.clientWidth) || 0, r = ((l = (s = u(this.$el)) == null ? void 0 : s.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : l.clientWidth) || 0, a = ((c = (d = u(this.$el)) == null ? void 0 : d.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : c.clientWidth) || 0, m = 12;
130
- this.labelWidth = e - (r + a + m) + "px";
129
+ const e = ((t = (n = u(this.$el)) == null ? void 0 : n.querySelector(".d-recipe-leftbar-row__primary")) == null ? void 0 : t.clientWidth) || 0, r = ((l = (s = u(this.$el)) == null ? void 0 : s.querySelector(".d-recipe-leftbar-row__omega")) == null ? void 0 : l.clientWidth) || 0, a = ((c = (d = u(this.$el)) == null ? void 0 : d.querySelector(".d-recipe-leftbar-row__alpha")) == null ? void 0 : c.clientWidth) || 0, f = 12;
130
+ this.labelWidth = e - (r + a + f) + "px";
131
131
  }
132
132
  }
133
- }, x = ["data-qa", "aria-label", "title", "href"], I = { class: "d-recipe-leftbar-row__alpha" }, M = {
133
+ }, I = ["data-qa", "aria-label", "title", "href"], M = { class: "d-recipe-leftbar-row__alpha" }, x = {
134
134
  key: 0,
135
135
  class: "d-recipe-leftbar-row__omega"
136
136
  }, H = { class: "d-recipe-leftbar-row__action-container" }, F = { class: "d-recipe-leftbar-row__bottom" };
137
- function G(e, r, a, m, n, t) {
137
+ function G(e, r, a, f, n, t) {
138
138
  const s = i("dt-icon-headphones"), l = i("dt-emoji-text-wrapper"), d = i("dt-badge"), c = i("dt-icon-chevron-down"), g = i("dt-button");
139
- return h(), f("div", w({
139
+ return h(), w("div", C({
140
140
  class: [
141
141
  "d-recipe-leftbar-row__container",
142
142
  { "d-recipe-leftbar-row__container--off-duty": e.$slots.timer }
143
143
  ]
144
144
  }, t.addClassStyleAttrs(e.$attrs)), [
145
145
  o("div", {
146
- class: T(t.leftbarContactCentersRowClasses),
146
+ class: D(t.leftbarContactCentersRowClasses),
147
147
  "data-qa": "dt-recipe-contact-centers-row"
148
148
  }, [
149
- o("a", w({
149
+ o("a", C({
150
150
  class: "d-recipe-leftbar-row__primary",
151
151
  "data-qa": e.$attrs["data-qa"] ?? "d-recipe-leftbar-row-link",
152
152
  "aria-label": t.getAriaLabel,
153
153
  title: a.description,
154
154
  href: e.$attrs.href ?? "javascript:void(0)"
155
- }, t.removeClassStyleAttrs(e.$attrs), q(t.contactRowListeners, !0), {
156
- onClick: r[0] || (r[0] = (p) => e.$emit("click", p))
155
+ }, t.removeClassStyleAttrs(e.$attrs), T(t.contactRowListeners, !0), {
156
+ onClick: r[0] || (r[0] = (_) => e.$emit("click", _))
157
157
  }), [
158
- o("div", I, [
159
- _(s, {
158
+ o("div", M, [
159
+ p(s, {
160
160
  size: "300",
161
161
  "data-qa": "dt-recipe-leftbar-row-icon"
162
162
  })
163
163
  ]),
164
164
  o("div", {
165
165
  class: "d-recipe-leftbar-row__label",
166
- style: B(`flex-basis: ${n.labelWidth}`)
166
+ style: q(`flex-basis: ${n.labelWidth}`)
167
167
  }, [
168
- _(l, {
168
+ p(l, {
169
169
  class: "d-recipe-leftbar-row__description",
170
170
  "data-qa": "dt-recipe-leftbar-row-description",
171
171
  size: "200"
172
172
  }, {
173
173
  default: b(() => [
174
- C(y(a.description), 1)
174
+ y(v(a.description), 1)
175
175
  ]),
176
176
  _: 1
177
177
  })
178
178
  ], 4)
179
- ], 16, x),
180
- a.hideActions ? L("", !0) : (h(), f("div", M, [
181
- v(e.$slots, "right"),
179
+ ], 16, I),
180
+ a.hideActions ? L("", !0) : (h(), w("div", x, [
181
+ e.$slots.end ? m(e.$slots, "end", { key: 0 }) : m(e.$slots, "right", { key: 1 }),
182
182
  o("div", H, [
183
- t.showUnreadCount ? (h(), $(d, {
183
+ t.showUnreadCount ? (h(), B(d, {
184
184
  key: 0,
185
185
  class: "d-recipe-leftbar-row__unread-badge",
186
186
  "data-qa": "dt-recipe-leftbar-row-unread-badge",
@@ -188,11 +188,11 @@ function G(e, r, a, m, n, t) {
188
188
  type: "bulletin"
189
189
  }, {
190
190
  default: b(() => [
191
- C(y(a.unreadCount), 1)
191
+ y(v(a.unreadCount), 1)
192
192
  ]),
193
193
  _: 1
194
194
  })) : L("", !0),
195
- _(g, {
195
+ p(g, {
196
196
  class: "d-recipe-leftbar-row__action",
197
197
  "data-qa": "dt-recipe-leftbar-row-action-button",
198
198
  "aria-label": t.menuButtonLabel,
@@ -200,10 +200,10 @@ function G(e, r, a, m, n, t) {
200
200
  importance: "clear",
201
201
  size: "xs",
202
202
  circle: "",
203
- onClick: r[1] || (r[1] = z((p) => e.$emit("click-menu", p), ["stop"]))
203
+ onClick: r[1] || (r[1] = z((_) => e.$emit("click-menu", _), ["stop"]))
204
204
  }, {
205
205
  icon: b(() => [
206
- _(c, { size: "100" })
206
+ p(c, { size: "100" })
207
207
  ]),
208
208
  _: 1
209
209
  }, 8, ["aria-label", "title"])
@@ -211,7 +211,7 @@ function G(e, r, a, m, n, t) {
211
211
  ]))
212
212
  ], 2),
213
213
  o("div", F, [
214
- v(e.$slots, "timer")
214
+ m(e.$slots, "timer")
215
215
  ])
216
216
  ], 16);
217
217
  }