@dialpad/dialtone-vue 3.199.0 → 3.199.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/README.md +15 -14
  2. package/dist/component-documentation.json +1 -1
  3. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  4. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  5. package/dist/lib/attachment-carousel/attachment-carousel.js +28 -28
  6. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  7. package/dist/lib/avatar/avatar.cjs.map +1 -1
  8. package/dist/lib/avatar/avatar.js.map +1 -1
  9. package/dist/lib/badge/badge.cjs.map +1 -1
  10. package/dist/lib/badge/badge.js.map +1 -1
  11. package/dist/lib/banner/banner.cjs.map +1 -1
  12. package/dist/lib/banner/banner.js.map +1 -1
  13. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  14. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  15. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  16. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  17. package/dist/lib/breadcrumbs/breadcrumbs.js +5 -5
  18. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  19. package/dist/lib/button/button.cjs.map +1 -1
  20. package/dist/lib/button/button.js.map +1 -1
  21. package/dist/lib/button-group/button-group.cjs.map +1 -1
  22. package/dist/lib/button-group/button-group.js.map +1 -1
  23. package/dist/lib/button-group/buttons-decorator.cjs +1 -1
  24. package/dist/lib/button-group/buttons-decorator.cjs.map +1 -1
  25. package/dist/lib/button-group/buttons-decorator.js +17 -17
  26. package/dist/lib/button-group/buttons-decorator.js.map +1 -1
  27. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  28. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  29. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  30. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +0 -1
  31. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  32. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  33. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +0 -1
  34. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  35. package/dist/lib/callbox/callbox.cjs.map +1 -1
  36. package/dist/lib/callbox/callbox.js.map +1 -1
  37. package/dist/lib/card/card.cjs.map +1 -1
  38. package/dist/lib/card/card.js.map +1 -1
  39. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  40. package/dist/lib/checkbox/checkbox.js.map +1 -1
  41. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  42. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  43. package/dist/lib/chip/chip.cjs.map +1 -1
  44. package/dist/lib/chip/chip.js.map +1 -1
  45. package/dist/lib/codeblock/codeblock.cjs +2 -2
  46. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  47. package/dist/lib/codeblock/codeblock.js +11 -11
  48. package/dist/lib/codeblock/codeblock.js.map +1 -1
  49. package/dist/lib/collapsible/collapsible-lazy-show.cjs.map +1 -1
  50. package/dist/lib/collapsible/collapsible-lazy-show.js.map +1 -1
  51. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  52. package/dist/lib/collapsible/collapsible.js.map +1 -1
  53. package/dist/lib/combobox/combobox-empty-list.cjs.map +1 -1
  54. package/dist/lib/combobox/combobox-empty-list.js.map +1 -1
  55. package/dist/lib/combobox/combobox-loading-list.cjs +1 -1
  56. package/dist/lib/combobox/combobox-loading-list.cjs.map +1 -1
  57. package/dist/lib/combobox/combobox-loading-list.js +2 -2
  58. package/dist/lib/combobox/combobox-loading-list.js.map +1 -1
  59. package/dist/lib/combobox/combobox.cjs.map +1 -1
  60. package/dist/lib/combobox/combobox.js.map +1 -1
  61. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  62. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  63. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  64. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  65. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  66. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  67. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  68. package/dist/lib/contact-info/contact-info.js.map +1 -1
  69. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  70. package/dist/lib/contact-row/contact-row.js.map +1 -1
  71. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  72. package/dist/lib/datepicker/datepicker.js.map +1 -1
  73. package/dist/lib/description-list/description-list.cjs.map +1 -1
  74. package/dist/lib/description-list/description-list.js.map +1 -1
  75. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  76. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  77. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  78. package/dist/lib/dropdown/dropdown.js.map +1 -1
  79. package/dist/lib/editor/editor.cjs +1 -1
  80. package/dist/lib/editor/editor.cjs.map +1 -1
  81. package/dist/lib/editor/editor.js +14 -14
  82. package/dist/lib/editor/editor.js.map +1 -1
  83. package/dist/lib/emoji/emoji.cjs.map +1 -1
  84. package/dist/lib/emoji/emoji.js.map +1 -1
  85. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  86. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  87. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  88. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  89. package/dist/lib/emoji-row/emoji-row.js +20 -20
  90. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  91. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  92. package/dist/lib/empty-state/empty-state.js.map +1 -1
  93. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  94. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  95. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  96. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  97. package/dist/lib/feed-item-row/feed-item-row.js +52 -48
  98. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  99. package/dist/lib/general-row/general-row.cjs +1 -1
  100. package/dist/lib/general-row/general-row.cjs.map +1 -1
  101. package/dist/lib/general-row/general-row.js +43 -43
  102. package/dist/lib/general-row/general-row.js.map +1 -1
  103. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  104. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  105. package/dist/lib/group-row/group-row.cjs.map +1 -1
  106. package/dist/lib/group-row/group-row.js.map +1 -1
  107. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  108. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  109. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  110. package/dist/lib/hovercard/hovercard.js.map +1 -1
  111. package/dist/lib/icon/icon.cjs.map +1 -1
  112. package/dist/lib/icon/icon.js.map +1 -1
  113. package/dist/lib/illustration/illustration.cjs.map +1 -1
  114. package/dist/lib/illustration/illustration.js.map +1 -1
  115. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  116. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  117. package/dist/lib/input/input.cjs +1 -1
  118. package/dist/lib/input/input.cjs.map +1 -1
  119. package/dist/lib/input/input.js +11 -9
  120. package/dist/lib/input/input.js.map +1 -1
  121. package/dist/lib/input-group/input-group.cjs.map +1 -1
  122. package/dist/lib/input-group/input-group.js.map +1 -1
  123. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  124. package/dist/lib/item-layout/item-layout.js.map +1 -1
  125. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  126. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  127. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  128. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  129. package/dist/lib/lazy-show/lazy-show.cjs.map +1 -1
  130. package/dist/lib/lazy-show/lazy-show.js.map +1 -1
  131. package/dist/lib/link/link.cjs.map +1 -1
  132. package/dist/lib/link/link.js.map +1 -1
  133. package/dist/lib/list-item/list-item.cjs.map +1 -1
  134. package/dist/lib/list-item/list-item.js.map +1 -1
  135. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  136. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  137. package/dist/lib/loader/loader.cjs.map +1 -1
  138. package/dist/lib/loader/loader.js.map +1 -1
  139. package/dist/lib/message-input/last-active-nodes.cjs.map +1 -1
  140. package/dist/lib/message-input/last-active-nodes.js.map +1 -1
  141. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  142. package/dist/lib/message-input/message-input-button.js.map +1 -1
  143. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  144. package/dist/lib/message-input/message-input-link.js.map +1 -1
  145. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  146. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  147. package/dist/lib/message-input/message-input-topbar.js +25 -25
  148. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  149. package/dist/lib/message-input/message-input.cjs +1 -1
  150. package/dist/lib/message-input/message-input.cjs.map +1 -1
  151. package/dist/lib/message-input/message-input.js +2 -2
  152. package/dist/lib/message-input/message-input.js.map +1 -1
  153. package/dist/lib/modal/modal.cjs.map +1 -1
  154. package/dist/lib/modal/modal.js.map +1 -1
  155. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  156. package/dist/lib/motion-text/motion-text.js.map +1 -1
  157. package/dist/lib/notice/notice-action.cjs.map +1 -1
  158. package/dist/lib/notice/notice-action.js.map +1 -1
  159. package/dist/lib/notice/notice-content.cjs.map +1 -1
  160. package/dist/lib/notice/notice-content.js.map +1 -1
  161. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  162. package/dist/lib/notice/notice-icon.js.map +1 -1
  163. package/dist/lib/notice/notice.cjs.map +1 -1
  164. package/dist/lib/notice/notice.js.map +1 -1
  165. package/dist/lib/pagination/pagination.cjs.map +1 -1
  166. package/dist/lib/pagination/pagination.js.map +1 -1
  167. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  168. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  169. package/dist/lib/popover/popover.cjs.map +1 -1
  170. package/dist/lib/popover/popover.js.map +1 -1
  171. package/dist/lib/presence/presence.cjs.map +1 -1
  172. package/dist/lib/presence/presence.js.map +1 -1
  173. package/dist/lib/radio/radio.cjs.map +1 -1
  174. package/dist/lib/radio/radio.js.map +1 -1
  175. package/dist/lib/radio-group/radios-decorator.cjs.map +1 -1
  176. package/dist/lib/radio-group/radios-decorator.js.map +1 -1
  177. package/dist/lib/rich-text-editor/channel-suggestion.cjs +1 -1
  178. package/dist/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
  179. package/dist/lib/rich-text-editor/channel-suggestion.js +12 -8
  180. package/dist/lib/rich-text-editor/channel-suggestion.js.map +1 -1
  181. package/dist/lib/rich-text-editor/rich-text-editor.cjs +10 -8
  182. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  183. package/dist/lib/rich-text-editor/rich-text-editor.js +58 -55
  184. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  185. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  186. package/dist/lib/root-layout/root-layout.js.map +1 -1
  187. package/dist/lib/scroller/scroller.cjs.map +1 -1
  188. package/dist/lib/scroller/scroller.js.map +1 -1
  189. package/dist/lib/select-menu/select-menu.cjs +1 -1
  190. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  191. package/dist/lib/select-menu/select-menu.js +8 -8
  192. package/dist/lib/select-menu/select-menu.js.map +1 -1
  193. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  194. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  195. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  196. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  197. package/dist/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
  198. package/dist/lib/skeleton/skeleton-paragraph.js.map +1 -1
  199. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  200. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  201. package/dist/lib/skeleton/skeleton-text.cjs.map +1 -1
  202. package/dist/lib/skeleton/skeleton-text.js.map +1 -1
  203. package/dist/lib/skeleton/skeleton.cjs.map +1 -1
  204. package/dist/lib/skeleton/skeleton.js.map +1 -1
  205. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  206. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  207. package/dist/lib/split-button/split-button-omega.cjs.map +1 -1
  208. package/dist/lib/split-button/split-button-omega.js.map +1 -1
  209. package/dist/lib/split-button/split-button.cjs +1 -1
  210. package/dist/lib/split-button/split-button.cjs.map +1 -1
  211. package/dist/lib/split-button/split-button.js +44 -21
  212. package/dist/lib/split-button/split-button.js.map +1 -1
  213. package/dist/lib/stack/stack.cjs.map +1 -1
  214. package/dist/lib/stack/stack.js.map +1 -1
  215. package/dist/lib/tab/tab-group.cjs.map +1 -1
  216. package/dist/lib/tab/tab-group.js.map +1 -1
  217. package/dist/lib/tab/tab-panel.cjs.map +1 -1
  218. package/dist/lib/tab/tab-panel.js.map +1 -1
  219. package/dist/lib/tab/tab.cjs.map +1 -1
  220. package/dist/lib/tab/tab.js.map +1 -1
  221. package/dist/lib/time-pill/time-pill.cjs.map +1 -1
  222. package/dist/lib/time-pill/time-pill.js.map +1 -1
  223. package/dist/lib/toast/toast.cjs.map +1 -1
  224. package/dist/lib/toast/toast.js.map +1 -1
  225. package/dist/lib/toggle/toggle.cjs.map +1 -1
  226. package/dist/lib/toggle/toggle.js.map +1 -1
  227. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  228. package/dist/lib/tooltip/tooltip.js.map +1 -1
  229. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  230. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  231. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  232. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  233. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  234. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  235. package/dist/localization/de-DE.cjs.map +1 -1
  236. package/dist/localization/de-DE.js.map +1 -1
  237. package/dist/localization/en-US.cjs.map +1 -1
  238. package/dist/localization/en-US.js.map +1 -1
  239. package/dist/localization/es-LA.cjs.map +1 -1
  240. package/dist/localization/es-LA.js.map +1 -1
  241. package/dist/localization/fr-FR.cjs.map +1 -1
  242. package/dist/localization/fr-FR.js.map +1 -1
  243. package/dist/localization/it-IT.cjs.map +1 -1
  244. package/dist/localization/it-IT.js.map +1 -1
  245. package/dist/localization/ja-JP.cjs.map +1 -1
  246. package/dist/localization/ja-JP.js.map +1 -1
  247. package/dist/localization/nl-NL.cjs.map +1 -1
  248. package/dist/localization/nl-NL.js.map +1 -1
  249. package/dist/localization/pt-BR.cjs.map +1 -1
  250. package/dist/localization/pt-BR.js.map +1 -1
  251. package/dist/localization/ru-RU.cjs.map +1 -1
  252. package/dist/localization/ru-RU.js.map +1 -1
  253. package/dist/localization/zh-CN.cjs.map +1 -1
  254. package/dist/localization/zh-CN.js.map +1 -1
  255. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  256. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  257. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  258. package/dist/shared/sr_only_close_button.js.map +1 -1
  259. package/dist/types/common/sr_only_close_button.vue.d.ts +210 -2
  260. package/dist/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  261. package/dist/types/components/avatar/avatar.vue.d.ts +38 -13
  262. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  263. package/dist/types/components/badge/badge.vue.d.ts +4 -4
  264. package/dist/types/components/banner/banner.vue.d.ts +693 -5
  265. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  266. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +40 -4
  267. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  268. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +90 -4
  269. package/dist/types/components/button/button.vue.d.ts +6 -6
  270. package/dist/types/components/button_group/button_group.vue.d.ts +4 -4
  271. package/dist/types/components/card/card.vue.d.ts +4 -4
  272. package/dist/types/components/checkbox/checkbox.vue.d.ts +43 -2
  273. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  274. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +55 -14
  275. package/dist/types/components/chip/chip.vue.d.ts +213 -5
  276. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  277. package/dist/types/components/codeblock/codeblock.vue.d.ts +3 -3
  278. package/dist/types/components/collapsible/collapsible.vue.d.ts +322 -6
  279. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  280. package/dist/types/components/collapsible/collapsible_lazy_show.vue.d.ts +4 -4
  281. package/dist/types/components/combobox/combobox.vue.d.ts +1273 -20
  282. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  283. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +218 -4
  284. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  285. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +1017 -1
  286. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  287. package/dist/types/components/datepicker/composables/useCalendar.d.ts +1 -1
  288. package/dist/types/components/datepicker/composables/useMonthYearPicker.d.ts +2 -2
  289. package/dist/types/components/datepicker/datepicker.vue.d.ts +50 -1
  290. package/dist/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
  291. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  292. package/dist/types/components/description_list/description_list.vue.d.ts +6 -6
  293. package/dist/types/components/dropdown/dropdown.vue.d.ts +910 -11
  294. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  295. package/dist/types/components/dropdown/dropdown_separator.vue.d.ts +1 -1
  296. package/dist/types/components/emoji/emoji.vue.d.ts +807 -4
  297. package/dist/types/components/emoji_picker/composables/useKeyboardNavigation.d.ts +3 -3
  298. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +473 -1
  299. package/dist/types/components/emoji_picker/modules/emoji_description.vue.d.ts +1 -1
  300. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +379 -1
  301. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  302. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +4 -1
  303. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  304. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts +3 -1
  305. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
  306. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +1 -1
  307. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +871 -4
  308. package/dist/types/components/empty_state/empty_state.vue.d.ts +1 -1
  309. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  310. package/dist/types/components/hovercard/hovercard.vue.d.ts +1558 -156
  311. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  312. package/dist/types/components/icon/icon.vue.d.ts +5 -5
  313. package/dist/types/components/illustration/illustration.vue.d.ts +1 -1
  314. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +430 -5
  315. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  316. package/dist/types/components/input/input.vue.d.ts +51 -10
  317. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  318. package/dist/types/components/input_group/input_group.vue.d.ts +49 -8
  319. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  320. package/dist/types/components/item_layout/item_layout.vue.d.ts +5 -5
  321. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +489 -16
  322. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  323. package/dist/types/components/lazy_show/lazy_show.vue.d.ts +4 -4
  324. package/dist/types/components/link/link.vue.d.ts +4 -4
  325. package/dist/types/components/list_item/list_item.vue.d.ts +124 -5
  326. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  327. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +4 -4
  328. package/dist/types/components/loader/loader.vue.d.ts +35 -4
  329. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  330. package/dist/types/components/modal/modal.vue.d.ts +466 -6
  331. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  332. package/dist/types/components/notice/notice.vue.d.ts +693 -5
  333. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  334. package/dist/types/components/notice/notice_action.vue.d.ts +430 -5
  335. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  336. package/dist/types/components/notice/notice_content.vue.d.ts +4 -4
  337. package/dist/types/components/notice/notice_icon.vue.d.ts +185 -5
  338. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  339. package/dist/types/components/pagination/pagination.vue.d.ts +273 -5
  340. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  341. package/dist/types/components/popover/popover.vue.d.ts +509 -9
  342. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  343. package/dist/types/components/popover/popover_header_footer.vue.d.ts +213 -5
  344. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  345. package/dist/types/components/presence/presence.vue.d.ts +4 -4
  346. package/dist/types/components/radio/radio.vue.d.ts +46 -5
  347. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  348. package/dist/types/components/radio_group/radio_group.vue.d.ts +55 -14
  349. package/dist/types/components/rich_text_editor/channel_suggestion.d.ts +2 -0
  350. package/dist/types/components/rich_text_editor/channel_suggestion.d.ts.map +1 -1
  351. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +150 -3
  352. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  353. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +132 -3
  354. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  355. package/dist/types/components/rich_text_editor/extensions/channels/channel.d.ts.map +1 -1
  356. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +883 -3
  357. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +938 -3
  358. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +52 -3
  359. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +319 -3
  360. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +18 -4
  361. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +3 -3
  362. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +217 -3
  363. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  364. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +327 -7
  365. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  366. package/dist/types/components/root_layout/root_layout.vue.d.ts +4 -4
  367. package/dist/types/components/scroller/modules/core_scroller.vue.d.ts +4 -1
  368. package/dist/types/components/scroller/modules/core_scroller.vue.d.ts.map +1 -1
  369. package/dist/types/components/scroller/modules/dynamic_scroller.vue.d.ts +503 -7
  370. package/dist/types/components/scroller/modules/scroller_item.vue.d.ts +4 -4
  371. package/dist/types/components/scroller/scroller.vue.d.ts +634 -123
  372. package/dist/types/components/scroller/scroller.vue.d.ts.map +1 -1
  373. package/dist/types/components/select_menu/select_menu.vue.d.ts +47 -6
  374. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  375. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +278 -4
  376. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +91 -5
  377. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  378. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +4 -4
  379. package/dist/types/components/skeleton/skeleton.vue.d.ts +725 -8
  380. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +184 -6
  381. package/dist/types/components/split_button/split_button-omega.vue.d.ts +213 -5
  382. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  383. package/dist/types/components/split_button/split_button.vue.d.ts +1804 -24
  384. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  385. package/dist/types/components/stack/stack.vue.d.ts +4 -4
  386. package/dist/types/components/tab/tab.vue.d.ts +183 -5
  387. package/dist/types/components/tab/tab_group.vue.d.ts +11 -5
  388. package/dist/types/components/tab/tab_panel.vue.d.ts +5 -5
  389. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +671 -4
  390. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  391. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +155 -5
  392. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  393. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +693 -5
  394. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  395. package/dist/types/components/toast/toast.vue.d.ts +2928 -13
  396. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  397. package/dist/types/components/toggle/toggle.vue.d.ts +5 -5
  398. package/dist/types/components/tooltip/tooltip.vue.d.ts +9 -9
  399. package/dist/types/components/validation_messages/validation_messages.vue.d.ts +4 -4
  400. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +442 -9
  401. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  402. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +1975 -6
  403. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  404. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1701 -6
  405. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  406. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +1768 -6
  407. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  408. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +309 -1
  409. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  410. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  411. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +3634 -11
  412. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  413. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +1014 -4
  414. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  415. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +749 -4
  416. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  417. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +4 -4
  418. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +3051 -24
  419. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  420. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +2202 -5
  421. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  422. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +556 -6
  423. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  424. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +665 -13
  425. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  426. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +343 -4
  427. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  428. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +6995 -7
  429. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  430. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +1026 -5
  431. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  432. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +2525 -5
  433. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  434. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +1383 -5
  435. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  436. package/dist/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts +3 -3
  437. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +212 -4
  438. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  439. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +341 -5
  440. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +414 -6
  441. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  442. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +1273 -7
  443. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  444. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +3400 -5
  445. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  446. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +2054 -16
  447. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  448. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +485 -5
  449. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  450. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +2257 -7
  451. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  452. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +65 -4
  453. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  454. package/dist/types/recipes/motion/motion_text/motion_text.vue.d.ts +1 -1
  455. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts +4 -4
  456. package/package.json +7 -7
