@dialpad/dialtone 9.123.2 → 9.125.0

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 (344) hide show
  1. package/README.md +12 -5
  2. package/dist/css/dialtone-default-theme.css +414 -77
  3. package/dist/css/dialtone-default-theme.min.css +1 -1
  4. package/dist/css/dialtone-docs.json +1 -1
  5. package/dist/css/dialtone.css +188 -68
  6. package/dist/css/dialtone.min.css +1 -1
  7. package/dist/css/svg/spot/playlist.svg +1 -0
  8. package/dist/css/vue/spot/SpotPlaylist.vue +3 -0
  9. package/dist/tokens/doc.json +24348 -24348
  10. package/dist/vue2/common/mixins/index.cjs +1 -1
  11. package/dist/vue2/common/mixins/index.js +10 -10
  12. package/dist/vue2/common/mixins/localization.cjs +2 -0
  13. package/dist/vue2/common/mixins/localization.cjs.map +1 -0
  14. package/dist/vue2/common/mixins/localization.js +10 -0
  15. package/dist/vue2/common/mixins/localization.js.map +1 -0
  16. package/dist/vue2/common/utils/index.cjs +1 -1
  17. package/dist/vue2/common/utils/index.cjs.map +1 -1
  18. package/dist/vue2/common/utils/index.js +43 -39
  19. package/dist/vue2/common/utils/index.js.map +1 -1
  20. package/dist/vue2/component-documentation.json +1 -1
  21. package/dist/vue2/dialtone-vue.cjs +1 -1
  22. package/dist/vue2/dialtone-vue.js +341 -340
  23. package/dist/vue2/dialtone-vue.js.map +1 -1
  24. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  25. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  26. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +61 -86
  27. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  28. package/dist/vue2/lib/banner/banner.cjs +2 -2
  29. package/dist/vue2/lib/banner/banner.cjs.map +1 -1
  30. package/dist/vue2/lib/banner/banner.js +25 -33
  31. package/dist/vue2/lib/banner/banner.js.map +1 -1
  32. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  33. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  34. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js +14 -12
  35. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  36. package/dist/vue2/lib/button/button.cjs +1 -1
  37. package/dist/vue2/lib/button/button.cjs.map +1 -1
  38. package/dist/vue2/lib/button/button.js +11 -9
  39. package/dist/vue2/lib/button/button.js.map +1 -1
  40. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  41. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  42. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +19 -25
  43. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  44. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  45. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  46. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +18 -21
  47. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  48. package/dist/vue2/lib/chip/chip.cjs +1 -1
  49. package/dist/vue2/lib/chip/chip.cjs.map +1 -1
  50. package/dist/vue2/lib/chip/chip.js +24 -29
  51. package/dist/vue2/lib/chip/chip.js.map +1 -1
  52. package/dist/vue2/lib/combobox/combobox-constants.cjs +1 -1
  53. package/dist/vue2/lib/combobox/combobox-constants.cjs.map +1 -1
  54. package/dist/vue2/lib/combobox/combobox-constants.js +2 -2
  55. package/dist/vue2/lib/combobox/combobox-constants.js.map +1 -1
  56. package/dist/vue2/lib/combobox/combobox-empty-list.cjs.map +1 -1
  57. package/dist/vue2/lib/combobox/combobox-empty-list.js.map +1 -1
  58. package/dist/vue2/lib/combobox/combobox-loading-list.cjs.map +1 -1
  59. package/dist/vue2/lib/combobox/combobox-loading-list.js.map +1 -1
  60. package/dist/vue2/lib/combobox/combobox.cjs +2 -2
  61. package/dist/vue2/lib/combobox/combobox.cjs.map +1 -1
  62. package/dist/vue2/lib/combobox/combobox.js +12 -12
  63. package/dist/vue2/lib/combobox/combobox.js.map +1 -1
  64. package/dist/vue2/lib/combobox/index.cjs +1 -1
  65. package/dist/vue2/lib/combobox/index.js +3 -3
  66. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  67. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  68. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js +19 -20
  69. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  70. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  71. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  72. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js +22 -24
  73. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  74. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  75. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  76. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +40 -36
  77. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  78. package/dist/vue2/lib/contact-row/contact-row.cjs +1 -1
  79. package/dist/vue2/lib/contact-row/contact-row.cjs.map +1 -1
  80. package/dist/vue2/lib/contact-row/contact-row.js +11 -25
  81. package/dist/vue2/lib/contact-row/contact-row.js.map +1 -1
  82. package/dist/vue2/lib/datepicker/datepicker-constants.cjs +1 -1
  83. package/dist/vue2/lib/datepicker/datepicker-constants.cjs.map +1 -1
  84. package/dist/vue2/lib/datepicker/datepicker-constants.js +2 -3
  85. package/dist/vue2/lib/datepicker/datepicker-constants.js.map +1 -1
  86. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  87. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  88. package/dist/vue2/lib/datepicker/datepicker.js +143 -229
  89. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  90. package/dist/vue2/lib/datepicker/utils.cjs +1 -1
  91. package/dist/vue2/lib/datepicker/utils.cjs.map +1 -1
  92. package/dist/vue2/lib/datepicker/utils.js +12 -11
  93. package/dist/vue2/lib/datepicker/utils.js.map +1 -1
  94. package/dist/vue2/lib/description-list/description-list.cjs +1 -1
  95. package/dist/vue2/lib/description-list/description-list.cjs.map +1 -1
  96. package/dist/vue2/lib/description-list/description-list.js +8 -8
  97. package/dist/vue2/lib/description-list/description-list.js.map +1 -1
  98. package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
  99. package/dist/vue2/lib/dropdown/dropdown.cjs.map +1 -1
  100. package/dist/vue2/lib/dropdown/dropdown.js +48 -50
  101. package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
  102. package/dist/vue2/lib/editor/editor.cjs +1 -1
  103. package/dist/vue2/lib/editor/editor.cjs.map +1 -1
  104. package/dist/vue2/lib/editor/editor.js +78 -87
  105. package/dist/vue2/lib/editor/editor.js.map +1 -1
  106. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs +1 -1
  107. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  108. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js +6 -19
  109. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  110. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  111. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  112. package/dist/vue2/lib/emoji-picker/emoji-picker.js +106 -145
  113. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  114. package/dist/vue2/lib/emoji-picker/index.cjs +1 -1
  115. package/dist/vue2/lib/emoji-picker/index.js +6 -7
  116. package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs +1 -1
  117. package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  118. package/dist/vue2/lib/emoji-row/emoji-row-constants.js +5 -7
  119. package/dist/vue2/lib/emoji-row/emoji-row-constants.js.map +1 -1
  120. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  121. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  122. package/dist/vue2/lib/emoji-row/emoji-row.js +31 -22
  123. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  124. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  125. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  126. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +20 -22
  127. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  128. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  129. package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
  130. package/dist/vue2/lib/general-row/general-row.js +63 -52
  131. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  132. package/dist/vue2/lib/group-row/group-row.cjs +1 -1
  133. package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
  134. package/dist/vue2/lib/group-row/group-row.js +43 -32
  135. package/dist/vue2/lib/group-row/group-row.js.map +1 -1
  136. package/dist/vue2/lib/icon/icon-constants.cjs.map +1 -1
  137. package/dist/vue2/lib/icon/icon-constants.js.map +1 -1
  138. package/dist/vue2/lib/icon/icon.cjs +1 -1
  139. package/dist/vue2/lib/icon/icon.cjs.map +1 -1
  140. package/dist/vue2/lib/icon/icon.js +12 -8
  141. package/dist/vue2/lib/icon/icon.js.map +1 -1
  142. package/dist/vue2/lib/image-viewer/image-viewer.cjs +1 -1
  143. package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
  144. package/dist/vue2/lib/image-viewer/image-viewer.js +30 -31
  145. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  146. package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs +1 -1
  147. package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  148. package/dist/vue2/lib/ivr-node/ivr-node-constants.js +24 -24
  149. package/dist/vue2/lib/ivr-node/ivr-node-constants.js.map +1 -1
  150. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  151. package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
  152. package/dist/vue2/lib/ivr-node/ivr-node.js +38 -36
  153. package/dist/vue2/lib/ivr-node/ivr-node.js.map +1 -1
  154. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  155. package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
  156. package/dist/vue2/lib/message-input/message-input-link.js +48 -23
  157. package/dist/vue2/lib/message-input/message-input-link.js.map +1 -1
  158. package/dist/vue2/lib/message-input/message-input-topbar.cjs +1 -1
  159. package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
  160. package/dist/vue2/lib/message-input/message-input-topbar.js +50 -22
  161. package/dist/vue2/lib/message-input/message-input-topbar.js.map +1 -1
  162. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  163. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  164. package/dist/vue2/lib/message-input/message-input.js +112 -143
  165. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  166. package/dist/vue2/lib/modal/modal.cjs +1 -2
  167. package/dist/vue2/lib/modal/modal.cjs.map +1 -1
  168. package/dist/vue2/lib/modal/modal.js +25 -42
  169. package/dist/vue2/lib/modal/modal.js.map +1 -1
  170. package/dist/vue2/lib/notice/notice-action.cjs +1 -1
  171. package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
  172. package/dist/vue2/lib/notice/notice-action.js +19 -26
  173. package/dist/vue2/lib/notice/notice-action.js.map +1 -1
  174. package/dist/vue2/lib/notice/notice.cjs +1 -1
  175. package/dist/vue2/lib/notice/notice.cjs.map +1 -1
  176. package/dist/vue2/lib/notice/notice.js +18 -27
  177. package/dist/vue2/lib/notice/notice.js.map +1 -1
  178. package/dist/vue2/lib/pagination/pagination.cjs +1 -1
  179. package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
  180. package/dist/vue2/lib/pagination/pagination.js +49 -58
  181. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  182. package/dist/vue2/lib/popover/popover-header-footer.cjs +1 -1
  183. package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
  184. package/dist/vue2/lib/popover/popover-header-footer.js +24 -26
  185. package/dist/vue2/lib/popover/popover-header-footer.js.map +1 -1
  186. package/dist/vue2/lib/popover/popover.cjs +1 -1
  187. package/dist/vue2/lib/popover/popover.cjs.map +1 -1
  188. package/dist/vue2/lib/popover/popover.js +26 -35
  189. package/dist/vue2/lib/popover/popover.js.map +1 -1
  190. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +5 -5
  191. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  192. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +330 -320
  193. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  194. package/dist/vue2/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  195. package/dist/vue2/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  196. package/dist/vue2/lib/time-pill/time-pill.cjs.map +1 -1
  197. package/dist/vue2/lib/time-pill/time-pill.js.map +1 -1
  198. package/dist/vue2/lib/toast/toast.cjs +1 -1
  199. package/dist/vue2/lib/toast/toast.cjs.map +1 -1
  200. package/dist/vue2/lib/toast/toast.js +64 -97
  201. package/dist/vue2/lib/toast/toast.js.map +1 -1
  202. package/dist/vue2/lib/unread-pill/unread-pill.cjs +1 -1
  203. package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
  204. package/dist/vue2/lib/unread-pill/unread-pill.js +27 -18
  205. package/dist/vue2/lib/unread-pill/unread-pill.js.map +1 -1
  206. package/dist/vue2/localization/en-US.cjs +185 -0
  207. package/dist/vue2/localization/en-US.cjs.map +1 -0
  208. package/dist/vue2/localization/en-US.js +188 -0
  209. package/dist/vue2/localization/en-US.js.map +1 -0
  210. package/dist/vue2/localization/es-LA.cjs +169 -0
  211. package/dist/vue2/localization/es-LA.cjs.map +1 -0
  212. package/dist/vue2/localization/es-LA.js +172 -0
  213. package/dist/vue2/localization/es-LA.js.map +1 -0
  214. package/dist/vue2/localization/index.cjs +1176 -0
  215. package/dist/vue2/localization/index.cjs.map +1 -0
  216. package/dist/vue2/localization/index.js +1239 -0
  217. package/dist/vue2/localization/index.js.map +1 -0
  218. package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
  219. package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
  220. package/dist/vue2/shared/sr_only_close_button.cjs +1 -1
  221. package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
  222. package/dist/vue2/shared/sr_only_close_button.js +19 -22
  223. package/dist/vue2/shared/sr_only_close_button.js.map +1 -1
  224. package/dist/vue2/types/common/mixins/index.d.ts +1 -1
  225. package/dist/vue2/types/common/mixins/localization.d.ts +8 -0
  226. package/dist/vue2/types/common/mixins/localization.d.ts.map +1 -0
  227. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts +7 -13
  228. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  229. package/dist/vue2/types/common/utils/index.d.ts +1 -0
  230. package/dist/vue2/types/common/utils/index.d.ts.map +1 -1
  231. package/dist/vue2/types/components/banner/banner.vue.d.ts +0 -33
  232. package/dist/vue2/types/components/banner/banner.vue.d.ts.map +1 -1
  233. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +5 -1
  234. package/dist/vue2/types/components/button/button.vue.d.ts +6 -2
  235. package/dist/vue2/types/components/chip/chip.vue.d.ts +8 -18
  236. package/dist/vue2/types/components/combobox/combobox_constants.d.ts +2 -2
  237. package/dist/vue2/types/components/combobox/index.d.ts +1 -1
  238. package/dist/vue2/types/components/datepicker/datepicker.vue.d.ts.map +1 -1
  239. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts +0 -1
  240. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  241. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +5 -17
  242. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts +8 -48
  243. package/dist/vue2/types/components/datepicker/utils.d.ts +1 -0
  244. package/dist/vue2/types/components/datepicker/utils.d.ts.map +1 -1
  245. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +0 -24
  246. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  247. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts +5 -1
  248. package/dist/vue2/types/components/emoji_picker/emoji_picker_constants.d.ts +0 -13
  249. package/dist/vue2/types/components/icon/icon.vue.d.ts +1 -0
  250. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  251. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +5 -8
  252. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  253. package/dist/vue2/types/components/modal/modal.vue.d.ts +3 -33
  254. package/dist/vue2/types/components/notice/notice.vue.d.ts +1 -34
  255. package/dist/vue2/types/components/notice/notice.vue.d.ts.map +1 -1
  256. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +3 -31
  257. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  258. package/dist/vue2/types/components/pagination/pagination.vue.d.ts +9 -26
  259. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  260. package/dist/vue2/types/components/popover/popover.vue.d.ts +0 -33
  261. package/dist/vue2/types/components/popover/popover.vue.d.ts.map +1 -1
  262. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +8 -11
  263. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  264. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +15 -2
  265. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  266. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +1 -43
  267. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  268. package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts +1 -34
  269. package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  270. package/dist/vue2/types/components/toast/toast.vue.d.ts +3 -111
  271. package/dist/vue2/types/components/toast/toast.vue.d.ts.map +1 -1
  272. package/dist/vue2/types/index.d.ts +1 -0
  273. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +7 -13
  274. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +7 -12
  275. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +8 -10
  276. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  277. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts +7 -7
  278. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
  279. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -25
  280. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  281. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -25
  282. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  283. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +5 -41
  284. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  285. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +8 -26
  286. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +2 -2
  287. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +20 -61
  288. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  289. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +6 -1
  290. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row_constants.d.ts.map +1 -1
  291. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +9 -12
  292. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  293. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +8 -2
  294. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  295. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +15 -90
  296. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  297. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +14 -2
  298. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +14 -1
  299. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  300. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +10 -11
  301. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  302. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +0 -18
  303. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  304. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +21 -37
  305. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  306. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +9 -18
  307. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  308. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +7 -1
  309. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  310. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  311. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  312. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +3 -2
  313. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  314. package/package.json +4 -3
  315. package/dist/vue2/common/mixins/sr-only-close-button.cjs +0 -3
  316. package/dist/vue2/common/mixins/sr-only-close-button.cjs.map +0 -1
  317. package/dist/vue2/common/mixins/sr-only-close-button.js +0 -44
  318. package/dist/vue2/common/mixins/sr-only-close-button.js.map +0 -1
  319. package/dist/vue2/lib/contact-row/contact-row-constants.cjs +0 -2
  320. package/dist/vue2/lib/contact-row/contact-row-constants.cjs.map +0 -1
  321. package/dist/vue2/lib/contact-row/contact-row-constants.js +0 -5
  322. package/dist/vue2/lib/contact-row/contact-row-constants.js.map +0 -1
  323. package/dist/vue2/lib/emoji/emoji-constants.cjs +0 -2
  324. package/dist/vue2/lib/emoji/emoji-constants.cjs.map +0 -1
  325. package/dist/vue2/lib/emoji/emoji-constants.js +0 -5
  326. package/dist/vue2/lib/emoji/emoji-constants.js.map +0 -1
  327. package/dist/vue2/lib/group-row/group-row-constants.cjs +0 -2
  328. package/dist/vue2/lib/group-row/group-row-constants.cjs.map +0 -1
  329. package/dist/vue2/lib/group-row/group-row-constants.js +0 -8
  330. package/dist/vue2/lib/group-row/group-row-constants.js.map +0 -1
  331. package/dist/vue2/lib/time-pill/time-pill-constants.cjs +0 -2
  332. package/dist/vue2/lib/time-pill/time-pill-constants.cjs.map +0 -1
  333. package/dist/vue2/lib/time-pill/time-pill-constants.js +0 -8
  334. package/dist/vue2/lib/time-pill/time-pill-constants.js.map +0 -1
  335. package/dist/vue2/types/common/mixins/sr_only_close_button.d.ts +0 -30
  336. package/dist/vue2/types/common/mixins/sr_only_close_button.d.ts.map +0 -1
  337. package/dist/vue2/types/components/emoji/emoji_constants.d.ts +0 -3
  338. package/dist/vue2/types/components/emoji/emoji_constants.d.ts.map +0 -1
  339. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts +0 -6
  340. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts.map +0 -1
  341. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row_constants.d.ts +0 -3
  342. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row_constants.d.ts.map +0 -1
  343. package/dist/vue2/types/recipes/leftbar/group_row/group_row_constants.d.ts +0 -6
  344. package/dist/vue2/types/recipes/leftbar/group_row/group_row_constants.d.ts.map +0 -1
