@dialpad/dialtone-vue 3.219.0 → 3.220.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. package/dist/{attachment_carousel-CouFqFMw.js → attachment_carousel-1qxTI-NN.js} +5 -5
  2. package/dist/attachment_carousel-1qxTI-NN.js.map +1 -0
  3. package/dist/attachment_carousel-wnZS3vEt.cjs +2 -0
  4. package/dist/attachment_carousel-wnZS3vEt.cjs.map +1 -0
  5. package/dist/{combobox-DgClbLOg.js → combobox-BQBKrDTW.js} +36 -35
  6. package/dist/combobox-BQBKrDTW.js.map +1 -0
  7. package/dist/combobox-Da7wBh3G.cjs +3 -0
  8. package/dist/combobox-Da7wBh3G.cjs.map +1 -0
  9. package/dist/common/composables/useIndicatorAnimation.cjs +2 -0
  10. package/dist/common/composables/useIndicatorAnimation.cjs.map +1 -0
  11. package/dist/common/composables/useIndicatorAnimation.d.ts +18 -0
  12. package/dist/common/composables/useIndicatorAnimation.d.ts.map +1 -0
  13. package/dist/common/composables/useIndicatorAnimation.js +78 -0
  14. package/dist/common/composables/useIndicatorAnimation.js.map +1 -0
  15. package/dist/common/constants/index.cjs +1 -1
  16. package/dist/common/constants/index.cjs.map +1 -1
  17. package/dist/common/constants/index.d.ts +27 -21
  18. package/dist/common/constants/index.d.ts.map +1 -1
  19. package/dist/common/constants/index.js +25 -14
  20. package/dist/common/constants/index.js.map +1 -1
  21. package/dist/common/constants/sizes.cjs +2 -0
  22. package/dist/common/constants/sizes.cjs.map +1 -0
  23. package/dist/common/constants/sizes.d.ts +22 -0
  24. package/dist/common/constants/sizes.d.ts.map +1 -0
  25. package/dist/common/constants/sizes.js +19 -0
  26. package/dist/common/constants/sizes.js.map +1 -0
  27. package/dist/common/mixins/index.cjs +1 -1
  28. package/dist/common/mixins/index.d.ts +1 -0
  29. package/dist/common/mixins/index.js +2 -1
  30. package/dist/common/mixins/input.cjs +1 -1
  31. package/dist/common/mixins/input.cjs.map +1 -1
  32. package/dist/common/mixins/input.d.ts +27 -33
  33. package/dist/common/mixins/input.d.ts.map +1 -1
  34. package/dist/common/mixins/input.js +0 -8
  35. package/dist/common/mixins/input.js.map +1 -1
  36. package/dist/common/mixins/mode.cjs +2 -0
  37. package/dist/common/mixins/mode.cjs.map +1 -0
  38. package/dist/common/mixins/mode.d.ts +25 -0
  39. package/dist/common/mixins/mode.d.ts.map +1 -0
  40. package/dist/common/mixins/mode.js +62 -0
  41. package/dist/common/mixins/mode.js.map +1 -0
  42. package/dist/common/mode_constants.d.ts +37 -0
  43. package/dist/common/mode_constants.d.ts.map +1 -0
  44. package/dist/common/sr_only_close_button.vue.d.ts +53 -7
  45. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  46. package/dist/common/utils/index.cjs +1 -1
  47. package/dist/common/utils/index.cjs.map +1 -1
  48. package/dist/common/utils/index.d.ts +2 -8
  49. package/dist/common/utils/index.d.ts.map +1 -1
  50. package/dist/common/utils/index.js +79 -88
  51. package/dist/common/utils/index.js.map +1 -1
  52. package/dist/component-documentation.json +1 -1
  53. package/dist/components/avatar/avatar.vue.d.ts +85 -27
  54. package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
  55. package/dist/components/avatar/avatar_constants.d.ts +86 -29
  56. package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
  57. package/dist/components/avatar/index.d.ts +1 -1
  58. package/dist/components/badge/badge.vue.d.ts +1 -1
  59. package/dist/components/badge/badge.vue.d.ts.map +1 -1
  60. package/dist/components/badge/badge_constants.d.ts +1 -1
  61. package/dist/components/banner/banner.vue.d.ts +269 -34
  62. package/dist/components/banner/banner.vue.d.ts.map +1 -1
  63. package/dist/components/box/box.vue.d.ts +73 -0
  64. package/dist/components/box/box.vue.d.ts.map +1 -0
  65. package/dist/components/box/box_constants.d.ts +11 -0
  66. package/dist/components/box/box_constants.d.ts.map +1 -0
  67. package/dist/components/box/index.d.ts +3 -0
  68. package/dist/components/box/index.d.ts.map +1 -0
  69. package/dist/components/box/validators.d.ts +11 -0
  70. package/dist/components/box/validators.d.ts.map +1 -0
  71. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +26 -17
  72. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  73. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +25 -16
  74. package/dist/components/button/button.vue.d.ts +53 -7
  75. package/dist/components/button/button.vue.d.ts.map +1 -1
  76. package/dist/components/button/button_constants.d.ts +29 -20
  77. package/dist/components/button/button_constants.d.ts.map +1 -1
  78. package/dist/components/card/card.vue.d.ts +0 -9
  79. package/dist/components/card/card.vue.d.ts.map +1 -1
  80. package/dist/components/checkbox/checkbox.vue.d.ts +183 -10
  81. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
  82. package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
  83. package/dist/components/checkbox_group/checkbox_group.vue.d.ts +142 -0
  84. package/dist/components/chip/chip.vue.d.ts +62 -16
  85. package/dist/components/chip/chip.vue.d.ts.map +1 -1
  86. package/dist/components/chip/chip_constants.d.ts +24 -21
  87. package/dist/components/chip/chip_constants.d.ts.map +1 -1
  88. package/dist/components/codeblock/codeblock.vue.d.ts +25 -2
  89. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
  90. package/dist/components/codeblock/codeblock_constants.d.ts +9 -0
  91. package/dist/components/codeblock/codeblock_constants.d.ts.map +1 -0
  92. package/dist/components/collapsible/collapsible.vue.d.ts +53 -7
  93. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
  94. package/dist/components/combobox/combobox.vue.d.ts +113 -38
  95. package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
  96. package/dist/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  97. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  98. package/dist/components/combobox/combobox_loading-list.vue.d.ts +64 -22
  99. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  100. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
  101. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  102. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +399 -93
  103. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  104. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  105. package/dist/components/dropdown/dropdown.vue.d.ts +175 -19
  106. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
  107. package/dist/components/emoji/emoji.vue.d.ts +24 -15
  108. package/dist/components/emoji_picker/emoji_picker.vue.d.ts +204 -22
  109. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +204 -22
  110. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  111. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  112. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
  113. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  114. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
  115. package/dist/components/empty_state/empty_state_constants.d.ts +52 -31
  116. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
  117. package/dist/components/filter_pill/filter_pill.vue.d.ts +4491 -0
  118. package/dist/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  119. package/dist/components/filter_pill/index.d.ts +2 -0
  120. package/dist/components/filter_pill/index.d.ts.map +1 -0
  121. package/dist/components/hovercard/hovercard.vue.d.ts +380 -41
  122. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
  123. package/dist/components/image_viewer/image_viewer.vue.d.ts +131 -14
  124. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  125. package/dist/components/input/input.vue.d.ts +195 -19
  126. package/dist/components/input/input.vue.d.ts.map +1 -1
  127. package/dist/components/input/input_constants.d.ts +46 -48
  128. package/dist/components/input/input_constants.d.ts.map +1 -1
  129. package/dist/components/input_group/input_group.vue.d.ts +142 -0
  130. package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
  131. package/dist/components/item_layout/item_layout.vue.d.ts +37 -6
  132. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
  133. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +142 -0
  134. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  135. package/dist/components/link/index.d.ts +1 -1
  136. package/dist/components/link/link.vue.d.ts +25 -6
  137. package/dist/components/link/link_constants.d.ts +4 -4
  138. package/dist/components/link/link_constants.d.ts.map +1 -1
  139. package/dist/components/list_item/list_item.vue.d.ts +40 -7
  140. package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
  141. package/dist/components/modal/modal.vue.d.ts +292 -97
  142. package/dist/components/modal/modal.vue.d.ts.map +1 -1
  143. package/dist/components/modal/modal_constants.d.ts +7 -6
  144. package/dist/components/mode_island/index.d.ts +3 -0
  145. package/dist/components/mode_island/index.d.ts.map +1 -0
  146. package/dist/components/mode_island/mode_island.vue.d.ts +3 -0
  147. package/dist/components/mode_island/mode_island.vue.d.ts.map +1 -0
  148. package/dist/components/mode_island/mode_island_constants.d.ts +10 -0
  149. package/dist/components/mode_island/mode_island_constants.d.ts.map +1 -0
  150. package/dist/components/mode_island/utils.d.ts +12 -0
  151. package/dist/components/mode_island/utils.d.ts.map +1 -0
  152. package/dist/components/mode_island/validators.d.ts +6 -0
  153. package/dist/components/mode_island/validators.d.ts.map +1 -0
  154. package/dist/components/motion_text/motion_text_constants.d.ts +27 -23
  155. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
  156. package/dist/components/notice/notice.vue.d.ts +269 -34
  157. package/dist/components/notice/notice.vue.d.ts.map +1 -1
  158. package/dist/components/notice/notice_action.vue.d.ts +112 -20
  159. package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
  160. package/dist/components/notice/notice_constants.d.ts.map +1 -1
  161. package/dist/components/notice/notice_content.vue.d.ts +144 -1
  162. package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
  163. package/dist/components/notice/notice_icon.vue.d.ts +2 -2
  164. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
  165. package/dist/components/pagination/pagination.vue.d.ts +56 -10
  166. package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
  167. package/dist/components/popover/popover.vue.d.ts +163 -18
  168. package/dist/components/popover/popover.vue.d.ts.map +1 -1
  169. package/dist/components/popover/popover_header_footer.vue.d.ts +62 -7
  170. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  171. package/dist/components/radio/radio.vue.d.ts +178 -6
  172. package/dist/components/radio/radio.vue.d.ts.map +1 -1
  173. package/dist/components/radio/radio_constants.d.ts +2 -2
  174. package/dist/components/radio_group/radio_group.vue.d.ts +142 -0
  175. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +25 -6
  176. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  177. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  178. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
  179. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
  180. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +25 -6
  181. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +227 -27
  182. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  183. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +144 -1
  184. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  185. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  186. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  187. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +411 -44
  188. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  189. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +59 -13
  190. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  191. package/dist/components/root_layout/root_layout_constants.d.ts +2 -0
  192. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
  193. package/dist/components/scroller/modules/core_scroller.vue.d.ts +2 -2
  194. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +12 -12
  195. package/dist/components/scroller/scroller.vue.d.ts +18 -18
  196. package/dist/components/segmented_control/index.d.ts +4 -0
  197. package/dist/components/segmented_control/index.d.ts.map +1 -0
  198. package/dist/components/segmented_control/segmented_control.vue.d.ts +226 -0
  199. package/dist/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
  200. package/dist/components/segmented_control/segmented_control_constants.d.ts +41 -0
  201. package/dist/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
  202. package/dist/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
  203. package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
  204. package/dist/components/select_menu/select_menu.vue.d.ts +189 -31
  205. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
  206. package/dist/components/select_menu/select_menu_constants.d.ts +14 -9
  207. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
  208. package/dist/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
  209. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
  210. package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  211. package/dist/components/skeleton/skeleton-text.vue.d.ts +3 -0
  212. package/dist/components/skeleton/skeleton.vue.d.ts +24 -15
  213. package/dist/components/skeleton/skeleton_constants.d.ts +18 -13
  214. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
  215. package/dist/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
  216. package/dist/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  217. package/dist/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
  218. package/dist/components/split_button/split_button-start.vue.d.ts.map +1 -0
  219. package/dist/components/split_button/split_button.vue.d.ts +602 -78
  220. package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
  221. package/dist/components/split_button/split_button_constants.d.ts +12 -7
  222. package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
  223. package/dist/components/stack/stack_constants.d.ts.map +1 -1
  224. package/dist/components/tab/index.d.ts +1 -1
  225. package/dist/components/tab/tab.vue.d.ts +86 -11
  226. package/dist/components/tab/tab.vue.d.ts.map +1 -1
  227. package/dist/components/tab/tab_group.vue.d.ts +125 -10
  228. package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
  229. package/dist/components/tab/tabs_constants.d.ts +23 -5
  230. package/dist/components/tab/tabs_constants.d.ts.map +1 -1
  231. package/dist/components/text/index.d.ts +3 -0
  232. package/dist/components/text/index.d.ts.map +1 -0
  233. package/dist/components/text/text.vue.d.ts +145 -0
  234. package/dist/components/text/text.vue.d.ts.map +1 -0
  235. package/dist/components/text/text_constants.d.ts +93 -0
  236. package/dist/components/text/text_constants.d.ts.map +1 -0
  237. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +264 -29
  238. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  239. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -2
  240. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  241. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +267 -32
  242. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  243. package/dist/components/toast/toast.vue.d.ts +1125 -185
  244. package/dist/components/toast/toast.vue.d.ts.map +1 -1
  245. package/dist/components/toggle/toggle.vue.d.ts +19 -19
  246. package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
  247. package/dist/components/toggle/toggle_constants.d.ts +6 -4
  248. package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
  249. package/dist/components/tooltip/tooltip.vue.d.ts +31 -5
  250. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
  251. package/dist/{datepicker-LVDRC6Lf.js → datepicker-B2nhxiCg.js} +20 -24
  252. package/dist/datepicker-B2nhxiCg.js.map +1 -0
  253. package/dist/datepicker-CZrNL0Yn.cjs +2 -0
  254. package/dist/datepicker-CZrNL0Yn.cjs.map +1 -0
  255. package/dist/dialtone-vue.cjs +1 -1
  256. package/dist/dialtone-vue.css +1 -1
  257. package/dist/dialtone-vue.js +170 -150
  258. package/dist/directives/focusgroup_directive/focusgroup.d.ts +6 -0
  259. package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +1 -0
  260. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +74 -0
  261. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +1 -0
  262. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +15 -0
  263. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +1 -0
  264. package/dist/directives/focusgroup_directive/index.d.ts +2 -0
  265. package/dist/directives/focusgroup_directive/index.d.ts.map +1 -0
  266. package/dist/directives/focustrap_directive/focustrap.d.ts +6 -0
  267. package/dist/directives/focustrap_directive/focustrap.d.ts.map +1 -0
  268. package/dist/directives/focustrap_directive/focustrap_constants.d.ts +7 -0
  269. package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +1 -0
  270. package/dist/directives/focustrap_directive/focustrap_utils.d.ts +5 -0
  271. package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +1 -0
  272. package/dist/directives/focustrap_directive/index.d.ts +2 -0
  273. package/dist/directives/focustrap_directive/index.d.ts.map +1 -0
  274. package/dist/directives/mode_directive/index.d.ts +2 -0
  275. package/dist/directives/mode_directive/index.d.ts.map +1 -0
  276. package/dist/directives/mode_directive/mode.d.ts +6 -0
  277. package/dist/directives/mode_directive/mode.d.ts.map +1 -0
  278. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  279. package/dist/emoji_picker-BQW4qRFg.cjs +2 -0
  280. package/dist/emoji_picker-BQW4qRFg.cjs.map +1 -0
  281. package/dist/{emoji_picker-tVHfpHDk.js → emoji_picker-BjgAohQy.js} +9 -8
  282. package/dist/emoji_picker-BjgAohQy.js.map +1 -0
  283. package/dist/index.d.ts +8 -0
  284. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  285. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  286. package/dist/lib/attachment-carousel/index.cjs +1 -1
  287. package/dist/lib/attachment-carousel/index.js +1 -1
  288. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  289. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  290. package/dist/lib/avatar/avatar-constants.js +111 -24
  291. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  292. package/dist/lib/avatar/avatar.cjs +1 -1
  293. package/dist/lib/avatar/avatar.cjs.map +1 -1
  294. package/dist/lib/avatar/avatar.js +145 -84
  295. package/dist/lib/avatar/avatar.js.map +1 -1
  296. package/dist/lib/avatar/index.cjs +1 -1
  297. package/dist/lib/avatar/index.js +3 -3
  298. package/dist/lib/badge/badge-constants.cjs +1 -1
  299. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  300. package/dist/lib/badge/badge-constants.js +1 -1
  301. package/dist/lib/badge/badge-constants.js.map +1 -1
  302. package/dist/lib/badge/badge.cjs +1 -1
  303. package/dist/lib/badge/badge.cjs.map +1 -1
  304. package/dist/lib/badge/badge.js +26 -14
  305. package/dist/lib/badge/badge.js.map +1 -1
  306. package/dist/lib/banner/banner.cjs +2 -2
  307. package/dist/lib/banner/banner.cjs.map +1 -1
  308. package/dist/lib/banner/banner.js +17 -16
  309. package/dist/lib/banner/banner.js.map +1 -1
  310. package/dist/lib/box/box-constants.cjs +2 -0
  311. package/dist/lib/box/box-constants.cjs.map +1 -0
  312. package/dist/lib/box/box-constants.js +103 -0
  313. package/dist/lib/box/box-constants.js.map +1 -0
  314. package/dist/lib/box/box.cjs +2 -0
  315. package/dist/lib/box/box.cjs.map +1 -0
  316. package/dist/lib/box/box.js +229 -0
  317. package/dist/lib/box/box.js.map +1 -0
  318. package/dist/lib/box/index.cjs +1 -0
  319. package/dist/lib/box/index.js +3 -0
  320. package/dist/lib/box/validators.cjs +2 -0
  321. package/dist/lib/box/validators.cjs.map +1 -0
  322. package/dist/lib/box/validators.js +7 -0
  323. package/dist/lib/box/validators.js.map +1 -0
  324. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  325. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  326. package/dist/lib/breadcrumbs/breadcrumb-item.js +29 -38
  327. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  328. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  329. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  330. package/dist/lib/breadcrumbs/breadcrumbs.js +6 -6
  331. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  332. package/dist/lib/button/button-constants.cjs +1 -1
  333. package/dist/lib/button/button-constants.cjs.map +1 -1
  334. package/dist/lib/button/button-constants.js +17 -3
  335. package/dist/lib/button/button-constants.js.map +1 -1
  336. package/dist/lib/button/button.cjs +1 -1
  337. package/dist/lib/button/button.cjs.map +1 -1
  338. package/dist/lib/button/button.js +98 -15
  339. package/dist/lib/button/button.js.map +1 -1
  340. package/dist/lib/button-group/button-group.cjs.map +1 -1
  341. package/dist/lib/button-group/button-group.js.map +1 -1
  342. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  343. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  344. package/dist/lib/callbar-button/callbar-button.js +26 -27
  345. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  346. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  347. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  348. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +45 -36
  349. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  350. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  351. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  352. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +47 -38
  353. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  354. package/dist/lib/callbox/callbox.cjs +1 -1
  355. package/dist/lib/callbox/callbox.cjs.map +1 -1
  356. package/dist/lib/callbox/callbox.js +4 -4
  357. package/dist/lib/callbox/callbox.js.map +1 -1
  358. package/dist/lib/card/card.cjs +1 -1
  359. package/dist/lib/card/card.cjs.map +1 -1
  360. package/dist/lib/card/card.js +10 -18
  361. package/dist/lib/card/card.js.map +1 -1
  362. package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
  363. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  364. package/dist/lib/checkbox/checkbox-constants.js +2 -2
  365. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  366. package/dist/lib/checkbox/checkbox.cjs +1 -1
  367. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  368. package/dist/lib/checkbox/checkbox.js +79 -28
  369. package/dist/lib/checkbox/checkbox.js.map +1 -1
  370. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  371. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  372. package/dist/lib/checkbox-group/checkboxes-decorator.js +0 -1
  373. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  374. package/dist/lib/chip/chip-constants.cjs +1 -1
  375. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  376. package/dist/lib/chip/chip-constants.js +9 -0
  377. package/dist/lib/chip/chip-constants.js.map +1 -1
  378. package/dist/lib/chip/chip.cjs +1 -1
  379. package/dist/lib/chip/chip.cjs.map +1 -1
  380. package/dist/lib/chip/chip.js +13 -13
  381. package/dist/lib/chip/chip.js.map +1 -1
  382. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  383. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  384. package/dist/lib/codeblock/codeblock-constants.js +20 -0
  385. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  386. package/dist/lib/codeblock/codeblock.cjs +1 -2
  387. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  388. package/dist/lib/codeblock/codeblock.js +25 -14
  389. package/dist/lib/codeblock/codeblock.js.map +1 -1
  390. package/dist/lib/collapsible/collapsible.cjs +1 -1
  391. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  392. package/dist/lib/collapsible/collapsible.js +1 -1
  393. package/dist/lib/collapsible/collapsible.js.map +1 -1
  394. package/dist/lib/combobox/combobox.cjs +1 -1
  395. package/dist/lib/combobox/combobox.js +1 -1
  396. package/dist/lib/combobox/index.cjs +1 -1
  397. package/dist/lib/combobox/index.js +1 -1
  398. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  399. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  400. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +6 -0
  401. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  402. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  403. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  404. package/dist/lib/combobox-multi-select/combobox-multi-select.js +34 -33
  405. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  406. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  407. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  408. package/dist/lib/combobox-with-popover/combobox-with-popover.js +51 -46
  409. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  410. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  411. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  412. package/dist/lib/contact-centers-row/contact-centers-row.js +51 -45
  413. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  414. package/dist/lib/contact-info/contact-info.cjs +1 -1
  415. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  416. package/dist/lib/contact-info/contact-info.js +8 -8
  417. package/dist/lib/contact-info/contact-info.js.map +1 -1
  418. package/dist/lib/contact-row/contact-row.cjs +1 -1
  419. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  420. package/dist/lib/contact-row/contact-row.js +3 -3
  421. package/dist/lib/contact-row/contact-row.js.map +1 -1
  422. package/dist/lib/datepicker/datepicker.cjs +1 -1
  423. package/dist/lib/datepicker/datepicker.js +1 -1
  424. package/dist/lib/datepicker/index.cjs +1 -1
  425. package/dist/lib/datepicker/index.js +1 -1
  426. package/dist/lib/description-list/description-list.cjs +1 -1
  427. package/dist/lib/description-list/description-list.cjs.map +1 -1
  428. package/dist/lib/description-list/description-list.js +1 -1
  429. package/dist/lib/description-list/description-list.js.map +1 -1
  430. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  431. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  432. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  433. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  434. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  435. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  436. package/dist/lib/dropdown/dropdown-list.js +28 -16
  437. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  438. package/dist/lib/dropdown/dropdown.cjs +1 -1
  439. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  440. package/dist/lib/dropdown/dropdown.js +30 -26
  441. package/dist/lib/dropdown/dropdown.js.map +1 -1
  442. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  443. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  444. package/dist/lib/editor/EditorToolbarButton.js +1 -1
  445. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  446. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  447. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  448. package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
  449. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  450. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  451. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  452. package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
  453. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  454. package/dist/lib/editor/editor.cjs +1 -1
  455. package/dist/lib/editor/editor.cjs.map +1 -1
  456. package/dist/lib/editor/editor.js +134 -135
  457. package/dist/lib/editor/editor.js.map +1 -1
  458. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  459. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  460. package/dist/lib/emoji-picker/index.cjs +1 -1
  461. package/dist/lib/emoji-picker/index.js +1 -1
  462. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  463. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  464. package/dist/lib/emoji-row/emoji-row.js +1 -1
  465. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  466. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  467. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  468. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  469. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  470. package/dist/lib/empty-state/empty-state-constants.js +37 -9
  471. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  472. package/dist/lib/empty-state/empty-state.cjs +1 -1
  473. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  474. package/dist/lib/empty-state/empty-state.js +46 -26
  475. package/dist/lib/empty-state/empty-state.js.map +1 -1
  476. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  477. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  478. package/dist/lib/feed-item-pill/feed-item-pill.js +40 -42
  479. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  480. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  481. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  482. package/dist/lib/feed-item-row/feed-item-row.js +3 -3
  483. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  484. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  485. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  486. package/dist/lib/filter-pill/filter-pill.js +433 -0
  487. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  488. package/dist/lib/filter-pill/index.cjs +1 -0
  489. package/dist/lib/filter-pill/index.js +2 -0
  490. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +2 -0
  491. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +1 -0
  492. package/dist/lib/focusgroup-directive/focusgroup-constants.js +77 -0
  493. package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +1 -0
  494. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +2 -0
  495. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +1 -0
  496. package/dist/lib/focusgroup-directive/focusgroup-utils.js +33 -0
  497. package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +1 -0
  498. package/dist/lib/focusgroup-directive/focusgroup.cjs +2 -0
  499. package/dist/lib/focusgroup-directive/focusgroup.cjs.map +1 -0
  500. package/dist/lib/focusgroup-directive/focusgroup.js +143 -0
  501. package/dist/lib/focusgroup-directive/focusgroup.js.map +1 -0
  502. package/dist/lib/focusgroup-directive/index.cjs +1 -0
  503. package/dist/lib/focusgroup-directive/index.js +2 -0
  504. package/dist/lib/focustrap-directive/focustrap-constants.cjs +2 -0
  505. package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +1 -0
  506. package/dist/lib/focustrap-directive/focustrap-constants.js +10 -0
  507. package/dist/lib/focustrap-directive/focustrap-constants.js.map +1 -0
  508. package/dist/lib/focustrap-directive/focustrap-utils.cjs +2 -0
  509. package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +1 -0
  510. package/dist/lib/focustrap-directive/focustrap-utils.js +19 -0
  511. package/dist/lib/focustrap-directive/focustrap-utils.js.map +1 -0
  512. package/dist/lib/focustrap-directive/focustrap.cjs +2 -0
  513. package/dist/lib/focustrap-directive/focustrap.cjs.map +1 -0
  514. package/dist/lib/focustrap-directive/focustrap.js +96 -0
  515. package/dist/lib/focustrap-directive/focustrap.js.map +1 -0
  516. package/dist/lib/focustrap-directive/index.cjs +1 -0
  517. package/dist/lib/focustrap-directive/index.js +2 -0
  518. package/dist/lib/general-row/general-row.cjs +1 -1
  519. package/dist/lib/general-row/general-row.cjs.map +1 -1
  520. package/dist/lib/general-row/general-row.js +105 -61
  521. package/dist/lib/general-row/general-row.js.map +1 -1
  522. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  523. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  524. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  525. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  526. package/dist/lib/group-row/group-row.cjs +1 -1
  527. package/dist/lib/group-row/group-row.cjs.map +1 -1
  528. package/dist/lib/group-row/group-row.js +2 -2
  529. package/dist/lib/group-row/group-row.js.map +1 -1
  530. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  531. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  532. package/dist/lib/grouped-chip/grouped-chip.js +9 -9
  533. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  534. package/dist/lib/hovercard/hovercard.cjs +1 -1
  535. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  536. package/dist/lib/hovercard/hovercard.js +28 -24
  537. package/dist/lib/hovercard/hovercard.js.map +1 -1
  538. package/dist/lib/icon/icon.cjs +1 -1
  539. package/dist/lib/icon/icon.cjs.map +1 -1
  540. package/dist/lib/icon/icon.js +1 -1
  541. package/dist/lib/icon/icon.js.map +1 -1
  542. package/dist/lib/illustration/illustration.cjs +1 -1
  543. package/dist/lib/illustration/illustration.cjs.map +1 -1
  544. package/dist/lib/illustration/illustration.js +1 -1
  545. package/dist/lib/illustration/illustration.js.map +1 -1
  546. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  547. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  548. package/dist/lib/image-viewer/image-viewer.js +32 -31
  549. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  550. package/dist/lib/input/input-constants.cjs +1 -1
  551. package/dist/lib/input/input-constants.cjs.map +1 -1
  552. package/dist/lib/input/input-constants.js +25 -11
  553. package/dist/lib/input/input-constants.js.map +1 -1
  554. package/dist/lib/input/input.cjs +1 -1
  555. package/dist/lib/input/input.cjs.map +1 -1
  556. package/dist/lib/input/input.js +161 -79
  557. package/dist/lib/input/input.js.map +1 -1
  558. package/dist/lib/input-group/input-group.cjs +1 -1
  559. package/dist/lib/input-group/input-group.cjs.map +1 -1
  560. package/dist/lib/input-group/input-group.js +25 -15
  561. package/dist/lib/input-group/input-group.js.map +1 -1
  562. package/dist/lib/item-layout/item-layout.cjs +3 -3
  563. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  564. package/dist/lib/item-layout/item-layout.js +35 -12
  565. package/dist/lib/item-layout/item-layout.js.map +1 -1
  566. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  567. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  568. package/dist/lib/ivr-node/ivr-node.js +1 -1
  569. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  570. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  571. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  572. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +48 -38
  573. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  574. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  575. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  576. package/dist/lib/kitchen-sink/kitchen-sink-view.js +205 -0
  577. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  578. package/dist/lib/link/index.cjs +1 -1
  579. package/dist/lib/link/index.js +2 -2
  580. package/dist/lib/link/link-constants.cjs +1 -1
  581. package/dist/lib/link/link-constants.cjs.map +1 -1
  582. package/dist/lib/link/link-constants.js +7 -7
  583. package/dist/lib/link/link-constants.js.map +1 -1
  584. package/dist/lib/link/link.cjs +1 -1
  585. package/dist/lib/link/link.cjs.map +1 -1
  586. package/dist/lib/link/link.js +17 -2
  587. package/dist/lib/link/link.js.map +1 -1
  588. package/dist/lib/list-item/list-item.cjs +1 -1
  589. package/dist/lib/list-item/list-item.cjs.map +1 -1
  590. package/dist/lib/list-item/list-item.js +9 -5
  591. package/dist/lib/list-item/list-item.js.map +1 -1
  592. package/dist/lib/list-item-group/list-item-group.cjs +1 -1
  593. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  594. package/dist/lib/list-item-group/list-item-group.js +1 -1
  595. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  596. package/dist/lib/message-input/index.cjs +1 -1
  597. package/dist/lib/message-input/index.js +1 -1
  598. package/dist/lib/message-input/message-input-button.cjs +1 -1
  599. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  600. package/dist/lib/message-input/message-input-button.js +1 -1
  601. package/dist/lib/message-input/message-input-button.js.map +1 -1
  602. package/dist/lib/message-input/message-input-link.cjs +1 -1
  603. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  604. package/dist/lib/message-input/message-input-link.js +9 -9
  605. package/dist/lib/message-input/message-input-link.js.map +1 -1
  606. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  607. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  608. package/dist/lib/message-input/message-input-topbar.js +2 -2
  609. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  610. package/dist/lib/message-input/message-input.cjs +1 -1
  611. package/dist/lib/message-input/message-input.js +1 -1
  612. package/dist/lib/modal/modal-constants.cjs +1 -1
  613. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  614. package/dist/lib/modal/modal-constants.js +3 -3
  615. package/dist/lib/modal/modal-constants.js.map +1 -1
  616. package/dist/lib/modal/modal.cjs +1 -1
  617. package/dist/lib/modal/modal.cjs.map +1 -1
  618. package/dist/lib/modal/modal.js +158 -157
  619. package/dist/lib/modal/modal.js.map +1 -1
  620. package/dist/lib/mode-directive/index.cjs +1 -0
  621. package/dist/lib/mode-directive/index.js +2 -0
  622. package/dist/lib/mode-directive/mode.cjs +2 -0
  623. package/dist/lib/mode-directive/mode.cjs.map +1 -0
  624. package/dist/lib/mode-directive/mode.js +67 -0
  625. package/dist/lib/mode-directive/mode.js.map +1 -0
  626. package/dist/lib/mode-island/index.cjs +1 -0
  627. package/dist/lib/mode-island/index.js +3 -0
  628. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  629. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  630. package/dist/lib/mode-island/mode-island-constants.js +10 -0
  631. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  632. package/dist/lib/mode-island/mode-island.cjs +2 -0
  633. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  634. package/dist/lib/mode-island/mode-island.js +102 -0
  635. package/dist/lib/mode-island/mode-island.js.map +1 -0
  636. package/dist/lib/mode-island/utils.cjs +2 -0
  637. package/dist/lib/mode-island/utils.cjs.map +1 -0
  638. package/dist/lib/mode-island/utils.js +28 -0
  639. package/dist/lib/mode-island/utils.js.map +1 -0
  640. package/dist/lib/mode-island/validators.cjs +2 -0
  641. package/dist/lib/mode-island/validators.cjs.map +1 -0
  642. package/dist/lib/mode-island/validators.js +10 -0
  643. package/dist/lib/mode-island/validators.js.map +1 -0
  644. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  645. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  646. package/dist/lib/motion-text/motion-text-constants.js +18 -6
  647. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  648. package/dist/lib/motion-text/motion-text.cjs +1 -1
  649. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  650. package/dist/lib/motion-text/motion-text.js +5 -7
  651. package/dist/lib/motion-text/motion-text.js.map +1 -1
  652. package/dist/lib/notice/notice-action.cjs +1 -1
  653. package/dist/lib/notice/notice-action.cjs.map +1 -1
  654. package/dist/lib/notice/notice-action.js +14 -14
  655. package/dist/lib/notice/notice-action.js.map +1 -1
  656. package/dist/lib/notice/notice-constants.cjs +1 -1
  657. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  658. package/dist/lib/notice/notice-constants.js +2 -2
  659. package/dist/lib/notice/notice-constants.js.map +1 -1
  660. package/dist/lib/notice/notice-content.cjs +1 -1
  661. package/dist/lib/notice/notice-content.cjs.map +1 -1
  662. package/dist/lib/notice/notice-content.js +29 -12
  663. package/dist/lib/notice/notice-content.js.map +1 -1
  664. package/dist/lib/notice/notice-icon.cjs +1 -1
  665. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  666. package/dist/lib/notice/notice-icon.js +4 -4
  667. package/dist/lib/notice/notice-icon.js.map +1 -1
  668. package/dist/lib/notice/notice.cjs +1 -1
  669. package/dist/lib/notice/notice.cjs.map +1 -1
  670. package/dist/lib/notice/notice.js +17 -16
  671. package/dist/lib/notice/notice.js.map +1 -1
  672. package/dist/lib/pagination/pagination.cjs +1 -1
  673. package/dist/lib/pagination/pagination.cjs.map +1 -1
  674. package/dist/lib/pagination/pagination.js +13 -12
  675. package/dist/lib/pagination/pagination.js.map +1 -1
  676. package/dist/lib/popover/popover-constants.cjs +1 -1
  677. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  678. package/dist/lib/popover/popover-constants.js +6 -6
  679. package/dist/lib/popover/popover-constants.js.map +1 -1
  680. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  681. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  682. package/dist/lib/popover/popover-header-footer.js +11 -3
  683. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  684. package/dist/lib/popover/popover.cjs +1 -1
  685. package/dist/lib/popover/popover.cjs.map +1 -1
  686. package/dist/lib/popover/popover.js +78 -58
  687. package/dist/lib/popover/popover.js.map +1 -1
  688. package/dist/lib/radio/radio-constants.cjs +1 -1
  689. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  690. package/dist/lib/radio/radio-constants.js +2 -2
  691. package/dist/lib/radio/radio-constants.js.map +1 -1
  692. package/dist/lib/radio/radio.cjs +1 -1
  693. package/dist/lib/radio/radio.cjs.map +1 -1
  694. package/dist/lib/radio/radio.js +94 -31
  695. package/dist/lib/radio/radio.js.map +1 -1
  696. package/dist/lib/resizable/index.cjs +1 -1
  697. package/dist/lib/resizable/index.js +3 -3
  698. package/dist/lib/resizable/resizable-handle.cjs +1 -1
  699. package/dist/lib/resizable/resizable-handle.js +1 -1
  700. package/dist/lib/resizable/resizable-panel.cjs +1 -1
  701. package/dist/lib/resizable/resizable-panel.js +1 -1
  702. package/dist/lib/resizable/resizable.cjs +1 -1
  703. package/dist/lib/resizable/resizable.js +1 -1
  704. package/dist/lib/rich-text-editor/index.cjs +1 -1
  705. package/dist/lib/rich-text-editor/index.js +1 -1
  706. package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
  707. package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
  708. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  709. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  710. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  711. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  712. package/dist/lib/root-layout/root-layout-constants.js +2 -0
  713. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  714. package/dist/lib/root-layout/root-layout.cjs +1 -1
  715. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  716. package/dist/lib/root-layout/root-layout.js +2 -2
  717. package/dist/lib/root-layout/root-layout.js.map +1 -1
  718. package/dist/lib/scroller/index.cjs +1 -1
  719. package/dist/lib/scroller/index.js +1 -1
  720. package/dist/lib/scroller/scroller.cjs +1 -1
  721. package/dist/lib/scroller/scroller.js +1 -1
  722. package/dist/lib/segmented-control/index.cjs +1 -0
  723. package/dist/lib/segmented-control/index.js +4 -0
  724. package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
  725. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
  726. package/dist/lib/segmented-control/segmented-control-constants.js +41 -0
  727. package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
  728. package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
  729. package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
  730. package/dist/lib/segmented-control/segmented-control-item.js +104 -0
  731. package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
  732. package/dist/lib/segmented-control/segmented-control.cjs +2 -0
  733. package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
  734. package/dist/lib/segmented-control/segmented-control.js +204 -0
  735. package/dist/lib/segmented-control/segmented-control.js.map +1 -0
  736. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  737. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  738. package/dist/lib/select-menu/select-menu-constants.js +7 -2
  739. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  740. package/dist/lib/select-menu/select-menu.cjs +1 -1
  741. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  742. package/dist/lib/select-menu/select-menu.js +117 -58
  743. package/dist/lib/select-menu/select-menu.js.map +1 -1
  744. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  745. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  746. package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
  747. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  748. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  749. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  750. package/dist/lib/skeleton/skeleton-constants.js +10 -2
  751. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  752. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  753. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  754. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  755. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  756. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  757. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  758. package/dist/lib/skeleton/skeleton-shape.js +3 -3
  759. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  760. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  761. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  762. package/dist/lib/split-button/split-button-constants.js +5 -0
  763. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  764. package/dist/lib/split-button/split-button-end.cjs +2 -0
  765. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  766. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +9 -9
  767. package/dist/lib/split-button/split-button-end.js.map +1 -0
  768. package/dist/lib/split-button/split-button-start.cjs +2 -0
  769. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  770. package/dist/lib/split-button/split-button-start.js +182 -0
  771. package/dist/lib/split-button/split-button-start.js.map +1 -0
  772. package/dist/lib/split-button/split-button.cjs +1 -1
  773. package/dist/lib/split-button/split-button.cjs.map +1 -1
  774. package/dist/lib/split-button/split-button.js +246 -71
  775. package/dist/lib/split-button/split-button.js.map +1 -1
  776. package/dist/lib/stack/stack-constants.cjs +1 -1
  777. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  778. package/dist/lib/stack/stack-constants.js +10 -2
  779. package/dist/lib/stack/stack-constants.js.map +1 -1
  780. package/dist/lib/stack/stack.cjs.map +1 -1
  781. package/dist/lib/stack/stack.js.map +1 -1
  782. package/dist/lib/tab/index.cjs +1 -1
  783. package/dist/lib/tab/index.js +5 -5
  784. package/dist/lib/tab/tab-group.cjs +1 -1
  785. package/dist/lib/tab/tab-group.cjs.map +1 -1
  786. package/dist/lib/tab/tab-group.js +173 -50
  787. package/dist/lib/tab/tab-group.js.map +1 -1
  788. package/dist/lib/tab/tab.cjs +1 -1
  789. package/dist/lib/tab/tab.cjs.map +1 -1
  790. package/dist/lib/tab/tab.js +108 -23
  791. package/dist/lib/tab/tab.js.map +1 -1
  792. package/dist/lib/tab/tabs-constants.cjs +1 -1
  793. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  794. package/dist/lib/tab/tabs-constants.js +33 -2
  795. package/dist/lib/tab/tabs-constants.js.map +1 -1
  796. package/dist/lib/text/index.cjs +1 -0
  797. package/dist/lib/text/index.js +3 -0
  798. package/dist/lib/text/text-constants.cjs +2 -0
  799. package/dist/lib/text/text-constants.cjs.map +1 -0
  800. package/dist/lib/text/text-constants.js +126 -0
  801. package/dist/lib/text/text-constants.js.map +1 -0
  802. package/dist/lib/text/text.cjs +2 -0
  803. package/dist/lib/text/text.cjs.map +1 -0
  804. package/dist/lib/text/text.js +150 -0
  805. package/dist/lib/text/text.js.map +1 -0
  806. package/dist/lib/toast/index.cjs +1 -1
  807. package/dist/lib/toast/index.js +1 -1
  808. package/dist/lib/toast/toast.cjs +1 -1
  809. package/dist/lib/toast/toast.js +1 -1
  810. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  811. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  812. package/dist/lib/toggle/toggle-constants.js +2 -0
  813. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  814. package/dist/lib/toggle/toggle.cjs +1 -1
  815. package/dist/lib/toggle/toggle.cjs.map +1 -1
  816. package/dist/lib/toggle/toggle.js +24 -29
  817. package/dist/lib/toggle/toggle.js.map +1 -1
  818. package/dist/lib/tooltip/tooltip.cjs +1 -4
  819. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  820. package/dist/lib/tooltip/tooltip.js +36 -31
  821. package/dist/lib/tooltip/tooltip.js.map +1 -1
  822. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  823. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  824. package/dist/lib/tooltip-directive/tooltip.js +36 -35
  825. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  826. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  827. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  828. package/dist/lib/top-banner-info/top-banner-info.js +4 -4
  829. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  830. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  831. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  832. package/dist/lib/unread-pill/unread-pill.js +1 -1
  833. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  834. package/dist/lib/validation-messages/validation-messages.cjs +1 -1
  835. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  836. package/dist/lib/validation-messages/validation-messages.js +2 -2
  837. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  838. package/dist/localization/en-US.cjs +5 -0
  839. package/dist/localization/en-US.cjs.map +1 -1
  840. package/dist/localization/en-US.js +1 -1
  841. package/dist/localization/en-US.js.map +1 -1
  842. package/dist/{markdownRenderer-DCgGQseq.cjs → markdownRenderer-Dsq-CiH9.cjs} +1 -1
  843. package/dist/{markdownRenderer-DCgGQseq.cjs.map → markdownRenderer-Dsq-CiH9.cjs.map} +1 -1
  844. package/dist/{markdownRenderer-D_P94RyM.js → markdownRenderer-k7_rQkox.js} +1 -1
  845. package/dist/{markdownRenderer-D_P94RyM.js.map → markdownRenderer-k7_rQkox.js.map} +1 -1
  846. package/dist/{message_input-CHlTsBGK.js → message_input-BYy1xKCy.js} +129 -130
  847. package/dist/message_input-BYy1xKCy.js.map +1 -0
  848. package/dist/message_input-sSCHhaeC.cjs +2 -0
  849. package/dist/message_input-sSCHhaeC.cjs.map +1 -0
  850. package/dist/mode_constants-CzYJW9ua.cjs +2 -0
  851. package/dist/mode_constants-CzYJW9ua.cjs.map +1 -0
  852. package/dist/mode_constants-tb7TL85q.js +14 -0
  853. package/dist/mode_constants-tb7TL85q.js.map +1 -0
  854. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +85 -14
  855. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  856. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +313 -41
  857. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  858. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +302 -41
  859. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  860. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +228 -35
  861. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  862. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +62 -16
  863. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  864. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
  865. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  866. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
  867. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  868. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
  869. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +228 -26
  870. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  871. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +216 -25
  872. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  873. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +1163 -178
  874. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  875. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +132 -42
  876. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  877. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +91 -23
  878. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  879. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +126 -35
  880. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  881. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
  882. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  883. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +1622 -207
  884. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  885. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +226 -12
  886. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  887. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +636 -55
  888. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  889. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +226 -12
  890. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  891. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
  892. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  893. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +122 -33
  894. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  895. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +87 -29
  896. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  897. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +82 -28
  898. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  899. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +588 -72
  900. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  901. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +480 -31
  902. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  903. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  904. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +479 -30
  905. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  906. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  907. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  908. package/dist/{resizable-aOVGO_Os.cjs → resizable-DhowneUp.cjs} +2 -2
  909. package/dist/{resizable-aOVGO_Os.cjs.map → resizable-DhowneUp.cjs.map} +1 -1
  910. package/dist/{resizable-D4-peBOl.js → resizable-xcOu-0_w.js} +3 -3
  911. package/dist/{resizable-D4-peBOl.js.map → resizable-xcOu-0_w.js.map} +1 -1
  912. package/dist/{resizable_handle-BlKBiWnx.js → resizable_handle-BAZzCA_i.js} +3 -3
  913. package/dist/{resizable_handle-BlKBiWnx.js.map → resizable_handle-BAZzCA_i.js.map} +1 -1
  914. package/dist/{resizable_handle-RIKS8frB.cjs → resizable_handle-fjKg48eY.cjs} +2 -2
  915. package/dist/{resizable_handle-RIKS8frB.cjs.map → resizable_handle-fjKg48eY.cjs.map} +1 -1
  916. package/dist/{resizable_utils-DhuzXRdP.cjs → resizable_utils-BE4lK07_.cjs} +1 -1
  917. package/dist/{resizable_utils-DhuzXRdP.cjs.map → resizable_utils-BE4lK07_.cjs.map} +1 -1
  918. package/dist/{resizable_utils-BComtrMV.js → resizable_utils-DsKnGHKW.js} +1 -1
  919. package/dist/{resizable_utils-BComtrMV.js.map → resizable_utils-DsKnGHKW.js.map} +1 -1
  920. package/dist/{rich_text_editor-Ba67C4Uk.js → rich_text_editor-CEW74QNe.js} +637 -598
  921. package/dist/{rich_text_editor-Ba67C4Uk.js.map → rich_text_editor-CEW74QNe.js.map} +1 -1
  922. package/dist/rich_text_editor-immDiKq_.cjs +10 -0
  923. package/dist/{rich_text_editor-DMP5eTlf.cjs.map → rich_text_editor-immDiKq_.cjs.map} +1 -1
  924. package/dist/scroller-C15VLKNK.cjs +2 -0
  925. package/dist/scroller-C15VLKNK.cjs.map +1 -0
  926. package/dist/{scroller-BGVDh3sq.js → scroller-DPqcc_Wl.js} +6 -6
  927. package/dist/scroller-DPqcc_Wl.js.map +1 -0
  928. package/dist/shared/sr_only_close_button.cjs +1 -1
  929. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  930. package/dist/shared/sr_only_close_button.js +1 -1
  931. package/dist/shared/sr_only_close_button.js.map +1 -1
  932. package/dist/toast-B1WZNMAm.cjs +2 -0
  933. package/dist/toast-B1WZNMAm.cjs.map +1 -0
  934. package/dist/{toast-DvPN-bCi.js → toast-DaH2KF7B.js} +52 -51
  935. package/dist/toast-DaH2KF7B.js.map +1 -0
  936. package/dist/{useResizableCalculations-DAajatT4.js → useResizableCalculations-2UpEXvfY.js} +2 -2
  937. package/dist/{useResizableCalculations-DAajatT4.js.map → useResizableCalculations-2UpEXvfY.js.map} +1 -1
  938. package/dist/{useResizableCalculations-BDITle3Q.cjs → useResizableCalculations-DPBjAFWQ.cjs} +2 -2
  939. package/dist/{useResizableCalculations-BDITle3Q.cjs.map → useResizableCalculations-DPBjAFWQ.cjs.map} +1 -1
  940. package/package.json +9 -7
  941. package/dist/attachment_carousel-BHxR7A76.cjs +0 -2
  942. package/dist/attachment_carousel-BHxR7A76.cjs.map +0 -1
  943. package/dist/attachment_carousel-CouFqFMw.js.map +0 -1
  944. package/dist/combobox-DgClbLOg.js.map +0 -1
  945. package/dist/combobox-DhjZxfUw.cjs +0 -3
  946. package/dist/combobox-DhjZxfUw.cjs.map +0 -1
  947. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
  948. package/dist/datepicker-DprRX9AH.cjs +0 -2
  949. package/dist/datepicker-DprRX9AH.cjs.map +0 -1
  950. package/dist/datepicker-LVDRC6Lf.js.map +0 -1
  951. package/dist/emoji_picker-Cl-T4BXK.cjs +0 -2
  952. package/dist/emoji_picker-Cl-T4BXK.cjs.map +0 -1
  953. package/dist/emoji_picker-tVHfpHDk.js.map +0 -1
  954. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  955. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  956. package/dist/lib/split-button/split-button-alpha.js +0 -107
  957. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  958. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  959. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  960. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  961. package/dist/message_input-AWgvtwMV.cjs +0 -2
  962. package/dist/message_input-AWgvtwMV.cjs.map +0 -1
  963. package/dist/message_input-CHlTsBGK.js.map +0 -1
  964. package/dist/rich_text_editor-DMP5eTlf.cjs +0 -10
  965. package/dist/scroller-BGVDh3sq.js.map +0 -1
  966. package/dist/scroller-CjAsgjl9.cjs +0 -2
  967. package/dist/scroller-CjAsgjl9.cjs.map +0 -1
  968. package/dist/toast-DvPN-bCi.js.map +0 -1
  969. package/dist/toast-d8_zmgkL.cjs +0 -2
  970. package/dist/toast-d8_zmgkL.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","names":[],"sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"editorRoot\"\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\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 <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n root-class=\"d-p8 d-pb4 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n size=\"sm\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close(focusEditor);\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close(focusEditor);\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{\n message: button.tooltipMessage,\n placement: 'top',\n externalAnchorElement: $refs[getButtonRef(buttonGroup.key, button.selector)]?.$el, \n }\"\n kind=\"muted\"\n importance=\"clear\"\n size=\"xs\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <dt-input\n :value=\"currentFontColor\"\n root-class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n size=\"sm\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n root-class=\"d-p8 d-pb4 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n size=\"md\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p8\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close(focusEditor);\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\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=\"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.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.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', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\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 :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :allow-background-color=\"allowBackgroundColor\"\n :allow-line-height=\"allowLineHeight\"\n :variable-items=\"flattenedVariableItems\"\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 :preserve-whitespace=\"preserveWhitespace\"\n :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\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 EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\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 { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\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 DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\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 DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n },\n\n mixins: [],\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 modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * 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 button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\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 * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Whether the input allows background color to be introduced in the text.\n */\n allowBackgroundColor: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows line height to be introduced in the text.\n */\n allowLineHeight: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how whitespace is handled when parsing HTML content.\n * - 'full': All whitespace is preserved\n * - true: Whitespace in inline content is preserved, whitespace-only nodes between blocks are removed\n * - false: Standard HTML whitespace collapsing\n * @values full, true, false\n */\n preserveWhitespace: {\n type: [Boolean, String],\n default: 'full',\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 * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\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 * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\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 input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\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 flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\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 buttonType: 'button',\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.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\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 filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return this.$refs.editorRoot?.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n focusEditor () {\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\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 insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).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 onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onTextInput (input) {\n this.$emit('text-input', input);\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 this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\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 previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n width: 8px;\n height: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","names":[],"sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"editorRoot\"\n :class=\"['d-recipe-editor', $attrs.class]\"\n :style=\"$attrs.style\"\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=\"150\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"50\"\n >\n <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :show-label=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <!-- eslint-disable vue/no-restricted-class -->\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n class=\"d-p-100 d-pbe-50 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n :size=\"200\"\n role=\"menuitem\"\n >\n <template #startIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n <!-- eslint-enable vue/no-restricted-class -->\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close(focusEditor);\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close(focusEditor);\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{\n message: button.tooltipMessage,\n placement: 'top',\n externalAnchorElement: $refs[getButtonRef(buttonGroup.key, button.selector)]?.$el,\n }\"\n kind=\"muted\"\n importance=\"clear\"\n :size=\"100\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <!-- eslint-disable vue/no-restricted-class -->\n <dt-input\n :value=\"currentFontColor\"\n class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p-0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n :size=\"200\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n <!-- eslint-enable vue/no-restricted-class -->\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :show-label=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <!-- eslint-disable vue/no-restricted-class -->\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n class=\"d-p-100 d-pbe-50 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n :size=\"300\"\n role=\"menuitem\"\n >\n <template #startIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n <!-- eslint-enable vue/no-restricted-class -->\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p-100\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close(focusEditor);\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\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=\"50\"\n >\n <dt-popover\n :open=\"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.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=\"100\"\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.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"50\"\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=\"200\"\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=\"200\"\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=\"200\"\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', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\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 :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :allow-background-color=\"allowBackgroundColor\"\n :allow-line-height=\"allowLineHeight\"\n :variable-items=\"flattenedVariableItems\"\n :show-link-bubble-menu=\"false\"\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 :preserve-whitespace=\"preserveWhitespace\"\n :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\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 EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs } from '@/common/utils';\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 { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\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 DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\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 DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n },\n\n mixins: [],\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 modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * 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-p-100 d-hmx-150\"\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 button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\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 * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Whether the input allows background color to be introduced in the text.\n */\n allowBackgroundColor: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows line height to be introduced in the text.\n */\n allowLineHeight: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how whitespace is handled when parsing HTML content.\n * - 'full': All whitespace is preserved\n * - true: Whitespace in inline content is preserved, whitespace-only nodes between blocks are removed\n * - false: Standard HTML whitespace collapsing\n * @values full, true, false\n */\n preserveWhitespace: {\n type: [Boolean, String],\n default: 'full',\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 * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\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 * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\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 input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\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 flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\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 buttonType: 'button',\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.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 buttonType: 'button',\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 // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\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 filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return this.$refs.editorRoot?.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n\n focusEditor () {\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\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 insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).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 onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onTextInput (input) {\n this.$emit('text-input', input);\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 this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\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 previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n inline-size: 8px;\n block-size: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../emoji_picker-Cl-T4BXK.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../emoji_picker-BQW4qRFg.cjs`);exports.default=e.t;
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../emoji_picker-tVHfpHDk.js";
1
+ import { t as e } from "../../emoji_picker-BjgAohQy.js";
2
2
  export { e as default };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../emoji_picker-Cl-T4BXK.cjs`),t=require(`./emoji-picker-constants.cjs`);exports.ARROW_KEYS=t.ARROW_KEYS,exports.CDN_URL=t.CDN_URL,exports.DtEmojiPicker=e.t,exports.EMOJIS_PER_ROW=t.EMOJIS_PER_ROW,exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=t.EMOJI_PICKER_SKIN_TONE_MODIFIERS;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../emoji_picker-BQW4qRFg.cjs`),t=require(`./emoji-picker-constants.cjs`);exports.ARROW_KEYS=t.ARROW_KEYS,exports.CDN_URL=t.CDN_URL,exports.DtEmojiPicker=e.t,exports.EMOJIS_PER_ROW=t.EMOJIS_PER_ROW,exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=t.EMOJI_PICKER_SKIN_TONE_MODIFIERS;