@@ -1,14 +1,14 @@
1
1
  import { DtIconCodeBlock as O, DtIconCode as T, DtIconQuote as x, DtIconListOrdered as E, DtIconStrikethrough as S, DtIconItalic as v, DtIconBold as A, DtIconListBullet as y } from "@dialpad/dialtone-icons/vue3";
2
2
  import I from "./message-input-button.js";
3
- import { DialtoneLocalization as h } from "../../localization/index.js";
4
- import { resolveComponent as l, createBlock as g, openBlock as D, withCtx as n, createVNode as i, createElementVNode as r, renderSlot as N } from "vue";
5
- import { _ as f } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
- import U from "../stack/stack.js";
3
+ import { DialtoneLocalization as g } from "../../localization/index.js";
4
+ import { resolveComponent as a, createBlock as D, openBlock as N, withCtx as n, createVNode as i, createElementVNode as r, renderSlot as f } from "vue";
5
+ import { _ as U } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import h from "../stack/stack.js";
7
7
  const C = {
8
8
  compatConfig: { MODE: 3 },
9
9
  name: "DtRecipeMessageInputTopbar",
10
10
  components: {
11
- DtStack: U,
11
+ DtStack: h,
12
12
  DtIconListBullet: y,
13
13
  DtIconBold: A,
14
14
  DtIconItalic: v,
@@ -61,7 +61,7 @@ const C = {
61
61
  emits: ["click"],
62
62
  data() {
63
63
  return {
64
- i18n: new h()
64
+ i18n: new g()
65
65
  };
66
66
  },
67
67
  computed: {
@@ -90,10 +90,10 @@ const C = {
90
90
  return this.i18n.$ta("DIALTONE_MESSAGE_INPUT_CODE_BLOCK_BUTTON_LABEL");
91
91
  }
92
92
  }
93
- }, q = /* @__PURE__ */ r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1), M = /* @__PURE__ */ r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1), z = /* @__PURE__ */ r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1), G = /* @__PURE__ */ r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1);
94
- function j(c, t, e, P, Q, o) {
95
- const u = l("dt-icon-bold"), s = l("dt-recipe-message-input-button"), d = l("dt-icon-italic"), b = l("dt-icon-strikethrough"), _ = l("dt-icon-list-bullet"), k = l("dt-icon-list-ordered"), p = l("dt-icon-quote"), B = l("dt-icon-code"), L = l("dt-icon-code-block"), m = l("dt-stack");
96
- return D(), g(m, {
93
+ };
94
+ function q(c, t, e, M, z, o) {
95
+ const u = a("dt-icon-bold"), s = a("dt-recipe-message-input-button"), d = a("dt-icon-italic"), b = a("dt-icon-strikethrough"), _ = a("dt-icon-list-bullet"), k = a("dt-icon-list-ordered"), p = a("dt-icon-quote"), B = a("dt-icon-code"), L = a("dt-icon-code-block"), m = a("dt-stack");
96
+ return N(), D(m, {
97
97
  direction: "row",
98
98
  gap: "200",
99
99
  class: "d-recipe-message-input__button-stack"
@@ -105,7 +105,7 @@ function j(c, t, e, P, Q, o) {
105
105
  "keyboard-shortcut-text": e.boldButtonOptions.keyboardShortcutText,
106
106
  "data-qa": "bold",
107
107
  "is-active": e.isSelectionActive("bold"),
108
- onClick: t[0] || (t[0] = (a) => c.$emit("click", "bold", a))
108
+ onClick: t[0] || (t[0] = (l) => c.$emit("click", "bold", l))
109
109
  }, {
110
110
  icon: n(() => [
111
111
  i(u, {
@@ -121,7 +121,7 @@ function j(c, t, e, P, Q, o) {
121
121
  "keyboard-shortcut-text": e.italicButtonOptions.keyboardShortcutText,
122
122
  "data-qa": "italic",
123
123
  "is-active": e.isSelectionActive("italic"),
124
- onClick: t[1] || (t[1] = (a) => c.$emit("click", "italic", a))
124
+ onClick: t[1] || (t[1] = (l) => c.$emit("click", "italic", l))
125
125
  }, {
126
126
  icon: n(() => [
127
127
  i(d, {
@@ -137,7 +137,7 @@ function j(c, t, e, P, Q, o) {
137
137
  "keyboard-shortcut-text": e.strikeButtonOptions.keyboardShortcutText,
138
138
  "data-qa": "strikethrough",
139
139
  "is-active": e.isSelectionActive("strike"),
140
- onClick: t[2] || (t[2] = (a) => c.$emit("click", "strike", a))
140
+ onClick: t[2] || (t[2] = (l) => c.$emit("click", "strike", l))
141
141
  }, {
142
142
  icon: n(() => [
143
143
  i(b, {
@@ -147,16 +147,16 @@ function j(c, t, e, P, Q, o) {
147
147
  ]),
148
148
  _: 1
149
149
  }, 8, ["aria-label", "tooltip-text", "keyboard-shortcut-text", "is-active"]),
150
- q,
151
- N(c.$slots, "link"),
152
- M,
150
+ t[8] || (t[8] = r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1)),
151
+ f(c.$slots, "link"),
152
+ t[9] || (t[9] = r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1)),
153
153
  i(s, {
154
154
  "aria-label": o.bulletListButtonLabel["aria-label"],
155
155
  "tooltip-text": o.bulletListButtonLabel["tooltip-text"],
156
156
  "keyboard-shortcut-text": e.bulletListButtonOptions.keyboardShortcutText,
157
157
  "data-qa": "bullet-list",
158
158
  "is-active": e.isSelectionActive("bulletList"),
159
- onClick: t[3] || (t[3] = (a) => c.$emit("click", "bulletList", a))
159
+ onClick: t[3] || (t[3] = (l) => c.$emit("click", "bulletList", l))
160
160
  }, {
161
161
  icon: n(() => [
162
162
  i(_, {
@@ -172,7 +172,7 @@ function j(c, t, e, P, Q, o) {
172
172
  "keyboard-shortcut-text": e.orderedListButtonOptions.keyboardShortcutText,
173
173
  "data-qa": "ordered-list",
174
174
  "is-active": e.isSelectionActive("orderedList"),
175
- onClick: t[4] || (t[4] = (a) => c.$emit("click", "orderedList", a))
175
+ onClick: t[4] || (t[4] = (l) => c.$emit("click", "orderedList", l))
176
176
  }, {
177
177
  icon: n(() => [
178
178
  i(k, {
@@ -182,14 +182,14 @@ function j(c, t, e, P, Q, o) {
182
182
  ]),
183
183
  _: 1
184
184
  }, 8, ["aria-label", "tooltip-text", "keyboard-shortcut-text", "is-active"]),
185
- z,
185
+ t[10] || (t[10] = r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1)),
186
186
  i(s, {
187
187
  "aria-label": o.blockQuoteButtonLabel["aria-label"],
188
188
  "tooltip-text": o.blockQuoteButtonLabel["tooltip-text"],
189
189
  "keyboard-shortcut-text": e.blockQuoteButtonOptions.keyboardShortcutText,
190
190
  "data-qa": "blockquote",
191
191
  "is-active": e.isSelectionActive("blockquote"),
192
- onClick: t[5] || (t[5] = (a) => c.$emit("click", "blockquote", a))
192
+ onClick: t[5] || (t[5] = (l) => c.$emit("click", "blockquote", l))
193
193
  }, {
194
194
  icon: n(() => [
195
195
  i(p, {
@@ -199,14 +199,14 @@ function j(c, t, e, P, Q, o) {
199
199
  ]),
200
200
  _: 1
201
201
  }, 8, ["aria-label", "tooltip-text", "keyboard-shortcut-text", "is-active"]),
202
- G,
202
+ t[11] || (t[11] = r("div", { class: "d-recipe-message-input--button-group-divider" }, null, -1)),
203
203
  i(s, {
204
204
  "aria-label": o.codeButtonLabel["aria-label"],
205
205
  "tooltip-text": o.codeButtonLabel["tooltip-text"],
206
206
  "keyboard-shortcut-text": e.codeButtonOptions.keyboardShortcutText,
207
207
  "data-qa": "code",
208
208
  "is-active": e.isSelectionActive("code"),
209
- onClick: t[6] || (t[6] = (a) => c.$emit("click", "code", a))
209
+ onClick: t[6] || (t[6] = (l) => c.$emit("click", "code", l))
210
210
  }, {
211
211
  icon: n(() => [
212
212
  i(B, {
@@ -222,7 +222,7 @@ function j(c, t, e, P, Q, o) {
222
222
  "keyboard-shortcut-text": e.codeBlockButtonOptions.keyboardShortcutText,
223
223
  "data-qa": "code-block",
224
224
  "is-active": e.isSelectionActive("codeBlock"),
225
- onClick: t[7] || (t[7] = (a) => c.$emit("click", "codeBlock", a))
225
+ onClick: t[7] || (t[7] = (l) => c.$emit("click", "codeBlock", l))
226
226
  }, {
227
227
  icon: n(() => [
228
228
  i(L, {
@@ -236,8 +236,8 @@ function j(c, t, e, P, Q, o) {
236
236
  _: 3
237
237
  });
238
238
  }
239
- const J = /* @__PURE__ */ f(C, [["render", j]]);
239
+ const K = /* @__PURE__ */ U(C, [["render", q]]);
240
240
  export {
241
- J as default
241
+ K as default
242
242
  };
243
243
  //# sourceMappingURL=message-input-topbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-input-topbar.js","sources":["../../../recipes/conversation_view/message_input/message_input_topbar.vue"],"sourcesContent":["<template>\n <dt-stack\n direction=\"row\"\n gap=\"200\"\n class=\"d-recipe-message-input__button-stack\"\n >\n <dt-recipe-message-input-button\n :aria-label=\"boldButtonLabel['aria-label']\"\n :tooltip-text=\"boldButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"boldButtonOptions.keyboardShortcutText\"\n data-qa=\"bold\"\n :is-active=\"isSelectionActive('bold')\"\n @click=\"$emit('click', 'bold', $event)\"\n >\n <template #icon>\n <dt-icon-bold\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"italicButtonLabel['aria-label']\"\n :tooltip-text=\"italicButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"italicButtonOptions.keyboardShortcutText\"\n data-qa=\"italic\"\n :is-active=\"isSelectionActive('italic')\"\n @click=\"$emit('click', 'italic', $event)\"\n >\n <template #icon>\n <dt-icon-italic\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"strikeButtonLabel['aria-label']\"\n :tooltip-text=\"strikeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"strikeButtonOptions.keyboardShortcutText\"\n data-qa=\"strikethrough\"\n :is-active=\"isSelectionActive('strike')\"\n @click=\"$emit('click', 'strike', $event)\"\n >\n <template #icon>\n <dt-icon-strikethrough\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <!-- @slot special slot for link button, since links require a custom dialog -->\n <slot name=\"link\" />\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"bulletListButtonLabel['aria-label']\"\n :tooltip-text=\"bulletListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"bulletListButtonOptions.keyboardShortcutText\"\n data-qa=\"bullet-list\"\n :is-active=\"isSelectionActive('bulletList')\"\n @click=\"$emit('click', 'bulletList', $event)\"\n >\n <template #icon>\n <dt-icon-list-bullet\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"orderedListButtonLabel['aria-label']\"\n :tooltip-text=\"orderedListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"orderedListButtonOptions.keyboardShortcutText\"\n data-qa=\"ordered-list\"\n :is-active=\"isSelectionActive('orderedList')\"\n @click=\"$emit('click', 'orderedList', $event)\"\n >\n <template #icon>\n <dt-icon-list-ordered\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"blockQuoteButtonLabel['aria-label']\"\n :tooltip-text=\"blockQuoteButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"blockQuoteButtonOptions.keyboardShortcutText\"\n data-qa=\"blockquote\"\n :is-active=\"isSelectionActive('blockquote')\"\n @click=\"$emit('click', 'blockquote', $event)\"\n >\n <template #icon>\n <dt-icon-quote\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"codeButtonLabel['aria-label']\"\n :tooltip-text=\"codeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeButtonOptions.keyboardShortcutText\"\n data-qa=\"code\"\n :is-active=\"isSelectionActive('code')\"\n @click=\"$emit('click', 'code', $event)\"\n >\n <template #icon>\n <dt-icon-code\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"codeBlockButtonLabel['aria-label']\"\n :tooltip-text=\"codeBlockButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeBlockButtonOptions.keyboardShortcutText\"\n data-qa=\"code-block\"\n :is-active=\"isSelectionActive('codeBlock')\"\n @click=\"$emit('click', 'codeBlock', $event)\"\n >\n <template #icon>\n <dt-icon-code-block\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n </dt-stack>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport {\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n} from '@dialpad/dialtone-icons/vue3';\nimport DtRecipeMessageInputButton from './message_input_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMessageInputTopbar',\n components: {\n DtStack,\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n DtRecipeMessageInputButton,\n },\n\n props: {\n boldButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n italicButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n strikeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n bulletListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n orderedListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n blockQuoteButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeBlockButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n isSelectionActive: {\n type: Function,\n default: () => {},\n },\n },\n\n emits: ['click'],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n boldButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BOLD_BUTTON_LABEL'); },\n italicButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ITALIC_BUTTON_LABEL'); },\n strikeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_STRIKETHROUGH_BUTTON_LABEL'); },\n bulletListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BULLET_LIST_BUTTON_LABEL'); },\n orderedListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ORDERED_LIST_BUTTON_LABEL'); },\n blockQuoteButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BLOCK_QUOTE_BUTTON_LABEL'); },\n codeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BUTTON_LABEL'); },\n codeBlockButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BLOCK_BUTTON_LABEL'); },\n },\n};\n</script>\n"],"names":["_sfc_main","DtStack","DtIconListBullet","DtIconBold","DtIconItalic","DtIconStrikethrough","DtIconListOrdered","DtIconQuote","DtIconCode","DtIconCodeBlock","DtRecipeMessageInputButton","DialtoneLocalization","_createElementVNode","_createBlock","_component_dt_stack","_withCtx","_createVNode","_component_dt_recipe_message_input_button","$options","$props","_cache","$event","_ctx","_component_dt_icon_bold","_component_dt_icon_italic","_component_dt_icon_strikethrough","_hoisted_1","_renderSlot","_hoisted_2","_component_dt_icon_list_bullet","_component_dt_icon_list_ordered","_hoisted_3","_component_dt_icon_quote","_hoisted_4","_component_dt_icon_code","_component_dt_icon_code_block"],"mappings":"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"}
1
+ {"version":3,"file":"message-input-topbar.js","sources":["../../../recipes/conversation_view/message_input/message_input_topbar.vue"],"sourcesContent":["<template>\n <dt-stack\n direction=\"row\"\n gap=\"200\"\n class=\"d-recipe-message-input__button-stack\"\n >\n <dt-recipe-message-input-button\n :aria-label=\"boldButtonLabel['aria-label']\"\n :tooltip-text=\"boldButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"boldButtonOptions.keyboardShortcutText\"\n data-qa=\"bold\"\n :is-active=\"isSelectionActive('bold')\"\n @click=\"$emit('click', 'bold', $event)\"\n >\n <template #icon>\n <dt-icon-bold\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"italicButtonLabel['aria-label']\"\n :tooltip-text=\"italicButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"italicButtonOptions.keyboardShortcutText\"\n data-qa=\"italic\"\n :is-active=\"isSelectionActive('italic')\"\n @click=\"$emit('click', 'italic', $event)\"\n >\n <template #icon>\n <dt-icon-italic\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"strikeButtonLabel['aria-label']\"\n :tooltip-text=\"strikeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"strikeButtonOptions.keyboardShortcutText\"\n data-qa=\"strikethrough\"\n :is-active=\"isSelectionActive('strike')\"\n @click=\"$emit('click', 'strike', $event)\"\n >\n <template #icon>\n <dt-icon-strikethrough\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <!-- @slot special slot for link button, since links require a custom dialog -->\n <slot name=\"link\" />\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"bulletListButtonLabel['aria-label']\"\n :tooltip-text=\"bulletListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"bulletListButtonOptions.keyboardShortcutText\"\n data-qa=\"bullet-list\"\n :is-active=\"isSelectionActive('bulletList')\"\n @click=\"$emit('click', 'bulletList', $event)\"\n >\n <template #icon>\n <dt-icon-list-bullet\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"orderedListButtonLabel['aria-label']\"\n :tooltip-text=\"orderedListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"orderedListButtonOptions.keyboardShortcutText\"\n data-qa=\"ordered-list\"\n :is-active=\"isSelectionActive('orderedList')\"\n @click=\"$emit('click', 'orderedList', $event)\"\n >\n <template #icon>\n <dt-icon-list-ordered\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"blockQuoteButtonLabel['aria-label']\"\n :tooltip-text=\"blockQuoteButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"blockQuoteButtonOptions.keyboardShortcutText\"\n data-qa=\"blockquote\"\n :is-active=\"isSelectionActive('blockquote')\"\n @click=\"$emit('click', 'blockquote', $event)\"\n >\n <template #icon>\n <dt-icon-quote\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"codeButtonLabel['aria-label']\"\n :tooltip-text=\"codeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeButtonOptions.keyboardShortcutText\"\n data-qa=\"code\"\n :is-active=\"isSelectionActive('code')\"\n @click=\"$emit('click', 'code', $event)\"\n >\n <template #icon>\n <dt-icon-code\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"codeBlockButtonLabel['aria-label']\"\n :tooltip-text=\"codeBlockButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeBlockButtonOptions.keyboardShortcutText\"\n data-qa=\"code-block\"\n :is-active=\"isSelectionActive('codeBlock')\"\n @click=\"$emit('click', 'codeBlock', $event)\"\n >\n <template #icon>\n <dt-icon-code-block\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n </dt-stack>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport {\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n} from '@dialpad/dialtone-icons/vue3';\nimport DtRecipeMessageInputButton from './message_input_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMessageInputTopbar',\n components: {\n DtStack,\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n DtRecipeMessageInputButton,\n },\n\n props: {\n boldButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n italicButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n strikeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n bulletListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n orderedListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n blockQuoteButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeBlockButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n isSelectionActive: {\n type: Function,\n default: () => {},\n },\n },\n\n emits: ['click'],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n boldButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BOLD_BUTTON_LABEL'); },\n italicButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ITALIC_BUTTON_LABEL'); },\n strikeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_STRIKETHROUGH_BUTTON_LABEL'); },\n bulletListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BULLET_LIST_BUTTON_LABEL'); },\n orderedListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ORDERED_LIST_BUTTON_LABEL'); },\n blockQuoteButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BLOCK_QUOTE_BUTTON_LABEL'); },\n codeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BUTTON_LABEL'); },\n codeBlockButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BLOCK_BUTTON_LABEL'); },\n },\n};\n</script>\n"],"names":["_sfc_main","DtStack","DtIconListBullet","DtIconBold","DtIconItalic","DtIconStrikethrough","DtIconListOrdered","DtIconQuote","DtIconCode","DtIconCodeBlock","DtRecipeMessageInputButton","DialtoneLocalization","_createBlock","_component_dt_stack","_createVNode","_component_dt_recipe_message_input_button","$options","$props","_cache","$event","_ctx","_component_dt_icon_bold","_component_dt_icon_italic","_component_dt_icon_strikethrough","_createElementVNode","_renderSlot","_component_dt_icon_list_bullet","_component_dt_icon_list_ordered","_component_dt_icon_quote","_component_dt_icon_code","_component_dt_icon_code_block"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("./last-active-nodes.cjs"),k=require("../../common/utils/index.cjs"),f=require("@tiptap/core"),b=require("../../node_modules/@tiptap/vue-3.cjs"),d=require("@dialpad/dialtone-icons/vue3"),T=require("../../localization/index.cjs"),e=require("vue"),v=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),B=require("../button/button.cjs"),V=require("../item-layout/item-layout.cjs"),j=require("./message-input-topbar.cjs"),N=require("./message-input-link.cjs"),S=require("../editor/editor-constants.cjs"),A=require("../stack/stack.cjs"),M=require("../tooltip/tooltip.cjs"),q=require("../rich-text-editor/rich-text-editor.cjs"),F=require("../popover/popover.cjs"),R=require("../input/input.cjs"),z=require("../emoji-picker/emoji-picker.cjs"),C=require("../rich-text-editor/rich-text-editor-constants.cjs"),U={name:"MeetingPill",components:{NodeViewWrapper:b.NodeViewWrapper,DtItemLayout:V.default,DtIconClose:d.DtIconClose,DtButton:B.default,DtIconVideo:d.DtIconVideo},props:b.nodeViewProps,emits:["meeting-pill-close"],data(){return{i18n:new T.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{close(i){var o,r,l;const t=(l=(r=(o=this.editor)==null?void 0:o.storage)==null?void 0:r.meetingPill)==null?void 0:l.onClose;t&&typeof t=="function"&&t(i)}}},H={class:"d-recipe-message-input-meeting-pill__icon"},G={class:"d-recipe-message-input-meeting-pill__close"};function W(i,t,o,r,l,n){const m=e.resolveComponent("dt-icon-video"),p=e.resolveComponent("dt-icon-close"),h=e.resolveComponent("dt-button"),g=e.resolveComponent("dt-item-layout"),c=e.resolveComponent("node-view-wrapper");return e.openBlock(),e.createBlock(c,{class:"d-recipe-message-input-meeting-pill"},{default:e.withCtx(()=>[e.createVNode(g,{class:"d-recipe-message-input-meeting-pill__layout",unstyled:""},{left:e.withCtx(()=>[e.createElementVNode("div",H,[e.createVNode(m,{size:"400"})])]),right:e.withCtx(()=>[e.createElementVNode("div",G,[e.createVNode(h,{circle:"",importance:"clear",size:"xs","aria-label":n.closeButtonTitle,title:n.closeButtonTitle,onClick:n.close},{icon:e.withCtx(()=>[e.createVNode(p,{size:"300"})]),_:1},8,["aria-label","title","onClick"])])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(i.node.attrs.text)+" ",1)]),_:1})]),_:1})}const K=v._(U,[["render",W]]),X=f.Node.create({name:"meetingPill",atom:!0,group:"inline",inline:!0,addOptions(){return{onClose:()=>{}}},addStorage(){return{onClose:this.options.onClose}},addNodeView(){return b.VueNodeViewRenderer(K)},addAttributes(){return{text:{default:'Please pass in "text" attribute'}}},parseHTML(){return[{tag:"meeting-pill"}]},renderText(){return"/dpm"},renderHTML({HTMLAttributes:i}){return["meeting-pill",f.mergeAttributes(i)]}}),Q={compatConfig:{MODE:3},name:"DtRecipeMessageInput",components:{DtButton:B.default,DtEmojiPicker:z.default,DtInput:R.default,DtPopover:F.default,DtRecipeMessageInputTopbar:j.default,DtRecipeMessageInputLink:N.default,DtRichTextEditor:q.default,DtTooltip:M.default,DtStack:A.default,DtIconImage:d.DtIconImage,DtIconVerySatisfied:d.DtIconVerySatisfied,DtIconSatisfied:d.DtIconSatisfied,DtIconSend:d.DtIconSend},inheritAttrs:!1,props:{richText:{type:Boolean,default:!0},modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},preventTyping:{type:Boolean,default:!1},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(i){return typeof i=="string"?C.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(i):!0}},outputFormat:{type:String,default:"json",validator(i){return C.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(i)}},placeholder:{type:String,default:""},disableSend:{type:Boolean,default:!1},maxHeight:{type:String,default:"unset"},showEmojiPicker:{type:Boolean,default:!0},emojiPickerProps:{type:Object,default:()=>({})},showCharacterLimit:{type:[Boolean,Object],default:()=>({count:1500,warning:500,message:""})},showImagePicker:{type:[Boolean,Object],default:()=>({})},showSend:{type:[Boolean,Object],default:()=>({})},showCancel:{type:[Boolean,Object],default:()=>({})},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},boldButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + B"})},italicButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + I"})},strikeButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + S"})},linkButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + K",linkPlaceholder:"e.g. https://www.dialpad.com"})},bulletListButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + 8"})},orderedListButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + 7"})},blockQuoteButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + B"})},codeButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + E"})},codeBlockButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Alt + C"})}},emits:["submit","select-media","add-media","paste-media","cancel","skin-tone","selected-emoji","selected-command","meeting-pill-close","update:modelValue","text-input","markdown-input","add-emoji","emoji-scroll-bottom-reached"],data(){return{lastActiveNodes:P.default,additionalExtensions:[X.configure({onClose:i=>{this.$emit("meeting-pill-close",i)}})],internalInputValue:this.modelValue,imagePickerFocus:!1,emojiPickerFocus:!1,emojiPickerOpened:!1,isFocused:!1,linkOptions:{class:"d-link d-c-text d-d-inline-block"},linkDialogOpen:!1,selectedText:"",text:"",hideLinkBubbleMenu:!1,i18n:new T.DialtoneLocalization}},computed:{showSendIcon(){return!this.showSend.text},inputLength(){return this.text.length},displayCharacterLimitWarning(){return!!this.showCharacterLimit&&this.showCharacterLimit.count-this.inputLength<=this.showCharacterLimit.warning},characterLimitTooltipEnabled(){return this.showCharacterLimit.message&&this.showCharacterLimit.count-this.inputLength<0},isSendDisabled(){return this.disableSend||this.showCharacterLimit&&this.inputLength>this.showCharacterLimit.count},emojiPickerHovered(){return this.emojiPickerFocus||this.emojiPickerOpened},sendIconSize(){return"300"},sendButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_SEND_BUTTON_ARIA_LABEL")},imagePickerButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_IMAGE_PICKER_BUTTON_ARIA_LABEL")},emojiPickerButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_EMOJI_PICKER_BUTTON_ARIA_LABEL")},cancelButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_CANCEL_BUTTON_ARIA_LABEL")}},watch:{modelValue(i){this.internalInputValue=i},emojiPickerOpened(i){var t;i||(t=this.$refs.richTextEditor)==null||t.focusEditor()}},created(){this.modelValue&&this.outputFormat==="text"?this.internalInputValue=this.modelValue.replace(/\n/g,"<br>"):this.internalInputValue=this.modelValue},methods:{removeClassStyleAttrs:k.removeClassStyleAttrs,addClassStyleAttrs:k.addClassStyleAttrs,linkDialogOpened(i){var t;this.linkDialogOpen=i,i===!0?this.initLinkDialog():(this.hideLinkBubbleMenu=!1,(t=this.$refs.richTextEditor)==null||t.focusEditor())},handleTopbarClick(i){var r;const t=(r=this.$refs.richTextEditor)==null?void 0:r.editor,o={bold:()=>t==null?void 0:t.chain().focus().toggleBold().run(),italic:()=>t==null?void 0:t.chain().focus().toggleItalic().run(),strike:()=>t==null?void 0:t.chain().focus().toggleStrike().run(),bulletList:()=>t==null?void 0:t.chain().focus().toggleBulletList().run(),orderedList:()=>t==null?void 0:t.chain().focus().toggleOrderedList().run(),blockquote:()=>t==null?void 0:t.chain().focus().toggleBlockquote().run(),code:()=>t==null?void 0:t.chain().focus().toggleCode().run(),codeBlock:()=>t==null?void 0:t.chain().focus().toggleCodeBlock().run()};t&&o[i]&&o[i]()},isSelectionActive(i){var t,o,r,l;return["bulletList","orderedList"].includes(i)?this.lastActiveNodes((o=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:o.state,[{type:"bulletList"},{type:"orderedList"}]).includes(i)&&this.isFocused:((l=(r=this.$refs.richTextEditor)==null?void 0:r.editor)==null?void 0:l.isActive(i))&&this.isFocused},initLinkDialog(){var i,t,o;this.$refs.link.setInitialValues(this.selectedText,(o=(t=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:t.getAttributes("link"))==null?void 0:o.href),this.hideLinkBubbleMenu=!0,this.linkDialogOpen=!0},removeLink(){var i;(i=this.$refs.richTextEditor)==null||i.removeLink(),this.linkDialogOpen=!1},setLink(i,t){this.$refs.richTextEditor.setLink(t,i,this.linkOptions,S.EDITOR_SUPPORTED_LINK_PROTOCOLS,S.EDITOR_DEFAULT_LINK_PREFIX),this.linkDialogOpen=!1},onMousedown(i){k.returnFirstEl(this.$refs.richTextEditor.$el).querySelector(".tiptap").contains(i.target)||(i.preventDefault(),this.$refs.richTextEditor.focusEditor())},onDrop(i){const t=i.dataTransfer,o=Array.from(t.files);this.$emit("add-media",o)},onPaste(i){if(i.clipboardData.files.length){i.stopPropagation(),i.preventDefault();const t=[...i.clipboardData.files];this.$emit("paste-media",t)}},onSkinTone(i){this.$emit("skin-tone",i)},onSelectEmoji(i,t){i&&(i.shift_key||t(),this.$refs.richTextEditor.editor.commands.insertContent({type:"emoji",attrs:{code:i.shortname,image:i.image,name:i.name}}),this.$emit("selected-emoji",i))},onSelectImage(){this.$refs.messageInputImageUpload.$refs.input.click()},onImageUpload(){this.$emit("select-media",this.$refs.messageInputImageUpload.$refs.input.files)},toggleEmojiPicker(){this.emojiPickerOpened=!this.emojiPickerOpened},onSend(){this.isSendDisabled||this.$emit("submit",this.internalInputValue)},onCancel(){this.$emit("cancel")},onInput(i){this.$emit("update:modelValue",i)},onTextInput(i){this.text=i,this.$emit("text-input",i)},onMarkdownInput(i){this.$emit("markdown-input",i)}}},J={class:"d-recipe-message-input__bottom-section"},Y={class:"d-recipe-message-input__bottom-section-left"},Z={class:"d-recipe-message-input__bottom-section-right"},$={class:"d-recipe-message-input__schedule-message"},ee={class:"d-recipe-message-input__sms-count"},te={key:0};function ie(i,t,o,r,l,n){const m=e.resolveComponent("dt-recipe-message-input-link"),p=e.resolveComponent("dt-recipe-message-input-topbar"),h=e.resolveComponent("dt-rich-text-editor"),g=e.resolveComponent("dt-icon-image"),c=e.resolveComponent("dt-button"),I=e.resolveComponent("dt-input"),w=e.resolveComponent("dt-icon-very-satisfied"),L=e.resolveComponent("dt-icon-satisfied"),y=e.resolveComponent("dt-emoji-picker"),E=e.resolveComponent("dt-popover"),_=e.resolveComponent("dt-stack"),O=e.resolveComponent("dt-tooltip"),x=e.resolveComponent("dt-icon-send"),D=e.resolveDirective("dt-scrollbar"),u=e.resolveDirective("dt-tooltip");return e.openBlock(),e.createElementBlock("div",e.mergeProps({"data-qa":"dt-recipe-message-input",role:"presentation",class:"d-recipe-message-input"},n.addClassStyleAttrs(i.$attrs),{onDragover:t[15]||(t[15]=e.withModifiers(()=>{},["prevent"])),onDrop:t[16]||(t[16]=e.withModifiers((...s)=>n.onDrop&&n.onDrop(...s),["prevent"])),onPaste:t[17]||(t[17]=(...s)=>n.onPaste&&n.onPaste(...s)),onMousedown:t[18]||(t[18]=(...s)=>n.onMousedown&&n.onMousedown(...s))}),[e.renderSlot(i.$slots,"top"),o.richText?(e.openBlock(),e.createBlock(p,{key:l.selectedText,"bold-button-options":o.boldButtonOptions,"italic-button-options":o.italicButtonOptions,"strike-button-options":o.strikeButtonOptions,"bullet-list-button-options":o.bulletListButtonOptions,"ordered-list-button-options":o.orderedListButtonOptions,"block-quote-button-options":o.blockQuoteButtonOptions,"code-button-options":o.codeButtonOptions,"code-block-button-options":o.codeBlockButtonOptions,"is-selection-active":n.isSelectionActive,onClick:n.handleTopbarClick},{link:e.withCtx(()=>[e.createVNode(m,{ref:"link",open:l.linkDialogOpen,"link-button-options":o.linkButtonOptions,"is-selection-active":n.isSelectionActive,onOpened:n.linkDialogOpened,onSetLink:n.setLink,onRemoveLink:n.removeLink},null,8,["open","link-button-options","is-selection-active","onOpened","onSetLink","onRemoveLink"])]),_:1},8,["bold-button-options","italic-button-options","strike-button-options","bullet-list-button-options","ordered-list-button-options","block-quote-button-options","code-button-options","code-block-button-options","is-selection-active","onClick"])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:"d-recipe-message-input__editor-wrapper",style:e.normalizeStyle({"max-height":o.maxHeight})},[e.createVNode(h,e.mergeProps({ref:"richTextEditor",modelValue:l.internalInputValue,"onUpdate:modelValue":t[0]||(t[0]=s=>l.internalInputValue=s),"allow-blockquote":o.richText,"allow-bold":o.richText,"allow-bullet-list":o.richText,"allow-code":o.richText,"allow-codeblock":o.richText,"allow-italic":o.richText,"allow-strike":o.richText,"allow-underline":o.richText,"paste-rich-text":o.richText,editable:o.editable,"input-aria-label":o.inputAriaLabel,"input-class":o.inputClass,"output-format":o.outputFormat,"auto-focus":o.autoFocus,link:o.richText,placeholder:o.placeholder,"prevent-typing":o.preventTyping,"mention-suggestion":o.mentionSuggestion,"channel-suggestion":o.channelSuggestion,"slash-command-suggestion":o.slashCommandSuggestion,"additional-extensions":l.additionalExtensions,"hide-link-bubble-menu":l.hideLinkBubbleMenu},n.removeClassStyleAttrs(i.$attrs),{onInput:n.onInput,onTextInput:n.onTextInput,onMarkdownInput:n.onMarkdownInput,onEnter:n.onSend,onSelected:t[1]||(t[1]=s=>l.selectedText=s),onSelectedCommand:t[2]||(t[2]=s=>i.$emit("selected-command",s)),onEditLink:n.initLinkDialog,onFocus:t[3]||(t[3]=s=>l.isFocused=!0),onBlur:t[4]||(t[4]=s=>l.isFocused=!1)}),null,16,["modelValue","allow-blockquote","allow-bold","allow-bullet-list","allow-code","allow-codeblock","allow-italic","allow-strike","allow-underline","paste-rich-text","editable","input-aria-label","input-class","output-format","auto-focus","link","placeholder","prevent-typing","mention-suggestion","channel-suggestion","slash-command-suggestion","additional-extensions","hide-link-bubble-menu","onInput","onTextInput","onMarkdownInput","onEnter","onEditLink"])],4)),[[D]]),e.renderSlot(i.$slots,"middle"),e.createElementVNode("section",J,[e.createElementVNode("div",Y,[e.createVNode(_,{gap:"200",direction:"row"},{default:e.withCtx(()=>[o.showImagePicker?e.withDirectives((e.openBlock(),e.createBlock(c,{key:0,"data-qa":"dt-recipe-message-input-image-btn",size:"sm",class:"d-recipe-message-input__button",kind:"muted",importance:"clear","aria-label":n.imagePickerButtonLabel,onClick:n.onSelectImage,onMouseenter:t[5]||(t[5]=s=>l.imagePickerFocus=!0),onMouseleave:t[6]||(t[6]=s=>l.imagePickerFocus=!1),onFocus:t[7]||(t[7]=s=>l.imagePickerFocus=!0),onBlur:t[8]||(t[8]=s=>l.imagePickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(g,{size:"300"})]),_:1},8,["aria-label","onClick"])),[[u,n.imagePickerButtonLabel,"top-start"]]):e.createCommentVNode("",!0),e.createVNode(I,{ref:"messageInputImageUpload","data-qa":"dt-recipe-message-input-image-input",accept:"image/*, video/*",type:"file",class:"d-recipe-message-input__image-input",multiple:"",hidden:"",onInput:n.onImageUpload},null,8,["onInput"]),o.showEmojiPicker?(e.openBlock(),e.createBlock(E,{key:1,"open.sync":"emojiPickerOpened","data-qa":"dt-recipe-message-input-emoji-picker-popover","initial-focus-element":"#searchInput",padding:"none"},{anchor:e.withCtx(({attrs:s})=>[e.withDirectives((e.openBlock(),e.createBlock(c,e.mergeProps(s,{"data-qa":"dt-recipe-message-input-emoji-picker-btn",size:"sm",class:"d-recipe-message-input__button",kind:"muted",importance:"clear","aria-label":n.emojiPickerButtonLabel,onClick:n.toggleEmojiPicker,onMouseenter:t[9]||(t[9]=a=>l.emojiPickerFocus=!0),onMouseleave:t[10]||(t[10]=a=>l.emojiPickerFocus=!1),onFocus:t[11]||(t[11]=a=>l.emojiPickerFocus=!0),onBlur:t[12]||(t[12]=a=>l.emojiPickerFocus=!1)}),{icon:e.withCtx(()=>[n.emojiPickerHovered?(e.openBlock(),e.createBlock(w,{key:0,size:"300"})):(e.openBlock(),e.createBlock(L,{key:1,size:"300"}))]),_:2},1040,["aria-label","onClick"])),[[u,n.emojiPickerButtonLabel]])]),content:e.withCtx(({close:s})=>[e.createVNode(y,e.mergeProps(o.emojiPickerProps,{onAddEmoji:t[13]||(t[13]=a=>i.$emit("add-emoji")),onSkinTone:n.onSkinTone,onSelectedEmoji:a=>n.onSelectEmoji(a,s),onScrollBottomReached:t[14]||(t[14]=a=>i.$emit("emoji-scroll-bottom-reached"))}),null,16,["onSkinTone","onSelectedEmoji"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"emojiGiphyPicker"),e.renderSlot(i.$slots,"customActionIcons")]),_:3})]),e.createElementVNode("div",Z,[e.createVNode(_,{direction:"row",gap:"300"},{default:e.withCtx(()=>[e.createElementVNode("div",$,[e.renderSlot(i.$slots,"scheduleMessage")]),e.createElementVNode("div",ee,[e.renderSlot(i.$slots,"smsCount")]),o.showCharacterLimit?(e.openBlock(),e.createBlock(O,{key:0,class:"d-recipe-message-input__remaining-char-tooltip",placement:"top-end",enabled:n.characterLimitTooltipEnabled,message:o.showCharacterLimit.message,offset:[10,8]},{anchor:e.withCtx(()=>[e.withDirectives(e.createElementVNode("p",{class:"d-recipe-message-input__remaining-char","data-qa":"dt-recipe-message-input-character-limit"},e.toDisplayString(o.showCharacterLimit.count-n.inputLength),513),[[e.vShow,n.displayCharacterLimitWarning]])]),_:1},8,["enabled","message"])):e.createCommentVNode("",!0),o.showCancel?e.withDirectives((e.openBlock(),e.createBlock(c,{key:1,"data-qa":"dt-recipe-message-input-cancel-button",class:"d-recipe-message-input__button d-recipe-message-input__cancel-button",size:"sm",kind:"muted",importance:"clear","aria-label":n.cancelButtonLabel,onClick:n.onCancel},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(n.cancelButtonLabel),1)]),_:1},8,["aria-label","onClick"])),[[u,n.cancelButtonLabel]]):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"sendButton",{},()=>[o.showSend?e.withDirectives((e.openBlock(),e.createBlock(c,{key:0,"data-qa":"dt-recipe-message-input-send-btn",size:"sm",kind:"default",importance:"primary",class:e.normalizeClass(["d-recipe-message-input__button d-recipe-message-input__send-button",{"d-recipe-message-input__send-button--disabled":n.isSendDisabled,"d-btn--icon-only":n.showSendIcon}]),"aria-label":n.sendButtonLabel,"aria-disabled":n.isSendDisabled,onClick:n.onSend},e.createSlots({default:e.withCtx(()=>[o.showSend.text?(e.openBlock(),e.createElementBlock("p",te,e.toDisplayString(o.showSend.text),1)):e.createCommentVNode("",!0)]),_:2},[n.showSendIcon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"sendIcon",{iconSize:n.sendIconSize},()=>[e.createVNode(x,{size:n.sendIconSize},null,8,["size"])])]),key:"0"}:void 0]),1032,["class","aria-label","aria-disabled","onClick"])),[[u,n.sendButtonLabel,"top-end"]]):e.createCommentVNode("",!0)])]),_:3})])])],16)}const oe=v._(Q,[["render",ie]]);exports.default=oe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("./last-active-nodes.cjs"),k=require("../../common/utils/index.cjs"),f=require("@tiptap/core"),b=require("../../node_modules/@tiptap/vue-3.cjs"),d=require("@dialpad/dialtone-icons/vue3"),T=require("../../localization/index.cjs"),e=require("vue"),v=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),B=require("../button/button.cjs"),V=require("../item-layout/item-layout.cjs"),j=require("./message-input-topbar.cjs"),N=require("./message-input-link.cjs"),S=require("../editor/editor-constants.cjs"),A=require("../stack/stack.cjs"),M=require("../tooltip/tooltip.cjs"),q=require("../rich-text-editor/rich-text-editor.cjs"),F=require("../popover/popover.cjs"),R=require("../input/input.cjs"),z=require("../emoji-picker/emoji-picker.cjs"),C=require("../rich-text-editor/rich-text-editor-constants.cjs"),U={name:"MeetingPill",components:{NodeViewWrapper:b.NodeViewWrapper,DtItemLayout:V.default,DtIconClose:d.DtIconClose,DtButton:B.default,DtIconVideo:d.DtIconVideo},props:b.nodeViewProps,emits:["meeting-pill-close"],data(){return{i18n:new T.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{close(i){var o,r,l;const t=(l=(r=(o=this.editor)==null?void 0:o.storage)==null?void 0:r.meetingPill)==null?void 0:l.onClose;t&&typeof t=="function"&&t(i)}}},H={class:"d-recipe-message-input-meeting-pill__icon"},G={class:"d-recipe-message-input-meeting-pill__close"};function W(i,t,o,r,l,n){const m=e.resolveComponent("dt-icon-video"),p=e.resolveComponent("dt-icon-close"),h=e.resolveComponent("dt-button"),g=e.resolveComponent("dt-item-layout"),c=e.resolveComponent("node-view-wrapper");return e.openBlock(),e.createBlock(c,{class:"d-recipe-message-input-meeting-pill"},{default:e.withCtx(()=>[e.createVNode(g,{class:"d-recipe-message-input-meeting-pill__layout",unstyled:""},{left:e.withCtx(()=>[e.createElementVNode("div",H,[e.createVNode(m,{size:"400"})])]),right:e.withCtx(()=>[e.createElementVNode("div",G,[e.createVNode(h,{circle:"",importance:"clear",size:"xs","aria-label":n.closeButtonTitle,title:n.closeButtonTitle,onClick:n.close},{icon:e.withCtx(()=>[e.createVNode(p,{size:"300"})]),_:1},8,["aria-label","title","onClick"])])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(i.node.attrs.text)+" ",1)]),_:1})]),_:1})}const K=v._(U,[["render",W]]),X=f.Node.create({name:"meetingPill",atom:!0,group:"inline",inline:!0,addOptions(){return{onClose:()=>{}}},addStorage(){return{onClose:this.options.onClose}},addNodeView(){return b.VueNodeViewRenderer(K)},addAttributes(){return{text:{default:'Please pass in "text" attribute'}}},parseHTML(){return[{tag:"meeting-pill"}]},renderText(){return"/dpm"},renderHTML({HTMLAttributes:i}){return["meeting-pill",f.mergeAttributes(i)]}}),Q={compatConfig:{MODE:3},name:"DtRecipeMessageInput",components:{DtButton:B.default,DtEmojiPicker:z.default,DtInput:R.default,DtPopover:F.default,DtRecipeMessageInputTopbar:j.default,DtRecipeMessageInputLink:N.default,DtRichTextEditor:q.default,DtTooltip:M.default,DtStack:A.default,DtIconImage:d.DtIconImage,DtIconVerySatisfied:d.DtIconVerySatisfied,DtIconSatisfied:d.DtIconSatisfied,DtIconSend:d.DtIconSend},inheritAttrs:!1,props:{richText:{type:Boolean,default:!0},modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},preventTyping:{type:Boolean,default:!1},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(i){return typeof i=="string"?C.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(i):!0}},outputFormat:{type:String,default:"json",validator(i){return C.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(i)}},placeholder:{type:String,default:""},disableSend:{type:Boolean,default:!1},maxHeight:{type:String,default:"unset"},showEmojiPicker:{type:Boolean,default:!0},emojiPickerProps:{type:Object,default:()=>({})},showCharacterLimit:{type:[Boolean,Object],default:()=>({count:1500,warning:500,message:""})},showImagePicker:{type:[Boolean,Object],default:()=>({})},showSend:{type:[Boolean,Object],default:()=>({})},showCancel:{type:[Boolean,Object],default:()=>({})},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},boldButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + B"})},italicButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + I"})},strikeButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + S"})},linkButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + K",linkPlaceholder:"e.g. https://www.dialpad.com"})},bulletListButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + 8"})},orderedListButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + 7"})},blockQuoteButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Shift + B"})},codeButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + E"})},codeBlockButtonOptions:{type:Object,default:()=>({keyboardShortcutText:"Mod + Alt + C"})}},emits:["submit","select-media","add-media","paste-media","cancel","skin-tone","selected-emoji","selected-command","meeting-pill-close","update:modelValue","text-input","markdown-input","add-emoji","emoji-scroll-bottom-reached"],data(){return{lastActiveNodes:P.default,additionalExtensions:[X.configure({onClose:i=>{this.$emit("meeting-pill-close",i)}})],internalInputValue:this.modelValue,imagePickerFocus:!1,emojiPickerFocus:!1,emojiPickerOpened:!1,isFocused:!1,linkOptions:{class:"d-link d-c-text d-d-inline-block"},linkDialogOpen:!1,selectedText:"",text:"",hideLinkBubbleMenu:!1,i18n:new T.DialtoneLocalization}},computed:{showSendIcon(){return!this.showSend.text},inputLength(){return this.text.length},displayCharacterLimitWarning(){return!!this.showCharacterLimit&&this.showCharacterLimit.count-this.inputLength<=this.showCharacterLimit.warning},characterLimitTooltipEnabled(){return this.showCharacterLimit.message&&this.showCharacterLimit.count-this.inputLength<0},isSendDisabled(){return this.disableSend||this.showCharacterLimit&&this.inputLength>this.showCharacterLimit.count},emojiPickerHovered(){return this.emojiPickerFocus||this.emojiPickerOpened},sendIconSize(){return"300"},sendButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_SEND_BUTTON_ARIA_LABEL")},imagePickerButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_IMAGE_PICKER_BUTTON_ARIA_LABEL")},emojiPickerButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_EMOJI_PICKER_BUTTON_ARIA_LABEL")},cancelButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_CANCEL_BUTTON_ARIA_LABEL")}},watch:{modelValue(i){this.internalInputValue=i},emojiPickerOpened(i){var t;i||(t=this.$refs.richTextEditor)==null||t.focusEditor()}},created(){this.modelValue&&this.outputFormat==="text"?this.internalInputValue=this.modelValue.replace(/\n/g,"<br>"):this.internalInputValue=this.modelValue},methods:{removeClassStyleAttrs:k.removeClassStyleAttrs,addClassStyleAttrs:k.addClassStyleAttrs,linkDialogOpened(i){var t;this.linkDialogOpen=i,i===!0?this.initLinkDialog():(this.hideLinkBubbleMenu=!1,(t=this.$refs.richTextEditor)==null||t.focusEditor())},handleTopbarClick(i){var r;const t=(r=this.$refs.richTextEditor)==null?void 0:r.editor,o={bold:()=>t==null?void 0:t.chain().focus().toggleBold().run(),italic:()=>t==null?void 0:t.chain().focus().toggleItalic().run(),strike:()=>t==null?void 0:t.chain().focus().toggleStrike().run(),bulletList:()=>t==null?void 0:t.chain().focus().toggleBulletList().run(),orderedList:()=>t==null?void 0:t.chain().focus().toggleOrderedList().run(),blockquote:()=>t==null?void 0:t.chain().focus().toggleBlockquote().run(),code:()=>t==null?void 0:t.chain().focus().toggleCode().run(),codeBlock:()=>t==null?void 0:t.chain().focus().toggleCodeBlock().run()};t&&o[i]&&o[i]()},isSelectionActive(i){var t,o,r,l;return["bulletList","orderedList"].includes(i)?this.lastActiveNodes((o=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:o.state,[{type:"bulletList"},{type:"orderedList"}]).includes(i)&&this.isFocused:((l=(r=this.$refs.richTextEditor)==null?void 0:r.editor)==null?void 0:l.isActive(i))&&this.isFocused},initLinkDialog(){var i,t,o;this.$refs.link.setInitialValues(this.selectedText,(o=(t=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:t.getAttributes("link"))==null?void 0:o.href),this.hideLinkBubbleMenu=!0,this.linkDialogOpen=!0},removeLink(){var i;(i=this.$refs.richTextEditor)==null||i.removeLink(),this.linkDialogOpen=!1},setLink(i,t){this.$refs.richTextEditor.setLink(t,i,this.linkOptions,S.EDITOR_SUPPORTED_LINK_PROTOCOLS,S.EDITOR_DEFAULT_LINK_PREFIX),this.linkDialogOpen=!1},onMousedown(i){k.returnFirstEl(this.$refs.richTextEditor.$el).querySelector(".tiptap").contains(i.target)||(i.preventDefault(),this.$refs.richTextEditor.focusEditor())},onDrop(i){const t=i.dataTransfer,o=Array.from(t.files);this.$emit("add-media",o)},onPaste(i){if(i.clipboardData.files.length){i.stopPropagation(),i.preventDefault();const t=[...i.clipboardData.files];this.$emit("paste-media",t)}},onSkinTone(i){this.$emit("skin-tone",i)},onSelectEmoji(i,t){i&&(i.shift_key||t(),this.$refs.richTextEditor.editor.commands.insertContent({type:"emoji",attrs:{code:i.shortname,image:i.image,name:i.name}}),this.$emit("selected-emoji",i))},onSelectImage(){this.$refs.messageInputImageUpload.$refs.input.click()},onImageUpload(){this.$emit("select-media",this.$refs.messageInputImageUpload.$refs.input.files)},toggleEmojiPicker(){this.emojiPickerOpened=!this.emojiPickerOpened},onSend(){this.isSendDisabled||this.$emit("submit",this.internalInputValue)},onCancel(){this.$emit("cancel")},onInput(i){this.$emit("update:modelValue",i)},onTextInput(i){this.text=i,this.$emit("text-input",i)},onMarkdownInput(i){this.$emit("markdown-input",i)}}},J={class:"d-recipe-message-input__bottom-section"},Y={class:"d-recipe-message-input__bottom-section-left"},Z={class:"d-recipe-message-input__bottom-section-right"},$={class:"d-recipe-message-input__schedule-message"},ee={class:"d-recipe-message-input__sms-count"},te={key:0};function ie(i,t,o,r,l,n){const m=e.resolveComponent("dt-recipe-message-input-link"),p=e.resolveComponent("dt-recipe-message-input-topbar"),h=e.resolveComponent("dt-rich-text-editor"),g=e.resolveComponent("dt-icon-image"),c=e.resolveComponent("dt-button"),I=e.resolveComponent("dt-input"),w=e.resolveComponent("dt-icon-very-satisfied"),L=e.resolveComponent("dt-icon-satisfied"),y=e.resolveComponent("dt-emoji-picker"),E=e.resolveComponent("dt-popover"),_=e.resolveComponent("dt-stack"),O=e.resolveComponent("dt-tooltip"),x=e.resolveComponent("dt-icon-send"),D=e.resolveDirective("dt-scrollbar"),u=e.resolveDirective("dt-tooltip");return e.openBlock(),e.createElementBlock("div",e.mergeProps({"data-qa":"dt-recipe-message-input",role:"presentation",class:"d-recipe-message-input"},n.addClassStyleAttrs(i.$attrs),{onDragover:t[15]||(t[15]=e.withModifiers(()=>{},["prevent"])),onDrop:t[16]||(t[16]=e.withModifiers((...s)=>n.onDrop&&n.onDrop(...s),["prevent"])),onPaste:t[17]||(t[17]=(...s)=>n.onPaste&&n.onPaste(...s)),onMousedown:t[18]||(t[18]=(...s)=>n.onMousedown&&n.onMousedown(...s))}),[e.renderSlot(i.$slots,"top"),o.richText?(e.openBlock(),e.createBlock(p,{key:l.selectedText,"bold-button-options":o.boldButtonOptions,"italic-button-options":o.italicButtonOptions,"strike-button-options":o.strikeButtonOptions,"bullet-list-button-options":o.bulletListButtonOptions,"ordered-list-button-options":o.orderedListButtonOptions,"block-quote-button-options":o.blockQuoteButtonOptions,"code-button-options":o.codeButtonOptions,"code-block-button-options":o.codeBlockButtonOptions,"is-selection-active":n.isSelectionActive,onClick:n.handleTopbarClick},{link:e.withCtx(()=>[e.createVNode(m,{ref:"link",open:l.linkDialogOpen,"link-button-options":o.linkButtonOptions,"is-selection-active":n.isSelectionActive,onOpened:n.linkDialogOpened,onSetLink:n.setLink,onRemoveLink:n.removeLink},null,8,["open","link-button-options","is-selection-active","onOpened","onSetLink","onRemoveLink"])]),_:1},8,["bold-button-options","italic-button-options","strike-button-options","bullet-list-button-options","ordered-list-button-options","block-quote-button-options","code-button-options","code-block-button-options","is-selection-active","onClick"])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:"d-recipe-message-input__editor-wrapper",style:e.normalizeStyle({"max-height":o.maxHeight})},[e.createVNode(h,e.mergeProps({ref:"richTextEditor",modelValue:l.internalInputValue,"onUpdate:modelValue":t[0]||(t[0]=s=>l.internalInputValue=s),"allow-blockquote":o.richText,"allow-bold":o.richText,"allow-bullet-list":o.richText,"allow-code":o.richText,"allow-codeblock":o.richText,"allow-italic":o.richText,"allow-strike":o.richText,"allow-underline":o.richText,"paste-rich-text":o.richText,editable:o.editable,"input-aria-label":o.inputAriaLabel,"input-class":o.inputClass,"output-format":o.outputFormat,"auto-focus":o.autoFocus,link:o.richText,placeholder:o.placeholder,"prevent-typing":o.preventTyping,"mention-suggestion":o.mentionSuggestion,"channel-suggestion":o.channelSuggestion,"slash-command-suggestion":o.slashCommandSuggestion,"additional-extensions":l.additionalExtensions,"hide-link-bubble-menu":l.hideLinkBubbleMenu},n.removeClassStyleAttrs(i.$attrs),{onInput:n.onInput,onTextInput:n.onTextInput,onMarkdownInput:n.onMarkdownInput,onEnter:n.onSend,onSelected:t[1]||(t[1]=s=>l.selectedText=s),onSelectedCommand:t[2]||(t[2]=s=>i.$emit("selected-command",s)),onEditLink:n.initLinkDialog,onFocus:t[3]||(t[3]=s=>l.isFocused=!0),onBlur:t[4]||(t[4]=s=>l.isFocused=!1)}),null,16,["modelValue","allow-blockquote","allow-bold","allow-bullet-list","allow-code","allow-codeblock","allow-italic","allow-strike","allow-underline","paste-rich-text","editable","input-aria-label","input-class","output-format","auto-focus","link","placeholder","prevent-typing","mention-suggestion","channel-suggestion","slash-command-suggestion","additional-extensions","hide-link-bubble-menu","onInput","onTextInput","onMarkdownInput","onEnter","onEditLink"])],4)),[[D]]),e.renderSlot(i.$slots,"middle"),e.createElementVNode("section",J,[e.createElementVNode("div",Y,[e.createVNode(_,{gap:"200",direction:"row"},{default:e.withCtx(()=>[o.showImagePicker?e.withDirectives((e.openBlock(),e.createBlock(c,{key:0,"data-qa":"dt-recipe-message-input-image-btn",size:"sm",class:"d-recipe-message-input__button",kind:"muted",importance:"clear","aria-label":n.imagePickerButtonLabel,onClick:n.onSelectImage,onMouseenter:t[5]||(t[5]=s=>l.imagePickerFocus=!0),onMouseleave:t[6]||(t[6]=s=>l.imagePickerFocus=!1),onFocus:t[7]||(t[7]=s=>l.imagePickerFocus=!0),onBlur:t[8]||(t[8]=s=>l.imagePickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(g,{size:"300"})]),_:1},8,["aria-label","onClick"])),[[u,n.imagePickerButtonLabel,"top-start"]]):e.createCommentVNode("",!0),e.createVNode(I,{ref:"messageInputImageUpload","data-qa":"dt-recipe-message-input-image-input",accept:"image/*, video/*",type:"file",class:"d-recipe-message-input__image-input",multiple:"",hidden:"",onInput:n.onImageUpload},null,8,["onInput"]),o.showEmojiPicker?(e.openBlock(),e.createBlock(E,{key:1,"open.sync":"emojiPickerOpened","data-qa":"dt-recipe-message-input-emoji-picker-popover","initial-focus-element":"#searchInput",padding:"none"},{anchor:e.withCtx(({attrs:s})=>[e.withDirectives((e.openBlock(),e.createBlock(c,e.mergeProps(s,{"data-qa":"dt-recipe-message-input-emoji-picker-btn",size:"sm",class:"d-recipe-message-input__button",kind:"muted",importance:"clear","aria-label":n.emojiPickerButtonLabel,onClick:n.toggleEmojiPicker,onMouseenter:t[9]||(t[9]=a=>l.emojiPickerFocus=!0),onMouseleave:t[10]||(t[10]=a=>l.emojiPickerFocus=!1),onFocus:t[11]||(t[11]=a=>l.emojiPickerFocus=!0),onBlur:t[12]||(t[12]=a=>l.emojiPickerFocus=!1)}),{icon:e.withCtx(()=>[n.emojiPickerHovered?(e.openBlock(),e.createBlock(w,{key:0,size:"300"})):(e.openBlock(),e.createBlock(L,{key:1,size:"300"}))]),_:1},16,["aria-label","onClick"])),[[u,n.emojiPickerButtonLabel]])]),content:e.withCtx(({close:s})=>[e.createVNode(y,e.mergeProps(o.emojiPickerProps,{onAddEmoji:t[13]||(t[13]=a=>i.$emit("add-emoji")),onSkinTone:n.onSkinTone,onSelectedEmoji:a=>n.onSelectEmoji(a,s),onScrollBottomReached:t[14]||(t[14]=a=>i.$emit("emoji-scroll-bottom-reached"))}),null,16,["onSkinTone","onSelectedEmoji"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"emojiGiphyPicker"),e.renderSlot(i.$slots,"customActionIcons")]),_:3})]),e.createElementVNode("div",Z,[e.createVNode(_,{direction:"row",gap:"300"},{default:e.withCtx(()=>[e.createElementVNode("div",$,[e.renderSlot(i.$slots,"scheduleMessage")]),e.createElementVNode("div",ee,[e.renderSlot(i.$slots,"smsCount")]),o.showCharacterLimit?(e.openBlock(),e.createBlock(O,{key:0,class:"d-recipe-message-input__remaining-char-tooltip",placement:"top-end",enabled:n.characterLimitTooltipEnabled,message:o.showCharacterLimit.message,offset:[10,8]},{anchor:e.withCtx(()=>[e.withDirectives(e.createElementVNode("p",{class:"d-recipe-message-input__remaining-char","data-qa":"dt-recipe-message-input-character-limit"},e.toDisplayString(o.showCharacterLimit.count-n.inputLength),513),[[e.vShow,n.displayCharacterLimitWarning]])]),_:1},8,["enabled","message"])):e.createCommentVNode("",!0),o.showCancel?e.withDirectives((e.openBlock(),e.createBlock(c,{key:1,"data-qa":"dt-recipe-message-input-cancel-button",class:"d-recipe-message-input__button d-recipe-message-input__cancel-button",size:"sm",kind:"muted",importance:"clear","aria-label":n.cancelButtonLabel,onClick:n.onCancel},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(n.cancelButtonLabel),1)]),_:1},8,["aria-label","onClick"])),[[u,n.cancelButtonLabel]]):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"sendButton",{},()=>[o.showSend?e.withDirectives((e.openBlock(),e.createBlock(c,{key:0,"data-qa":"dt-recipe-message-input-send-btn",size:"sm",kind:"default",importance:"primary",class:e.normalizeClass(["d-recipe-message-input__button d-recipe-message-input__send-button",{"d-recipe-message-input__send-button--disabled":n.isSendDisabled,"d-btn--icon-only":n.showSendIcon}]),"aria-label":n.sendButtonLabel,"aria-disabled":n.isSendDisabled,onClick:n.onSend},e.createSlots({default:e.withCtx(()=>[o.showSend.text?(e.openBlock(),e.createElementBlock("p",te,e.toDisplayString(o.showSend.text),1)):e.createCommentVNode("",!0)]),_:2},[n.showSendIcon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"sendIcon",{iconSize:n.sendIconSize},()=>[e.createVNode(x,{size:n.sendIconSize},null,8,["size"])])]),key:"0"}:void 0]),1032,["class","aria-label","aria-disabled","onClick"])),[[u,n.sendButtonLabel,"top-end"]]):e.createCommentVNode("",!0)])]),_:3})])])],16)}const oe=v._(Q,[["render",ie]]);exports.default=oe;
2
2
  //# sourceMappingURL=message-input.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-input.cjs","sources":["../../../recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue","../../../recipes/conversation_view/message_input/extensions/meeting_pill/meeting_pill.js","../../../recipes/conversation_view/message_input/message_input.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"d-recipe-message-input-meeting-pill\">\n <dt-item-layout\n class=\"d-recipe-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"d-recipe-message-input-meeting-pill__icon\">\n <dt-icon-video\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"d-recipe-message-input-meeting-pill__close\">\n <dt-button\n circle\n importance=\"clear\"\n size=\"xs\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n </template>\n </dt-item-layout>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-3';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtIconClose, DtIconVideo } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'MeetingPill',\n\n components: {\n NodeViewWrapper,\n DtItemLayout,\n DtIconClose,\n DtButton,\n DtIconVideo,\n },\n\n props: nodeViewProps,\n\n emits: ['meeting-pill-close'],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n close (e) {\n // Get the callback from extension storage\n const onCloseCallback = this.editor?.storage?.meetingPill?.onClose;\n\n if (onCloseCallback && typeof onCloseCallback === 'function') {\n onCloseCallback(e);\n }\n },\n },\n};\n</script>\n","import { mergeAttributes, Node } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport MeetingPill from './MeetingPill.vue';\n\nexport default Node.create({\n name: 'meetingPill',\n\n atom: true,\n group: 'inline',\n inline: true,\n\n addOptions () {\n return {\n onClose: () => {},\n };\n },\n\n addStorage () {\n return {\n onClose: this.options.onClose,\n };\n },\n\n addNodeView () {\n return VueNodeViewRenderer(MeetingPill);\n },\n\n addAttributes () {\n return {\n text: {\n default: 'Please pass in \"text\" attribute',\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'meeting-pill',\n },\n ];\n },\n\n renderText () {\n return '/dpm';\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['meeting-pill', mergeAttributes(HTMLAttributes)];\n },\n});\n","<!-- eslint-disable max-lines -->\n<template>\n <div\n data-qa=\"dt-recipe-message-input\"\n role=\"presentation\"\n class=\"d-recipe-message-input\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n @dragover.prevent\n @drop.prevent=\"onDrop\"\n @paste=\"onPaste\"\n @mousedown=\"onMousedown\"\n >\n <!-- @slot Renders above the input, but still within the borders. -->\n <slot name=\"top\" />\n\n <!-- set key to selectedText to force update. otherwise this component may not reflect the active selection -->\n <dt-recipe-message-input-topbar\n v-if=\"richText\"\n :key=\"selectedText\"\n :bold-button-options=\"boldButtonOptions\"\n :italic-button-options=\"italicButtonOptions\"\n :strike-button-options=\"strikeButtonOptions\"\n :bullet-list-button-options=\"bulletListButtonOptions\"\n :ordered-list-button-options=\"orderedListButtonOptions\"\n :block-quote-button-options=\"blockQuoteButtonOptions\"\n :code-button-options=\"codeButtonOptions\"\n :code-block-button-options=\"codeBlockButtonOptions\"\n :is-selection-active=\"isSelectionActive\"\n @click=\"handleTopbarClick\"\n >\n <template #link>\n <dt-recipe-message-input-link\n ref=\"link\"\n :open=\"linkDialogOpen\"\n :link-button-options=\"linkButtonOptions\"\n :is-selection-active=\"isSelectionActive\"\n @opened=\"linkDialogOpened\"\n @set-link=\"setLink\"\n @remove-link=\"removeLink\"\n />\n </template>\n </dt-recipe-message-input-topbar>\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n v-dt-scrollbar\n class=\"d-recipe-message-input__editor-wrapper\"\n :style=\"{ 'max-height': maxHeight }\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-blockquote=\"richText\"\n :allow-bold=\"richText\"\n :allow-bullet-list=\"richText\"\n :allow-code=\"richText\"\n :allow-codeblock=\"richText\"\n :allow-italic=\"richText\"\n :allow-strike=\"richText\"\n :allow-underline=\"richText\"\n :paste-rich-text=\"richText\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"inputClass\"\n :output-format=\"outputFormat\"\n :auto-focus=\"autoFocus\"\n :link=\"richText\"\n :placeholder=\"placeholder\"\n :prevent-typing=\"preventTyping\"\n :mention-suggestion=\"mentionSuggestion\"\n :channel-suggestion=\"channelSuggestion\"\n :slash-command-suggestion=\"slashCommandSuggestion\"\n :additional-extensions=\"additionalExtensions\"\n :hide-link-bubble-menu=\"hideLinkBubbleMenu\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @input=\"onInput\"\n @text-input=\"onTextInput\"\n @markdown-input=\"onMarkdownInput\"\n @enter=\"onSend\"\n @selected=\"selectedText = $event\"\n @selected-command=\"$emit('selected-command', $event)\"\n @edit-link=\"initLinkDialog\"\n @focus=\"isFocused = true\"\n @blur=\"isFocused = false\"\n />\n </div>\n <!-- @slot Slot for attachment carousel -->\n <slot name=\"middle\" />\n <!-- Section for the bottom UI -->\n <section class=\"d-recipe-message-input__bottom-section\">\n <!-- Left content -->\n <div class=\"d-recipe-message-input__bottom-section-left\">\n <dt-stack\n gap=\"200\"\n direction=\"row\"\n >\n <dt-button\n v-if=\"showImagePicker\"\n v-dt-tooltip:top-start=\"imagePickerButtonLabel\"\n data-qa=\"dt-recipe-message-input-image-btn\"\n size=\"sm\"\n class=\"d-recipe-message-input__button\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"imagePickerButtonLabel\"\n @click=\"onSelectImage\"\n @mouseenter=\"imagePickerFocus = true\"\n @mouseleave=\"imagePickerFocus = false\"\n @focus=\"imagePickerFocus = true\"\n @blur=\"imagePickerFocus = false\"\n >\n <template #icon>\n <dt-icon-image size=\"300\" />\n </template>\n </dt-button>\n <dt-input\n ref=\"messageInputImageUpload\"\n data-qa=\"dt-recipe-message-input-image-input\"\n accept=\"image/*, video/*\"\n type=\"file\"\n class=\"d-recipe-message-input__image-input\"\n multiple\n hidden\n @input=\"onImageUpload\"\n />\n <dt-popover\n v-if=\"showEmojiPicker\"\n open.sync=\"emojiPickerOpened\"\n data-qa=\"dt-recipe-message-input-emoji-picker-popover\"\n initial-focus-element=\"#searchInput\"\n padding=\"none\"\n >\n <template #anchor=\"{ attrs }\">\n <dt-button\n v-dt-tooltip=\"emojiPickerButtonLabel\"\n v-bind=\"attrs\"\n data-qa=\"dt-recipe-message-input-emoji-picker-btn\"\n size=\"sm\"\n class=\"d-recipe-message-input__button\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"emojiPickerButtonLabel\"\n @click=\"toggleEmojiPicker\"\n @mouseenter=\"emojiPickerFocus = true\"\n @mouseleave=\"emojiPickerFocus = false\"\n @focus=\"emojiPickerFocus = true\"\n @blur=\"emojiPickerFocus = false\"\n >\n <template #icon>\n <dt-icon-very-satisfied\n v-if=\"emojiPickerHovered\"\n size=\"300\"\n />\n <dt-icon-satisfied\n v-else\n size=\"300\"\n />\n </template>\n </dt-button>\n </template>\n <template #content=\"{ close }\">\n <dt-emoji-picker\n v-bind=\"emojiPickerProps\"\n @add-emoji=\"$emit('add-emoji')\"\n @skin-tone=\"onSkinTone\"\n @selected-emoji=\"(emoji) => onSelectEmoji(emoji, close)\"\n @scroll-bottom-reached=\"$emit('emoji-scroll-bottom-reached')\"\n />\n </template>\n </dt-popover>\n <!-- @slot Slot for emojiGiphy picker -->\n <slot name=\"emojiGiphyPicker\" />\n <!-- @slot Slot to add extra action icons next to default ones -->\n <slot name=\"customActionIcons\" />\n </dt-stack>\n </div>\n <!-- Right content -->\n <div class=\"d-recipe-message-input__bottom-section-right\">\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n >\n <!-- @slot Slot for schedule message -->\n <div class=\"d-recipe-message-input__schedule-message\">\n <slot name=\"scheduleMessage\" />\n </div>\n\n <!-- @slot Slot for sms count -->\n <div class=\"d-recipe-message-input__sms-count\">\n <slot name=\"smsCount\" />\n </div>\n\n <!-- Optionally displayed remaining character counter -->\n <dt-tooltip\n v-if=\"Boolean(showCharacterLimit)\"\n class=\"d-recipe-message-input__remaining-char-tooltip\"\n placement=\"top-end\"\n :enabled=\"characterLimitTooltipEnabled\"\n :message=\"showCharacterLimit.message\"\n :offset=\"[10, 8]\"\n >\n <template #anchor>\n <p\n v-show=\"displayCharacterLimitWarning\"\n class=\"d-recipe-message-input__remaining-char\"\n data-qa=\"dt-recipe-message-input-character-limit\"\n >\n {{ showCharacterLimit.count - inputLength }}\n </p>\n </template>\n </dt-tooltip>\n\n <!-- Cancel button for edit mode -->\n <dt-button\n v-if=\"showCancel\"\n v-dt-tooltip=\"cancelButtonLabel\"\n data-qa=\"dt-recipe-message-input-cancel-button\"\n class=\"d-recipe-message-input__button d-recipe-message-input__cancel-button\"\n size=\"sm\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"cancelButtonLabel\"\n @click=\"onCancel\"\n >\n <p>{{ cancelButtonLabel }}</p>\n </dt-button>\n\n <!-- @slot Slot for sendButton picker -->\n <slot name=\"sendButton\">\n <!-- Send button -->\n <!-- Right positioned UI - send button -->\n <dt-button\n v-if=\"showSend\"\n v-dt-tooltip:top-end=\"sendButtonLabel\"\n data-qa=\"dt-recipe-message-input-send-btn\"\n size=\"sm\"\n kind=\"default\"\n importance=\"primary\"\n :class=\"[\n 'd-recipe-message-input__button d-recipe-message-input__send-button',\n {\n 'd-recipe-message-input__send-button--disabled': isSendDisabled,\n 'd-btn--icon-only': showSendIcon,\n },\n ]\"\n :aria-label=\"sendButtonLabel\"\n :aria-disabled=\"isSendDisabled\"\n @click=\"onSend\"\n >\n <template\n v-if=\"showSendIcon\"\n #icon\n >\n <!-- @slot Slot for send button icon -->\n <slot\n name=\"sendIcon\"\n :icon-size=\"sendIconSize\"\n >\n <dt-icon-send :size=\"sendIconSize\" />\n </slot>\n </template>\n <template v-if=\"showSend.text\">\n <p>{{ showSend.text }}</p>\n </template>\n </dt-button>\n </slot>\n </dt-stack>\n </div>\n </section>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport lastActiveNodes from './last_active_nodes';\nimport { removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport MeetingPill from './extensions/meeting_pill/meeting_pill';\nimport { DtButton } from '@/components/button';\nimport { DtEmojiPicker } from '@/components/emoji_picker';\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtStack } from '@/components/stack';\nimport {\n DtIconImage, DtIconVerySatisfied, DtIconSatisfied, DtIconSend,\n} from '@dialpad/dialtone-icons/vue3';\nimport DtRecipeMessageInputTopbar from './message_input_topbar.vue';\nimport DtRecipeMessageInputLink from './message_input_link.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from '../editor/editor_constants.js';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMessageInput',\n\n components: {\n DtButton,\n DtEmojiPicker,\n DtInput,\n DtPopover,\n DtRecipeMessageInputTopbar,\n DtRecipeMessageInputLink,\n DtRichTextEditor,\n DtTooltip,\n DtStack,\n DtIconImage,\n DtIconVerySatisfied,\n DtIconSatisfied,\n DtIconSend,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Displays all the buttons for rich text formatting above the message input, and enables it within the editor.\n * Rich text formatting for the purposes of this component is defined as:\n *\n * bold, italic, strikethrough, lists, blockquotes, inline code tags, and code blocks.\n *\n * If you are sending a message to a phone rather than a Dialpad to Dialpad message, you should have this as false.\n */\n richText: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Prevents the user from typing any further. Deleting text will still work.\n */\n preventTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * The output format that the editor uses when emitting the \"@input\" event.\n * One of `text`, `json`, `html`, `markdown`. See https://tiptap.dev/guide/output for\n * examples.\n * @values text, json, html, markdown\n */\n outputFormat: {\n type: String,\n default: 'json',\n validator (outputFormat) {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(outputFormat);\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Disable Send Button\n */\n disableSend: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n // Emoji picker props\n showEmojiPicker: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Props to pass into the emoji picker.\n */\n emojiPickerProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Enable character Limit warning\n */\n showCharacterLimit: {\n type: [Boolean, Object],\n default: () => ({ count: 1500, warning: 500, message: '' }),\n },\n\n showImagePicker: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * Send button defaults.\n * TODO (Dialtone 10):\n * - Change to `showSendButton`, boolean only.\n */\n showSend: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * TODO (Dialtone 10):\n * - Add a prop `iconOnly` default: true to control if localized send button text should be shown\n */\n\n /**\n * Cancel button defaults.\n * TODO (Dialtone 10): Change to `showCancelButton`, boolean only.\n */\n showCancel: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the contacts for suggestion.\n * items({ query }) => { return [ContactObject]; }\n * ContactObject format:\n * { name: string, avatarSrc: string, id: string }\n *\n * When null, it does not add the plugin.\n */\n mentionSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the channels for suggestion.\n * items({ query }) => { return [ChannelObject]; }\n * ChannelObject format:\n * { name: string, id: string, locked: boolean }\n *\n * When null, it does not add the plugin. Setting locked to true will display a lock rather than hash.\n */\n channelSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the slash commands for suggestion.\n * items({ query }) => { return [SlashCommandObject]; }\n * SlashCommandObject format:\n * { command: string, description: string, parametersExample?: string }\n * The \"parametersExample\" parameter is optional, and describes an example\n * of the parameters that command can take.\n *\n * When null, it does not add the plugin.\n */\n slashCommandSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * descriptive text fields for the bold button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n boldButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + B',\n }),\n },\n\n /**\n * descriptive text fields for the italic button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n italicButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + I',\n }),\n },\n\n /**\n * descriptive text fields for the strikethrough button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n strikeButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + S',\n }),\n },\n\n /**\n * descriptive text fields for the link button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n linkButtonOptions: {\n type: Object,\n default: () => ({\n // TODO: implement mod k\n keyboardShortcutText: 'Mod + K',\n linkPlaceholder: 'e.g. https://www.dialpad.com',\n }),\n },\n\n /**\n * descriptive text fields for the bullet list button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n bulletListButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + 8',\n }),\n },\n\n /**\n * descriptive text fields for the ordered list button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n orderedListButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + 7',\n }),\n },\n\n /**\n * descriptive text fields for the italic button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n blockQuoteButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + B',\n }),\n },\n\n /**\n * descriptive text fields for the code button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n codeButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + E',\n }),\n },\n\n /**\n * descriptive text fields for the code block button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n codeBlockButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Alt + C',\n }),\n },\n },\n\n emits: [\n /**\n * Fires when send button is clicked\n *\n * @event submit\n * @type {String}\n */\n 'submit',\n\n /**\n * Fires when media is selected from image button\n *\n * @event select-media\n * @type {Array}\n */\n 'select-media',\n\n /**\n * Fires when media is dropped into the message input\n *\n * @event add-media\n * @type {Array}\n */\n 'add-media',\n\n /**\n * Fires when media is pasted into the message input\n *\n * @event paste-media\n * @type {Array}\n */\n 'paste-media',\n\n /**\n * Fires when cancel button is pressed (only on edit mode)\n *\n * @event cancel\n * @type {Boolean}\n */\n 'cancel',\n\n /**\n * Fires when skin tone is selected from the emoji picker\n *\n * @event skin-tone\n * @type {String}\n */\n 'skin-tone',\n\n /**\n * Fires when emoji is selected from the emoji picker\n *\n * @event selected-emoji\n * @type {String}\n */\n 'selected-emoji',\n\n /**\n * Fires when a slash command is selected\n *\n * @event selected-command\n * @type {String}\n */\n 'selected-command',\n\n /**\n * Fires when meeting pill is closed\n *\n * @event meeting-pill-close\n * @type {String}\n */\n 'meeting-pill-close',\n\n /**\n * Event to sync the value with the parent\n * @event update:modelValue\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Emitted when input changes, returns text content only\n * @event text-input\n * @type {String}\n */\n 'text-input',\n\n /**\n * Emitted when input changes, returns markdown content only\n * @event markdown-input\n * @type {String}\n */\n 'markdown-input',\n\n /**\n * Emitted when the 'Add emoji' button is clicked\n * @event add-emoji\n * @type {Boolean}\n */\n 'add-emoji',\n\n /**\n * Emitted when the emoji picker scroll reaches the bottom\n * @event emoji-scroll-bottom-reached\n */\n 'emoji-scroll-bottom-reached',\n ],\n\n data () {\n return {\n // If an ordered list is nested within an unordered list, we only want to show the currently selected list as\n // active. This function performs the logic to determine the farthest active node from the root.\n lastActiveNodes,\n additionalExtensions: [\n MeetingPill.configure({\n onClose: (event) => {\n this.$emit('meeting-pill-close', event);\n },\n }),\n ],\n\n internalInputValue: this.modelValue, // internal input content\n imagePickerFocus: false,\n emojiPickerFocus: false,\n emojiPickerOpened: false,\n isFocused: false,\n linkOptions: {\n class: 'd-link d-c-text d-d-inline-block',\n },\n\n linkDialogOpen: false,\n selectedText: '',\n text: '',\n hideLinkBubbleMenu: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n showSendIcon () {\n return !this.showSend.text;\n },\n\n inputLength () {\n return this.text.length;\n },\n\n displayCharacterLimitWarning () {\n return (\n Boolean(this.showCharacterLimit) &&\n this.showCharacterLimit.count - this.inputLength <=\n this.showCharacterLimit.warning\n );\n },\n\n characterLimitTooltipEnabled () {\n return (\n this.showCharacterLimit.message &&\n this.showCharacterLimit.count - this.inputLength < 0\n );\n },\n\n isSendDisabled () {\n return (\n this.disableSend ||\n (this.showCharacterLimit &&\n this.inputLength > this.showCharacterLimit.count)\n );\n },\n\n emojiPickerHovered () {\n return this.emojiPickerFocus || this.emojiPickerOpened;\n },\n\n sendIconSize () {\n return '300';\n },\n\n sendButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_SEND_BUTTON_ARIA_LABEL');\n },\n\n imagePickerButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_IMAGE_PICKER_BUTTON_ARIA_LABEL');\n },\n\n emojiPickerButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_EMOJI_PICKER_BUTTON_ARIA_LABEL');\n },\n\n cancelButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_CANCEL_BUTTON_ARIA_LABEL');\n },\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n\n emojiPickerOpened (newValue) {\n if (!newValue) {\n this.$refs.richTextEditor?.focusEditor();\n }\n },\n },\n\n created () {\n if (this.modelValue && this.outputFormat === 'text') {\n this.internalInputValue = this.modelValue.replace(/\\n/g, '<br>');\n } else {\n this.internalInputValue = this.modelValue;\n }\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n linkDialogOpened (value) {\n this.linkDialogOpen = value;\n if (value === true) {\n this.initLinkDialog();\n } else {\n this.hideLinkBubbleMenu = false;\n this.$refs.richTextEditor?.focusEditor();\n }\n },\n\n handleTopbarClick (type) {\n const editor = this.$refs.richTextEditor?.editor;\n // Key is the name returned in the event, value is the name of the TipTap command function to run.\n const typeToCommandMap = {\n bold: () => editor?.chain().focus().toggleBold().run(),\n italic: () => editor?.chain().focus().toggleItalic().run(),\n strike: () => editor?.chain().focus().toggleStrike().run(),\n bulletList: () => editor?.chain().focus().toggleBulletList().run(),\n orderedList: () => editor?.chain().focus().toggleOrderedList().run(),\n blockquote: () => editor?.chain().focus().toggleBlockquote().run(),\n code: () => editor?.chain().focus().toggleCode().run(),\n codeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n };\n\n if (editor && typeToCommandMap[type]) {\n typeToCommandMap[type]();\n }\n },\n\n // Checks if the node currently selected is active ex/ the bold button is active if the selected text is bold\n\n isSelectionActive (type) {\n if (['bulletList', 'orderedList'].includes(type)) {\n return this.lastActiveNodes(this.$refs.richTextEditor?.editor?.state, [{ type: 'bulletList' }, { type: 'orderedList' }]).includes(type) && this.isFocused;\n }\n return this.$refs.richTextEditor?.editor?.isActive(type) && this.isFocused;\n },\n\n initLinkDialog () {\n this.$refs.link.setInitialValues(this.selectedText, this.$refs.richTextEditor?.editor?.getAttributes('link')?.href);\n this.hideLinkBubbleMenu = true;\n this.linkDialogOpen = true;\n },\n\n removeLink () {\n this.$refs.richTextEditor?.removeLink();\n this.linkDialogOpen = false;\n },\n\n setLink (linkText, linkInput) {\n this.$refs.richTextEditor.setLink(\n linkInput, linkText, this.linkOptions, EDITOR_SUPPORTED_LINK_PROTOCOLS, EDITOR_DEFAULT_LINK_PREFIX,\n );\n this.linkDialogOpen = false;\n },\n\n // Mousedown instead of click because it fires before the blur event.\n onMousedown (e) {\n const isWithinInput = returnFirstEl(this.$refs.richTextEditor.$el)\n .querySelector('.tiptap')\n .contains(e.target);\n\n // If the click is not within the tiptap rich text editor input itself, but still within the wrapping div,\n // focus the editor.\n if (!isWithinInput) {\n // Prevent default prevents blurring the rich text editor input when it is already focused.\n e.preventDefault();\n this.$refs.richTextEditor.focusEditor();\n }\n },\n\n onDrop (e) {\n const dt = e.dataTransfer;\n const files = Array.from(dt.files);\n this.$emit('add-media', files);\n },\n\n onPaste (e) {\n if (e.clipboardData.files.length) {\n e.stopPropagation();\n e.preventDefault();\n const files = [...e.clipboardData.files];\n this.$emit('paste-media', files);\n }\n },\n\n onSkinTone (skinTone) {\n this.$emit('skin-tone', skinTone);\n },\n\n onSelectEmoji (emoji, close) {\n if (!emoji) {\n return;\n }\n\n if (!emoji.shift_key) {\n close();\n }\n\n // Insert emoji into the editor\n this.$refs.richTextEditor.editor.commands.insertContent({\n type: 'emoji',\n attrs: {\n code: emoji.shortname,\n image: emoji.image,\n name: emoji.name,\n },\n });\n this.$emit('selected-emoji', emoji);\n },\n\n onSelectImage () {\n this.$refs.messageInputImageUpload.$refs.input.click();\n },\n\n onImageUpload () {\n this.$emit(\n 'select-media',\n this.$refs.messageInputImageUpload.$refs.input.files,\n );\n },\n\n toggleEmojiPicker () {\n this.emojiPickerOpened = !this.emojiPickerOpened;\n },\n\n onSend () {\n if (this.isSendDisabled) {\n return;\n }\n this.$emit('submit', this.internalInputValue);\n },\n\n onCancel () {\n this.$emit('cancel');\n },\n\n onInput (event) {\n this.$emit('update:modelValue', event);\n },\n\n onTextInput (event) {\n this.text = event;\n this.$emit('text-input', event);\n },\n\n onMarkdownInput (event) {\n this.$emit('markdown-input', event);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","NodeViewWrapper","DtItemLayout","DtIconClose","DtButton","DtIconVideo","nodeViewProps","DialtoneLocalization","e","onCloseCallback","_c","_b","_a","_hoisted_1","_hoisted_2","_createBlock","_component_node_view_wrapper","_withCtx","_createVNode","_component_dt_item_layout","_createElementVNode","_component_dt_icon_video","_component_dt_button","$options","_component_dt_icon_close","_createTextVNode","_ctx","MeetingPill","Node","VueNodeViewRenderer","HTMLAttributes","mergeAttributes","DtEmojiPicker","DtInput","DtPopover","DtRecipeMessageInputTopbar","DtRecipeMessageInputLink","DtRichTextEditor","DtTooltip","DtStack","DtIconImage","DtIconVerySatisfied","DtIconSatisfied","DtIconSend","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","outputFormat","RICH_TEXT_EDITOR_OUTPUT_FORMATS","lastActiveNodes","event","newValue","removeClassStyleAttrs","addClassStyleAttrs","value","type","editor","typeToCommandMap","_d","linkText","linkInput","EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","returnFirstEl","dt","files","skinTone","emoji","close","_hoisted_3","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","_cache","_withModifiers","args","_renderSlot","$props","_component_dt_recipe_message_input_topbar","$data","_component_dt_recipe_message_input_link","_createCommentVNode","_normalizeStyle","_component_dt_rich_text_editor","$event","_component_dt_stack","_component_dt_icon_image","_directive_dt_tooltip","_component_dt_input","_component_dt_popover","attrs","_component_dt_icon_very_satisfied","_component_dt_icon_satisfied","_component_dt_emoji_picker","_component_dt_tooltip","_normalizeClass","_createSlots","_hoisted_6","_toDisplayString","_component_dt_icon_send"],"mappings":"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"}
1
+ {"version":3,"file":"message-input.cjs","sources":["../../../recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue","../../../recipes/conversation_view/message_input/extensions/meeting_pill/meeting_pill.js","../../../recipes/conversation_view/message_input/message_input.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"d-recipe-message-input-meeting-pill\">\n <dt-item-layout\n class=\"d-recipe-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"d-recipe-message-input-meeting-pill__icon\">\n <dt-icon-video\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"d-recipe-message-input-meeting-pill__close\">\n <dt-button\n circle\n importance=\"clear\"\n size=\"xs\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n </template>\n </dt-item-layout>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-3';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtIconClose, DtIconVideo } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'MeetingPill',\n\n components: {\n NodeViewWrapper,\n DtItemLayout,\n DtIconClose,\n DtButton,\n DtIconVideo,\n },\n\n props: nodeViewProps,\n\n emits: ['meeting-pill-close'],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n close (e) {\n // Get the callback from extension storage\n const onCloseCallback = this.editor?.storage?.meetingPill?.onClose;\n\n if (onCloseCallback && typeof onCloseCallback === 'function') {\n onCloseCallback(e);\n }\n },\n },\n};\n</script>\n","import { mergeAttributes, Node } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport MeetingPill from './MeetingPill.vue';\n\nexport default Node.create({\n name: 'meetingPill',\n\n atom: true,\n group: 'inline',\n inline: true,\n\n addOptions () {\n return {\n onClose: () => {},\n };\n },\n\n addStorage () {\n return {\n onClose: this.options.onClose,\n };\n },\n\n addNodeView () {\n return VueNodeViewRenderer(MeetingPill);\n },\n\n addAttributes () {\n return {\n text: {\n default: 'Please pass in \"text\" attribute',\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'meeting-pill',\n },\n ];\n },\n\n renderText () {\n return '/dpm';\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['meeting-pill', mergeAttributes(HTMLAttributes)];\n },\n});\n","<!-- eslint-disable max-lines -->\n<template>\n <div\n data-qa=\"dt-recipe-message-input\"\n role=\"presentation\"\n class=\"d-recipe-message-input\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n @dragover.prevent\n @drop.prevent=\"onDrop\"\n @paste=\"onPaste\"\n @mousedown=\"onMousedown\"\n >\n <!-- @slot Renders above the input, but still within the borders. -->\n <slot name=\"top\" />\n\n <!-- set key to selectedText to force update. otherwise this component may not reflect the active selection -->\n <dt-recipe-message-input-topbar\n v-if=\"richText\"\n :key=\"selectedText\"\n :bold-button-options=\"boldButtonOptions\"\n :italic-button-options=\"italicButtonOptions\"\n :strike-button-options=\"strikeButtonOptions\"\n :bullet-list-button-options=\"bulletListButtonOptions\"\n :ordered-list-button-options=\"orderedListButtonOptions\"\n :block-quote-button-options=\"blockQuoteButtonOptions\"\n :code-button-options=\"codeButtonOptions\"\n :code-block-button-options=\"codeBlockButtonOptions\"\n :is-selection-active=\"isSelectionActive\"\n @click=\"handleTopbarClick\"\n >\n <template #link>\n <dt-recipe-message-input-link\n ref=\"link\"\n :open=\"linkDialogOpen\"\n :link-button-options=\"linkButtonOptions\"\n :is-selection-active=\"isSelectionActive\"\n @opened=\"linkDialogOpened\"\n @set-link=\"setLink\"\n @remove-link=\"removeLink\"\n />\n </template>\n </dt-recipe-message-input-topbar>\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n v-dt-scrollbar\n class=\"d-recipe-message-input__editor-wrapper\"\n :style=\"{ 'max-height': maxHeight }\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-blockquote=\"richText\"\n :allow-bold=\"richText\"\n :allow-bullet-list=\"richText\"\n :allow-code=\"richText\"\n :allow-codeblock=\"richText\"\n :allow-italic=\"richText\"\n :allow-strike=\"richText\"\n :allow-underline=\"richText\"\n :paste-rich-text=\"richText\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"inputClass\"\n :output-format=\"outputFormat\"\n :auto-focus=\"autoFocus\"\n :link=\"richText\"\n :placeholder=\"placeholder\"\n :prevent-typing=\"preventTyping\"\n :mention-suggestion=\"mentionSuggestion\"\n :channel-suggestion=\"channelSuggestion\"\n :slash-command-suggestion=\"slashCommandSuggestion\"\n :additional-extensions=\"additionalExtensions\"\n :hide-link-bubble-menu=\"hideLinkBubbleMenu\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @input=\"onInput\"\n @text-input=\"onTextInput\"\n @markdown-input=\"onMarkdownInput\"\n @enter=\"onSend\"\n @selected=\"selectedText = $event\"\n @selected-command=\"$emit('selected-command', $event)\"\n @edit-link=\"initLinkDialog\"\n @focus=\"isFocused = true\"\n @blur=\"isFocused = false\"\n />\n </div>\n <!-- @slot Slot for attachment carousel -->\n <slot name=\"middle\" />\n <!-- Section for the bottom UI -->\n <section class=\"d-recipe-message-input__bottom-section\">\n <!-- Left content -->\n <div class=\"d-recipe-message-input__bottom-section-left\">\n <dt-stack\n gap=\"200\"\n direction=\"row\"\n >\n <dt-button\n v-if=\"showImagePicker\"\n v-dt-tooltip:top-start=\"imagePickerButtonLabel\"\n data-qa=\"dt-recipe-message-input-image-btn\"\n size=\"sm\"\n class=\"d-recipe-message-input__button\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"imagePickerButtonLabel\"\n @click=\"onSelectImage\"\n @mouseenter=\"imagePickerFocus = true\"\n @mouseleave=\"imagePickerFocus = false\"\n @focus=\"imagePickerFocus = true\"\n @blur=\"imagePickerFocus = false\"\n >\n <template #icon>\n <dt-icon-image size=\"300\" />\n </template>\n </dt-button>\n <dt-input\n ref=\"messageInputImageUpload\"\n data-qa=\"dt-recipe-message-input-image-input\"\n accept=\"image/*, video/*\"\n type=\"file\"\n class=\"d-recipe-message-input__image-input\"\n multiple\n hidden\n @input=\"onImageUpload\"\n />\n <dt-popover\n v-if=\"showEmojiPicker\"\n open.sync=\"emojiPickerOpened\"\n data-qa=\"dt-recipe-message-input-emoji-picker-popover\"\n initial-focus-element=\"#searchInput\"\n padding=\"none\"\n >\n <template #anchor=\"{ attrs }\">\n <dt-button\n v-dt-tooltip=\"emojiPickerButtonLabel\"\n v-bind=\"attrs\"\n data-qa=\"dt-recipe-message-input-emoji-picker-btn\"\n size=\"sm\"\n class=\"d-recipe-message-input__button\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"emojiPickerButtonLabel\"\n @click=\"toggleEmojiPicker\"\n @mouseenter=\"emojiPickerFocus = true\"\n @mouseleave=\"emojiPickerFocus = false\"\n @focus=\"emojiPickerFocus = true\"\n @blur=\"emojiPickerFocus = false\"\n >\n <template #icon>\n <dt-icon-very-satisfied\n v-if=\"emojiPickerHovered\"\n size=\"300\"\n />\n <dt-icon-satisfied\n v-else\n size=\"300\"\n />\n </template>\n </dt-button>\n </template>\n <template #content=\"{ close }\">\n <dt-emoji-picker\n v-bind=\"emojiPickerProps\"\n @add-emoji=\"$emit('add-emoji')\"\n @skin-tone=\"onSkinTone\"\n @selected-emoji=\"(emoji) => onSelectEmoji(emoji, close)\"\n @scroll-bottom-reached=\"$emit('emoji-scroll-bottom-reached')\"\n />\n </template>\n </dt-popover>\n <!-- @slot Slot for emojiGiphy picker -->\n <slot name=\"emojiGiphyPicker\" />\n <!-- @slot Slot to add extra action icons next to default ones -->\n <slot name=\"customActionIcons\" />\n </dt-stack>\n </div>\n <!-- Right content -->\n <div class=\"d-recipe-message-input__bottom-section-right\">\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n >\n <!-- @slot Slot for schedule message -->\n <div class=\"d-recipe-message-input__schedule-message\">\n <slot name=\"scheduleMessage\" />\n </div>\n\n <!-- @slot Slot for sms count -->\n <div class=\"d-recipe-message-input__sms-count\">\n <slot name=\"smsCount\" />\n </div>\n\n <!-- Optionally displayed remaining character counter -->\n <dt-tooltip\n v-if=\"Boolean(showCharacterLimit)\"\n class=\"d-recipe-message-input__remaining-char-tooltip\"\n placement=\"top-end\"\n :enabled=\"characterLimitTooltipEnabled\"\n :message=\"showCharacterLimit.message\"\n :offset=\"[10, 8]\"\n >\n <template #anchor>\n <p\n v-show=\"displayCharacterLimitWarning\"\n class=\"d-recipe-message-input__remaining-char\"\n data-qa=\"dt-recipe-message-input-character-limit\"\n >\n {{ showCharacterLimit.count - inputLength }}\n </p>\n </template>\n </dt-tooltip>\n\n <!-- Cancel button for edit mode -->\n <dt-button\n v-if=\"showCancel\"\n v-dt-tooltip=\"cancelButtonLabel\"\n data-qa=\"dt-recipe-message-input-cancel-button\"\n class=\"d-recipe-message-input__button d-recipe-message-input__cancel-button\"\n size=\"sm\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"cancelButtonLabel\"\n @click=\"onCancel\"\n >\n <p>{{ cancelButtonLabel }}</p>\n </dt-button>\n\n <!-- @slot Slot for sendButton picker -->\n <slot name=\"sendButton\">\n <!-- Send button -->\n <!-- Right positioned UI - send button -->\n <dt-button\n v-if=\"showSend\"\n v-dt-tooltip:top-end=\"sendButtonLabel\"\n data-qa=\"dt-recipe-message-input-send-btn\"\n size=\"sm\"\n kind=\"default\"\n importance=\"primary\"\n :class=\"[\n 'd-recipe-message-input__button d-recipe-message-input__send-button',\n {\n 'd-recipe-message-input__send-button--disabled': isSendDisabled,\n 'd-btn--icon-only': showSendIcon,\n },\n ]\"\n :aria-label=\"sendButtonLabel\"\n :aria-disabled=\"isSendDisabled\"\n @click=\"onSend\"\n >\n <template\n v-if=\"showSendIcon\"\n #icon\n >\n <!-- @slot Slot for send button icon -->\n <slot\n name=\"sendIcon\"\n :icon-size=\"sendIconSize\"\n >\n <dt-icon-send :size=\"sendIconSize\" />\n </slot>\n </template>\n <template v-if=\"showSend.text\">\n <p>{{ showSend.text }}</p>\n </template>\n </dt-button>\n </slot>\n </dt-stack>\n </div>\n </section>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport lastActiveNodes from './last_active_nodes';\nimport { removeClassStyleAttrs, returnFirstEl, addClassStyleAttrs } from '@/common/utils';\nimport MeetingPill from './extensions/meeting_pill/meeting_pill';\nimport { DtButton } from '@/components/button';\nimport { DtEmojiPicker } from '@/components/emoji_picker';\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtStack } from '@/components/stack';\nimport {\n DtIconImage, DtIconVerySatisfied, DtIconSatisfied, DtIconSend,\n} from '@dialpad/dialtone-icons/vue3';\nimport DtRecipeMessageInputTopbar from './message_input_topbar.vue';\nimport DtRecipeMessageInputLink from './message_input_link.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from '../editor/editor_constants.js';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMessageInput',\n\n components: {\n DtButton,\n DtEmojiPicker,\n DtInput,\n DtPopover,\n DtRecipeMessageInputTopbar,\n DtRecipeMessageInputLink,\n DtRichTextEditor,\n DtTooltip,\n DtStack,\n DtIconImage,\n DtIconVerySatisfied,\n DtIconSatisfied,\n DtIconSend,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Displays all the buttons for rich text formatting above the message input, and enables it within the editor.\n * Rich text formatting for the purposes of this component is defined as:\n *\n * bold, italic, strikethrough, lists, blockquotes, inline code tags, and code blocks.\n *\n * If you are sending a message to a phone rather than a Dialpad to Dialpad message, you should have this as false.\n */\n richText: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Prevents the user from typing any further. Deleting text will still work.\n */\n preventTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * The output format that the editor uses when emitting the \"@input\" event.\n * One of `text`, `json`, `html`, `markdown`. See https://tiptap.dev/guide/output for\n * examples.\n * @values text, json, html, markdown\n */\n outputFormat: {\n type: String,\n default: 'json',\n validator (outputFormat) {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(outputFormat);\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Disable Send Button\n */\n disableSend: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n // Emoji picker props\n showEmojiPicker: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Props to pass into the emoji picker.\n */\n emojiPickerProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Enable character Limit warning\n */\n showCharacterLimit: {\n type: [Boolean, Object],\n default: () => ({ count: 1500, warning: 500, message: '' }),\n },\n\n showImagePicker: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * Send button defaults.\n * TODO (Dialtone 10):\n * - Change to `showSendButton`, boolean only.\n */\n showSend: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * TODO (Dialtone 10):\n * - Add a prop `iconOnly` default: true to control if localized send button text should be shown\n */\n\n /**\n * Cancel button defaults.\n * TODO (Dialtone 10): Change to `showCancelButton`, boolean only.\n */\n showCancel: {\n type: [Boolean, Object],\n default: () => ({}),\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the contacts for suggestion.\n * items({ query }) => { return [ContactObject]; }\n * ContactObject format:\n * { name: string, avatarSrc: string, id: string }\n *\n * When null, it does not add the plugin.\n */\n mentionSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the channels for suggestion.\n * items({ query }) => { return [ChannelObject]; }\n * ChannelObject format:\n * { name: string, id: string, locked: boolean }\n *\n * When null, it does not add the plugin. Setting locked to true will display a lock rather than hash.\n */\n channelSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the slash commands for suggestion.\n * items({ query }) => { return [SlashCommandObject]; }\n * SlashCommandObject format:\n * { command: string, description: string, parametersExample?: string }\n * The \"parametersExample\" parameter is optional, and describes an example\n * of the parameters that command can take.\n *\n * When null, it does not add the plugin.\n */\n slashCommandSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * descriptive text fields for the bold button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n boldButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + B',\n }),\n },\n\n /**\n * descriptive text fields for the italic button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n italicButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + I',\n }),\n },\n\n /**\n * descriptive text fields for the strikethrough button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n strikeButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + S',\n }),\n },\n\n /**\n * descriptive text fields for the link button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n linkButtonOptions: {\n type: Object,\n default: () => ({\n // TODO: implement mod k\n keyboardShortcutText: 'Mod + K',\n linkPlaceholder: 'e.g. https://www.dialpad.com',\n }),\n },\n\n /**\n * descriptive text fields for the bullet list button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n bulletListButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + 8',\n }),\n },\n\n /**\n * descriptive text fields for the ordered list button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n orderedListButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + 7',\n }),\n },\n\n /**\n * descriptive text fields for the italic button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n blockQuoteButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Shift + B',\n }),\n },\n\n /**\n * descriptive text fields for the code button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n codeButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + E',\n }),\n },\n\n /**\n * descriptive text fields for the code block button\n *\n * object format:\n * { keyboardShortcutText: string }\n */\n codeBlockButtonOptions: {\n type: Object,\n default: () => ({\n keyboardShortcutText: 'Mod + Alt + C',\n }),\n },\n },\n\n emits: [\n /**\n * Fires when send button is clicked\n *\n * @event submit\n * @type {String}\n */\n 'submit',\n\n /**\n * Fires when media is selected from image button\n *\n * @event select-media\n * @type {Array}\n */\n 'select-media',\n\n /**\n * Fires when media is dropped into the message input\n *\n * @event add-media\n * @type {Array}\n */\n 'add-media',\n\n /**\n * Fires when media is pasted into the message input\n *\n * @event paste-media\n * @type {Array}\n */\n 'paste-media',\n\n /**\n * Fires when cancel button is pressed (only on edit mode)\n *\n * @event cancel\n * @type {Boolean}\n */\n 'cancel',\n\n /**\n * Fires when skin tone is selected from the emoji picker\n *\n * @event skin-tone\n * @type {String}\n */\n 'skin-tone',\n\n /**\n * Fires when emoji is selected from the emoji picker\n *\n * @event selected-emoji\n * @type {String}\n */\n 'selected-emoji',\n\n /**\n * Fires when a slash command is selected\n *\n * @event selected-command\n * @type {String}\n */\n 'selected-command',\n\n /**\n * Fires when meeting pill is closed\n *\n * @event meeting-pill-close\n * @type {String}\n */\n 'meeting-pill-close',\n\n /**\n * Event to sync the value with the parent\n * @event update:modelValue\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Emitted when input changes, returns text content only\n * @event text-input\n * @type {String}\n */\n 'text-input',\n\n /**\n * Emitted when input changes, returns markdown content only\n * @event markdown-input\n * @type {String}\n */\n 'markdown-input',\n\n /**\n * Emitted when the 'Add emoji' button is clicked\n * @event add-emoji\n * @type {Boolean}\n */\n 'add-emoji',\n\n /**\n * Emitted when the emoji picker scroll reaches the bottom\n * @event emoji-scroll-bottom-reached\n */\n 'emoji-scroll-bottom-reached',\n ],\n\n data () {\n return {\n // If an ordered list is nested within an unordered list, we only want to show the currently selected list as\n // active. This function performs the logic to determine the farthest active node from the root.\n lastActiveNodes,\n additionalExtensions: [\n MeetingPill.configure({\n onClose: (event) => {\n this.$emit('meeting-pill-close', event);\n },\n }),\n ],\n\n internalInputValue: this.modelValue, // internal input content\n imagePickerFocus: false,\n emojiPickerFocus: false,\n emojiPickerOpened: false,\n isFocused: false,\n linkOptions: {\n class: 'd-link d-c-text d-d-inline-block',\n },\n\n linkDialogOpen: false,\n selectedText: '',\n text: '',\n hideLinkBubbleMenu: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n showSendIcon () {\n return !this.showSend.text;\n },\n\n inputLength () {\n return this.text.length;\n },\n\n displayCharacterLimitWarning () {\n return (\n Boolean(this.showCharacterLimit) &&\n this.showCharacterLimit.count - this.inputLength <=\n this.showCharacterLimit.warning\n );\n },\n\n characterLimitTooltipEnabled () {\n return (\n this.showCharacterLimit.message &&\n this.showCharacterLimit.count - this.inputLength < 0\n );\n },\n\n isSendDisabled () {\n return (\n this.disableSend ||\n (this.showCharacterLimit &&\n this.inputLength > this.showCharacterLimit.count)\n );\n },\n\n emojiPickerHovered () {\n return this.emojiPickerFocus || this.emojiPickerOpened;\n },\n\n sendIconSize () {\n return '300';\n },\n\n sendButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_SEND_BUTTON_ARIA_LABEL');\n },\n\n imagePickerButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_IMAGE_PICKER_BUTTON_ARIA_LABEL');\n },\n\n emojiPickerButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_EMOJI_PICKER_BUTTON_ARIA_LABEL');\n },\n\n cancelButtonLabel () {\n return this.i18n.$t('DIALTONE_MESSAGE_INPUT_CANCEL_BUTTON_ARIA_LABEL');\n },\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n\n emojiPickerOpened (newValue) {\n if (!newValue) {\n this.$refs.richTextEditor?.focusEditor();\n }\n },\n },\n\n created () {\n if (this.modelValue && this.outputFormat === 'text') {\n this.internalInputValue = this.modelValue.replace(/\\n/g, '<br>');\n } else {\n this.internalInputValue = this.modelValue;\n }\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n linkDialogOpened (value) {\n this.linkDialogOpen = value;\n if (value === true) {\n this.initLinkDialog();\n } else {\n this.hideLinkBubbleMenu = false;\n this.$refs.richTextEditor?.focusEditor();\n }\n },\n\n handleTopbarClick (type) {\n const editor = this.$refs.richTextEditor?.editor;\n // Key is the name returned in the event, value is the name of the TipTap command function to run.\n const typeToCommandMap = {\n bold: () => editor?.chain().focus().toggleBold().run(),\n italic: () => editor?.chain().focus().toggleItalic().run(),\n strike: () => editor?.chain().focus().toggleStrike().run(),\n bulletList: () => editor?.chain().focus().toggleBulletList().run(),\n orderedList: () => editor?.chain().focus().toggleOrderedList().run(),\n blockquote: () => editor?.chain().focus().toggleBlockquote().run(),\n code: () => editor?.chain().focus().toggleCode().run(),\n codeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n };\n\n if (editor && typeToCommandMap[type]) {\n typeToCommandMap[type]();\n }\n },\n\n // Checks if the node currently selected is active ex/ the bold button is active if the selected text is bold\n\n isSelectionActive (type) {\n if (['bulletList', 'orderedList'].includes(type)) {\n return this.lastActiveNodes(this.$refs.richTextEditor?.editor?.state, [{ type: 'bulletList' }, { type: 'orderedList' }]).includes(type) && this.isFocused;\n }\n return this.$refs.richTextEditor?.editor?.isActive(type) && this.isFocused;\n },\n\n initLinkDialog () {\n this.$refs.link.setInitialValues(this.selectedText, this.$refs.richTextEditor?.editor?.getAttributes('link')?.href);\n this.hideLinkBubbleMenu = true;\n this.linkDialogOpen = true;\n },\n\n removeLink () {\n this.$refs.richTextEditor?.removeLink();\n this.linkDialogOpen = false;\n },\n\n setLink (linkText, linkInput) {\n this.$refs.richTextEditor.setLink(\n linkInput, linkText, this.linkOptions, EDITOR_SUPPORTED_LINK_PROTOCOLS, EDITOR_DEFAULT_LINK_PREFIX,\n );\n this.linkDialogOpen = false;\n },\n\n // Mousedown instead of click because it fires before the blur event.\n onMousedown (e) {\n const isWithinInput = returnFirstEl(this.$refs.richTextEditor.$el)\n .querySelector('.tiptap')\n .contains(e.target);\n\n // If the click is not within the tiptap rich text editor input itself, but still within the wrapping div,\n // focus the editor.\n if (!isWithinInput) {\n // Prevent default prevents blurring the rich text editor input when it is already focused.\n e.preventDefault();\n this.$refs.richTextEditor.focusEditor();\n }\n },\n\n onDrop (e) {\n const dt = e.dataTransfer;\n const files = Array.from(dt.files);\n this.$emit('add-media', files);\n },\n\n onPaste (e) {\n if (e.clipboardData.files.length) {\n e.stopPropagation();\n e.preventDefault();\n const files = [...e.clipboardData.files];\n this.$emit('paste-media', files);\n }\n },\n\n onSkinTone (skinTone) {\n this.$emit('skin-tone', skinTone);\n },\n\n onSelectEmoji (emoji, close) {\n if (!emoji) {\n return;\n }\n\n if (!emoji.shift_key) {\n close();\n }\n\n // Insert emoji into the editor\n this.$refs.richTextEditor.editor.commands.insertContent({\n type: 'emoji',\n attrs: {\n code: emoji.shortname,\n image: emoji.image,\n name: emoji.name,\n },\n });\n this.$emit('selected-emoji', emoji);\n },\n\n onSelectImage () {\n this.$refs.messageInputImageUpload.$refs.input.click();\n },\n\n onImageUpload () {\n this.$emit(\n 'select-media',\n this.$refs.messageInputImageUpload.$refs.input.files,\n );\n },\n\n toggleEmojiPicker () {\n this.emojiPickerOpened = !this.emojiPickerOpened;\n },\n\n onSend () {\n if (this.isSendDisabled) {\n return;\n }\n this.$emit('submit', this.internalInputValue);\n },\n\n onCancel () {\n this.$emit('cancel');\n },\n\n onInput (event) {\n this.$emit('update:modelValue', event);\n },\n\n onTextInput (event) {\n this.text = event;\n this.$emit('text-input', event);\n },\n\n onMarkdownInput (event) {\n this.$emit('markdown-input', event);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","NodeViewWrapper","DtItemLayout","DtIconClose","DtButton","DtIconVideo","nodeViewProps","DialtoneLocalization","e","onCloseCallback","_c","_b","_a","_hoisted_1","_hoisted_2","_createBlock","_component_node_view_wrapper","_createVNode","_component_dt_item_layout","_createElementVNode","_component_dt_icon_video","_component_dt_button","$options","_component_dt_icon_close","_createTextVNode","_ctx","MeetingPill","Node","VueNodeViewRenderer","HTMLAttributes","mergeAttributes","DtEmojiPicker","DtInput","DtPopover","DtRecipeMessageInputTopbar","DtRecipeMessageInputLink","DtRichTextEditor","DtTooltip","DtStack","DtIconImage","DtIconVerySatisfied","DtIconSatisfied","DtIconSend","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","outputFormat","RICH_TEXT_EDITOR_OUTPUT_FORMATS","lastActiveNodes","event","newValue","removeClassStyleAttrs","addClassStyleAttrs","value","type","editor","typeToCommandMap","_d","linkText","linkInput","EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","returnFirstEl","dt","files","skinTone","emoji","close","_hoisted_3","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_mergeProps","args","_renderSlot","$props","_component_dt_recipe_message_input_topbar","$data","_component_dt_recipe_message_input_link","_component_dt_rich_text_editor","$event","_cache","_component_dt_stack","_component_dt_icon_image","_directive_dt_tooltip","_component_dt_input","_component_dt_popover","_withCtx","attrs","_component_dt_icon_very_satisfied","_component_dt_icon_satisfied","_component_dt_emoji_picker","_component_dt_tooltip","_normalizeClass","_hoisted_6","_toDisplayString","_component_dt_icon_send"],"mappings":"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"}
@@ -873,8 +873,8 @@ function xe(t, e, i, d, o, n) {
873
873
  size: "300"
874
874
  }))
875
875
  ]),
876
- _: 2
877
- }, 1040, ["aria-label", "onClick"])), [
876
+ _: 1
877
+ }, 16, ["aria-label", "onClick"])), [
878
878
  [f, n.emojiPickerButtonLabel]
879
879
  ])
880
880
  ]),