@@ -1,22 +1,23 @@
1
- import { EDITOR_SUPPORTED_LINK_PROTOCOLS as x, EDITOR_DEFAULT_LINK_PREFIX as b } from "./editor-constants.js";
2
- import { DtIconQuickReply as u, DtIconBold as a, DtIconItalic as c, DtIconUnderline as d, DtIconStrikethrough as h, DtIconListBullet as p, DtIconListOrdered as f, DtIconAlignLeft as k, DtIconAlignCenter as g, DtIconAlignRight as B, DtIconAlignJustify as m, DtIconQuote as y, DtIconCodeBlock as I, DtIconLink2 as w, DtIconImage as L } from "@dialpad/dialtone-icons/vue2";
3
- import { n as A } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
- import T from "../rich-text-editor/rich-text-editor.js";
5
- import _ from "../button/button.js";
6
- import C from "../popover/popover.js";
7
- import R from "../stack/stack.js";
8
- import O from "../input/input.js";
9
- import E from "../tooltip/tooltip.js";
10
- import { RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as S, RICH_TEXT_EDITOR_OUTPUT_FORMATS as F } from "../rich-text-editor/rich-text-editor-constants.js";
11
- const D = {
1
+ import { EDITOR_SUPPORTED_LINK_PROTOCOLS as m, EDITOR_DEFAULT_LINK_PREFIX as E } from "./editor-constants.js";
2
+ import { DtIconQuickReply as u, DtIconBold as a, DtIconItalic as c, DtIconUnderline as d, DtIconStrikethrough as h, DtIconListBullet as p, DtIconListOrdered as f, DtIconAlignLeft as B, DtIconAlignCenter as k, DtIconAlignRight as g, DtIconAlignJustify as T, DtIconQuote as I, DtIconCodeBlock as _, DtIconLink2 as L, DtIconImage as A } from "@dialpad/dialtone-icons/vue2";
3
+ import { n as y } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
+ import O from "../rich-text-editor/rich-text-editor.js";
5
+ import w from "../button/button.js";
6
+ import x from "../popover/popover.js";
7
+ import b from "../stack/stack.js";
8
+ import R from "../input/input.js";
9
+ import D from "../tooltip/tooltip.js";
10
+ import C from "../../common/mixins/localization.js";
11
+ import { RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as N, RICH_TEXT_EDITOR_OUTPUT_FORMATS as $ } from "../rich-text-editor/rich-text-editor-constants.js";
12
+ const S = {
12
13
  name: "DtRecipeEditor",
13
14
  components: {
14
- DtRichTextEditor: T,
15
- DtButton: _,
16
- DtPopover: C,
17
- DtStack: R,
18
- DtInput: O,
19
- DtTooltip: E,
15
+ DtRichTextEditor: O,
16
+ DtButton: w,
17
+ DtPopover: x,
18
+ DtStack: b,
19
+ DtInput: R,
20
+ DtTooltip: D,
20
21
  DtIconQuickReply: u,
21
22
  DtIconBold: a,
22
23
  DtIconItalic: c,
@@ -24,15 +25,16 @@ const D = {
24
25
  DtIconStrikethrough: h,
25
26
  DtIconListBullet: p,
26
27
  DtIconListOrdered: f,
27
- DtIconAlignLeft: k,
28
- DtIconAlignCenter: g,
29
- DtIconAlignRight: B,
30
- DtIconAlignJustify: m,
31
- DtIconQuote: y,
32
- DtIconCodeBlock: I,
33
- DtIconLink2: w,
34
- DtIconImage: L
28
+ DtIconAlignLeft: B,
29
+ DtIconAlignCenter: k,
30
+ DtIconAlignRight: g,
31
+ DtIconAlignJustify: T,
32
+ DtIconQuote: I,
33
+ DtIconCodeBlock: _,
34
+ DtIconLink2: L,
35
+ DtIconImage: A
35
36
  },
37
+ mixins: [C],
36
38
  inheritAttrs: !1,
37
39
  props: {
38
40
  /**
@@ -82,7 +84,7 @@ const D = {
82
84
  type: [Boolean, String, Number],
83
85
  default: !1,
84
86
  validator(e) {
85
- return typeof e == "string" ? S.includes(e) : !0;
87
+ return typeof e == "string" ? N.includes(e) : !0;
86
88
  }
87
89
  },
88
90
  /**
@@ -100,27 +102,6 @@ const D = {
100
102
  type: String,
101
103
  default: "unset"
102
104
  },
103
- /**
104
- * Confirm set link button defaults.
105
- */
106
- confirmSetLinkButton: {
107
- type: Object,
108
- default: () => ({ label: "Confirm", ariaLabel: "Confirm set link" })
109
- },
110
- /**
111
- * Remove link button defaults.
112
- */
113
- removeLinkButton: {
114
- type: Object,
115
- default: () => ({ label: "Remove", ariaLabel: "Remove link" })
116
- },
117
- /**
118
- * Cancel set link button defaults.
119
- */
120
- cancelSetLinkButton: {
121
- type: Object,
122
- default: () => ({ label: "Cancel", ariaLabel: "Cancel set link" })
123
- },
124
105
  /**
125
106
  * Placeholder text for the set link input field
126
107
  */
@@ -232,9 +213,7 @@ const D = {
232
213
  showAddLink: {
233
214
  type: Object,
234
215
  default: () => ({
235
- showAddLinkButton: !0,
236
- setLinkTitle: "Add a link",
237
- setLinkInputAriaLabel: "Input field to add link"
216
+ showAddLinkButton: !0
238
217
  })
239
218
  },
240
219
  /**
@@ -298,7 +277,7 @@ const D = {
298
277
  return this.internalInputValue.length;
299
278
  },
300
279
  htmlOutputFormat() {
301
- return F[2];
280
+ return $[2];
302
281
  },
303
282
  showingTextFormatButtons() {
304
283
  return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;
@@ -334,11 +313,11 @@ const D = {
334
313
  return [
335
314
  {
336
315
  showBtn: this.showQuickRepliesButton,
337
- label: "Quick reply",
316
+ label: this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),
338
317
  selector: "quickReplies",
339
318
  icon: u,
340
319
  dataQA: "dt-recipe-editor-quick-replies-btn",
341
- tooltipMessage: "Quick Reply",
320
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),
342
321
  onClick: this.onQuickRepliesClick
343
322
  }
344
323
  ].filter((e) => e.showBtn);
@@ -350,7 +329,7 @@ const D = {
350
329
  selector: "bold",
351
330
  icon: a,
352
331
  dataQA: "dt-recipe-editor-bold-btn",
353
- tooltipMessage: "Bold",
332
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_BOLD_BUTTON_LABEL"),
354
333
  onClick: this.onBoldTextToggle
355
334
  },
356
335
  {
@@ -358,7 +337,7 @@ const D = {
358
337
  selector: "italic",
359
338
  icon: c,
360
339
  dataQA: "dt-recipe-editor-italics-btn",
361
- tooltipMessage: "Italics",
340
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ITALICS_BUTTON_LABEL"),
362
341
  onClick: this.onItalicTextToggle
363
342
  },
364
343
  {
@@ -366,7 +345,7 @@ const D = {
366
345
  selector: "underline",
367
346
  icon: d,
368
347
  dataQA: "dt-recipe-editor-underline-btn",
369
- tooltipMessage: "Underline",
348
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL"),
370
349
  onClick: this.onUnderlineTextToggle
371
350
  },
372
351
  {
@@ -374,7 +353,7 @@ const D = {
374
353
  selector: "strike",
375
354
  icon: h,
376
355
  dataQA: "dt-recipe-editor-strike-btn",
377
- tooltipMessage: "Strike",
356
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_STRIKE_BUTTON_LABEL"),
378
357
  onClick: this.onStrikethroughTextToggle
379
358
  }
380
359
  ].filter((e) => e.showBtn);
@@ -384,33 +363,33 @@ const D = {
384
363
  {
385
364
  showBtn: this.showAlignLeftButton,
386
365
  selector: { textAlign: "left" },
387
- icon: k,
366
+ icon: B,
388
367
  dataQA: "dt-recipe-editor-align-left-btn",
389
- tooltipMessage: "Align Left",
368
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL"),
390
369
  onClick: () => this.onTextAlign("left")
391
370
  },
392
371
  {
393
372
  showBtn: this.showAlignCenterButton,
394
373
  selector: { textAlign: "center" },
395
- icon: g,
374
+ icon: k,
396
375
  dataQA: "dt-recipe-editor-align-center-btn",
397
- tooltipMessage: "Align Center",
376
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL"),
398
377
  onClick: () => this.onTextAlign("center")
399
378
  },
400
379
  {
401
380
  showBtn: this.showAlignRightButton,
402
381
  selector: { textAlign: "right" },
403
- icon: B,
382
+ icon: g,
404
383
  dataQA: "dt-recipe-editor-align-right-btn",
405
- tooltipMessage: "Align Right",
384
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL"),
406
385
  onClick: () => this.onTextAlign("right")
407
386
  },
408
387
  {
409
388
  showBtn: this.showAlignJustifyButton,
410
389
  selector: { textAlign: "justify" },
411
- icon: m,
390
+ icon: T,
412
391
  dataQA: "dt-recipe-editor-align-justify-btn",
413
- tooltipMessage: "Align Justify",
392
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL"),
414
393
  onClick: () => this.onTextAlign("justify")
415
394
  }
416
395
  ].filter((e) => e.showBtn);
@@ -422,7 +401,7 @@ const D = {
422
401
  selector: "bulletList",
423
402
  icon: p,
424
403
  dataQA: "dt-recipe-editor-list-items-btn",
425
- tooltipMessage: "Bullet List",
404
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL"),
426
405
  onClick: this.onBulletListToggle
427
406
  },
428
407
  {
@@ -430,7 +409,7 @@ const D = {
430
409
  selector: "orderedList",
431
410
  icon: f,
432
411
  dataQA: "dt-recipe-editor-ordered-list-items-btn",
433
- tooltipMessage: "Ordered List",
412
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL"),
434
413
  onClick: this.onOrderedListToggle
435
414
  }
436
415
  ].filter((e) => e.showBtn);
@@ -440,25 +419,25 @@ const D = {
440
419
  {
441
420
  showBtn: this.showQuoteButton,
442
421
  selector: "blockquote",
443
- icon: y,
422
+ icon: I,
444
423
  dataQA: "dt-recipe-editor-blockquote-btn",
445
- tooltipMessage: "Quote",
424
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_QUOTE_BUTTON_LABEL"),
446
425
  onClick: this.onBlockquoteToggle
447
426
  },
448
427
  {
449
428
  showBtn: this.showCodeBlockButton,
450
429
  selector: "codeBlock",
451
- icon: I,
430
+ icon: _,
452
431
  dataQA: "dt-recipe-editor-code-block-btn",
453
- tooltipMessage: "Code",
432
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),
454
433
  onClick: this.onCodeBlockToggle
455
434
  },
456
435
  {
457
436
  showBtn: this.showInlineImageButton,
458
437
  selector: "image",
459
- icon: L,
438
+ icon: A,
460
439
  dataQA: "dt-recipe-editor-inline-image-btn",
461
- tooltipMessage: "Image",
440
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_IMAGE_BUTTON_LABEL"),
462
441
  onClick: this.onInsertInlineImageClick
463
442
  }
464
443
  ].filter((e) => e.showBtn);
@@ -467,11 +446,23 @@ const D = {
467
446
  return {
468
447
  showBtn: this.showAddLink.showAddLinkButton,
469
448
  selector: "link",
470
- icon: w,
449
+ icon: L,
471
450
  dataQA: "dt-recipe-editor-add-link-btn",
472
- tooltipMessage: "Link",
451
+ tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),
473
452
  onClick: this.openLinkInput
474
453
  };
454
+ },
455
+ confirmSetLinkButtonLabels() {
456
+ return this.i18n.$ta("DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON");
457
+ },
458
+ cancelSetLinkButtonLabels() {
459
+ return this.i18n.$ta("DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON");
460
+ },
461
+ removeLinkButtonLabels() {
462
+ return this.i18n.$ta("DIALTONE_EDITOR_REMOVE_LINK_BUTTON");
463
+ },
464
+ showAddLinkButtonLabels() {
465
+ return this.i18n.$ta("DIALTONE_EDITOR_ADD_LINK_BUTTON");
475
466
  }
476
467
  },
477
468
  watch: {
@@ -494,7 +485,7 @@ const D = {
494
485
  this.removeLink();
495
486
  return;
496
487
  }
497
- x.find((s) => s.test(this.linkInput)) || (this.linkInput = `${b}${this.linkInput}`);
488
+ m.find((s) => s.test(this.linkInput)) || (this.linkInput = `${E}${this.linkInput}`);
498
489
  const i = (l = (r = t == null ? void 0 : t.view) == null ? void 0 : r.state) == null ? void 0 : l.selection;
499
490
  i.anchor === i.head ? t.chain().focus().insertContentAt(
500
491
  i.anchor,
@@ -610,7 +601,7 @@ const D = {
610
601
  }
611
602
  }
612
603
  };
613
- var Q = function() {
604
+ var U = function() {
614
605
  var t = this, n = t._self._c;
615
606
  return n("div", { staticClass: "d-recipe-editor", attrs: { "data-qa": "dt-recipe-editor", role: "presentation" }, on: { click: function(i) {
616
607
  return t.$refs.richTextEditor.focusEditor();
@@ -629,7 +620,7 @@ var Q = function() {
629
620
  }, proxy: !0 }], null, !0) }, [o.label ? n("span", [t._v(t._s(o.label))]) : t._e()])];
630
621
  }, proxy: !0 }], null, !0) });
631
622
  }), n("div", { staticClass: "d-recipe-editor__button-group-divider" })], 2);
632
- }), t.linkButton.showBtn ? n("dt-stack", { attrs: { direction: "row", gap: "300" } }, [n("dt-popover", { attrs: { open: t.showLinkInput, "show-close-button": !1, "visually-hidden-close": !0, "visually-hidden-close-label": "Close link input popover", "data-qa": "dt-recipe-editor-link-input-popover", padding: "none", placement: "bottom-start" }, on: { "update:open": function(i) {
623
+ }), t.linkButton.showBtn ? n("dt-stack", { attrs: { direction: "row", gap: "300" } }, [n("dt-popover", { attrs: { open: t.showLinkInput, "show-close-button": !1, "data-qa": "dt-recipe-editor-link-input-popover", padding: "none", placement: "bottom-start" }, on: { "update:open": function(i) {
633
624
  t.showLinkInput = i;
634
625
  }, click: t.onInputFocus, opened: t.updateInput }, nativeOn: { click: function(i) {
635
626
  return i.stopPropagation(), t.onInputFocus.apply(null, arguments);
@@ -647,7 +638,7 @@ var Q = function() {
647
638
  }, proxy: !0 }], null, !1, 3601441856) })];
648
639
  }, proxy: !0 }], null, !1, 1067010212) })];
649
640
  }, proxy: !0 }, { key: "content", fn: function() {
650
- return [n("div", { staticClass: "d-recipe-editor__popover-content" }, [t.showAddLink.setLinkTitle.length > 0 ? n("span", [t._v(" " + t._s(t.showAddLink.setLinkTitle) + " ")]) : t._e(), n("dt-input", { attrs: { "input-aria-label": t.showAddLink.setLinkInputAriaLabel, placeholder: t.setLinkPlaceholder, "data-qa": "dt-recipe-editor-link-input", "input-wrapper-class": "d-recipe-editor-link__input-wrapper" }, on: { click: t.onInputFocus, focus: t.onInputFocus, keydown: function(i) {
641
+ return [n("div", { staticClass: "d-recipe-editor__popover-content" }, [n("span", [t._v(" " + t._s(t.showAddLinkButtonLabels.title) + " ")]), n("dt-input", { attrs: { "input-aria-label": t.showAddLinkButtonLabels["aria-label"], placeholder: t.setLinkPlaceholder, "data-qa": "dt-recipe-editor-link-input", "input-wrapper-class": "d-recipe-editor-link__input-wrapper" }, on: { click: t.onInputFocus, focus: t.onInputFocus, keydown: function(i) {
651
642
  return !i.type.indexOf("key") && t._k(i.keyCode, "enter", 13, i.key, "Enter") ? null : t.setLink.apply(null, arguments);
652
643
  } }, nativeOn: { click: function(i) {
653
644
  return i.stopPropagation(), t.onInputFocus.apply(null, arguments);
@@ -655,19 +646,19 @@ var Q = function() {
655
646
  t.linkInput = i;
656
647
  }, expression: "linkInput" } })], 1)];
657
648
  }, proxy: !0 }, { key: "footerContent", fn: function() {
658
- return [n("dt-stack", { staticClass: "d-recipe-editor__popover-footer", attrs: { direction: "row", gap: "300" } }, [n("dt-button", { attrs: { "aria-label": t.removeLinkButton.ariaLabel, "data-qa": "dt-recipe-editor-remove-link-btn", importance: "clear", kind: "muted", size: "sm" }, on: { click: t.removeLink } }, [t._v(" " + t._s(t.removeLinkButton.label) + " ")]), n("dt-button", { attrs: { "aria-label": t.cancelSetLinkButton.ariaLabel, "data-qa": "dt-recipe-editor-set-link-cancel-btn", importance: "clear", kind: "muted", size: "sm" }, on: { click: t.closeLinkInput } }, [t._v(" " + t._s(t.cancelSetLinkButton.label) + " ")]), n("dt-button", { attrs: { "aria-label": t.confirmSetLinkButton.ariaLabel, "data-qa": "dt-recipe-editor-set-link-confirm-btn", size: "sm" }, on: { click: t.setLink } }, [t._v(" " + t._s(t.confirmSetLinkButton.label) + " ")])], 1)];
659
- }, proxy: !0 }], null, !1, 3688481372) })], 1) : t._e()], 2), n("div", { staticClass: "d-recipe-editor__content", style: { "max-height": t.maxHeight } }, [n("dt-rich-text-editor", t._b({ ref: "richTextEditor", attrs: { "allow-font-color": !0, "allow-font-family": !0, "allow-inline-images": !0, "allow-line-breaks": !0, "hide-link-bubble-menu": !0, "auto-focus": t.autoFocus, editable: t.editable, "input-aria-label": t.inputAriaLabel, "input-class": `d-recipe-editor__content-input ${t.inputClass}`, link: !0, "output-format": t.htmlOutputFormat, placeholder: t.placeholder, "use-div-tags": t.useDivTags, "data-qa": "dt-rich-text-editor" }, on: { "text-input": t.onTextInput, blur: t.onBlur, focus: t.onFocus, input: function(i) {
649
+ return [n("dt-stack", { staticClass: "d-recipe-editor__popover-footer", attrs: { direction: "row", gap: "300" } }, [n("dt-button", t._b({ attrs: { "data-qa": "dt-recipe-editor-remove-link-btn", importance: "clear", kind: "muted", size: "sm" }, on: { click: t.removeLink } }, "dt-button", t.removeLinkButtonLabels, !1), [t._v(" " + t._s(t.removeLinkButtonLabels.title) + " ")]), n("dt-button", t._b({ attrs: { "data-qa": "dt-recipe-editor-set-link-cancel-btn", importance: "clear", kind: "muted", size: "sm" }, on: { click: t.closeLinkInput } }, "dt-button", t.cancelSetLinkButtonLabels, !1), [t._v(" " + t._s(t.cancelSetLinkButtonLabels.title) + " ")]), n("dt-button", t._b({ attrs: { "data-qa": "dt-recipe-editor-set-link-confirm-btn", size: "sm" }, on: { click: t.setLink } }, "dt-button", t.confirmSetLinkButtonLabels, !1), [t._v(" " + t._s(t.confirmSetLinkButtonLabels.title) + " ")])], 1)];
650
+ }, proxy: !0 }], null, !1, 2563529431) })], 1) : t._e()], 2), n("div", { staticClass: "d-recipe-editor__content", style: { "max-height": t.maxHeight } }, [n("dt-rich-text-editor", t._b({ ref: "richTextEditor", attrs: { "allow-font-color": !0, "allow-font-family": !0, "allow-inline-images": !0, "allow-line-breaks": !0, "hide-link-bubble-menu": !0, "auto-focus": t.autoFocus, editable: t.editable, "input-aria-label": t.inputAriaLabel, "input-class": `d-recipe-editor__content-input ${t.inputClass}`, link: !0, "output-format": t.htmlOutputFormat, placeholder: t.placeholder, "use-div-tags": t.useDivTags, "data-qa": "dt-rich-text-editor" }, on: { "text-input": t.onTextInput, blur: t.onBlur, focus: t.onFocus, input: function(i) {
660
651
  return t.onInput(i);
661
652
  } }, model: { value: t.internalInputValue, callback: function(i) {
662
653
  t.internalInputValue = i;
663
654
  }, expression: "internalInputValue" } }, "dt-rich-text-editor", t.$attrs, !1))], 1)], 1);
664
- }, v = [], M = /* @__PURE__ */ A(
665
- D,
666
- Q,
667
- v
655
+ }, F = [], Q = /* @__PURE__ */ y(
656
+ S,
657
+ U,
658
+ F
668
659
  );
669
- const H = M.exports;
660
+ const Y = Q.exports;
670
661
  export {
671
- H as default
662
+ Y as default
672
663
  };
673
664
  //# sourceMappingURL=editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n <span v-if=\"button.label\">{{ button.label }}</span>\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open.sync=\"showLinkInput\"\n :show-close-button=\"false\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.native.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span\n v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.native.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n :use-div-tags=\"useDivTags\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\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 {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue2';\n\nexport default {\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconQuickReply,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n DtIconImage,\n },\n\n inheritAttrs: false,\n\n props: {\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 value: {\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 * 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 * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\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 /**\n * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\n }),\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text content changes (not raw html)\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n currentButtonRefIndex: 0,\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: 'Bold',\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: 'Italics',\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: 'Underline',\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: 'Strike',\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: 'Align Left',\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: 'Align Center',\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: 'Align Right',\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: 'Align Justify',\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: 'Bullet List',\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: 'Ordered List',\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: 'Quote',\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: 'Code',\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: 'Image',\n onClick: this.onInsertInlineImageClick,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 'Link',\n onClick: this.openLinkInput,\n };\n },\n\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onTextInput (event) {\n this.$emit('text-input', event);\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const previousActionBarBtn = Array.isArray(previousRef) ? previousRef[0] : previousRef;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const currentActionBarBtn = Array.isArray(currentRef) ? currentRef[0] : currentRef;\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","refs","acc","buttonData","button","individualButtonStacks","buttonGroupData","newValue","event","_e","_d","_c","_b","_a","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","imageUrl","messageContent","position","key","selector","refKey","shiftAmount","previousRef","previousActionBarBtn","index","currentRef","currentActionBarBtn"],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n <span v-if=\"button.label\">{{ button.label }}</span>\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open.sync=\"showLinkInput\"\n :show-close-button=\"false\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.native.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span>\n {{ showAddLinkButtonLabels.title }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLinkButtonLabels['aria-label']\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.native.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"removeLinkButtonLabels\"\n @click=\"removeLink\"\n >\n {{ removeLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"cancelSetLinkButtonLabels\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n v-bind=\"confirmSetLinkButtonLabels\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButtonLabels.title }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n :use-div-tags=\"useDivTags\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\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 {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue2';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconQuickReply,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n DtIconImage,\n },\n\n mixins: [DtLocalizationMixin],\n\n inheritAttrs: false,\n\n props: {\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 value: {\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 * 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 * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\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 /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n }),\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text content changes (not raw html)\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n currentButtonRefIndex: 0,\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BOLD_BUTTON_LABEL'),\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ITALICS_BUTTON_LABEL'),\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL'),\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_STRIKE_BUTTON_LABEL'),\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL'),\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL'),\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUOTE_BUTTON_LABEL'),\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_CODE_BUTTON_LABEL'),\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_IMAGE_BUTTON_LABEL'),\n onClick: this.onInsertInlineImageClick,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_LINK_BUTTON_LABEL'),\n onClick: this.openLinkInput,\n };\n },\n\n confirmSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON');\n },\n\n cancelSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON');\n },\n\n removeLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_REMOVE_LINK_BUTTON');\n },\n\n showAddLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_ADD_LINK_BUTTON');\n },\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onTextInput (event) {\n this.$emit('text-input', event);\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const previousActionBarBtn = Array.isArray(previousRef) ? previousRef[0] : previousRef;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const currentActionBarBtn = Array.isArray(currentRef) ? currentRef[0] : currentRef;\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","DtLocalizationMixin","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","refs","acc","buttonData","button","individualButtonStacks","buttonGroupData","newValue","event","_e","_d","_c","_b","_a","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","imageUrl","messageContent","position","key","selector","refKey","shiftAmount","previousRef","previousActionBarBtn","index","currentRef","currentActionBarBtn"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="https://static.dialpadcdn.com/joypixels/png/unicode/32/",_=9,E={DEFAULT:"Default",LIGHT:"Light",MEDIUM_LIGHT:"MediumLight",MEDIUM:"Medium",MEDIUM_DARK:"MediumDark",DARK:"Dark"},e={MOST_RECENTLY_USED:"Most recently used",SMILEYS_AND_PEOPLE:"Smileys and people",NATURE:"Nature",FOOD:"Food",ACTIVITY:"Activity",TRAVEL:"Travel",OBJECTS:"Objects",SYMBOLS:"Symbols",FLAGS:"Flags",CUSTOM:"Custom"},I={EMOJI_PICKER_SKIN_TONE_MODIFIERS:E,EMOJI_PICKER_CATEGORIES:e};exports.CDN_URL=t;exports.EMOJIS_PER_ROW=_;exports.EMOJI_PICKER_CATEGORIES=e;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=E;exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="https://static.dialpadcdn.com/joypixels/png/unicode/32/",_=9,e={DEFAULT:"Default",LIGHT:"Light",MEDIUM_LIGHT:"MediumLight",MEDIUM:"Medium",MEDIUM_DARK:"MediumDark",DARK:"Dark"},I={EMOJI_PICKER_SKIN_TONE_MODIFIERS:e};exports.CDN_URL=t;exports.EMOJIS_PER_ROW=_;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=e;exports.default=I;
2
2
  //# sourceMappingURL=emoji-picker-constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-picker-constants.cjs","sources":["../../../components/emoji_picker/emoji_picker_constants.js"],"sourcesContent":["export const CDN_URL = 'https://static.dialpadcdn.com/joypixels/png/unicode/32/';\nexport const EMOJIS_PER_ROW = 9;\nexport const EMOJI_PICKER_SKIN_TONE_MODIFIERS = {\n DEFAULT: 'Default',\n LIGHT: 'Light',\n MEDIUM_LIGHT: 'MediumLight',\n MEDIUM: 'Medium',\n MEDIUM_DARK: 'MediumDark',\n DARK: 'Dark',\n};\n\nexport const EMOJI_PICKER_CATEGORIES = {\n MOST_RECENTLY_USED: 'Most recently used',\n SMILEYS_AND_PEOPLE: 'Smileys and people',\n NATURE: 'Nature',\n FOOD: 'Food',\n ACTIVITY: 'Activity',\n TRAVEL: 'Travel',\n OBJECTS: 'Objects',\n SYMBOLS: 'Symbols',\n FLAGS: 'Flags',\n CUSTOM: 'Custom',\n};\n\nexport default {\n EMOJI_PICKER_SKIN_TONE_MODIFIERS,\n EMOJI_PICKER_CATEGORIES,\n};\n"],"names":["CDN_URL","EMOJIS_PER_ROW","EMOJI_PICKER_SKIN_TONE_MODIFIERS","EMOJI_PICKER_CATEGORIES","emoji_picker_constants"],"mappings":"4GAAY,MAACA,EAAU,0DACVC,EAAiB,EACjBC,EAAmC,CAC9C,QAAS,UACT,MAAO,QACP,aAAc,cACd,OAAQ,SACR,YAAa,aACb,KAAM,MACR,EAEaC,EAA0B,CACrC,mBAAoB,qBACpB,mBAAoB,qBACpB,OAAQ,SACR,KAAM,OACN,SAAU,WACV,OAAQ,SACR,QAAS,UACT,QAAS,UACT,MAAO,QACP,OAAQ,QACV,EAEeC,EAAA,CACb,iCAAAF,EACA,wBAAAC,CACF"}
1
+ {"version":3,"file":"emoji-picker-constants.cjs","sources":["../../../components/emoji_picker/emoji_picker_constants.js"],"sourcesContent":["export const CDN_URL = 'https://static.dialpadcdn.com/joypixels/png/unicode/32/';\nexport const EMOJIS_PER_ROW = 9;\nexport const EMOJI_PICKER_SKIN_TONE_MODIFIERS = {\n DEFAULT: 'Default',\n LIGHT: 'Light',\n MEDIUM_LIGHT: 'MediumLight',\n MEDIUM: 'Medium',\n MEDIUM_DARK: 'MediumDark',\n DARK: 'Dark',\n};\n\nexport default {\n EMOJI_PICKER_SKIN_TONE_MODIFIERS,\n};\n"],"names":["CDN_URL","EMOJIS_PER_ROW","EMOJI_PICKER_SKIN_TONE_MODIFIERS","emoji_picker_constants"],"mappings":"4GAAY,MAACA,EAAU,0DACVC,EAAiB,EACjBC,EAAmC,CAC9C,QAAS,UACT,MAAO,QACP,aAAc,cACd,OAAQ,SACR,YAAa,aACb,KAAM,MACR,EAEeC,EAAA,CACb,iCAAAD,CACF"}
@@ -1,30 +1,17 @@
1
- const e = "https://static.dialpadcdn.com/joypixels/png/unicode/32/", s = 9, t = {
1
+ const M = "https://static.dialpadcdn.com/joypixels/png/unicode/32/", i = 9, t = {
2
2
  DEFAULT: "Default",
3
3
  LIGHT: "Light",
4
4
  MEDIUM_LIGHT: "MediumLight",
5
5
  MEDIUM: "Medium",
6
6
  MEDIUM_DARK: "MediumDark",
7
7
  DARK: "Dark"
8
- }, E = {
9
- MOST_RECENTLY_USED: "Most recently used",
10
- SMILEYS_AND_PEOPLE: "Smileys and people",
11
- NATURE: "Nature",
12
- FOOD: "Food",
13
- ACTIVITY: "Activity",
14
- TRAVEL: "Travel",
15
- OBJECTS: "Objects",
16
- SYMBOLS: "Symbols",
17
- FLAGS: "Flags",
18
- CUSTOM: "Custom"
19
- }, M = {
20
- EMOJI_PICKER_SKIN_TONE_MODIFIERS: t,
21
- EMOJI_PICKER_CATEGORIES: E
8
+ }, D = {
9
+ EMOJI_PICKER_SKIN_TONE_MODIFIERS: t
22
10
  };
23
11
  export {
24
- e as CDN_URL,
25
- s as EMOJIS_PER_ROW,
26
- E as EMOJI_PICKER_CATEGORIES,
12
+ M as CDN_URL,
13
+ i as EMOJIS_PER_ROW,
27
14
  t as EMOJI_PICKER_SKIN_TONE_MODIFIERS,
28
- M as default
15
+ D as default
29
16
  };
30
17
  //# sourceMappingURL=emoji-picker-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-picker-constants.js","sources":["../../../components/emoji_picker/emoji_picker_constants.js"],"sourcesContent":["export const CDN_URL = 'https://static.dialpadcdn.com/joypixels/png/unicode/32/';\nexport const EMOJIS_PER_ROW = 9;\nexport const EMOJI_PICKER_SKIN_TONE_MODIFIERS = {\n DEFAULT: 'Default',\n LIGHT: 'Light',\n MEDIUM_LIGHT: 'MediumLight',\n MEDIUM: 'Medium',\n MEDIUM_DARK: 'MediumDark',\n DARK: 'Dark',\n};\n\nexport const EMOJI_PICKER_CATEGORIES = {\n MOST_RECENTLY_USED: 'Most recently used',\n SMILEYS_AND_PEOPLE: 'Smileys and people',\n NATURE: 'Nature',\n FOOD: 'Food',\n ACTIVITY: 'Activity',\n TRAVEL: 'Travel',\n OBJECTS: 'Objects',\n SYMBOLS: 'Symbols',\n FLAGS: 'Flags',\n CUSTOM: 'Custom',\n};\n\nexport default {\n EMOJI_PICKER_SKIN_TONE_MODIFIERS,\n EMOJI_PICKER_CATEGORIES,\n};\n"],"names":["CDN_URL","EMOJIS_PER_ROW","EMOJI_PICKER_SKIN_TONE_MODIFIERS","EMOJI_PICKER_CATEGORIES","emoji_picker_constants"],"mappings":"AAAY,MAACA,IAAU,2DACVC,IAAiB,GACjBC,IAAmC;AAAA,EAC9C,SAAS;AAAA,EACT,OAAO;AAAA,EACP,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GAEaC,IAA0B;AAAA,EACrC,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AACV,GAEeC,IAAA;AAAA,EACb,kCAAAF;AAAA,EACA,yBAAAC;AACF;"}
1
+ {"version":3,"file":"emoji-picker-constants.js","sources":["../../../components/emoji_picker/emoji_picker_constants.js"],"sourcesContent":["export const CDN_URL = 'https://static.dialpadcdn.com/joypixels/png/unicode/32/';\nexport const EMOJIS_PER_ROW = 9;\nexport const EMOJI_PICKER_SKIN_TONE_MODIFIERS = {\n DEFAULT: 'Default',\n LIGHT: 'Light',\n MEDIUM_LIGHT: 'MediumLight',\n MEDIUM: 'Medium',\n MEDIUM_DARK: 'MediumDark',\n DARK: 'Dark',\n};\n\nexport default {\n EMOJI_PICKER_SKIN_TONE_MODIFIERS,\n};\n"],"names":["CDN_URL","EMOJIS_PER_ROW","EMOJI_PICKER_SKIN_TONE_MODIFIERS","emoji_picker_constants"],"mappings":"AAAY,MAACA,IAAU,2DACVC,IAAiB,GACjBC,IAAmC;AAAA,EAC9C,SAAS;AAAA,EACT,OAAO;AAAA,EACP,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GAEeC,IAAA;AAAA,EACb,kCAAAD;AACF;"}