@@ -1,3 +1,3 @@
1
- import { t as e } from "../../emoji_picker-tVHfpHDk.js";
1
+ import { t as e } from "../../emoji_picker-BjgAohQy.js";
2
2
  import { ARROW_KEYS as t, CDN_URL as n, EMOJIS_PER_ROW as r, EMOJI_PICKER_SKIN_TONE_MODIFIERS as i } from "./emoji-picker-constants.js";
3
3
  export { t as ARROW_KEYS, n as CDN_URL, e as DtEmojiPicker, r as EMOJIS_PER_ROW, i as EMOJI_PICKER_SKIN_TONE_MODIFIERS };
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../../common/emoji/index.cjs`),n=require(`../../localization/index.cjs`),r=require(`../button/button.cjs`),i=require(`../tooltip/tooltip.cjs`),a=require(`../emoji/emoji.cjs`),o=require(`../emoji-text-wrapper/emoji-text-wrapper.cjs`),s=require(`./emoji-row-constants.cjs`);let c=require(`vue`);var l={compatConfig:{MODE:3},name:`DtRecipeEmojiRow`,components:{DtTooltip:i.default,DtButton:r.default,DtEmoji:a.default,DtEmojiTextWrapper:o.default},props:{reactions:{type:Array,default:()=>[],validator:e=>{for(let t of e)if(!s.REACTIONS_ATTRIBUTES.every(e=>t[e]!==void 0))return!1;return!0}}},emits:[`emoji-clicked`,`emoji-hovered`],data(){return{i18n:new n.DialtoneLocalization}},methods:{emojiClicked(e){this.$emit(`emoji-clicked`,e.emojiUnicodeOrShortname)},emojiHovered(e,t){this.$emit(`emoji-hovered`,{reaction:e.emojiUnicodeOrShortname,state:t})},reactionLabel(e){return this.i18n.$t(`DIALTONE_EMOJI_ROW_REACTION_LABEL`,{reaction:t.getEmojiShortCode(e.emojiUnicodeOrShortname),personCount:e.num})}}},u={class:`d-recipe-emoji-row`},d={"aria-hidden":`true`},f={class:`d-recipe-emoji-row__tooltip-emoji`},p={class:`d-recipe-emoji-row__tooltip-names`},m=[`textContent`],h={class:`d-recipe-emoji-row__emoji`},g={class:`d-recipe-emoji-row__reaction-number`};function _(e,t,n,r,i,a){let o=(0,c.resolveComponent)(`dt-emoji-text-wrapper`),s=(0,c.resolveComponent)(`dt-emoji`),l=(0,c.resolveComponent)(`dt-button`),_=(0,c.resolveComponent)(`dt-tooltip`);return(0,c.openBlock)(),(0,c.createElementBlock)(`span`,u,[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(n.reactions,e=>((0,c.openBlock)(),(0,c.createElementBlock)(`span`,{key:e.unicodeOutput},[(0,c.createVNode)(_,{class:`d-recipe-emoji-row__tooltip`,"content-class":`d-recipe-emoji-row__tooltip-content`,"fallback-placements":[`top`,`bottom`],sticky:`popper`,onShown:t=>a.emojiHovered(e,t)},{anchor:(0,c.withCtx)(({attrs:t})=>[(0,c.createVNode)(l,{importance:`clear`,size:`sm`,"data-qa":`feed-item-reaction-button`,class:(0,c.normalizeClass)([`d-recipe-emoji-row__reaction`,e.isSelected?`d-recipe-emoji-row__reaction--selected`:``]),"aria-label":a.reactionLabel(e),attrs:t,onClick:t=>a.emojiClicked(e)},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`span`,h,[(0,c.createVNode)(s,{class:`d-recipe-emoji-row__emoji`,size:`200`,"img-class":`d-recipe-emoji-row__emoji-img`,code:e.emojiUnicodeOrShortname},null,8,[`code`])]),(0,c.createElementVNode)(`span`,g,(0,c.toDisplayString)(e.num),1)]),_:2},1032,[`class`,`aria-label`,`attrs`,`onClick`])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`span`,d,[(0,c.createVNode)(o,{size:`800`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`p`,f,(0,c.toDisplayString)(e.emojiUnicodeOrShortname),1),t[0]||(t[0]=(0,c.createElementVNode)(`br`,null,null,-1)),(0,c.createElementVNode)(`p`,p,[(0,c.createTextVNode)((0,c.toDisplayString)(e.names)+` `,1),(0,c.createElementVNode)(`span`,{class:`d-recipe-emoji-row__tooltip-label`,textContent:(0,c.toDisplayString)(a.reactionLabel(e))},null,8,m)])]),_:2},1024)])]),_:2},1032,[`onShown`])]))),128)),(0,c.renderSlot)(e.$slots,`picker`)])}var v=e.t(l,[[`render`,_]]);exports.default=v;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../../common/emoji/index.cjs`),n=require(`../../localization/index.cjs`),r=require(`../button/button.cjs`),i=require(`../tooltip/tooltip.cjs`),a=require(`../emoji/emoji.cjs`),o=require(`../emoji-text-wrapper/emoji-text-wrapper.cjs`),s=require(`./emoji-row-constants.cjs`);let c=require(`vue`);var l={compatConfig:{MODE:3},name:`DtRecipeEmojiRow`,components:{DtTooltip:i.default,DtButton:r.default,DtEmoji:a.default,DtEmojiTextWrapper:o.default},props:{reactions:{type:Array,default:()=>[],validator:e=>{for(let t of e)if(!s.REACTIONS_ATTRIBUTES.every(e=>t[e]!==void 0))return!1;return!0}}},emits:[`emoji-clicked`,`emoji-hovered`],data(){return{i18n:new n.DialtoneLocalization}},methods:{emojiClicked(e){this.$emit(`emoji-clicked`,e.emojiUnicodeOrShortname)},emojiHovered(e,t){this.$emit(`emoji-hovered`,{reaction:e.emojiUnicodeOrShortname,state:t})},reactionLabel(e){return this.i18n.$t(`DIALTONE_EMOJI_ROW_REACTION_LABEL`,{reaction:t.getEmojiShortCode(e.emojiUnicodeOrShortname),personCount:e.num})}}},u={class:`d-recipe-emoji-row`},d={"aria-hidden":`true`},f={class:`d-recipe-emoji-row__tooltip-emoji`},p={class:`d-recipe-emoji-row__tooltip-names`},m=[`textContent`],h={class:`d-recipe-emoji-row__emoji`},g={class:`d-recipe-emoji-row__reaction-number`};function _(e,t,n,r,i,a){let o=(0,c.resolveComponent)(`dt-emoji-text-wrapper`),s=(0,c.resolveComponent)(`dt-emoji`),l=(0,c.resolveComponent)(`dt-button`),_=(0,c.resolveComponent)(`dt-tooltip`);return(0,c.openBlock)(),(0,c.createElementBlock)(`span`,u,[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(n.reactions,e=>((0,c.openBlock)(),(0,c.createElementBlock)(`span`,{key:e.unicodeOutput},[(0,c.createVNode)(_,{class:`d-recipe-emoji-row__tooltip`,"content-class":`d-recipe-emoji-row__tooltip-content`,"fallback-placements":[`top`,`bottom`],sticky:`popper`,onShown:t=>a.emojiHovered(e,t)},{anchor:(0,c.withCtx)(({attrs:t})=>[(0,c.createVNode)(l,{importance:`clear`,size:200,"data-qa":`feed-item-reaction-button`,class:(0,c.normalizeClass)([`d-recipe-emoji-row__reaction`,e.isSelected?`d-recipe-emoji-row__reaction--selected`:``]),"aria-label":a.reactionLabel(e),attrs:t,onClick:t=>a.emojiClicked(e)},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`span`,h,[(0,c.createVNode)(s,{class:`d-recipe-emoji-row__emoji`,size:`200`,"img-class":`d-recipe-emoji-row__emoji-img`,code:e.emojiUnicodeOrShortname},null,8,[`code`])]),(0,c.createElementVNode)(`span`,g,(0,c.toDisplayString)(e.num),1)]),_:2},1032,[`class`,`aria-label`,`attrs`,`onClick`])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`span`,d,[(0,c.createVNode)(o,{size:`800`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`p`,f,(0,c.toDisplayString)(e.emojiUnicodeOrShortname),1),t[0]||(t[0]=(0,c.createElementVNode)(`br`,null,null,-1)),(0,c.createElementVNode)(`p`,p,[(0,c.createTextVNode)((0,c.toDisplayString)(e.names)+` `,1),(0,c.createElementVNode)(`span`,{class:`d-recipe-emoji-row__tooltip-label`,textContent:(0,c.toDisplayString)(a.reactionLabel(e))},null,8,m)])]),_:2},1024)])]),_:2},1032,[`onShown`])]))),128)),(0,c.renderSlot)(e.$slots,`picker`)])}var v=e.t(l,[[`render`,_]]);exports.default=v;
2
2
  //# sourceMappingURL=emoji-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-row.cjs","names":[],"sources":["../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n :fallback-placements=\"['top', 'bottom']\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"800\">\n <p class=\"d-recipe-emoji-row__tooltip-emoji\">\n {{ reaction.emojiUnicodeOrShortname }}\n </p>\n <br>\n <p class=\"d-recipe-emoji-row__tooltip-names\">\n {{ reaction.names }}\n <span\n class=\"d-recipe-emoji-row__tooltip-label\"\n v-text=\"reactionLabel(reaction)\"\n />\n </p>\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reactionLabel(reaction)\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n class=\"d-recipe-emoji-row__emoji\"\n size=\"200\"\n img-class=\"d-recipe-emoji-row__emoji-img\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- TODO: Replace picker slot with a button with localized text and emit any event needed -->\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmoji } from '@/components/emoji';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DialtoneLocalization } from '@/localization';\nimport { getEmojiShortCode } from '@/common/emoji';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n\n reactionLabel (reaction) {\n return this.i18n.$t('DIALTONE_EMOJI_ROW_REACTION_LABEL', {\n reaction: getEmojiShortCode(reaction.emojiUnicodeOrShortname),\n personCount: reaction.num,\n });\n },\n },\n};\n</script>\n"],"mappings":"mfAuEA,IAAK,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,mBAEN,WAAY,CAAE,UAAA,EAAA,QAAW,SAAA,EAAA,QAAU,QAAA,EAAA,QAAS,mBAAA,EAAA,QAAoB,CAEhE,MAAO,CAIL,UAAW,CACT,KAAM,MACN,YAAe,EAAE,CACjB,UAAY,GAAc,CACxB,IAAK,IAAM,KAAY,EAErB,GAAI,CADe,EAAA,qBAAqB,MAAO,GAAc,EAAS,KAAe,IAAA,GAAU,CAC9E,MAAO,GAE1B,MAAO,IAEV,CACF,CAED,MAAO,CACL,gBACA,gBACD,CAED,MAAQ,CACN,MAAO,CACL,KAAM,IAAI,EAAA,qBACX,EAGH,QAAS,CACP,aAAc,EAAU,CACtB,KAAK,MAAM,gBAAiB,EAAS,wBAAwB,EAG/D,aAAc,EAAU,EAAO,CAC7B,KAAK,MAAM,gBAAiB,CAC1B,SAAU,EAAS,wBACnB,QACD,CAAC,EAGJ,cAAe,EAAU,CACvB,OAAO,KAAK,KAAK,GAAG,oCAAqC,CACvD,SAAU,EAAA,kBAAkB,EAAS,wBAAwB,CAC7D,YAAa,EAAS,IACvB,CAAC,EAEL,CACF,IA3HO,MAAM,qBAAoB,IAYpB,cAAY,OAAM,IAEjB,MAAM,oCAAmC,IAIzC,MAAM,oCAAmC,sBAsBtC,MAAM,4BAA2B,IAQjC,MAAM,sCAAqC,kPAUpD,OA1DP,EA0DO,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAJE,EAAA,SAAA,MAAA,EAAA,EAAA,YApDc,EAAA,UAAZ,+CAoDF,OAAA,CAnDJ,IAAK,EAAS,cAAA,CAAA,EAAA,EAAA,EAAA,aAkDF,EAAA,CA/CX,MAAM,8BACN,gBAAc,sCACb,sBAAqB,CAAA,MAAA,SAAiB,CACvC,OAAO,SACN,QAAQ,GAAU,EAAA,aAAa,EAAU,EAAK,GAiBpC,QAAA,EAAA,EAAA,UAwBG,CAxBO,WAAK,EAAA,EAAA,EAAA,aAwBZ,EAAA,CAtBV,WAAW,QACX,KAAK,KACL,UAAQ,4BACP,OAAA,EAAA,EAAA,gBAAK,CAAA,+BAAgE,EAAS,WAAU,yCAAA,GAAA,CAAA,CAIxF,aAAY,EAAA,cAAc,EAAQ,CAC3B,QACP,QAAK,GAAE,EAAA,aAAa,EAAQ,6BAStB,EAAA,EAAA,EAAA,oBAAA,OAPP,EAOO,EAAA,EAAA,EAAA,aADH,EAAA,CAJA,MAAM,4BACN,KAAK,MACL,YAAU,gCACT,KAAM,EAAS,qEAKb,OAFP,GAAA,EAAA,EAAA,iBACK,EAAS,IAAG,CAAA,EAAA,CAAA,CAAA,iFAvBd,EAAA,EAAA,EAAA,oBAAA,OAdP,EAcO,EAAA,EAAA,EAAA,aADmB,EAAA,CAZD,KAAK,MAAK,CAAA,2BAG3B,0BAAA,IAFJ,GAAA,EAAA,EAAA,iBACK,EAAS,wBAAuB,CAAA,EAAA,sCAEjC,KAAA,KAAA,KAAA,GAAA,2BAOA,IANJ,EAMI,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBALC,EAAS,MAAK,CAAG,IACpB,EAAA,EAAA,EAAA,EAAA,oBAGE,OAAA,CAFA,MAAM,sEAC0B,EAAxB,cAAc,EAAQ,CAAA,iFAmCpB,EAAA,OAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"emoji-row.cjs","names":[],"sources":["../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n :fallback-placements=\"['top', 'bottom']\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"800\">\n <p class=\"d-recipe-emoji-row__tooltip-emoji\">\n {{ reaction.emojiUnicodeOrShortname }}\n </p>\n <br>\n <p class=\"d-recipe-emoji-row__tooltip-names\">\n {{ reaction.names }}\n <span\n class=\"d-recipe-emoji-row__tooltip-label\"\n v-text=\"reactionLabel(reaction)\"\n />\n </p>\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n :size=\"200\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reactionLabel(reaction)\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n class=\"d-recipe-emoji-row__emoji\"\n size=\"200\"\n img-class=\"d-recipe-emoji-row__emoji-img\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- TODO: Replace picker slot with a button with localized text and emit any event needed -->\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmoji } from '@/components/emoji';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DialtoneLocalization } from '@/localization';\nimport { getEmojiShortCode } from '@/common/emoji';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n\n reactionLabel (reaction) {\n return this.i18n.$t('DIALTONE_EMOJI_ROW_REACTION_LABEL', {\n reaction: getEmojiShortCode(reaction.emojiUnicodeOrShortname),\n personCount: reaction.num,\n });\n },\n },\n};\n</script>\n"],"mappings":"mfAuEA,IAAK,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,mBAEN,WAAY,CAAE,UAAA,EAAA,QAAW,SAAA,EAAA,QAAU,QAAA,EAAA,QAAS,mBAAA,EAAA,QAAoB,CAEhE,MAAO,CAIL,UAAW,CACT,KAAM,MACN,YAAe,EAAE,CACjB,UAAY,GAAc,CACxB,IAAK,IAAM,KAAY,EAErB,GAAI,CADe,EAAA,qBAAqB,MAAO,GAAc,EAAS,KAAe,IAAA,GAAU,CAC9E,MAAO,GAE1B,MAAO,IAEV,CACF,CAED,MAAO,CACL,gBACA,gBACD,CAED,MAAQ,CACN,MAAO,CACL,KAAM,IAAI,EAAA,qBACX,EAGH,QAAS,CACP,aAAc,EAAU,CACtB,KAAK,MAAM,gBAAiB,EAAS,wBAAwB,EAG/D,aAAc,EAAU,EAAO,CAC7B,KAAK,MAAM,gBAAiB,CAC1B,SAAU,EAAS,wBACnB,QACD,CAAC,EAGJ,cAAe,EAAU,CACvB,OAAO,KAAK,KAAK,GAAG,oCAAqC,CACvD,SAAU,EAAA,kBAAkB,EAAS,wBAAwB,CAC7D,YAAa,EAAS,IACvB,CAAC,EAEL,CACF,IA3HO,MAAM,qBAAoB,IAYpB,cAAY,OAAM,IAEjB,MAAM,oCAAmC,IAIzC,MAAM,oCAAmC,sBAsBtC,MAAM,4BAA2B,IAQjC,MAAM,sCAAqC,kPAUpD,OA1DP,EA0DO,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAJE,EAAA,SAAA,MAAA,EAAA,EAAA,YApDc,EAAA,UAAZ,+CAoDF,OAAA,CAnDJ,IAAK,EAAS,cAAA,CAAA,EAAA,EAAA,EAAA,aAkDF,EAAA,CA/CX,MAAM,8BACN,gBAAc,sCACb,sBAAqB,CAAA,MAAA,SAAiB,CACvC,OAAO,SACN,QAAQ,GAAU,EAAA,aAAa,EAAU,EAAK,GAiBpC,QAAA,EAAA,EAAA,UAwBG,CAxBO,WAAK,EAAA,EAAA,EAAA,aAwBZ,EAAA,CAtBV,WAAW,QACV,KAAM,IACP,UAAQ,4BACP,OAAA,EAAA,EAAA,gBAAK,CAAA,+BAAgE,EAAS,WAAU,yCAAA,GAAA,CAAA,CAIxF,aAAY,EAAA,cAAc,EAAQ,CAC3B,QACP,QAAK,GAAE,EAAA,aAAa,EAAQ,6BAStB,EAAA,EAAA,EAAA,oBAAA,OAPP,EAOO,EAAA,EAAA,EAAA,aADH,EAAA,CAJA,MAAM,4BACN,KAAK,MACL,YAAU,gCACT,KAAM,EAAS,qEAKb,OAFP,GAAA,EAAA,EAAA,iBACK,EAAS,IAAG,CAAA,EAAA,CAAA,CAAA,iFAvBd,EAAA,EAAA,EAAA,oBAAA,OAdP,EAcO,EAAA,EAAA,EAAA,aADmB,EAAA,CAZD,KAAK,MAAK,CAAA,2BAG3B,0BAAA,IAFJ,GAAA,EAAA,EAAA,iBACK,EAAS,wBAAuB,CAAA,EAAA,sCAEjC,KAAA,KAAA,KAAA,GAAA,2BAOA,IANJ,EAMI,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBALC,EAAS,MAAK,CAAG,IACpB,EAAA,EAAA,EAAA,EAAA,oBAGE,OAAA,CAFA,MAAM,sEAC0B,EAAxB,cAAc,EAAQ,CAAA,iFAmCpB,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -58,7 +58,7 @@ function O(e, t, n, r, i, a) {
58
58
  }, {
59
59
  anchor: y(({ attrs: t }) => [f(b, {
60
60
  importance: "clear",
61
- size: "sm",
61
+ size: 200,
62
62
  "data-qa": "feed-item-reaction-button",
63
63
  class: p(["d-recipe-emoji-row__reaction", e.isSelected ? "d-recipe-emoji-row__reaction--selected" : ""]),
64
64
  "aria-label": a.reactionLabel(e),
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-row.js","names":[],"sources":["../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n :fallback-placements=\"['top', 'bottom']\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"800\">\n <p class=\"d-recipe-emoji-row__tooltip-emoji\">\n {{ reaction.emojiUnicodeOrShortname }}\n </p>\n <br>\n <p class=\"d-recipe-emoji-row__tooltip-names\">\n {{ reaction.names }}\n <span\n class=\"d-recipe-emoji-row__tooltip-label\"\n v-text=\"reactionLabel(reaction)\"\n />\n </p>\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reactionLabel(reaction)\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n class=\"d-recipe-emoji-row__emoji\"\n size=\"200\"\n img-class=\"d-recipe-emoji-row__emoji-img\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- TODO: Replace picker slot with a button with localized text and emit any event needed -->\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmoji } from '@/components/emoji';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DialtoneLocalization } from '@/localization';\nimport { getEmojiShortCode } from '@/common/emoji';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n\n reactionLabel (reaction) {\n return this.i18n.$t('DIALTONE_EMOJI_ROW_REACTION_LABEL', {\n reaction: getEmojiShortCode(reaction.emojiUnicodeOrShortname),\n personCount: reaction.num,\n });\n },\n },\n};\n</script>\n"],"mappings":";;;;;;;;;;AAuEA,IAAK,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY;EAAE,WAAA;EAAW,UAAA;EAAU,SAAA;EAAS,oBAAA;EAAoB;CAEhE,OAAO,EAIL,WAAW;EACT,MAAM;EACN,eAAe,EAAE;EACjB,YAAY,MAAc;AACxB,QAAK,IAAM,KAAY,EAErB,KAAI,CADe,EAAqB,OAAO,MAAc,EAAS,OAAe,KAAA,EAAU,CAC9E,QAAO;AAE1B,UAAO;;EAEV,EACF;CAED,OAAO,CACL,iBACA,gBACD;CAED,OAAQ;AACN,SAAO,EACL,MAAM,IAAI,GAAsB,EACjC;;CAGH,SAAS;EACP,aAAc,GAAU;AACtB,QAAK,MAAM,iBAAiB,EAAS,wBAAwB;;EAG/D,aAAc,GAAU,GAAO;AAC7B,QAAK,MAAM,iBAAiB;IAC1B,UAAU,EAAS;IACnB;IACD,CAAC;;EAGJ,cAAe,GAAU;AACvB,UAAO,KAAK,KAAK,GAAG,qCAAqC;IACvD,UAAU,EAAkB,EAAS,wBAAwB;IAC7D,aAAa,EAAS;IACvB,CAAC;;EAEL;CACF,QA3HO,OAAM,sBAAoB,QAYpB,eAAY,QAAM,QAEjB,OAAM,qCAAmC,QAIzC,OAAM,qCAAmC,6BAsBtC,OAAM,6BAA2B,QAQjC,OAAM,uCAAqC;;;aAhD3D,EA0DO,QA1DP,GA0DO,EAAA,EAAA,GAAA,EAzDL,EAqDO,GAAA,MAAA,EApDc,EAAA,YAAZ,YADT,EAqDO,QAAA,EAnDJ,KAAK,EAAS,eAAA,EAAA,CAEf,EAgDa,GAAA;EA/CX,OAAM;EACN,iBAAc;EACb,uBAAqB,CAAA,OAAA,SAAiB;EACvC,QAAO;EACN,UAAQ,MAAU,EAAA,aAAa,GAAU,EAAK;;EAiBpC,QAAM,GAwBH,EAxBO,eAAK,CACxB,EAuBY,GAAA;GAtBV,YAAW;GACX,MAAK;GACL,WAAQ;GACP,OAAK,EAAA,CAAA,gCAAgE,EAAS,aAAU,2CAAA,GAAA,CAAA;GAIxF,cAAY,EAAA,cAAc,EAAQ;GAC3B;GACP,UAAK,MAAE,EAAA,aAAa,EAAQ;;oBAStB,CAPP,EAOO,QAPP,GAOO,CANL,EAKE,GAAA;IAJA,OAAM;IACN,MAAK;IACL,aAAU;IACT,MAAM,EAAS;4BAGpB,EAEO,QAFP,GAEO,EADF,EAAS,IAAG,EAAA,EAAA,CAAA,CAAA;;;;;;;;mBAvBd,CAdP,EAcO,QAdP,GAcO,CAbL,EAYwB,GAAA,EAZD,MAAK,OAAK,EAAA;oBAG3B;IAFJ,EAEI,KAFJ,GAEI,EADC,EAAS,wBAAuB,EAAA,EAAA;oBAErC,EAAI,MAAA,MAAA,MAAA,GAAA;IACJ,EAMI,KANJ,GAMI,CAAA,EAAA,EALC,EAAS,MAAK,GAAG,KACpB,EAAA,EAAA,EAGE,QAAA;KAFA,OAAM;kBACN,EAAgC,EAAxB,cAAc,EAAQ,CAAA;;;;;;mCAmC1C,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"emoji-row.js","names":[],"sources":["../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n :fallback-placements=\"['top', 'bottom']\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"800\">\n <p class=\"d-recipe-emoji-row__tooltip-emoji\">\n {{ reaction.emojiUnicodeOrShortname }}\n </p>\n <br>\n <p class=\"d-recipe-emoji-row__tooltip-names\">\n {{ reaction.names }}\n <span\n class=\"d-recipe-emoji-row__tooltip-label\"\n v-text=\"reactionLabel(reaction)\"\n />\n </p>\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n :size=\"200\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reactionLabel(reaction)\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n class=\"d-recipe-emoji-row__emoji\"\n size=\"200\"\n img-class=\"d-recipe-emoji-row__emoji-img\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- TODO: Replace picker slot with a button with localized text and emit any event needed -->\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtEmoji } from '@/components/emoji';\nimport { DtEmojiTextWrapper } from '@/components/emoji_text_wrapper';\nimport { DialtoneLocalization } from '@/localization';\nimport { getEmojiShortCode } from '@/common/emoji';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n\n reactionLabel (reaction) {\n return this.i18n.$t('DIALTONE_EMOJI_ROW_REACTION_LABEL', {\n reaction: getEmojiShortCode(reaction.emojiUnicodeOrShortname),\n personCount: reaction.num,\n });\n },\n },\n};\n</script>\n"],"mappings":";;;;;;;;;;AAuEA,IAAK,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY;EAAE,WAAA;EAAW,UAAA;EAAU,SAAA;EAAS,oBAAA;EAAoB;CAEhE,OAAO,EAIL,WAAW;EACT,MAAM;EACN,eAAe,EAAE;EACjB,YAAY,MAAc;AACxB,QAAK,IAAM,KAAY,EAErB,KAAI,CADe,EAAqB,OAAO,MAAc,EAAS,OAAe,KAAA,EAAU,CAC9E,QAAO;AAE1B,UAAO;;EAEV,EACF;CAED,OAAO,CACL,iBACA,gBACD;CAED,OAAQ;AACN,SAAO,EACL,MAAM,IAAI,GAAsB,EACjC;;CAGH,SAAS;EACP,aAAc,GAAU;AACtB,QAAK,MAAM,iBAAiB,EAAS,wBAAwB;;EAG/D,aAAc,GAAU,GAAO;AAC7B,QAAK,MAAM,iBAAiB;IAC1B,UAAU,EAAS;IACnB;IACD,CAAC;;EAGJ,cAAe,GAAU;AACvB,UAAO,KAAK,KAAK,GAAG,qCAAqC;IACvD,UAAU,EAAkB,EAAS,wBAAwB;IAC7D,aAAa,EAAS;IACvB,CAAC;;EAEL;CACF,QA3HO,OAAM,sBAAoB,QAYpB,eAAY,QAAM,QAEjB,OAAM,qCAAmC,QAIzC,OAAM,qCAAmC,6BAsBtC,OAAM,6BAA2B,QAQjC,OAAM,uCAAqC;;;aAhD3D,EA0DO,QA1DP,GA0DO,EAAA,EAAA,GAAA,EAzDL,EAqDO,GAAA,MAAA,EApDc,EAAA,YAAZ,YADT,EAqDO,QAAA,EAnDJ,KAAK,EAAS,eAAA,EAAA,CAEf,EAgDa,GAAA;EA/CX,OAAM;EACN,iBAAc;EACb,uBAAqB,CAAA,OAAA,SAAiB;EACvC,QAAO;EACN,UAAQ,MAAU,EAAA,aAAa,GAAU,EAAK;;EAiBpC,QAAM,GAwBH,EAxBO,eAAK,CACxB,EAuBY,GAAA;GAtBV,YAAW;GACV,MAAM;GACP,WAAQ;GACP,OAAK,EAAA,CAAA,gCAAgE,EAAS,aAAU,2CAAA,GAAA,CAAA;GAIxF,cAAY,EAAA,cAAc,EAAQ;GAC3B;GACP,UAAK,MAAE,EAAA,aAAa,EAAQ;;oBAStB,CAPP,EAOO,QAPP,GAOO,CANL,EAKE,GAAA;IAJA,OAAM;IACN,MAAK;IACL,aAAU;IACT,MAAM,EAAS;4BAGpB,EAEO,QAFP,GAEO,EADF,EAAS,IAAG,EAAA,EAAA,CAAA,CAAA;;;;;;;;mBAvBd,CAdP,EAcO,QAdP,GAcO,CAbL,EAYwB,GAAA,EAZD,MAAK,OAAK,EAAA;oBAG3B;IAFJ,EAEI,KAFJ,GAEI,EADC,EAAS,wBAAuB,EAAA,EAAA;oBAErC,EAAI,MAAA,MAAA,MAAA,GAAA;IACJ,EAMI,KANJ,GAMI,CAAA,EAAA,EALC,EAAS,MAAK,GAAG,KACpB,EAAA,EAAA,EAGE,QAAA;KAFA,OAAM;kBACN,EAAgC,EAAxB,cAAc,EAAQ,CAAA;;;;;;mCAmC1C,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-text-wrapper.cjs","names":[],"sources":["../../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h, resolveDynamicComponent } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\nconst COMMENT_TYPE = h(resolveDynamicComponent(null)).type;\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n // Escape the asterisk to avoid breaking the regex for the asterisk emoji\n const escapedReplaceList = replaceList.map(item =>\n item.replace(/\\*/g, '\\\\*'),\n );\n\n const regexp = new RegExp(`(${escapedReplaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (!VNode) return;\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (VNode.type === COMMENT_TYPE) return VNode;\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent () {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"mappings":"gRAMA,IAAM,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,yBAAyC,KAAK,CAAC,CAAC,KAMjD,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,qBAEN,WAAY,CACV,QAAA,EAAA,QACD,CAED,MAAO,CAIL,YAAa,CACX,KAAM,OACN,QAAS,MACV,CAKD,KAAM,CACJ,KAAM,OACN,QAAS,MACT,UAAY,GAAM,OAAO,KAAK,EAAA,oBAAoB,CAAC,SAAS,EAAE,CAC/D,CACF,CAED,MAAQ,CACN,MAAO,CACL,iBAAkB,GACnB,EAGH,MAAM,SAAW,CACf,KAAK,iBAAmB,IAG1B,QAAS,CAKP,gBAAiB,EAAa,EAAa,CACzC,GAAI,CAAC,EAAY,OAAQ,OAAO,EAEhC,IAAM,EAAqB,EAAY,IAAI,GACzC,EAAK,QAAQ,MAAO,MAAM,CAC3B,CAEK,EAAa,OAAO,IAAI,EAAmB,KAAK,IAAI,CAAC,GAAI,IAAI,CAGnE,OAFc,EAAY,MAAM,EAAO,CAGpC,OAAO,GAAQ,EAAK,MAAK,GAAM,GAAE,CACjC,IAAK,GACA,EAAY,SAAS,EAAK,EAC5B,EAAA,EAAA,GAAS,EAAA,QAAS,CAAE,KAAM,EAAM,KAAM,KAAK,KAAM,CAAC,EAEpD,EAAA,EAAA,GAAS,OAAQ,CAAE,MAAO,6BAA8B,CAAE,EAAK,CAC/D,EAQN,aAAc,EAAO,CACnB,GAAI,CAAC,EAAO,OACZ,GAAI,OAAO,GAAU,SAAU,OAAO,KAAK,YAAY,EAAM,CAC7D,GAAI,EAAM,OAAS,EAAc,OAAO,EACxC,GAAI,OAAO,EAAM,MAAS,SAAU,OAAO,KAAK,YAAY,EAAM,SAAS,CAC3E,GAAI,EAAM,OAAO,UAAW,OAAO,KAAK,aAAa,EAAM,MAAM,UAAU,CAE3E,IAAM,EAAW,MAAM,QAAQ,EAAM,SAAQ,CAAI,EAAM,SAAW,CAAC,EAAM,SAAS,CAClF,OAAA,EAAA,EAAA,GAAS,EAAM,KAAM,EAAM,MAAO,EAAS,IAAI,GAAc,KAAK,aAAa,EAAW,CAAC,CAAC,EAI9F,iCAAmC,GASnC,YAAa,EAAa,CACxB,IAAM,EAAa,EAAA,eAAe,EAAY,CACxC,EAAS,EAAA,WAAW,EAAY,CAEhC,EAAc,CAAC,GAAG,EAAY,GAAG,EAAO,CAE9C,OADI,EAAY,SAAW,EAAU,EAC9B,KAAK,gBAAgB,EAAa,EAAY,EAExD,CAED,QAAU,CACR,IAAM,EAAqB,KAAK,OAAO,QAAU,KAAK,OAAO,SAAQ,CAAI,EAAE,CAC3E,OAAA,EAAA,EAAA,GACE,KAAK,YACL,CACE,UAAW,qBACX,MAAO,uBACR,CACD,KAAK,iBACD,EACA,EAAmB,IAAI,GAAS,KAAK,aAAa,EAAM,CAAC,CAC9D,EAEJ"}
1
+ {"version":3,"file":"emoji-text-wrapper.cjs","names":[],"sources":["../../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h, resolveDynamicComponent } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\nconst COMMENT_TYPE = h(resolveDynamicComponent(null)).type;\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n // Escape the asterisk to avoid breaking the regex for the asterisk emoji\n const escapedReplaceList = replaceList.map(item =>\n item.replace(/\\*/g, '\\\\*'),\n );\n\n const regexp = new RegExp(`(${escapedReplaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (!VNode) return;\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (VNode.type === COMMENT_TYPE) return VNode;\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent () {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"mappings":"gRAMA,IAAM,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,yBAAyC,KAAK,CAAC,CAAC,KAMjD,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,qBAEN,WAAY,CACV,QAAA,EAAA,QACD,CAED,MAAO,CAIL,YAAa,CACX,KAAM,OACN,QAAS,MACV,CAMD,KAAM,CACJ,KAAM,OACN,QAAS,MACT,UAAY,GAAM,OAAO,KAAK,EAAA,oBAAoB,CAAC,SAAS,EAAE,CAC/D,CACF,CAED,MAAQ,CACN,MAAO,CACL,iBAAkB,GACnB,EAGH,MAAM,SAAW,CACf,KAAK,iBAAmB,IAG1B,QAAS,CAKP,gBAAiB,EAAa,EAAa,CACzC,GAAI,CAAC,EAAY,OAAQ,OAAO,EAEhC,IAAM,EAAqB,EAAY,IAAI,GACzC,EAAK,QAAQ,MAAO,MAAM,CAC3B,CAEK,EAAa,OAAO,IAAI,EAAmB,KAAK,IAAI,CAAC,GAAI,IAAI,CAGnE,OAFc,EAAY,MAAM,EAAO,CAGpC,OAAO,GAAQ,EAAK,MAAK,GAAM,GAAE,CACjC,IAAK,GACA,EAAY,SAAS,EAAK,EAC5B,EAAA,EAAA,GAAS,EAAA,QAAS,CAAE,KAAM,EAAM,KAAM,KAAK,KAAM,CAAC,EAEpD,EAAA,EAAA,GAAS,OAAQ,CAAE,MAAO,6BAA8B,CAAE,EAAK,CAC/D,EAQN,aAAc,EAAO,CACnB,GAAI,CAAC,EAAO,OACZ,GAAI,OAAO,GAAU,SAAU,OAAO,KAAK,YAAY,EAAM,CAC7D,GAAI,EAAM,OAAS,EAAc,OAAO,EACxC,GAAI,OAAO,EAAM,MAAS,SAAU,OAAO,KAAK,YAAY,EAAM,SAAS,CAC3E,GAAI,EAAM,OAAO,UAAW,OAAO,KAAK,aAAa,EAAM,MAAM,UAAU,CAE3E,IAAM,EAAW,MAAM,QAAQ,EAAM,SAAQ,CAAI,EAAM,SAAW,CAAC,EAAM,SAAS,CAClF,OAAA,EAAA,EAAA,GAAS,EAAM,KAAM,EAAM,MAAO,EAAS,IAAI,GAAc,KAAK,aAAa,EAAW,CAAC,CAAC,EAI9F,iCAAmC,GASnC,YAAa,EAAa,CACxB,IAAM,EAAa,EAAA,eAAe,EAAY,CACxC,EAAS,EAAA,WAAW,EAAY,CAEhC,EAAc,CAAC,GAAG,EAAY,GAAG,EAAO,CAE9C,OADI,EAAY,SAAW,EAAU,EAC9B,KAAK,gBAAgB,EAAa,EAAY,EAExD,CAED,QAAU,CACR,IAAM,EAAqB,KAAK,OAAO,QAAU,KAAK,OAAO,SAAQ,CAAI,EAAE,CAC3E,OAAA,EAAA,EAAA,GACE,KAAK,YACL,CACE,UAAW,qBACX,MAAO,uBACR,CACD,KAAK,iBACD,EACA,EAAmB,IAAI,GAAS,KAAK,aAAa,EAAM,CAAC,CAC9D,EAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-text-wrapper.js","names":[],"sources":["../../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h, resolveDynamicComponent } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\nconst COMMENT_TYPE = h(resolveDynamicComponent(null)).type;\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n // Escape the asterisk to avoid breaking the regex for the asterisk emoji\n const escapedReplaceList = replaceList.map(item =>\n item.replace(/\\*/g, '\\\\*'),\n );\n\n const regexp = new RegExp(`(${escapedReplaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (!VNode) return;\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (VNode.type === COMMENT_TYPE) return VNode;\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent () {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"mappings":";;;;;AAMA,IAAM,IAAe,EAAE,EAAwB,KAAK,CAAC,CAAC,MAMjD,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY,EACV,SAAA,GACD;CAED,OAAO;EAIL,aAAa;GACX,MAAM;GACN,SAAS;GACV;EAKD,MAAM;GACJ,MAAM;GACN,SAAS;GACT,YAAY,MAAM,OAAO,KAAK,EAAoB,CAAC,SAAS,EAAE;GAC/D;EACF;CAED,OAAQ;AACN,SAAO,EACL,kBAAkB,IACnB;;CAGH,MAAM,UAAW;AACf,OAAK,mBAAmB;;CAG1B,SAAS;EAKP,gBAAiB,GAAa,GAAa;AACzC,OAAI,CAAC,EAAY,OAAQ,QAAO;GAEhC,IAAM,IAAqB,EAAY,KAAI,MACzC,EAAK,QAAQ,OAAO,MAAM,CAC3B,EAEK,IAAa,OAAO,IAAI,EAAmB,KAAK,IAAI,CAAC,IAAI,IAAI;AAGnE,UAFc,EAAY,MAAM,EAAO,CAGpC,QAAO,MAAQ,EAAK,MAAK,KAAM,GAAE,CACjC,KAAK,MACA,EAAY,SAAS,EAAK,GACrB,EAAE,GAAS;IAAE,MAAM;IAAM,MAAM,KAAK;IAAM,CAAC,GAE7C,EAAE,QAAQ,EAAE,OAAO,8BAA8B,EAAE,EAAK,CAC/D;;EAQN,aAAc,GAAO;AACnB,OAAI,CAAC,EAAO;AACZ,OAAI,OAAO,KAAU,SAAU,QAAO,KAAK,YAAY,EAAM;AAC7D,OAAI,EAAM,SAAS,EAAc,QAAO;AACxC,OAAI,OAAO,EAAM,QAAS,SAAU,QAAO,KAAK,YAAY,EAAM,SAAS;AAC3E,OAAI,EAAM,OAAO,UAAW,QAAO,KAAK,aAAa,EAAM,MAAM,UAAU;GAE3E,IAAM,IAAW,MAAM,QAAQ,EAAM,SAAQ,GAAI,EAAM,WAAW,CAAC,EAAM,SAAS;AAClF,UAAO,EAAE,EAAM,MAAM,EAAM,OAAO,EAAS,KAAI,MAAc,KAAK,aAAa,EAAW,CAAC,CAAC;;EAI9F,kCAAmC;EASnC,YAAa,GAAa;GACxB,IAAM,IAAa,EAAe,EAAY,EACxC,IAAS,EAAW,EAAY,EAEhC,IAAc,CAAC,GAAG,GAAY,GAAG,EAAO;AAE9C,UADI,EAAY,WAAW,IAAU,IAC9B,KAAK,gBAAgB,GAAa,EAAY;;EAExD;CAED,SAAU;EACR,IAAM,IAAqB,KAAK,OAAO,UAAU,KAAK,OAAO,SAAQ,GAAI,EAAE;AAC3E,SAAO,EACL,KAAK,aACL;GACE,WAAW;GACX,OAAO;GACR,EACD,KAAK,mBACD,IACA,EAAmB,KAAI,MAAS,KAAK,aAAa,EAAM,CAAC,CAC9D;;CAEJ"}
1
+ {"version":3,"file":"emoji-text-wrapper.js","names":[],"sources":["../../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h, resolveDynamicComponent } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\nconst COMMENT_TYPE = h(resolveDynamicComponent(null)).type;\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n // Escape the asterisk to avoid breaking the regex for the asterisk emoji\n const escapedReplaceList = replaceList.map(item =>\n item.replace(/\\*/g, '\\\\*'),\n );\n\n const regexp = new RegExp(`(${escapedReplaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (!VNode) return;\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (VNode.type === COMMENT_TYPE) return VNode;\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent () {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"mappings":";;;;;AAMA,IAAM,IAAe,EAAE,EAAwB,KAAK,CAAC,CAAC,MAMjD,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY,EACV,SAAA,GACD;CAED,OAAO;EAIL,aAAa;GACX,MAAM;GACN,SAAS;GACV;EAMD,MAAM;GACJ,MAAM;GACN,SAAS;GACT,YAAY,MAAM,OAAO,KAAK,EAAoB,CAAC,SAAS,EAAE;GAC/D;EACF;CAED,OAAQ;AACN,SAAO,EACL,kBAAkB,IACnB;;CAGH,MAAM,UAAW;AACf,OAAK,mBAAmB;;CAG1B,SAAS;EAKP,gBAAiB,GAAa,GAAa;AACzC,OAAI,CAAC,EAAY,OAAQ,QAAO;GAEhC,IAAM,IAAqB,EAAY,KAAI,MACzC,EAAK,QAAQ,OAAO,MAAM,CAC3B,EAEK,IAAa,OAAO,IAAI,EAAmB,KAAK,IAAI,CAAC,IAAI,IAAI;AAGnE,UAFc,EAAY,MAAM,EAAO,CAGpC,QAAO,MAAQ,EAAK,MAAK,KAAM,GAAE,CACjC,KAAK,MACA,EAAY,SAAS,EAAK,GACrB,EAAE,GAAS;IAAE,MAAM;IAAM,MAAM,KAAK;IAAM,CAAC,GAE7C,EAAE,QAAQ,EAAE,OAAO,8BAA8B,EAAE,EAAK,CAC/D;;EAQN,aAAc,GAAO;AACnB,OAAI,CAAC,EAAO;AACZ,OAAI,OAAO,KAAU,SAAU,QAAO,KAAK,YAAY,EAAM;AAC7D,OAAI,EAAM,SAAS,EAAc,QAAO;AACxC,OAAI,OAAO,EAAM,QAAS,SAAU,QAAO,KAAK,YAAY,EAAM,SAAS;AAC3E,OAAI,EAAM,OAAO,UAAW,QAAO,KAAK,aAAa,EAAM,MAAM,UAAU;GAE3E,IAAM,IAAW,MAAM,QAAQ,EAAM,SAAQ,GAAI,EAAM,WAAW,CAAC,EAAM,SAAS;AAClF,UAAO,EAAE,EAAM,MAAM,EAAM,OAAO,EAAS,KAAI,MAAc,KAAK,aAAa,EAAW,CAAC,CAAC;;EAI9F,kCAAmC;EASnC,YAAa,GAAa;GACxB,IAAM,IAAa,EAAe,EAAY,EACxC,IAAS,EAAW,EAAY,EAEhC,IAAc,CAAC,GAAG,GAAY,GAAG,EAAO;AAE9C,UADI,EAAY,WAAW,IAAU,IAC9B,KAAK,gBAAgB,GAAa,EAAY;;EAExD;CAED,SAAU;EACR,IAAM,IAAqB,KAAK,OAAO,UAAU,KAAK,OAAO,SAAQ,GAAI,EAAE;AAC3E,SAAO,EACL,KAAK,aACL;GACE,WAAW;GACX,OAAO;GACR,EACD,KAAK,mBACD,IACA,EAAmB,KAAI,MAAS,KAAK,aAAa,EAAM,CAAC,CAC9D;;CAEJ"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={sm:`d-empty-state--size-sm`,md:`d-empty-state--size-md`,lg:`d-empty-state--size-lg`},t={sm:`d-empty-state__content--sm`,md:`d-empty-state__content--md`,lg:`d-empty-state__content--lg`},n={sm:`d-headline--md`,md:`d-headline--xl`,lg:`d-headline--xxl`},r={sm:`d-body--sm`,md:`d-body--sm`,lg:`d-body--md`},i={EMPTY_STATE_SIZE_MODIFIERS:e,EMPTY_STATE_CONTENT_SIZE_MODIFIERS:t,EMPTY_STATE_HEADLINE_SIZE_MODIFIERS:n,EMPTY_STATE_BODY_SIZE_MODIFIERS:r};exports.EMPTY_STATE_BODY_SIZE_MODIFIERS=r,exports.EMPTY_STATE_CONTENT_SIZE_MODIFIERS=t,exports.EMPTY_STATE_HEADLINE_SIZE_MODIFIERS=n,exports.EMPTY_STATE_SIZE_MODIFIERS=e,exports.default=i;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={200:`d-empty-state--size-sm`,300:`d-empty-state--size-md`,400:`d-empty-state--size-lg`,sm:`d-empty-state--size-sm`,md:`d-empty-state--size-md`,lg:`d-empty-state--size-lg`},t={200:`d-empty-state__content--sm`,300:`d-empty-state__content--md`,400:`d-empty-state__content--lg`,sm:`d-empty-state__content--sm`,md:`d-empty-state__content--md`,lg:`d-empty-state__content--lg`},n={200:`md`,300:`xl`,400:`2xl`,sm:`md`,md:`xl`,lg:`2xl`},r={200:`200`,300:`200`,400:void 0,sm:`200`,md:`200`,lg:void 0},i={200:`sm`,300:`md`,400:`lg`,sm:`sm`,md:`md`,lg:`lg`},a={200:void 0,300:`300`,400:`300`,sm:void 0,md:`300`,lg:`300`},o={EMPTY_STATE_SIZE_MODIFIERS:e,EMPTY_STATE_CONTENT_SIZE_MODIFIERS:t,EMPTY_STATE_HEADLINE_SIZES:n,EMPTY_STATE_HEADLINE_DENSITIES:r,EMPTY_STATE_BODY_SIZES:i,EMPTY_STATE_BODY_DENSITIES:a};exports.EMPTY_STATE_BODY_DENSITIES=a,exports.EMPTY_STATE_BODY_SIZES=i,exports.EMPTY_STATE_CONTENT_SIZE_MODIFIERS=t,exports.EMPTY_STATE_HEADLINE_DENSITIES=r,exports.EMPTY_STATE_HEADLINE_SIZES=n,exports.EMPTY_STATE_SIZE_MODIFIERS=e,exports.default=o;
2
2
  //# sourceMappingURL=empty-state-constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-constants.cjs","names":[],"sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {\n sm: 'd-empty-state__content--sm',\n md: 'd-empty-state__content--md',\n lg: 'd-empty-state__content--lg',\n};\n\nexport const EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = {\n sm: 'd-headline--md',\n md: 'd-headline--xl',\n lg: 'd-headline--xxl',\n};\n\nexport const EMPTY_STATE_BODY_SIZE_MODIFIERS = {\n sm: 'd-body--sm',\n md: 'd-body--sm',\n lg: 'd-body--md',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,\n EMPTY_STATE_BODY_SIZE_MODIFIERS,\n};\n"],"mappings":"+FAAA,IAAa,EAA6B,CACxC,GAAI,yBACJ,GAAI,yBACJ,GAAI,yBACL,CAEY,EAAqC,CAChD,GAAI,6BACJ,GAAI,6BACJ,GAAI,6BACL,CAEY,EAAsC,CACjD,GAAI,iBACJ,GAAI,iBACJ,GAAI,kBACL,CAEY,EAAkC,CAC7C,GAAI,aACJ,GAAI,aACJ,GAAI,aACL,CAED,EAAe,CACb,6BACA,qCACA,sCACA,kCACD"}
1
+ {"version":3,"file":"empty-state-constants.cjs","names":[],"sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 200: 'd-empty-state--size-sm',\n 300: 'd-empty-state--size-md',\n 400: 'd-empty-state--size-lg',\n // T-shirt aliases (deprecated)\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 200: 'd-empty-state__content--sm',\n 300: 'd-empty-state__content--md',\n 400: 'd-empty-state__content--lg',\n // T-shirt aliases (deprecated)\n sm: 'd-empty-state__content--sm',\n md: 'd-empty-state__content--md',\n lg: 'd-empty-state__content--lg',\n};\n\nexport const EMPTY_STATE_HEADLINE_SIZES = {\n // Numeric (preferred)\n 200: 'md',\n 300: 'xl',\n 400: '2xl',\n // T-shirt aliases (deprecated)\n sm: 'md',\n md: 'xl',\n lg: '2xl',\n};\n\nexport const EMPTY_STATE_HEADLINE_DENSITIES = {\n // Numeric (preferred)\n 200: '200',\n 300: '200',\n 400: undefined,\n // T-shirt aliases (deprecated)\n sm: '200',\n md: '200',\n lg: undefined,\n};\n\nexport const EMPTY_STATE_BODY_SIZES = {\n // Numeric (preferred)\n 200: 'sm',\n 300: 'md',\n 400: 'lg',\n // T-shirt aliases (deprecated)\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\nexport const EMPTY_STATE_BODY_DENSITIES = {\n // Numeric (preferred)\n 200: undefined,\n 300: '300',\n 400: '300',\n // T-shirt aliases (deprecated)\n sm: undefined,\n md: '300',\n lg: '300',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZES,\n EMPTY_STATE_HEADLINE_DENSITIES,\n EMPTY_STATE_BODY_SIZES,\n EMPTY_STATE_BODY_DENSITIES,\n};\n"],"mappings":"+FAAA,IAAa,EAA6B,CAExC,IAAK,yBACL,IAAK,yBACL,IAAK,yBAEL,GAAI,yBACJ,GAAI,yBACJ,GAAI,yBACL,CAEY,EAAqC,CAEhD,IAAK,6BACL,IAAK,6BACL,IAAK,6BAEL,GAAI,6BACJ,GAAI,6BACJ,GAAI,6BACL,CAEY,EAA6B,CAExC,IAAK,KACL,IAAK,KACL,IAAK,MAEL,GAAI,KACJ,GAAI,KACJ,GAAI,MACL,CAEY,EAAiC,CAE5C,IAAK,MACL,IAAK,MACL,IAAK,IAAA,GAEL,GAAI,MACJ,GAAI,MACJ,GAAI,IAAA,GACL,CAEY,EAAyB,CAEpC,IAAK,KACL,IAAK,KACL,IAAK,KAEL,GAAI,KACJ,GAAI,KACJ,GAAI,KACL,CAEY,EAA6B,CAExC,IAAK,IAAA,GACL,IAAK,MACL,IAAK,MAEL,GAAI,IAAA,GACJ,GAAI,MACJ,GAAI,MACL,CAED,EAAe,CACb,6BACA,qCACA,6BACA,iCACA,yBACA,6BACD"}