@dialpad/dialtone-vue 3.218.2 → 3.218.4

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 (2102) hide show
  1. package/dist/_plugin-vue_export-helper-BTgDAbhb.js +8 -0
  2. package/dist/_plugin-vue_export-helper-D8jCH6HB.cjs +1 -0
  3. package/dist/attachment_carousel-DMKCJe7S.cjs +2 -0
  4. package/dist/attachment_carousel-DMKCJe7S.cjs.map +1 -0
  5. package/dist/attachment_carousel-gV6IHYgP.js +191 -0
  6. package/dist/attachment_carousel-gV6IHYgP.js.map +1 -0
  7. package/dist/chunk-Bmb41Sf3.cjs +1 -0
  8. package/dist/combobox-DgClbLOg.js +229 -0
  9. package/dist/combobox-DgClbLOg.js.map +1 -0
  10. package/dist/combobox-DhjZxfUw.cjs +3 -0
  11. package/dist/combobox-DhjZxfUw.cjs.map +1 -0
  12. package/dist/common/config/index.cjs +2 -2
  13. package/dist/common/config/index.cjs.map +1 -1
  14. package/dist/common/config/index.d.ts.map +1 -0
  15. package/dist/common/config/index.js +7 -7
  16. package/dist/common/config/index.js.map +1 -1
  17. package/dist/common/constants/index.cjs +2 -2
  18. package/dist/common/constants/index.cjs.map +1 -1
  19. package/dist/common/constants/index.d.ts.map +1 -0
  20. package/dist/common/constants/index.js +45 -51
  21. package/dist/common/constants/index.js.map +1 -1
  22. package/dist/common/dates/index.cjs +2 -2
  23. package/dist/common/dates/index.cjs.map +1 -1
  24. package/dist/common/dates/index.d.ts.map +1 -0
  25. package/dist/common/dates/index.js +35 -46
  26. package/dist/common/dates/index.js.map +1 -1
  27. package/dist/common/emoji/index.cjs +2 -2
  28. package/dist/common/emoji/index.cjs.map +1 -1
  29. package/dist/common/emoji/index.d.ts.map +1 -0
  30. package/dist/common/emoji/index.js +86 -123
  31. package/dist/common/emoji/index.js.map +1 -1
  32. package/dist/common/mixins/dom.cjs +2 -2
  33. package/dist/common/mixins/dom.cjs.map +1 -1
  34. package/dist/common/mixins/dom.d.ts.map +1 -0
  35. package/dist/common/mixins/dom.js +65 -77
  36. package/dist/common/mixins/dom.js.map +1 -1
  37. package/dist/common/mixins/index.cjs +1 -2
  38. package/dist/common/mixins/index.d.ts.map +1 -0
  39. package/dist/common/mixins/index.js +7 -17
  40. package/dist/common/mixins/input-group.cjs +2 -2
  41. package/dist/common/mixins/input-group.cjs.map +1 -1
  42. package/dist/common/mixins/input-group.js +111 -153
  43. package/dist/common/mixins/input-group.js.map +1 -1
  44. package/dist/common/mixins/input.cjs +2 -2
  45. package/dist/common/mixins/input.cjs.map +1 -1
  46. package/dist/common/mixins/input.d.ts.map +1 -0
  47. package/dist/common/mixins/input.js +218 -281
  48. package/dist/common/mixins/input.js.map +1 -1
  49. package/dist/common/mixins/input_group.d.ts.map +1 -0
  50. package/dist/common/mixins/keyboard-list-navigation.cjs +2 -2
  51. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  52. package/dist/common/mixins/keyboard-list-navigation.js +87 -126
  53. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  54. package/dist/common/mixins/keyboard_list_navigation.d.ts.map +1 -0
  55. package/dist/common/mixins/modal.cjs +2 -2
  56. package/dist/common/mixins/modal.cjs.map +1 -1
  57. package/dist/common/mixins/modal.d.ts.map +1 -0
  58. package/dist/common/mixins/modal.js +46 -83
  59. package/dist/common/mixins/modal.js.map +1 -1
  60. package/dist/common/mixins/skeleton.cjs +2 -2
  61. package/dist/common/mixins/skeleton.cjs.map +1 -1
  62. package/dist/common/mixins/skeleton.d.ts.map +1 -0
  63. package/dist/common/mixins/skeleton.js +20 -23
  64. package/dist/common/mixins/skeleton.js.map +1 -1
  65. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -0
  66. package/dist/common/test-utils/node-traversal.cjs +2 -2
  67. package/dist/common/test-utils/node-traversal.cjs.map +1 -1
  68. package/dist/common/test-utils/node-traversal.js +40 -53
  69. package/dist/common/test-utils/node-traversal.js.map +1 -1
  70. package/dist/common/test_utils/node_traversal.d.ts.map +1 -0
  71. package/dist/common/utils/index.cjs +2 -2
  72. package/dist/common/utils/index.cjs.map +1 -1
  73. package/dist/common/utils/index.d.ts.map +1 -0
  74. package/dist/common/utils/index.js +147 -210
  75. package/dist/common/utils/index.js.map +1 -1
  76. package/dist/common/validators/index.cjs +2 -2
  77. package/dist/common/validators/index.cjs.map +1 -1
  78. package/dist/common/validators/index.d.ts.map +1 -0
  79. package/dist/common/validators/index.js +9 -11
  80. package/dist/common/validators/index.js.map +1 -1
  81. package/dist/components/avatar/avatar.vue.d.ts.map +1 -0
  82. package/dist/components/avatar/avatar_constants.d.ts.map +1 -0
  83. package/dist/components/avatar/index.d.ts.map +1 -0
  84. package/dist/components/avatar/utils.d.ts.map +1 -0
  85. package/dist/components/badge/badge.vue.d.ts.map +1 -0
  86. package/dist/components/badge/badge_constants.d.ts.map +1 -0
  87. package/dist/components/badge/index.d.ts.map +1 -0
  88. package/dist/components/banner/banner.vue.d.ts.map +1 -0
  89. package/dist/components/banner/index.d.ts.map +1 -0
  90. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -0
  91. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -0
  92. package/dist/components/breadcrumbs/breadcrumbs_constants.d.ts.map +1 -0
  93. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  94. package/dist/components/button/button.vue.d.ts.map +1 -0
  95. package/dist/components/button/button_constants.d.ts.map +1 -0
  96. package/dist/components/button/index.d.ts.map +1 -0
  97. package/dist/components/button_group/button_group.vue.d.ts.map +1 -0
  98. package/dist/components/button_group/button_group_constants.d.ts.map +1 -0
  99. package/dist/components/button_group/index.d.ts.map +1 -0
  100. package/dist/components/card/card.vue.d.ts.map +1 -0
  101. package/dist/components/card/index.d.ts.map +1 -0
  102. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -0
  103. package/dist/components/checkbox/checkbox_constants.d.ts.map +1 -0
  104. package/dist/components/checkbox/index.d.ts.map +1 -0
  105. package/dist/components/checkbox_group/checkbox_group.vue.d.ts.map +1 -0
  106. package/dist/components/checkbox_group/index.d.ts.map +1 -0
  107. package/dist/components/chip/chip.vue.d.ts.map +1 -0
  108. package/dist/components/chip/chip_constants.d.ts.map +1 -0
  109. package/dist/components/chip/index.d.ts.map +1 -0
  110. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -0
  111. package/dist/components/codeblock/index.d.ts.map +1 -0
  112. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -0
  113. package/dist/components/collapsible/collapsible_lazy_show.vue.d.ts.map +1 -0
  114. package/dist/components/collapsible/index.d.ts.map +1 -0
  115. package/dist/components/combobox/combobox.vue.d.ts.map +1 -0
  116. package/dist/components/combobox/combobox_constants.d.ts.map +1 -0
  117. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -0
  118. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -0
  119. package/dist/components/combobox/index.d.ts.map +1 -0
  120. package/dist/components/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -0
  121. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -0
  122. package/dist/components/combobox_multi_select/combobox_multi_select_story_constants.d.ts.map +1 -0
  123. package/dist/components/combobox_multi_select/index.d.ts.map +1 -0
  124. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -0
  125. package/dist/components/combobox_with_popover/index.d.ts.map +1 -0
  126. package/dist/components/datepicker/composables/useCalendar.d.ts.map +1 -0
  127. package/dist/components/datepicker/composables/useMonthYearPicker.d.ts.map +1 -0
  128. package/dist/components/datepicker/datepicker.vue.d.ts.map +1 -0
  129. package/dist/components/datepicker/datepicker_constants.d.ts.map +1 -0
  130. package/dist/components/datepicker/formatUtils.d.ts.map +1 -0
  131. package/dist/components/datepicker/index.d.ts.map +1 -0
  132. package/dist/components/datepicker/modules/calendar.vue.d.ts.map +1 -0
  133. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -0
  134. package/dist/components/datepicker/utils.d.ts.map +1 -0
  135. package/dist/components/description_list/description_list.vue.d.ts.map +1 -0
  136. package/dist/components/description_list/description_list_constants.d.ts.map +1 -0
  137. package/dist/components/description_list/description_list_validators.d.ts.map +1 -0
  138. package/dist/components/description_list/index.d.ts.map +1 -0
  139. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -0
  140. package/dist/components/dropdown/dropdown_constants.d.ts.map +1 -0
  141. package/dist/components/dropdown/dropdown_separator.vue.d.ts.map +1 -0
  142. package/dist/components/dropdown/dropdown_story_constants.d.ts.map +1 -0
  143. package/dist/components/dropdown/index.d.ts.map +1 -0
  144. package/dist/components/emoji/emoji.vue.d.ts.map +1 -0
  145. package/dist/components/emoji/index.d.ts.map +1 -0
  146. package/dist/components/emoji_picker/composables/useKeyboardNavigation.d.ts.map +1 -0
  147. package/dist/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -0
  148. package/dist/components/emoji_picker/emoji_picker_constants.d.ts.map +1 -0
  149. package/dist/components/emoji_picker/index.d.ts.map +1 -0
  150. package/dist/components/emoji_picker/modules/emoji_description.vue.d.ts.map +1 -0
  151. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -0
  152. package/dist/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -0
  153. package/dist/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -0
  154. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -0
  155. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -0
  156. package/dist/components/emoji_text_wrapper/index.d.ts.map +1 -0
  157. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -0
  158. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -0
  159. package/dist/components/empty_state/index.d.ts.map +1 -0
  160. package/dist/components/eslint.config.d.ts.map +1 -0
  161. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -0
  162. package/dist/components/hovercard/index.d.ts.map +1 -0
  163. package/dist/components/icon/icon.vue.d.ts.map +1 -0
  164. package/dist/components/icon/icon_constants.d.ts.map +1 -0
  165. package/dist/components/icon/index.d.ts.map +1 -0
  166. package/dist/components/illustration/illustration.vue.d.ts.map +1 -0
  167. package/dist/components/illustration/illustration_constants.d.ts.map +1 -0
  168. package/dist/components/illustration/index.d.ts.map +1 -0
  169. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -0
  170. package/dist/components/image_viewer/index.d.ts.map +1 -0
  171. package/dist/components/input/index.d.ts.map +1 -0
  172. package/dist/components/input/input.vue.d.ts.map +1 -0
  173. package/dist/components/input/input_constants.d.ts.map +1 -0
  174. package/dist/components/input_group/index.d.ts.map +1 -0
  175. package/dist/components/input_group/input_group.vue.d.ts.map +1 -0
  176. package/dist/components/item_layout/index.d.ts.map +1 -0
  177. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -0
  178. package/dist/components/keyboard_shortcut/index.d.ts.map +1 -0
  179. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -0
  180. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +1 -0
  181. package/dist/components/lazy_show/index.d.ts.map +1 -0
  182. package/dist/components/lazy_show/lazy_show.vue.d.ts.map +1 -0
  183. package/dist/components/link/index.d.ts.map +1 -0
  184. package/dist/components/link/link.vue.d.ts.map +1 -0
  185. package/dist/components/link/link_constants.d.ts.map +1 -0
  186. package/dist/components/list_item/index.d.ts.map +1 -0
  187. package/dist/components/list_item/list_item.vue.d.ts.map +1 -0
  188. package/dist/components/list_item/list_item_constants.d.ts.map +1 -0
  189. package/dist/components/list_item_group/index.d.ts.map +1 -0
  190. package/dist/components/list_item_group/list_item_group.vue.d.ts.map +1 -0
  191. package/dist/components/list_item_group/list_item_group_constants.d.ts.map +1 -0
  192. package/dist/components/loader/index.d.ts.map +1 -0
  193. package/dist/components/loader/loader.vue.d.ts.map +1 -0
  194. package/dist/components/modal/index.d.ts.map +1 -0
  195. package/dist/components/modal/modal.vue.d.ts.map +1 -0
  196. package/dist/components/modal/modal_constants.d.ts.map +1 -0
  197. package/dist/components/motion_text/index.d.ts.map +1 -0
  198. package/dist/components/motion_text/motion_text.vue.d.ts.map +1 -0
  199. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -0
  200. package/dist/components/notice/index.d.ts.map +1 -0
  201. package/dist/components/notice/notice.vue.d.ts.map +1 -0
  202. package/dist/components/notice/notice_action.vue.d.ts.map +1 -0
  203. package/dist/components/notice/notice_constants.d.ts.map +1 -0
  204. package/dist/components/notice/notice_content.vue.d.ts.map +1 -0
  205. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -0
  206. package/dist/components/pagination/index.d.ts.map +1 -0
  207. package/dist/components/pagination/pagination.vue.d.ts.map +1 -0
  208. package/dist/components/popover/index.d.ts.map +1 -0
  209. package/dist/components/popover/popover.vue.d.ts.map +1 -0
  210. package/dist/components/popover/popover_constants.d.ts.map +1 -0
  211. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -0
  212. package/dist/components/popover/tippy_utils.d.ts.map +1 -0
  213. package/dist/components/presence/index.d.ts.map +1 -0
  214. package/dist/components/presence/presence.vue.d.ts.map +1 -0
  215. package/dist/components/presence/presence_constants.d.ts.map +1 -0
  216. package/dist/components/progress_circle/index.d.ts.map +1 -0
  217. package/dist/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  218. package/dist/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  219. package/dist/components/radio/index.d.ts.map +1 -0
  220. package/dist/components/radio/radio.vue.d.ts.map +1 -0
  221. package/dist/components/radio/radio_constants.d.ts.map +1 -0
  222. package/dist/components/radio_group/index.d.ts.map +1 -0
  223. package/dist/components/radio_group/radio_group.vue.d.ts.map +1 -0
  224. package/dist/components/rich_text_editor/channel_suggestion.d.ts.map +1 -0
  225. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -0
  226. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -0
  227. package/dist/components/rich_text_editor/extensions/channels/channel.d.ts.map +1 -0
  228. package/dist/components/rich_text_editor/extensions/channels/suggestion.d.ts.map +1 -0
  229. package/dist/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +1 -0
  230. package/dist/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -0
  231. package/dist/components/rich_text_editor/extensions/custom_link/index.d.ts.map +1 -0
  232. package/dist/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +1 -0
  233. package/dist/components/rich_text_editor/extensions/div/div.d.ts.map +1 -0
  234. package/dist/components/rich_text_editor/extensions/div/index.d.ts.map +1 -0
  235. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts.map +1 -0
  236. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts.map +1 -0
  237. package/dist/components/rich_text_editor/extensions/emoji/emoji.d.ts.map +1 -0
  238. package/dist/components/rich_text_editor/extensions/emoji/index.d.ts.map +1 -0
  239. package/dist/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +1 -0
  240. package/dist/components/rich_text_editor/extensions/image/image.d.ts.map +1 -0
  241. package/dist/components/rich_text_editor/extensions/image/index.d.ts.map +1 -0
  242. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +1 -0
  243. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -0
  244. package/dist/components/rich_text_editor/extensions/mentions/mention.d.ts.map +1 -0
  245. package/dist/components/rich_text_editor/extensions/mentions/suggestion.d.ts.map +1 -0
  246. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +1 -0
  247. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -0
  248. package/dist/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -0
  249. package/dist/components/rich_text_editor/extensions/slash_command/suggestion.d.ts.map +1 -0
  250. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -0
  251. package/dist/components/rich_text_editor/extensions/table/table.d.ts.map +1 -0
  252. package/dist/components/rich_text_editor/extensions/text_style/text_style.d.ts.map +1 -0
  253. package/dist/components/rich_text_editor/extensions/utils/suggestion_utils.d.ts.map +1 -0
  254. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -0
  255. package/dist/components/rich_text_editor/extensions/variable/index.d.ts.map +1 -0
  256. package/dist/components/rich_text_editor/extensions/variable/variable.d.ts.map +1 -0
  257. package/dist/components/rich_text_editor/index.d.ts.map +1 -0
  258. package/dist/components/rich_text_editor/markdownRenderer.d.ts +2 -0
  259. package/dist/components/rich_text_editor/markdownRenderer.d.ts.map +1 -0
  260. package/dist/components/rich_text_editor/mention_suggestion.d.ts.map +1 -0
  261. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +863 -0
  262. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -0
  263. package/dist/components/rich_text_editor/rich_text_editor_constants.d.ts.map +1 -0
  264. package/dist/components/rich_text_editor/slash_command_suggestion.d.ts.map +1 -0
  265. package/dist/components/root_layout/index.d.ts.map +1 -0
  266. package/dist/components/root_layout/root_layout.vue.d.ts.map +1 -0
  267. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -0
  268. package/dist/components/scroller/index.d.ts.map +1 -0
  269. package/dist/components/scroller/modules/core_scroller.vue.d.ts.map +1 -0
  270. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts.map +1 -0
  271. package/dist/components/scroller/modules/scroller_item.vue.d.ts.map +1 -0
  272. package/dist/components/scroller/scroller.vue.d.ts.map +1 -0
  273. package/dist/components/select_menu/index.d.ts.map +1 -0
  274. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -0
  275. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -0
  276. package/dist/components/select_menu/select_menu_validators.d.ts.map +1 -0
  277. package/dist/components/skeleton/index.d.ts.map +1 -0
  278. package/dist/components/skeleton/skeleton-list-item.vue.d.ts.map +1 -0
  279. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts.map +1 -0
  280. package/dist/components/skeleton/skeleton-shape.vue.d.ts.map +1 -0
  281. package/dist/components/skeleton/skeleton-text.vue.d.ts.map +1 -0
  282. package/dist/components/skeleton/skeleton.vue.d.ts.map +1 -0
  283. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -0
  284. package/dist/components/split_button/index.d.ts.map +1 -0
  285. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +1 -0
  286. package/dist/components/split_button/split_button-omega.vue.d.ts.map +1 -0
  287. package/dist/components/split_button/split_button.vue.d.ts.map +1 -0
  288. package/dist/components/split_button/split_button_constants.d.ts.map +1 -0
  289. package/dist/components/stack/index.d.ts.map +1 -0
  290. package/dist/components/stack/stack.vue.d.ts.map +1 -0
  291. package/dist/components/stack/stack_constants.d.ts.map +1 -0
  292. package/dist/components/stack/utils.d.ts.map +1 -0
  293. package/dist/components/stack/validators.d.ts.map +1 -0
  294. package/dist/components/tab/index.d.ts.map +1 -0
  295. package/dist/components/tab/tab.vue.d.ts.map +1 -0
  296. package/dist/components/tab/tab_group.vue.d.ts.map +1 -0
  297. package/dist/components/tab/tab_panel.vue.d.ts.map +1 -0
  298. package/dist/components/tab/tabs_constants.d.ts.map +1 -0
  299. package/dist/components/toast/index.d.ts.map +1 -0
  300. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -0
  301. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -0
  302. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -0
  303. package/dist/components/toast/toast.vue.d.ts.map +1 -0
  304. package/dist/components/toast/toast_constants.d.ts.map +1 -0
  305. package/dist/components/toggle/index.d.ts.map +1 -0
  306. package/dist/components/toggle/toggle.vue.d.ts.map +1 -0
  307. package/dist/components/toggle/toggle_constants.d.ts.map +1 -0
  308. package/dist/components/tooltip/index.d.ts.map +1 -0
  309. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -0
  310. package/dist/components/tooltip/tooltip_constants.d.ts.map +1 -0
  311. package/dist/components/validation_messages/index.d.ts.map +1 -0
  312. package/dist/components/validation_messages/validation_messages.vue.d.ts.map +1 -0
  313. package/dist/datepicker-DprRX9AH.cjs +2 -0
  314. package/dist/datepicker-DprRX9AH.cjs.map +1 -0
  315. package/dist/datepicker-LVDRC6Lf.js +488 -0
  316. package/dist/datepicker-LVDRC6Lf.js.map +1 -0
  317. package/dist/dialtone-vue.cjs +1 -2
  318. package/dist/dialtone-vue.css +2 -0
  319. package/dist/dialtone-vue.js +195 -455
  320. package/dist/directives/scrollbar_directive/index.d.ts.map +1 -0
  321. package/dist/directives/scrollbar_directive/scrollbar.d.ts.map +1 -0
  322. package/dist/directives/tooltip_directive/index.d.ts.map +1 -0
  323. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -0
  324. package/dist/emoji_picker-Cl-T4BXK.cjs +2 -0
  325. package/dist/emoji_picker-Cl-T4BXK.cjs.map +1 -0
  326. package/dist/emoji_picker-tVHfpHDk.js +857 -0
  327. package/dist/emoji_picker-tVHfpHDk.js.map +1 -0
  328. package/dist/index.d.ts.map +1 -0
  329. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -2
  330. package/dist/lib/attachment-carousel/attachment-carousel.js +2 -239
  331. package/dist/lib/attachment-carousel/index.cjs +1 -2
  332. package/dist/lib/attachment-carousel/index.js +2 -5
  333. package/dist/lib/avatar/avatar-constants.cjs +2 -2
  334. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  335. package/dist/lib/avatar/avatar-constants.js +57 -64
  336. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  337. package/dist/lib/avatar/avatar.cjs +2 -2
  338. package/dist/lib/avatar/avatar.cjs.map +1 -1
  339. package/dist/lib/avatar/avatar.js +288 -348
  340. package/dist/lib/avatar/avatar.js.map +1 -1
  341. package/dist/lib/avatar/index.cjs +1 -2
  342. package/dist/lib/avatar/index.js +3 -14
  343. package/dist/lib/avatar/utils.cjs +2 -2
  344. package/dist/lib/avatar/utils.cjs.map +1 -1
  345. package/dist/lib/avatar/utils.js +10 -9
  346. package/dist/lib/avatar/utils.js.map +1 -1
  347. package/dist/lib/badge/badge-constants.cjs +2 -2
  348. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  349. package/dist/lib/badge/badge-constants.js +39 -40
  350. package/dist/lib/badge/badge-constants.js.map +1 -1
  351. package/dist/lib/badge/badge.cjs +2 -2
  352. package/dist/lib/badge/badge.cjs.map +1 -1
  353. package/dist/lib/badge/badge.js +114 -151
  354. package/dist/lib/badge/badge.js.map +1 -1
  355. package/dist/lib/badge/index.cjs +1 -2
  356. package/dist/lib/badge/index.js +3 -9
  357. package/dist/lib/banner/banner.cjs +3 -3
  358. package/dist/lib/banner/banner.cjs.map +1 -1
  359. package/dist/lib/banner/banner.js +157 -216
  360. package/dist/lib/banner/banner.js.map +1 -1
  361. package/dist/lib/banner/index.cjs +1 -2
  362. package/dist/lib/banner/index.js +2 -5
  363. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +2 -2
  364. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  365. package/dist/lib/breadcrumbs/breadcrumb-item.js +78 -93
  366. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  367. package/dist/lib/breadcrumbs/breadcrumbs-constants.cjs +2 -2
  368. package/dist/lib/breadcrumbs/breadcrumbs-constants.cjs.map +1 -1
  369. package/dist/lib/breadcrumbs/breadcrumbs-constants.js +6 -6
  370. package/dist/lib/breadcrumbs/breadcrumbs-constants.js.map +1 -1
  371. package/dist/lib/breadcrumbs/breadcrumbs.cjs +2 -2
  372. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  373. package/dist/lib/breadcrumbs/breadcrumbs.js +53 -75
  374. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  375. package/dist/lib/breadcrumbs/index.cjs +1 -2
  376. package/dist/lib/breadcrumbs/index.js +4 -10
  377. package/dist/lib/button/button-constants.cjs +6 -2
  378. package/dist/lib/button/button-constants.cjs.map +1 -1
  379. package/dist/lib/button/button-constants.js +76 -75
  380. package/dist/lib/button/button-constants.js.map +1 -1
  381. package/dist/lib/button/button.cjs +2 -2
  382. package/dist/lib/button/button.cjs.map +1 -1
  383. package/dist/lib/button/button.js +261 -363
  384. package/dist/lib/button/button.js.map +1 -1
  385. package/dist/lib/button/index.cjs +1 -2
  386. package/dist/lib/button/index.js +3 -13
  387. package/dist/lib/button-group/button-group-constants.cjs +2 -2
  388. package/dist/lib/button-group/button-group-constants.cjs.map +1 -1
  389. package/dist/lib/button-group/button-group-constants.js +9 -8
  390. package/dist/lib/button-group/button-group-constants.js.map +1 -1
  391. package/dist/lib/button-group/button-group.cjs +2 -2
  392. package/dist/lib/button-group/button-group.cjs.map +1 -1
  393. package/dist/lib/button-group/button-group.js +25 -36
  394. package/dist/lib/button-group/button-group.js.map +1 -1
  395. package/dist/lib/button-group/buttons-decorator.cjs +2 -2
  396. package/dist/lib/button-group/buttons-decorator.cjs.map +1 -1
  397. package/dist/lib/button-group/buttons-decorator.js +22 -28
  398. package/dist/lib/button-group/buttons-decorator.js.map +1 -1
  399. package/dist/lib/button-group/index.cjs +1 -2
  400. package/dist/lib/button-group/index.js +3 -7
  401. package/dist/lib/callbar-button/callbar-button-constants.cjs +2 -2
  402. package/dist/lib/callbar-button/callbar-button-constants.cjs.map +1 -1
  403. package/dist/lib/callbar-button/callbar-button-constants.js +11 -8
  404. package/dist/lib/callbar-button/callbar-button-constants.js.map +1 -1
  405. package/dist/lib/callbar-button/callbar-button.cjs +2 -2
  406. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  407. package/dist/lib/callbar-button/callbar-button.js +167 -228
  408. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  409. package/dist/lib/callbar-button/index.cjs +1 -2
  410. package/dist/lib/callbar-button/index.js +3 -7
  411. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +2 -2
  412. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  413. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +222 -296
  414. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  415. package/dist/lib/callbar-button-with-dropdown/index.cjs +1 -2
  416. package/dist/lib/callbar-button-with-dropdown/index.js +2 -5
  417. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +2 -2
  418. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  419. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +258 -345
  420. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  421. package/dist/lib/callbar-button-with-popover/index.cjs +1 -2
  422. package/dist/lib/callbar-button-with-popover/index.js +2 -5
  423. package/dist/lib/callbox/callbox-constants.cjs +2 -2
  424. package/dist/lib/callbox/callbox-constants.cjs.map +1 -1
  425. package/dist/lib/callbox/callbox-constants.js +12 -15
  426. package/dist/lib/callbox/callbox-constants.js.map +1 -1
  427. package/dist/lib/callbox/callbox.cjs +2 -2
  428. package/dist/lib/callbox/callbox.cjs.map +1 -1
  429. package/dist/lib/callbox/callbox.js +149 -202
  430. package/dist/lib/callbox/callbox.js.map +1 -1
  431. package/dist/lib/callbox/index.cjs +1 -2
  432. package/dist/lib/callbox/index.js +3 -8
  433. package/dist/lib/card/card.cjs +2 -2
  434. package/dist/lib/card/card.cjs.map +1 -1
  435. package/dist/lib/card/card.js +71 -90
  436. package/dist/lib/card/card.js.map +1 -1
  437. package/dist/lib/card/index.cjs +1 -2
  438. package/dist/lib/card/index.js +2 -5
  439. package/dist/lib/checkbox/checkbox-constants.cjs +2 -2
  440. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  441. package/dist/lib/checkbox/checkbox-constants.js +10 -12
  442. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  443. package/dist/lib/checkbox/checkbox.cjs +2 -2
  444. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  445. package/dist/lib/checkbox/checkbox.js +109 -143
  446. package/dist/lib/checkbox/checkbox.js.map +1 -1
  447. package/dist/lib/checkbox/index.cjs +1 -2
  448. package/dist/lib/checkbox/index.js +2 -5
  449. package/dist/lib/checkbox-group/checkbox-group.cjs +2 -2
  450. package/dist/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  451. package/dist/lib/checkbox-group/checkbox-group.js +59 -103
  452. package/dist/lib/checkbox-group/checkbox-group.js.map +1 -1
  453. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +2 -2
  454. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  455. package/dist/lib/checkbox-group/checkboxes-decorator.js +39 -32
  456. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  457. package/dist/lib/checkbox-group/index.cjs +1 -2
  458. package/dist/lib/checkbox-group/index.js +2 -5
  459. package/dist/lib/chip/chip-constants.cjs +2 -2
  460. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  461. package/dist/lib/chip/chip-constants.js +21 -23
  462. package/dist/lib/chip/chip-constants.js.map +1 -1
  463. package/dist/lib/chip/chip.cjs +2 -2
  464. package/dist/lib/chip/chip.cjs.map +1 -1
  465. package/dist/lib/chip/chip.js +173 -218
  466. package/dist/lib/chip/chip.js.map +1 -1
  467. package/dist/lib/chip/index.cjs +1 -2
  468. package/dist/lib/chip/index.js +3 -9
  469. package/dist/lib/codeblock/codeblock.cjs +3 -3
  470. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  471. package/dist/lib/codeblock/codeblock.js +22 -24
  472. package/dist/lib/codeblock/codeblock.js.map +1 -1
  473. package/dist/lib/codeblock/index.cjs +1 -2
  474. package/dist/lib/codeblock/index.js +2 -5
  475. package/dist/lib/collapsible/collapsible-lazy-show.cjs +2 -2
  476. package/dist/lib/collapsible/collapsible-lazy-show.cjs.map +1 -1
  477. package/dist/lib/collapsible/collapsible-lazy-show.js +95 -142
  478. package/dist/lib/collapsible/collapsible-lazy-show.js.map +1 -1
  479. package/dist/lib/collapsible/collapsible.cjs +2 -2
  480. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  481. package/dist/lib/collapsible/collapsible.js +191 -240
  482. package/dist/lib/collapsible/collapsible.js.map +1 -1
  483. package/dist/lib/collapsible/index.cjs +1 -2
  484. package/dist/lib/collapsible/index.js +2 -5
  485. package/dist/lib/combobox/combobox-constants.cjs +2 -2
  486. package/dist/lib/combobox/combobox-constants.cjs.map +1 -1
  487. package/dist/lib/combobox/combobox-constants.js +12 -14
  488. package/dist/lib/combobox/combobox-constants.js.map +1 -1
  489. package/dist/lib/combobox/combobox-empty-list.cjs +2 -2
  490. package/dist/lib/combobox/combobox-empty-list.cjs.map +1 -1
  491. package/dist/lib/combobox/combobox-empty-list.js +39 -48
  492. package/dist/lib/combobox/combobox-empty-list.js.map +1 -1
  493. package/dist/lib/combobox/combobox-loading-list.cjs +2 -2
  494. package/dist/lib/combobox/combobox-loading-list.cjs.map +1 -1
  495. package/dist/lib/combobox/combobox-loading-list.js +32 -32
  496. package/dist/lib/combobox/combobox-loading-list.js.map +1 -1
  497. package/dist/lib/combobox/combobox.cjs +1 -3
  498. package/dist/lib/combobox/combobox.js +2 -323
  499. package/dist/lib/combobox/index.cjs +1 -2
  500. package/dist/lib/combobox/index.js +3 -7
  501. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +2 -2
  502. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  503. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +20 -23
  504. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  505. package/dist/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs +2 -2
  506. package/dist/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs.map +1 -1
  507. package/dist/lib/combobox-multi-select/combobox-multi-select-story-constants.js +116 -27
  508. package/dist/lib/combobox-multi-select/combobox-multi-select-story-constants.js.map +1 -1
  509. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +2 -2
  510. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  511. package/dist/lib/combobox-multi-select/combobox-multi-select.js +443 -597
  512. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  513. package/dist/lib/combobox-multi-select/index.cjs +1 -2
  514. package/dist/lib/combobox-multi-select/index.js +3 -10
  515. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +2 -2
  516. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  517. package/dist/lib/combobox-with-popover/combobox-with-popover.js +292 -396
  518. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  519. package/dist/lib/combobox-with-popover/index.cjs +1 -2
  520. package/dist/lib/combobox-with-popover/index.js +2 -6
  521. package/dist/lib/contact-centers-row/contact-centers-row.cjs +2 -2
  522. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  523. package/dist/lib/contact-centers-row/contact-centers-row.js +156 -221
  524. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  525. package/dist/lib/contact-centers-row/index.cjs +1 -2
  526. package/dist/lib/contact-centers-row/index.js +2 -5
  527. package/dist/lib/contact-info/contact-info.cjs +2 -2
  528. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  529. package/dist/lib/contact-info/contact-info.js +156 -223
  530. package/dist/lib/contact-info/contact-info.js.map +1 -1
  531. package/dist/lib/contact-info/index.cjs +1 -2
  532. package/dist/lib/contact-info/index.js +2 -5
  533. package/dist/lib/contact-row/contact-row.cjs +2 -2
  534. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  535. package/dist/lib/contact-row/contact-row.js +163 -218
  536. package/dist/lib/contact-row/contact-row.js.map +1 -1
  537. package/dist/lib/contact-row/index.cjs +1 -2
  538. package/dist/lib/contact-row/index.js +2 -5
  539. package/dist/lib/datepicker/datepicker-constants.cjs +2 -2
  540. package/dist/lib/datepicker/datepicker-constants.cjs.map +1 -1
  541. package/dist/lib/datepicker/datepicker-constants.js +6 -6
  542. package/dist/lib/datepicker/datepicker-constants.js.map +1 -1
  543. package/dist/lib/datepicker/datepicker.cjs +1 -2
  544. package/dist/lib/datepicker/datepicker.js +2 -646
  545. package/dist/lib/datepicker/formatUtils.cjs +2 -2
  546. package/dist/lib/datepicker/formatUtils.cjs.map +1 -1
  547. package/dist/lib/datepicker/formatUtils.js +49 -28
  548. package/dist/lib/datepicker/formatUtils.js.map +1 -1
  549. package/dist/lib/datepicker/index.cjs +1 -2
  550. package/dist/lib/datepicker/index.js +3 -11
  551. package/dist/lib/datepicker/utils.cjs +2 -2
  552. package/dist/lib/datepicker/utils.cjs.map +1 -1
  553. package/dist/lib/datepicker/utils.js +48 -48
  554. package/dist/lib/datepicker/utils.js.map +1 -1
  555. package/dist/lib/description-list/description-list-constants.cjs +2 -2
  556. package/dist/lib/description-list/description-list-constants.cjs.map +1 -1
  557. package/dist/lib/description-list/description-list-constants.js +6 -5
  558. package/dist/lib/description-list/description-list-constants.js.map +1 -1
  559. package/dist/lib/description-list/description-list-validators.cjs +2 -2
  560. package/dist/lib/description-list/description-list-validators.cjs.map +1 -1
  561. package/dist/lib/description-list/description-list-validators.js +6 -5
  562. package/dist/lib/description-list/description-list-validators.js.map +1 -1
  563. package/dist/lib/description-list/description-list.cjs +2 -2
  564. package/dist/lib/description-list/description-list.cjs.map +1 -1
  565. package/dist/lib/description-list/description-list.js +68 -85
  566. package/dist/lib/description-list/description-list.js.map +1 -1
  567. package/dist/lib/description-list/index.cjs +1 -2
  568. package/dist/lib/description-list/index.js +3 -7
  569. package/dist/lib/dropdown/dropdown-constants.cjs +2 -2
  570. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  571. package/dist/lib/dropdown/dropdown-constants.js +10 -12
  572. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  573. package/dist/lib/dropdown/dropdown-list.cjs +2 -2
  574. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  575. package/dist/lib/dropdown/dropdown-list.js +46 -49
  576. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  577. package/dist/lib/dropdown/dropdown-separator.cjs +2 -2
  578. package/dist/lib/dropdown/dropdown-separator.cjs.map +1 -1
  579. package/dist/lib/dropdown/dropdown-separator.js +16 -15
  580. package/dist/lib/dropdown/dropdown-separator.js.map +1 -1
  581. package/dist/lib/dropdown/dropdown-story-constants.cjs +2 -2
  582. package/dist/lib/dropdown/dropdown-story-constants.cjs.map +1 -1
  583. package/dist/lib/dropdown/dropdown-story-constants.js +26 -10
  584. package/dist/lib/dropdown/dropdown-story-constants.js.map +1 -1
  585. package/dist/lib/dropdown/dropdown.cjs +2 -2
  586. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  587. package/dist/lib/dropdown/dropdown.js +284 -388
  588. package/dist/lib/dropdown/dropdown.js.map +1 -1
  589. package/dist/lib/dropdown/index.cjs +1 -2
  590. package/dist/lib/dropdown/index.js +4 -9
  591. package/dist/lib/editor/EditorToolbarButton.cjs +2 -2
  592. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  593. package/dist/lib/editor/EditorToolbarButton.js +71 -103
  594. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  595. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +2 -2
  596. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  597. package/dist/lib/editor/EditorToolbarDropdownButton.js +85 -124
  598. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  599. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +2 -2
  600. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  601. package/dist/lib/editor/EditorToolbarPopoverButton.js +86 -125
  602. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  603. package/dist/lib/editor/editor-constants.cjs +2 -2
  604. package/dist/lib/editor/editor-constants.cjs.map +1 -1
  605. package/dist/lib/editor/editor-constants.js +16 -18
  606. package/dist/lib/editor/editor-constants.js.map +1 -1
  607. package/dist/lib/editor/editor.cjs +2 -2
  608. package/dist/lib/editor/editor.cjs.map +1 -1
  609. package/dist/lib/editor/editor.js +1098 -1273
  610. package/dist/lib/editor/editor.js.map +1 -1
  611. package/dist/lib/editor/index.cjs +1 -2
  612. package/dist/lib/editor/index.js +2 -5
  613. package/dist/lib/emoji/emoji.cjs +2 -2
  614. package/dist/lib/emoji/emoji.cjs.map +1 -1
  615. package/dist/lib/emoji/emoji.js +118 -139
  616. package/dist/lib/emoji/emoji.js.map +1 -1
  617. package/dist/lib/emoji/index.cjs +1 -2
  618. package/dist/lib/emoji/index.js +2 -5
  619. package/dist/lib/emoji-picker/emoji-picker-constants.cjs +2 -2
  620. package/dist/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  621. package/dist/lib/emoji-picker/emoji-picker-constants.js +18 -23
  622. package/dist/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  623. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -2
  624. package/dist/lib/emoji-picker/emoji-picker.js +2 -1015
  625. package/dist/lib/emoji-picker/index.cjs +1 -2
  626. package/dist/lib/emoji-picker/index.js +3 -10
  627. package/dist/lib/emoji-row/emoji-row-constants.cjs +2 -2
  628. package/dist/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  629. package/dist/lib/emoji-row/emoji-row-constants.js +11 -13
  630. package/dist/lib/emoji-row/emoji-row-constants.js.map +1 -1
  631. package/dist/lib/emoji-row/emoji-row.cjs +2 -2
  632. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  633. package/dist/lib/emoji-row/emoji-row.js +98 -122
  634. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  635. package/dist/lib/emoji-row/index.cjs +1 -2
  636. package/dist/lib/emoji-row/index.js +3 -7
  637. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +2 -2
  638. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  639. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js +61 -90
  640. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  641. package/dist/lib/emoji-text-wrapper/index.cjs +1 -2
  642. package/dist/lib/emoji-text-wrapper/index.js +2 -5
  643. package/dist/lib/empty-state/empty-state-constants.cjs +2 -2
  644. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  645. package/dist/lib/empty-state/empty-state-constants.js +26 -29
  646. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  647. package/dist/lib/empty-state/empty-state.cjs +2 -2
  648. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  649. package/dist/lib/empty-state/empty-state.js +55 -77
  650. package/dist/lib/empty-state/empty-state.js.map +1 -1
  651. package/dist/lib/empty-state/index.cjs +1 -2
  652. package/dist/lib/empty-state/index.js +3 -7
  653. package/dist/lib/feed-item-pill/feed-item-pill-constants.cjs +2 -2
  654. package/dist/lib/feed-item-pill/feed-item-pill-constants.cjs.map +1 -1
  655. package/dist/lib/feed-item-pill/feed-item-pill-constants.js +10 -12
  656. package/dist/lib/feed-item-pill/feed-item-pill-constants.js.map +1 -1
  657. package/dist/lib/feed-item-pill/feed-item-pill.cjs +2 -2
  658. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  659. package/dist/lib/feed-item-pill/feed-item-pill.js +143 -177
  660. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  661. package/dist/lib/feed-item-pill/index.cjs +1 -2
  662. package/dist/lib/feed-item-pill/index.js +3 -7
  663. package/dist/lib/feed-item-row/feed-item-row-constants.cjs +2 -2
  664. package/dist/lib/feed-item-row/feed-item-row-constants.cjs.map +1 -1
  665. package/dist/lib/feed-item-row/feed-item-row-constants.js +12 -13
  666. package/dist/lib/feed-item-row/feed-item-row-constants.js.map +1 -1
  667. package/dist/lib/feed-item-row/feed-item-row.cjs +2 -2
  668. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  669. package/dist/lib/feed-item-row/feed-item-row.js +202 -283
  670. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  671. package/dist/lib/feed-item-row/index.cjs +1 -2
  672. package/dist/lib/feed-item-row/index.js +3 -8
  673. package/dist/lib/general-row/general-row-constants.cjs +2 -2
  674. package/dist/lib/general-row/general-row-constants.cjs.map +1 -1
  675. package/dist/lib/general-row/general-row-constants.js +37 -43
  676. package/dist/lib/general-row/general-row-constants.js.map +1 -1
  677. package/dist/lib/general-row/general-row.cjs +2 -2
  678. package/dist/lib/general-row/general-row.cjs.map +1 -1
  679. package/dist/lib/general-row/general-row.js +316 -418
  680. package/dist/lib/general-row/general-row.js.map +1 -1
  681. package/dist/lib/general-row/index.cjs +1 -2
  682. package/dist/lib/general-row/index.js +4 -12
  683. package/dist/lib/general-row/leftbar-general-row-icon.cjs +2 -2
  684. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  685. package/dist/lib/general-row/leftbar-general-row-icon.js +89 -93
  686. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  687. package/dist/lib/group-row/group-row.cjs +2 -2
  688. package/dist/lib/group-row/group-row.cjs.map +1 -1
  689. package/dist/lib/group-row/group-row.js +101 -117
  690. package/dist/lib/group-row/group-row.js.map +1 -1
  691. package/dist/lib/group-row/index.cjs +1 -2
  692. package/dist/lib/group-row/index.js +2 -5
  693. package/dist/lib/grouped-chip/grouped-chip.cjs +2 -2
  694. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  695. package/dist/lib/grouped-chip/grouped-chip.js +57 -81
  696. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  697. package/dist/lib/grouped-chip/index.cjs +1 -2
  698. package/dist/lib/grouped-chip/index.js +2 -5
  699. package/dist/lib/hovercard/hovercard.cjs +2 -2
  700. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  701. package/dist/lib/hovercard/hovercard.js +192 -241
  702. package/dist/lib/hovercard/hovercard.js.map +1 -1
  703. package/dist/lib/hovercard/index.cjs +1 -2
  704. package/dist/lib/hovercard/index.js +2 -5
  705. package/dist/lib/icon/icon-constants.cjs +2 -2
  706. package/dist/lib/icon/icon-constants.cjs.map +1 -1
  707. package/dist/lib/icon/icon-constants.js +18 -19
  708. package/dist/lib/icon/icon-constants.js.map +1 -1
  709. package/dist/lib/icon/icon.cjs +2 -2
  710. package/dist/lib/icon/icon.cjs.map +1 -1
  711. package/dist/lib/icon/icon.js +51 -58
  712. package/dist/lib/icon/icon.js.map +1 -1
  713. package/dist/lib/icon/index.cjs +1 -2
  714. package/dist/lib/icon/index.js +3 -8
  715. package/dist/lib/illustration/illustration-constants.cjs +2 -2
  716. package/dist/lib/illustration/illustration-constants.cjs.map +1 -1
  717. package/dist/lib/illustration/illustration-constants.js +7 -9
  718. package/dist/lib/illustration/illustration-constants.js.map +1 -1
  719. package/dist/lib/illustration/illustration.cjs +2 -2
  720. package/dist/lib/illustration/illustration.cjs.map +1 -1
  721. package/dist/lib/illustration/illustration.js +22 -28
  722. package/dist/lib/illustration/illustration.js.map +1 -1
  723. package/dist/lib/illustration/index.cjs +1 -2
  724. package/dist/lib/illustration/index.js +2 -6
  725. package/dist/lib/image-viewer/image-viewer.cjs +2 -2
  726. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  727. package/dist/lib/image-viewer/image-viewer.js +178 -229
  728. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  729. package/dist/lib/image-viewer/index.cjs +1 -2
  730. package/dist/lib/image-viewer/index.js +2 -5
  731. package/dist/lib/input/index.cjs +1 -2
  732. package/dist/lib/input/index.js +3 -8
  733. package/dist/lib/input/input-constants.cjs +2 -2
  734. package/dist/lib/input/input-constants.cjs.map +1 -1
  735. package/dist/lib/input/input-constants.js +62 -68
  736. package/dist/lib/input/input-constants.js.map +1 -1
  737. package/dist/lib/input/input.cjs +2 -2
  738. package/dist/lib/input/input.cjs.map +1 -1
  739. package/dist/lib/input/input.js +382 -483
  740. package/dist/lib/input/input.js.map +1 -1
  741. package/dist/lib/input-group/index.cjs +1 -2
  742. package/dist/lib/input-group/index.js +2 -5
  743. package/dist/lib/input-group/input-group.cjs +2 -2
  744. package/dist/lib/input-group/input-group.cjs.map +1 -1
  745. package/dist/lib/input-group/input-group.js +74 -88
  746. package/dist/lib/input-group/input-group.js.map +1 -1
  747. package/dist/lib/item-layout/index.cjs +1 -2
  748. package/dist/lib/item-layout/index.js +2 -5
  749. package/dist/lib/item-layout/item-layout.cjs +4 -4
  750. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  751. package/dist/lib/item-layout/item-layout.js +105 -148
  752. package/dist/lib/item-layout/item-layout.js.map +1 -1
  753. package/dist/lib/ivr-node/index.cjs +1 -2
  754. package/dist/lib/ivr-node/index.js +3 -18
  755. package/dist/lib/ivr-node/ivr-node-constants.cjs +2 -2
  756. package/dist/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  757. package/dist/lib/ivr-node/ivr-node-constants.js +50 -61
  758. package/dist/lib/ivr-node/ivr-node-constants.js.map +1 -1
  759. package/dist/lib/ivr-node/ivr-node.cjs +2 -2
  760. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  761. package/dist/lib/ivr-node/ivr-node.js +151 -193
  762. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  763. package/dist/lib/keyboard-shortcut/index.cjs +1 -2
  764. package/dist/lib/keyboard-shortcut/index.js +3 -7
  765. package/dist/lib/keyboard-shortcut/keyboard-shortcut-constants.cjs +2 -2
  766. package/dist/lib/keyboard-shortcut/keyboard-shortcut-constants.cjs.map +1 -1
  767. package/dist/lib/keyboard-shortcut/keyboard-shortcut-constants.js +13 -12
  768. package/dist/lib/keyboard-shortcut/keyboard-shortcut-constants.js.map +1 -1
  769. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +2 -2
  770. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  771. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +104 -136
  772. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  773. package/dist/lib/lazy-show/index.cjs +1 -2
  774. package/dist/lib/lazy-show/index.js +2 -5
  775. package/dist/lib/lazy-show/lazy-show.cjs +2 -2
  776. package/dist/lib/lazy-show/lazy-show.cjs.map +1 -1
  777. package/dist/lib/lazy-show/lazy-show.js +47 -80
  778. package/dist/lib/lazy-show/lazy-show.js.map +1 -1
  779. package/dist/lib/link/index.cjs +1 -2
  780. package/dist/lib/link/index.js +3 -14
  781. package/dist/lib/link/link-constants.cjs +2 -2
  782. package/dist/lib/link/link-constants.cjs.map +1 -1
  783. package/dist/lib/link/link-constants.js +30 -30
  784. package/dist/lib/link/link-constants.js.map +1 -1
  785. package/dist/lib/link/link.cjs +2 -2
  786. package/dist/lib/link/link.cjs.map +1 -1
  787. package/dist/lib/link/link.js +62 -94
  788. package/dist/lib/link/link.js.map +1 -1
  789. package/dist/lib/list-item/index.cjs +1 -2
  790. package/dist/lib/list-item/index.js +3 -8
  791. package/dist/lib/list-item/list-item-constants.cjs +2 -2
  792. package/dist/lib/list-item/list-item-constants.cjs.map +1 -1
  793. package/dist/lib/list-item/list-item-constants.js +15 -16
  794. package/dist/lib/list-item/list-item-constants.js.map +1 -1
  795. package/dist/lib/list-item/list-item.cjs +2 -2
  796. package/dist/lib/list-item/list-item.cjs.map +1 -1
  797. package/dist/lib/list-item/list-item.js +153 -209
  798. package/dist/lib/list-item/list-item.js.map +1 -1
  799. package/dist/lib/list-item-group/index.cjs +1 -2
  800. package/dist/lib/list-item-group/index.js +2 -5
  801. package/dist/lib/list-item-group/list-item-group-constants.cjs +2 -2
  802. package/dist/lib/list-item-group/list-item-group-constants.cjs.map +1 -1
  803. package/dist/lib/list-item-group/list-item-group-constants.js +6 -8
  804. package/dist/lib/list-item-group/list-item-group-constants.js.map +1 -1
  805. package/dist/lib/list-item-group/list-item-group.cjs +2 -2
  806. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  807. package/dist/lib/list-item-group/list-item-group.js +55 -65
  808. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  809. package/dist/lib/loader/index.cjs +1 -2
  810. package/dist/lib/loader/index.js +2 -5
  811. package/dist/lib/loader/loader.cjs +4 -4
  812. package/dist/lib/loader/loader.cjs.map +1 -1
  813. package/dist/lib/loader/loader.js +50 -76
  814. package/dist/lib/loader/loader.js.map +1 -1
  815. package/dist/lib/message-input/index.cjs +1 -2
  816. package/dist/lib/message-input/index.js +2 -5
  817. package/dist/lib/message-input/last-active-nodes.cjs +2 -2
  818. package/dist/lib/message-input/last-active-nodes.cjs.map +1 -1
  819. package/dist/lib/message-input/last-active-nodes.js +30 -42
  820. package/dist/lib/message-input/last-active-nodes.js.map +1 -1
  821. package/dist/lib/message-input/message-input-button.cjs +2 -2
  822. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  823. package/dist/lib/message-input/message-input-button.js +73 -77
  824. package/dist/lib/message-input/message-input-button.js.map +1 -1
  825. package/dist/lib/message-input/message-input-constants.cjs +2 -2
  826. package/dist/lib/message-input/message-input-constants.cjs.map +1 -1
  827. package/dist/lib/message-input/message-input-constants.js +6 -8
  828. package/dist/lib/message-input/message-input-constants.js.map +1 -1
  829. package/dist/lib/message-input/message-input-link.cjs +2 -2
  830. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  831. package/dist/lib/message-input/message-input-link.js +201 -209
  832. package/dist/lib/message-input/message-input-link.js.map +1 -1
  833. package/dist/lib/message-input/message-input-topbar.cjs +2 -2
  834. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  835. package/dist/lib/message-input/message-input-topbar.js +263 -241
  836. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  837. package/dist/lib/message-input/message-input.cjs +1 -2
  838. package/dist/lib/message-input/message-input.js +2 -995
  839. package/dist/lib/modal/index.cjs +1 -2
  840. package/dist/lib/modal/index.js +3 -9
  841. package/dist/lib/modal/modal-constants.cjs +2 -2
  842. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  843. package/dist/lib/modal/modal-constants.js +17 -18
  844. package/dist/lib/modal/modal-constants.js.map +1 -1
  845. package/dist/lib/modal/modal.cjs +2 -2
  846. package/dist/lib/modal/modal.cjs.map +1 -1
  847. package/dist/lib/modal/modal.js +298 -411
  848. package/dist/lib/modal/modal.js.map +1 -1
  849. package/dist/lib/motion-text/index.cjs +1 -2
  850. package/dist/lib/motion-text/index.js +3 -10
  851. package/dist/lib/motion-text/motion-text-constants.cjs +2 -2
  852. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  853. package/dist/lib/motion-text/motion-text-constants.js +36 -34
  854. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  855. package/dist/lib/motion-text/motion-text.cjs +2 -2
  856. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  857. package/dist/lib/motion-text/motion-text.js +269 -387
  858. package/dist/lib/motion-text/motion-text.js.map +1 -1
  859. package/dist/lib/notice/index.cjs +1 -2
  860. package/dist/lib/notice/index.js +6 -14
  861. package/dist/lib/notice/notice-action.cjs +2 -2
  862. package/dist/lib/notice/notice-action.cjs.map +1 -1
  863. package/dist/lib/notice/notice-action.js +72 -94
  864. package/dist/lib/notice/notice-action.js.map +1 -1
  865. package/dist/lib/notice/notice-constants.cjs +2 -2
  866. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  867. package/dist/lib/notice/notice-constants.js +18 -9
  868. package/dist/lib/notice/notice-constants.js.map +1 -1
  869. package/dist/lib/notice/notice-content.cjs +2 -2
  870. package/dist/lib/notice/notice-content.cjs.map +1 -1
  871. package/dist/lib/notice/notice-content.js +44 -65
  872. package/dist/lib/notice/notice-content.js.map +1 -1
  873. package/dist/lib/notice/notice-icon.cjs +2 -2
  874. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  875. package/dist/lib/notice/notice-icon.js +46 -59
  876. package/dist/lib/notice/notice-icon.js.map +1 -1
  877. package/dist/lib/notice/notice.cjs +2 -2
  878. package/dist/lib/notice/notice.cjs.map +1 -1
  879. package/dist/lib/notice/notice.js +122 -180
  880. package/dist/lib/notice/notice.js.map +1 -1
  881. package/dist/lib/pagination/index.cjs +1 -2
  882. package/dist/lib/pagination/index.js +2 -5
  883. package/dist/lib/pagination/pagination.cjs +2 -2
  884. package/dist/lib/pagination/pagination.cjs.map +1 -1
  885. package/dist/lib/pagination/pagination.js +164 -194
  886. package/dist/lib/pagination/pagination.js.map +1 -1
  887. package/dist/lib/popover/index.cjs +1 -2
  888. package/dist/lib/popover/index.js +3 -14
  889. package/dist/lib/popover/popover-constants.cjs +2 -2
  890. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  891. package/dist/lib/popover/popover-constants.js +39 -36
  892. package/dist/lib/popover/popover-constants.js.map +1 -1
  893. package/dist/lib/popover/popover-header-footer.cjs +2 -2
  894. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  895. package/dist/lib/popover/popover-header-footer.js +89 -109
  896. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  897. package/dist/lib/popover/popover.cjs +2 -2
  898. package/dist/lib/popover/popover.cjs.map +1 -1
  899. package/dist/lib/popover/popover.js +565 -816
  900. package/dist/lib/popover/popover.js.map +1 -1
  901. package/dist/lib/popover/tippy-utils.cjs +2 -2
  902. package/dist/lib/popover/tippy-utils.cjs.map +1 -1
  903. package/dist/lib/popover/tippy-utils.js +65 -77
  904. package/dist/lib/popover/tippy-utils.js.map +1 -1
  905. package/dist/lib/presence/index.cjs +1 -2
  906. package/dist/lib/presence/index.js +3 -8
  907. package/dist/lib/presence/presence-constants.cjs +2 -2
  908. package/dist/lib/presence/presence-constants.cjs.map +1 -1
  909. package/dist/lib/presence/presence-constants.js +15 -15
  910. package/dist/lib/presence/presence-constants.js.map +1 -1
  911. package/dist/lib/presence/presence.cjs +2 -2
  912. package/dist/lib/presence/presence.cjs.map +1 -1
  913. package/dist/lib/presence/presence.js +39 -53
  914. package/dist/lib/presence/presence.js.map +1 -1
  915. package/dist/lib/progress-circle/index.cjs +1 -2
  916. package/dist/lib/progress-circle/index.js +3 -10
  917. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -2
  918. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -1
  919. package/dist/lib/progress-circle/progress-circle-constants.js +23 -25
  920. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -1
  921. package/dist/lib/progress-circle/progress-circle.cjs +2 -2
  922. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -1
  923. package/dist/lib/progress-circle/progress-circle.js +134 -150
  924. package/dist/lib/progress-circle/progress-circle.js.map +1 -1
  925. package/dist/lib/radio/index.cjs +1 -2
  926. package/dist/lib/radio/index.js +3 -7
  927. package/dist/lib/radio/radio-constants.cjs +2 -2
  928. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  929. package/dist/lib/radio/radio-constants.js +10 -12
  930. package/dist/lib/radio/radio-constants.js.map +1 -1
  931. package/dist/lib/radio/radio.cjs +2 -2
  932. package/dist/lib/radio/radio.cjs.map +1 -1
  933. package/dist/lib/radio/radio.js +103 -153
  934. package/dist/lib/radio/radio.js.map +1 -1
  935. package/dist/lib/radio-group/index.cjs +1 -2
  936. package/dist/lib/radio-group/index.js +2 -5
  937. package/dist/lib/radio-group/radio-group.cjs +2 -2
  938. package/dist/lib/radio-group/radio-group.cjs.map +1 -1
  939. package/dist/lib/radio-group/radio-group.js +51 -89
  940. package/dist/lib/radio-group/radio-group.js.map +1 -1
  941. package/dist/lib/radio-group/radios-decorator.cjs +2 -2
  942. package/dist/lib/radio-group/radios-decorator.cjs.map +1 -1
  943. package/dist/lib/radio-group/radios-decorator.js +39 -32
  944. package/dist/lib/radio-group/radios-decorator.js.map +1 -1
  945. package/dist/lib/recipes/eslint.config.cjs +2 -2
  946. package/dist/lib/recipes/eslint.config.cjs.map +1 -1
  947. package/dist/lib/recipes/eslint.config.js +9 -12
  948. package/dist/lib/recipes/eslint.config.js.map +1 -1
  949. package/dist/lib/rich-text-editor/channel-suggestion.cjs +2 -2
  950. package/dist/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
  951. package/dist/lib/rich-text-editor/channel-suggestion.js +31 -32
  952. package/dist/lib/rich-text-editor/channel-suggestion.js.map +1 -1
  953. package/dist/lib/rich-text-editor/index.cjs +1 -2
  954. package/dist/lib/rich-text-editor/index.js +3 -8
  955. package/dist/lib/rich-text-editor/markdownRenderer.cjs +7 -0
  956. package/dist/lib/rich-text-editor/markdownRenderer.cjs.map +1 -0
  957. package/dist/lib/rich-text-editor/markdownRenderer.js +62 -0
  958. package/dist/lib/rich-text-editor/markdownRenderer.js.map +1 -0
  959. package/dist/lib/rich-text-editor/mention-suggestion.cjs +2 -2
  960. package/dist/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  961. package/dist/lib/rich-text-editor/mention-suggestion.js +88 -89
  962. package/dist/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  963. package/dist/lib/rich-text-editor/rich-text-editor-constants.cjs +2 -2
  964. package/dist/lib/rich-text-editor/rich-text-editor-constants.cjs.map +1 -1
  965. package/dist/lib/rich-text-editor/rich-text-editor-constants.js +25 -27
  966. package/dist/lib/rich-text-editor/rich-text-editor-constants.js.map +1 -1
  967. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -21
  968. package/dist/lib/rich-text-editor/rich-text-editor.js +2 -3977
  969. package/dist/lib/rich-text-editor/slash-command-suggestion.cjs +2 -2
  970. package/dist/lib/rich-text-editor/slash-command-suggestion.cjs.map +1 -1
  971. package/dist/lib/rich-text-editor/slash-command-suggestion.js +27 -28
  972. package/dist/lib/rich-text-editor/slash-command-suggestion.js.map +1 -1
  973. package/dist/lib/root-layout/index.cjs +1 -2
  974. package/dist/lib/root-layout/index.js +3 -8
  975. package/dist/lib/root-layout/root-layout-constants.cjs +2 -2
  976. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  977. package/dist/lib/root-layout/root-layout-constants.js +16 -12
  978. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  979. package/dist/lib/root-layout/root-layout.cjs +2 -2
  980. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  981. package/dist/lib/root-layout/root-layout.js +130 -155
  982. package/dist/lib/root-layout/root-layout.js.map +1 -1
  983. package/dist/lib/scrollbar-directive/index.cjs +1 -2
  984. package/dist/lib/scrollbar-directive/index.js +2 -5
  985. package/dist/lib/scrollbar-directive/scrollbar.cjs +2 -2
  986. package/dist/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
  987. package/dist/lib/scrollbar-directive/scrollbar.js +28 -32
  988. package/dist/lib/scrollbar-directive/scrollbar.js.map +1 -1
  989. package/dist/lib/scroller/index.cjs +1 -2
  990. package/dist/lib/scroller/index.js +2 -5
  991. package/dist/lib/scroller/scroller.cjs +1 -2
  992. package/dist/lib/scroller/scroller.js +2 -767
  993. package/dist/lib/select-menu/index.cjs +1 -2
  994. package/dist/lib/select-menu/index.js +3 -8
  995. package/dist/lib/select-menu/select-menu-constants.cjs +2 -2
  996. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  997. package/dist/lib/select-menu/select-menu-constants.js +17 -18
  998. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  999. package/dist/lib/select-menu/select-menu-validators.cjs +2 -2
  1000. package/dist/lib/select-menu/select-menu-validators.cjs.map +1 -1
  1001. package/dist/lib/select-menu/select-menu-validators.js +6 -5
  1002. package/dist/lib/select-menu/select-menu-validators.js.map +1 -1
  1003. package/dist/lib/select-menu/select-menu.cjs +2 -2
  1004. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  1005. package/dist/lib/select-menu/select-menu.js +204 -274
  1006. package/dist/lib/select-menu/select-menu.js.map +1 -1
  1007. package/dist/lib/settings-menu-button/index.cjs +1 -2
  1008. package/dist/lib/settings-menu-button/index.js +2 -5
  1009. package/dist/lib/settings-menu-button/settings-menu-button.cjs +2 -2
  1010. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  1011. package/dist/lib/settings-menu-button/settings-menu-button.js +51 -64
  1012. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  1013. package/dist/lib/skeleton/index.cjs +1 -2
  1014. package/dist/lib/skeleton/index.js +7 -19
  1015. package/dist/lib/skeleton/skeleton-constants.cjs +2 -2
  1016. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  1017. package/dist/lib/skeleton/skeleton-constants.js +21 -28
  1018. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  1019. package/dist/lib/skeleton/skeleton-list-item.cjs +2 -2
  1020. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  1021. package/dist/lib/skeleton/skeleton-list-item.js +89 -114
  1022. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  1023. package/dist/lib/skeleton/skeleton-paragraph.cjs +2 -2
  1024. package/dist/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
  1025. package/dist/lib/skeleton/skeleton-paragraph.js +92 -131
  1026. package/dist/lib/skeleton/skeleton-paragraph.js.map +1 -1
  1027. package/dist/lib/skeleton/skeleton-shape.cjs +2 -2
  1028. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  1029. package/dist/lib/skeleton/skeleton-shape.js +70 -97
  1030. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  1031. package/dist/lib/skeleton/skeleton-text.cjs +2 -2
  1032. package/dist/lib/skeleton/skeleton-text.cjs.map +1 -1
  1033. package/dist/lib/skeleton/skeleton-text.js +79 -113
  1034. package/dist/lib/skeleton/skeleton-text.js.map +1 -1
  1035. package/dist/lib/skeleton/skeleton.cjs +2 -2
  1036. package/dist/lib/skeleton/skeleton.cjs.map +1 -1
  1037. package/dist/lib/skeleton/skeleton.js +114 -140
  1038. package/dist/lib/skeleton/skeleton.js.map +1 -1
  1039. package/dist/lib/split-button/index.cjs +1 -2
  1040. package/dist/lib/split-button/index.js +2 -6
  1041. package/dist/lib/split-button/split-button-alpha.cjs +2 -2
  1042. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  1043. package/dist/lib/split-button/split-button-alpha.js +105 -136
  1044. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  1045. package/dist/lib/split-button/split-button-constants.cjs +2 -2
  1046. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  1047. package/dist/lib/split-button/split-button-constants.js +12 -14
  1048. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  1049. package/dist/lib/split-button/split-button-omega.cjs +2 -2
  1050. package/dist/lib/split-button/split-button-omega.cjs.map +1 -1
  1051. package/dist/lib/split-button/split-button-omega.js +84 -108
  1052. package/dist/lib/split-button/split-button-omega.js.map +1 -1
  1053. package/dist/lib/split-button/split-button.cjs +2 -2
  1054. package/dist/lib/split-button/split-button.cjs.map +1 -1
  1055. package/dist/lib/split-button/split-button.js +208 -326
  1056. package/dist/lib/split-button/split-button.js.map +1 -1
  1057. package/dist/lib/stack/index.cjs +1 -2
  1058. package/dist/lib/stack/index.js +3 -9
  1059. package/dist/lib/stack/stack-constants.cjs +2 -2
  1060. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  1061. package/dist/lib/stack/stack-constants.js +54 -21
  1062. package/dist/lib/stack/stack-constants.js.map +1 -1
  1063. package/dist/lib/stack/stack.cjs +2 -2
  1064. package/dist/lib/stack/stack.cjs.map +1 -1
  1065. package/dist/lib/stack/stack.js +80 -118
  1066. package/dist/lib/stack/stack.js.map +1 -1
  1067. package/dist/lib/stack/utils.cjs +2 -2
  1068. package/dist/lib/stack/utils.cjs.map +1 -1
  1069. package/dist/lib/stack/utils.js +60 -65
  1070. package/dist/lib/stack/utils.js.map +1 -1
  1071. package/dist/lib/stack/validators.cjs +2 -2
  1072. package/dist/lib/stack/validators.cjs.map +1 -1
  1073. package/dist/lib/stack/validators.js +35 -41
  1074. package/dist/lib/stack/validators.js.map +1 -1
  1075. package/dist/lib/tab/index.cjs +1 -2
  1076. package/dist/lib/tab/index.js +5 -14
  1077. package/dist/lib/tab/tab-group.cjs +2 -2
  1078. package/dist/lib/tab/tab-group.cjs.map +1 -1
  1079. package/dist/lib/tab/tab-group.js +176 -231
  1080. package/dist/lib/tab/tab-group.js.map +1 -1
  1081. package/dist/lib/tab/tab-panel.cjs +2 -2
  1082. package/dist/lib/tab/tab-panel.cjs.map +1 -1
  1083. package/dist/lib/tab/tab-panel.js +74 -87
  1084. package/dist/lib/tab/tab-panel.js.map +1 -1
  1085. package/dist/lib/tab/tab.cjs +2 -2
  1086. package/dist/lib/tab/tab.cjs.map +1 -1
  1087. package/dist/lib/tab/tab.js +96 -126
  1088. package/dist/lib/tab/tab.js.map +1 -1
  1089. package/dist/lib/tab/tabs-constants.cjs +2 -2
  1090. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  1091. package/dist/lib/tab/tabs-constants.js +6 -17
  1092. package/dist/lib/tab/tabs-constants.js.map +1 -1
  1093. package/dist/lib/time-pill/index.cjs +1 -2
  1094. package/dist/lib/time-pill/index.js +2 -5
  1095. package/dist/lib/time-pill/time-pill.cjs +2 -2
  1096. package/dist/lib/time-pill/time-pill.cjs.map +1 -1
  1097. package/dist/lib/time-pill/time-pill.js +32 -38
  1098. package/dist/lib/time-pill/time-pill.js.map +1 -1
  1099. package/dist/lib/toast/index.cjs +1 -2
  1100. package/dist/lib/toast/index.js +3 -8
  1101. package/dist/lib/toast/toast-constants.cjs +2 -2
  1102. package/dist/lib/toast/toast-constants.cjs.map +1 -1
  1103. package/dist/lib/toast/toast-constants.js +11 -14
  1104. package/dist/lib/toast/toast-constants.js.map +1 -1
  1105. package/dist/lib/toast/toast.cjs +1 -2
  1106. package/dist/lib/toast/toast.js +2 -585
  1107. package/dist/lib/toggle/index.cjs +1 -2
  1108. package/dist/lib/toggle/index.js +3 -8
  1109. package/dist/lib/toggle/toggle-constants.cjs +2 -2
  1110. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  1111. package/dist/lib/toggle/toggle-constants.js +15 -12
  1112. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  1113. package/dist/lib/toggle/toggle.cjs +2 -2
  1114. package/dist/lib/toggle/toggle.cjs.map +1 -1
  1115. package/dist/lib/toggle/toggle.js +140 -190
  1116. package/dist/lib/toggle/toggle.js.map +1 -1
  1117. package/dist/lib/tooltip/index.cjs +1 -2
  1118. package/dist/lib/tooltip/index.js +3 -11
  1119. package/dist/lib/tooltip/tooltip-constants.cjs +2 -2
  1120. package/dist/lib/tooltip/tooltip-constants.cjs.map +1 -1
  1121. package/dist/lib/tooltip/tooltip-constants.js +21 -25
  1122. package/dist/lib/tooltip/tooltip-constants.js.map +1 -1
  1123. package/dist/lib/tooltip/tooltip.cjs +3 -3
  1124. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  1125. package/dist/lib/tooltip/tooltip.js +252 -399
  1126. package/dist/lib/tooltip/tooltip.js.map +1 -1
  1127. package/dist/lib/tooltip-directive/index.cjs +1 -2
  1128. package/dist/lib/tooltip-directive/index.js +1 -4
  1129. package/dist/lib/tooltip-directive/tooltip.cjs +2 -2
  1130. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  1131. package/dist/lib/tooltip-directive/tooltip.js +99 -105
  1132. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  1133. package/dist/lib/top-banner-info/index.cjs +1 -2
  1134. package/dist/lib/top-banner-info/index.js +3 -7
  1135. package/dist/lib/top-banner-info/top-banner-info-constants.cjs +2 -2
  1136. package/dist/lib/top-banner-info/top-banner-info-constants.cjs.map +1 -1
  1137. package/dist/lib/top-banner-info/top-banner-info-constants.js +15 -17
  1138. package/dist/lib/top-banner-info/top-banner-info-constants.js.map +1 -1
  1139. package/dist/lib/top-banner-info/top-banner-info.cjs +2 -2
  1140. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  1141. package/dist/lib/top-banner-info/top-banner-info.js +44 -58
  1142. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  1143. package/dist/lib/unread-pill/index.cjs +1 -2
  1144. package/dist/lib/unread-pill/index.js +3 -8
  1145. package/dist/lib/unread-pill/unread-pill-constants.cjs +2 -2
  1146. package/dist/lib/unread-pill/unread-pill-constants.cjs.map +1 -1
  1147. package/dist/lib/unread-pill/unread-pill-constants.js +8 -9
  1148. package/dist/lib/unread-pill/unread-pill-constants.js.map +1 -1
  1149. package/dist/lib/unread-pill/unread-pill.cjs +2 -2
  1150. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  1151. package/dist/lib/unread-pill/unread-pill.js +56 -82
  1152. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  1153. package/dist/lib/validation-messages/index.cjs +1 -2
  1154. package/dist/lib/validation-messages/index.js +2 -5
  1155. package/dist/lib/validation-messages/validation-messages.cjs +2 -2
  1156. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  1157. package/dist/lib/validation-messages/validation-messages.js +70 -84
  1158. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  1159. package/dist/localization/de-DE.cjs +5 -5
  1160. package/dist/localization/de-DE.cjs.map +1 -1
  1161. package/dist/localization/de-DE.js +6 -176
  1162. package/dist/localization/de-DE.js.map +1 -1
  1163. package/dist/localization/en-US.cjs +3 -3
  1164. package/dist/localization/en-US.cjs.map +1 -1
  1165. package/dist/localization/en-US.js +5 -195
  1166. package/dist/localization/en-US.js.map +1 -1
  1167. package/dist/localization/es-LA.cjs +3 -3
  1168. package/dist/localization/es-LA.cjs.map +1 -1
  1169. package/dist/localization/es-LA.js +6 -176
  1170. package/dist/localization/es-LA.js.map +1 -1
  1171. package/dist/localization/fr-FR.cjs +8 -8
  1172. package/dist/localization/fr-FR.cjs.map +1 -1
  1173. package/dist/localization/fr-FR.js +6 -176
  1174. package/dist/localization/fr-FR.js.map +1 -1
  1175. package/dist/localization/index.cjs +2 -2
  1176. package/dist/localization/index.cjs.map +1 -1
  1177. package/dist/localization/index.js +116 -101
  1178. package/dist/localization/index.js.map +1 -1
  1179. package/dist/localization/it-IT.cjs +3 -3
  1180. package/dist/localization/it-IT.cjs.map +1 -1
  1181. package/dist/localization/it-IT.js +6 -176
  1182. package/dist/localization/it-IT.js.map +1 -1
  1183. package/dist/localization/ja-JP.cjs +3 -3
  1184. package/dist/localization/ja-JP.cjs.map +1 -1
  1185. package/dist/localization/ja-JP.js +6 -171
  1186. package/dist/localization/ja-JP.js.map +1 -1
  1187. package/dist/localization/nl-NL.cjs +3 -3
  1188. package/dist/localization/nl-NL.cjs.map +1 -1
  1189. package/dist/localization/nl-NL.js +6 -176
  1190. package/dist/localization/nl-NL.js.map +1 -1
  1191. package/dist/localization/pt-BR.cjs +3 -3
  1192. package/dist/localization/pt-BR.cjs.map +1 -1
  1193. package/dist/localization/pt-BR.js +6 -176
  1194. package/dist/localization/pt-BR.js.map +1 -1
  1195. package/dist/localization/ru-RU.cjs +3 -3
  1196. package/dist/localization/ru-RU.cjs.map +1 -1
  1197. package/dist/localization/ru-RU.js +6 -178
  1198. package/dist/localization/ru-RU.js.map +1 -1
  1199. package/dist/localization/zh-CN.cjs +3 -3
  1200. package/dist/localization/zh-CN.cjs.map +1 -1
  1201. package/dist/localization/zh-CN.js +6 -175
  1202. package/dist/localization/zh-CN.js.map +1 -1
  1203. package/dist/message_input-VmltTreF.cjs +2 -0
  1204. package/dist/message_input-VmltTreF.cjs.map +1 -0
  1205. package/dist/message_input-tVB6JYJm.js +668 -0
  1206. package/dist/message_input-tVB6JYJm.js.map +1 -0
  1207. package/dist/node_modules/@tiptap/vue-3.cjs +2 -2
  1208. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  1209. package/dist/node_modules/@tiptap/vue-3.js +361 -457
  1210. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  1211. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -0
  1212. package/dist/recipes/buttons/callbar_button/callbar_button_constants.d.ts.map +1 -0
  1213. package/dist/recipes/buttons/callbar_button/index.d.ts.map +1 -0
  1214. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -0
  1215. package/dist/recipes/buttons/callbar_button_with_dropdown/index.d.ts.map +1 -0
  1216. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -0
  1217. package/dist/recipes/buttons/callbar_button_with_popover/index.d.ts.map +1 -0
  1218. package/dist/recipes/cards/ivr_node/index.d.ts.map +1 -0
  1219. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -0
  1220. package/dist/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -0
  1221. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -0
  1222. package/dist/recipes/chips/grouped_chip/index.d.ts.map +1 -0
  1223. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -0
  1224. package/dist/recipes/conversation_view/attachment_carousel/index.d.ts.map +1 -0
  1225. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -0
  1226. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts.map +1 -0
  1227. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -0
  1228. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -0
  1229. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +9548 -0
  1230. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -0
  1231. package/dist/recipes/conversation_view/editor/editor_constants.d.ts.map +1 -0
  1232. package/dist/recipes/conversation_view/editor/index.d.ts.map +1 -0
  1233. package/dist/recipes/conversation_view/emoji_row/composables/useMockReactions.d.ts.map +1 -0
  1234. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -0
  1235. package/dist/recipes/conversation_view/emoji_row/emoji_row_constants.d.ts.map +1 -0
  1236. package/dist/recipes/conversation_view/emoji_row/index.d.ts.map +1 -0
  1237. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -0
  1238. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.d.ts.map +1 -0
  1239. package/dist/recipes/conversation_view/feed_item_pill/index.d.ts.map +1 -0
  1240. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -0
  1241. package/dist/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +1 -0
  1242. package/dist/recipes/conversation_view/feed_item_row/index.d.ts.map +1 -0
  1243. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -0
  1244. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/meeting_pill.d.ts.map +1 -0
  1245. package/dist/recipes/conversation_view/message_input/index.d.ts.map +1 -0
  1246. package/dist/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -0
  1247. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +8399 -0
  1248. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -0
  1249. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -0
  1250. package/dist/recipes/conversation_view/message_input/message_input_constants.d.ts.map +1 -0
  1251. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -0
  1252. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -0
  1253. package/dist/recipes/conversation_view/time_pill/index.d.ts.map +1 -0
  1254. package/dist/recipes/conversation_view/time_pill/time_pill.vue.d.ts.map +1 -0
  1255. package/dist/recipes/eslint.config.d.ts.map +1 -0
  1256. package/dist/recipes/header/settings_menu_button/index.d.ts.map +1 -0
  1257. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -0
  1258. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -0
  1259. package/dist/recipes/item_layout/contact_info/index.d.ts.map +1 -0
  1260. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -0
  1261. package/dist/recipes/leftbar/callbox/callbox_constants.d.ts.map +1 -0
  1262. package/dist/recipes/leftbar/callbox/index.d.ts.map +1 -0
  1263. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -0
  1264. package/dist/recipes/leftbar/contact_centers_row/index.d.ts.map +1 -0
  1265. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -0
  1266. package/dist/recipes/leftbar/contact_row/index.d.ts.map +1 -0
  1267. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -0
  1268. package/dist/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -0
  1269. package/dist/recipes/leftbar/general_row/index.d.ts.map +1 -0
  1270. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -0
  1271. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -0
  1272. package/dist/recipes/leftbar/group_row/index.d.ts.map +1 -0
  1273. package/dist/recipes/leftbar/unread_pill/index.d.ts.map +1 -0
  1274. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -0
  1275. package/dist/recipes/leftbar/unread_pill/unread_pill_constants.d.ts.map +1 -0
  1276. package/dist/recipes/notices/top_banner_info/index.d.ts.map +1 -0
  1277. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -0
  1278. package/dist/recipes/notices/top_banner_info/top_banner_info_constants.d.ts.map +1 -0
  1279. package/dist/rich_text_editor-CEwKDuzw.cjs +10 -0
  1280. package/dist/rich_text_editor-CEwKDuzw.cjs.map +1 -0
  1281. package/dist/rich_text_editor-CtCGNkSD.js +2989 -0
  1282. package/dist/rich_text_editor-CtCGNkSD.js.map +1 -0
  1283. package/dist/scroller-06ayn-64.cjs +2 -0
  1284. package/dist/scroller-06ayn-64.cjs.map +1 -0
  1285. package/dist/scroller-Ckquh-PU.js +623 -0
  1286. package/dist/scroller-Ckquh-PU.js.map +1 -0
  1287. package/dist/shared/sr_only_close_button.cjs +2 -2
  1288. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  1289. package/dist/shared/sr_only_close_button.js +46 -48
  1290. package/dist/shared/sr_only_close_button.js.map +1 -1
  1291. package/dist/toast-0QfP90_3.cjs +2 -0
  1292. package/dist/toast-0QfP90_3.cjs.map +1 -0
  1293. package/dist/toast-B1zeUPtg.js +422 -0
  1294. package/dist/toast-B1zeUPtg.js.map +1 -0
  1295. package/package.json +12 -12
  1296. package/dist/_plugin-vue_export-helper-BRilXfQE.cjs +0 -2
  1297. package/dist/_plugin-vue_export-helper-BRilXfQE.cjs.map +0 -1
  1298. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -10
  1299. package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +0 -1
  1300. package/dist/common/mixins/index.cjs.map +0 -1
  1301. package/dist/common/mixins/index.js.map +0 -1
  1302. package/dist/dialtone-vue.cjs.map +0 -1
  1303. package/dist/dialtone-vue.js.map +0 -1
  1304. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +0 -1
  1305. package/dist/lib/attachment-carousel/attachment-carousel.js.map +0 -1
  1306. package/dist/lib/attachment-carousel/index.cjs.map +0 -1
  1307. package/dist/lib/attachment-carousel/index.js.map +0 -1
  1308. package/dist/lib/avatar/index.cjs.map +0 -1
  1309. package/dist/lib/avatar/index.js.map +0 -1
  1310. package/dist/lib/badge/index.cjs.map +0 -1
  1311. package/dist/lib/badge/index.js.map +0 -1
  1312. package/dist/lib/banner/index.cjs.map +0 -1
  1313. package/dist/lib/banner/index.js.map +0 -1
  1314. package/dist/lib/breadcrumbs/index.cjs.map +0 -1
  1315. package/dist/lib/breadcrumbs/index.js.map +0 -1
  1316. package/dist/lib/button/index.cjs.map +0 -1
  1317. package/dist/lib/button/index.js.map +0 -1
  1318. package/dist/lib/button-group/index.cjs.map +0 -1
  1319. package/dist/lib/button-group/index.js.map +0 -1
  1320. package/dist/lib/callbar-button/index.cjs.map +0 -1
  1321. package/dist/lib/callbar-button/index.js.map +0 -1
  1322. package/dist/lib/callbar-button-with-dropdown/index.cjs.map +0 -1
  1323. package/dist/lib/callbar-button-with-dropdown/index.js.map +0 -1
  1324. package/dist/lib/callbar-button-with-popover/index.cjs.map +0 -1
  1325. package/dist/lib/callbar-button-with-popover/index.js.map +0 -1
  1326. package/dist/lib/callbox/index.cjs.map +0 -1
  1327. package/dist/lib/callbox/index.js.map +0 -1
  1328. package/dist/lib/card/index.cjs.map +0 -1
  1329. package/dist/lib/card/index.js.map +0 -1
  1330. package/dist/lib/checkbox/index.cjs.map +0 -1
  1331. package/dist/lib/checkbox/index.js.map +0 -1
  1332. package/dist/lib/checkbox-group/index.cjs.map +0 -1
  1333. package/dist/lib/checkbox-group/index.js.map +0 -1
  1334. package/dist/lib/chip/index.cjs.map +0 -1
  1335. package/dist/lib/chip/index.js.map +0 -1
  1336. package/dist/lib/codeblock/index.cjs.map +0 -1
  1337. package/dist/lib/codeblock/index.js.map +0 -1
  1338. package/dist/lib/collapsible/index.cjs.map +0 -1
  1339. package/dist/lib/collapsible/index.js.map +0 -1
  1340. package/dist/lib/combobox/combobox.cjs.map +0 -1
  1341. package/dist/lib/combobox/combobox.js.map +0 -1
  1342. package/dist/lib/combobox/index.cjs.map +0 -1
  1343. package/dist/lib/combobox/index.js.map +0 -1
  1344. package/dist/lib/combobox-multi-select/index.cjs.map +0 -1
  1345. package/dist/lib/combobox-multi-select/index.js.map +0 -1
  1346. package/dist/lib/combobox-with-popover/index.cjs.map +0 -1
  1347. package/dist/lib/combobox-with-popover/index.js.map +0 -1
  1348. package/dist/lib/contact-centers-row/index.cjs.map +0 -1
  1349. package/dist/lib/contact-centers-row/index.js.map +0 -1
  1350. package/dist/lib/contact-info/index.cjs.map +0 -1
  1351. package/dist/lib/contact-info/index.js.map +0 -1
  1352. package/dist/lib/contact-row/index.cjs.map +0 -1
  1353. package/dist/lib/contact-row/index.js.map +0 -1
  1354. package/dist/lib/datepicker/datepicker.cjs.map +0 -1
  1355. package/dist/lib/datepicker/datepicker.js.map +0 -1
  1356. package/dist/lib/datepicker/index.cjs.map +0 -1
  1357. package/dist/lib/datepicker/index.js.map +0 -1
  1358. package/dist/lib/description-list/index.cjs.map +0 -1
  1359. package/dist/lib/description-list/index.js.map +0 -1
  1360. package/dist/lib/dropdown/index.cjs.map +0 -1
  1361. package/dist/lib/dropdown/index.js.map +0 -1
  1362. package/dist/lib/editor/index.cjs.map +0 -1
  1363. package/dist/lib/editor/index.js.map +0 -1
  1364. package/dist/lib/emoji/index.cjs.map +0 -1
  1365. package/dist/lib/emoji/index.js.map +0 -1
  1366. package/dist/lib/emoji-picker/emoji-picker.cjs.map +0 -1
  1367. package/dist/lib/emoji-picker/emoji-picker.js.map +0 -1
  1368. package/dist/lib/emoji-picker/index.cjs.map +0 -1
  1369. package/dist/lib/emoji-picker/index.js.map +0 -1
  1370. package/dist/lib/emoji-row/index.cjs.map +0 -1
  1371. package/dist/lib/emoji-row/index.js.map +0 -1
  1372. package/dist/lib/emoji-text-wrapper/index.cjs.map +0 -1
  1373. package/dist/lib/emoji-text-wrapper/index.js.map +0 -1
  1374. package/dist/lib/empty-state/index.cjs.map +0 -1
  1375. package/dist/lib/empty-state/index.js.map +0 -1
  1376. package/dist/lib/feed-item-pill/index.cjs.map +0 -1
  1377. package/dist/lib/feed-item-pill/index.js.map +0 -1
  1378. package/dist/lib/feed-item-row/index.cjs.map +0 -1
  1379. package/dist/lib/feed-item-row/index.js.map +0 -1
  1380. package/dist/lib/general-row/index.cjs.map +0 -1
  1381. package/dist/lib/general-row/index.js.map +0 -1
  1382. package/dist/lib/group-row/index.cjs.map +0 -1
  1383. package/dist/lib/group-row/index.js.map +0 -1
  1384. package/dist/lib/grouped-chip/index.cjs.map +0 -1
  1385. package/dist/lib/grouped-chip/index.js.map +0 -1
  1386. package/dist/lib/hovercard/index.cjs.map +0 -1
  1387. package/dist/lib/hovercard/index.js.map +0 -1
  1388. package/dist/lib/icon/index.cjs.map +0 -1
  1389. package/dist/lib/icon/index.js.map +0 -1
  1390. package/dist/lib/illustration/index.cjs.map +0 -1
  1391. package/dist/lib/illustration/index.js.map +0 -1
  1392. package/dist/lib/image-viewer/index.cjs.map +0 -1
  1393. package/dist/lib/image-viewer/index.js.map +0 -1
  1394. package/dist/lib/input/index.cjs.map +0 -1
  1395. package/dist/lib/input/index.js.map +0 -1
  1396. package/dist/lib/input-group/index.cjs.map +0 -1
  1397. package/dist/lib/input-group/index.js.map +0 -1
  1398. package/dist/lib/item-layout/index.cjs.map +0 -1
  1399. package/dist/lib/item-layout/index.js.map +0 -1
  1400. package/dist/lib/ivr-node/index.cjs.map +0 -1
  1401. package/dist/lib/ivr-node/index.js.map +0 -1
  1402. package/dist/lib/keyboard-shortcut/index.cjs.map +0 -1
  1403. package/dist/lib/keyboard-shortcut/index.js.map +0 -1
  1404. package/dist/lib/lazy-show/index.cjs.map +0 -1
  1405. package/dist/lib/lazy-show/index.js.map +0 -1
  1406. package/dist/lib/link/index.cjs.map +0 -1
  1407. package/dist/lib/link/index.js.map +0 -1
  1408. package/dist/lib/list-item/index.cjs.map +0 -1
  1409. package/dist/lib/list-item/index.js.map +0 -1
  1410. package/dist/lib/list-item-group/index.cjs.map +0 -1
  1411. package/dist/lib/list-item-group/index.js.map +0 -1
  1412. package/dist/lib/loader/index.cjs.map +0 -1
  1413. package/dist/lib/loader/index.js.map +0 -1
  1414. package/dist/lib/message-input/index.cjs.map +0 -1
  1415. package/dist/lib/message-input/index.js.map +0 -1
  1416. package/dist/lib/message-input/message-input.cjs.map +0 -1
  1417. package/dist/lib/message-input/message-input.js.map +0 -1
  1418. package/dist/lib/modal/index.cjs.map +0 -1
  1419. package/dist/lib/modal/index.js.map +0 -1
  1420. package/dist/lib/motion-text/index.cjs.map +0 -1
  1421. package/dist/lib/motion-text/index.js.map +0 -1
  1422. package/dist/lib/notice/index.cjs.map +0 -1
  1423. package/dist/lib/notice/index.js.map +0 -1
  1424. package/dist/lib/pagination/index.cjs.map +0 -1
  1425. package/dist/lib/pagination/index.js.map +0 -1
  1426. package/dist/lib/popover/index.cjs.map +0 -1
  1427. package/dist/lib/popover/index.js.map +0 -1
  1428. package/dist/lib/presence/index.cjs.map +0 -1
  1429. package/dist/lib/presence/index.js.map +0 -1
  1430. package/dist/lib/progress-circle/index.cjs.map +0 -1
  1431. package/dist/lib/progress-circle/index.js.map +0 -1
  1432. package/dist/lib/radio/index.cjs.map +0 -1
  1433. package/dist/lib/radio/index.js.map +0 -1
  1434. package/dist/lib/radio-group/index.cjs.map +0 -1
  1435. package/dist/lib/radio-group/index.js.map +0 -1
  1436. package/dist/lib/rich-text-editor/index.cjs.map +0 -1
  1437. package/dist/lib/rich-text-editor/index.js.map +0 -1
  1438. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +0 -1
  1439. package/dist/lib/rich-text-editor/rich-text-editor.js.map +0 -1
  1440. package/dist/lib/root-layout/index.cjs.map +0 -1
  1441. package/dist/lib/root-layout/index.js.map +0 -1
  1442. package/dist/lib/scrollbar-directive/index.cjs.map +0 -1
  1443. package/dist/lib/scrollbar-directive/index.js.map +0 -1
  1444. package/dist/lib/scroller/index.cjs.map +0 -1
  1445. package/dist/lib/scroller/index.js.map +0 -1
  1446. package/dist/lib/scroller/scroller.cjs.map +0 -1
  1447. package/dist/lib/scroller/scroller.js.map +0 -1
  1448. package/dist/lib/select-menu/index.cjs.map +0 -1
  1449. package/dist/lib/select-menu/index.js.map +0 -1
  1450. package/dist/lib/settings-menu-button/index.cjs.map +0 -1
  1451. package/dist/lib/settings-menu-button/index.js.map +0 -1
  1452. package/dist/lib/skeleton/index.cjs.map +0 -1
  1453. package/dist/lib/skeleton/index.js.map +0 -1
  1454. package/dist/lib/split-button/index.cjs.map +0 -1
  1455. package/dist/lib/split-button/index.js.map +0 -1
  1456. package/dist/lib/stack/index.cjs.map +0 -1
  1457. package/dist/lib/stack/index.js.map +0 -1
  1458. package/dist/lib/tab/index.cjs.map +0 -1
  1459. package/dist/lib/tab/index.js.map +0 -1
  1460. package/dist/lib/time-pill/index.cjs.map +0 -1
  1461. package/dist/lib/time-pill/index.js.map +0 -1
  1462. package/dist/lib/toast/index.cjs.map +0 -1
  1463. package/dist/lib/toast/index.js.map +0 -1
  1464. package/dist/lib/toast/toast.cjs.map +0 -1
  1465. package/dist/lib/toast/toast.js.map +0 -1
  1466. package/dist/lib/toggle/index.cjs.map +0 -1
  1467. package/dist/lib/toggle/index.js.map +0 -1
  1468. package/dist/lib/tooltip/index.cjs.map +0 -1
  1469. package/dist/lib/tooltip/index.js.map +0 -1
  1470. package/dist/lib/tooltip-directive/index.cjs.map +0 -1
  1471. package/dist/lib/tooltip-directive/index.js.map +0 -1
  1472. package/dist/lib/top-banner-info/index.cjs.map +0 -1
  1473. package/dist/lib/top-banner-info/index.js.map +0 -1
  1474. package/dist/lib/unread-pill/index.cjs.map +0 -1
  1475. package/dist/lib/unread-pill/index.js.map +0 -1
  1476. package/dist/lib/validation-messages/index.cjs.map +0 -1
  1477. package/dist/lib/validation-messages/index.js.map +0 -1
  1478. package/dist/style.css +0 -1
  1479. package/dist/types/common/config/index.d.ts.map +0 -1
  1480. package/dist/types/common/constants/index.d.ts.map +0 -1
  1481. package/dist/types/common/dates/index.d.ts.map +0 -1
  1482. package/dist/types/common/emoji/index.d.ts.map +0 -1
  1483. package/dist/types/common/mixins/dom.d.ts.map +0 -1
  1484. package/dist/types/common/mixins/index.d.ts.map +0 -1
  1485. package/dist/types/common/mixins/input.d.ts.map +0 -1
  1486. package/dist/types/common/mixins/input_group.d.ts.map +0 -1
  1487. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +0 -1
  1488. package/dist/types/common/mixins/modal.d.ts.map +0 -1
  1489. package/dist/types/common/mixins/skeleton.d.ts.map +0 -1
  1490. package/dist/types/common/sr_only_close_button.vue.d.ts.map +0 -1
  1491. package/dist/types/common/test_utils/node_traversal.d.ts.map +0 -1
  1492. package/dist/types/common/utils/index.d.ts.map +0 -1
  1493. package/dist/types/common/validators/index.d.ts.map +0 -1
  1494. package/dist/types/components/avatar/avatar.vue.d.ts.map +0 -1
  1495. package/dist/types/components/avatar/avatar_constants.d.ts.map +0 -1
  1496. package/dist/types/components/avatar/index.d.ts.map +0 -1
  1497. package/dist/types/components/avatar/utils.d.ts.map +0 -1
  1498. package/dist/types/components/badge/badge.vue.d.ts.map +0 -1
  1499. package/dist/types/components/badge/badge_constants.d.ts.map +0 -1
  1500. package/dist/types/components/badge/index.d.ts.map +0 -1
  1501. package/dist/types/components/banner/banner.vue.d.ts.map +0 -1
  1502. package/dist/types/components/banner/index.d.ts.map +0 -1
  1503. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +0 -1
  1504. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +0 -1
  1505. package/dist/types/components/breadcrumbs/breadcrumbs_constants.d.ts.map +0 -1
  1506. package/dist/types/components/breadcrumbs/index.d.ts.map +0 -1
  1507. package/dist/types/components/button/button.vue.d.ts.map +0 -1
  1508. package/dist/types/components/button/button_constants.d.ts.map +0 -1
  1509. package/dist/types/components/button/index.d.ts.map +0 -1
  1510. package/dist/types/components/button_group/button_group.vue.d.ts.map +0 -1
  1511. package/dist/types/components/button_group/button_group_constants.d.ts.map +0 -1
  1512. package/dist/types/components/button_group/index.d.ts.map +0 -1
  1513. package/dist/types/components/card/card.vue.d.ts.map +0 -1
  1514. package/dist/types/components/card/index.d.ts.map +0 -1
  1515. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +0 -1
  1516. package/dist/types/components/checkbox/checkbox_constants.d.ts.map +0 -1
  1517. package/dist/types/components/checkbox/index.d.ts.map +0 -1
  1518. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts.map +0 -1
  1519. package/dist/types/components/checkbox_group/index.d.ts.map +0 -1
  1520. package/dist/types/components/chip/chip.vue.d.ts.map +0 -1
  1521. package/dist/types/components/chip/chip_constants.d.ts.map +0 -1
  1522. package/dist/types/components/chip/index.d.ts.map +0 -1
  1523. package/dist/types/components/codeblock/codeblock.vue.d.ts.map +0 -1
  1524. package/dist/types/components/codeblock/index.d.ts.map +0 -1
  1525. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +0 -1
  1526. package/dist/types/components/collapsible/collapsible_lazy_show.vue.d.ts.map +0 -1
  1527. package/dist/types/components/collapsible/index.d.ts.map +0 -1
  1528. package/dist/types/components/combobox/combobox.vue.d.ts.map +0 -1
  1529. package/dist/types/components/combobox/combobox_constants.d.ts.map +0 -1
  1530. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +0 -1
  1531. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +0 -1
  1532. package/dist/types/components/combobox/index.d.ts.map +0 -1
  1533. package/dist/types/components/combobox_multi_select/combobox_multi_select.vue.d.ts.map +0 -1
  1534. package/dist/types/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +0 -1
  1535. package/dist/types/components/combobox_multi_select/combobox_multi_select_story_constants.d.ts.map +0 -1
  1536. package/dist/types/components/combobox_multi_select/index.d.ts.map +0 -1
  1537. package/dist/types/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +0 -1
  1538. package/dist/types/components/combobox_with_popover/index.d.ts.map +0 -1
  1539. package/dist/types/components/datepicker/composables/useCalendar.d.ts.map +0 -1
  1540. package/dist/types/components/datepicker/composables/useMonthYearPicker.d.ts.map +0 -1
  1541. package/dist/types/components/datepicker/datepicker.vue.d.ts.map +0 -1
  1542. package/dist/types/components/datepicker/datepicker_constants.d.ts.map +0 -1
  1543. package/dist/types/components/datepicker/formatUtils.d.ts.map +0 -1
  1544. package/dist/types/components/datepicker/index.d.ts.map +0 -1
  1545. package/dist/types/components/datepicker/modules/calendar.vue.d.ts.map +0 -1
  1546. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +0 -1
  1547. package/dist/types/components/datepicker/utils.d.ts.map +0 -1
  1548. package/dist/types/components/description_list/description_list.vue.d.ts.map +0 -1
  1549. package/dist/types/components/description_list/description_list_constants.d.ts.map +0 -1
  1550. package/dist/types/components/description_list/description_list_validators.d.ts.map +0 -1
  1551. package/dist/types/components/description_list/index.d.ts.map +0 -1
  1552. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +0 -1
  1553. package/dist/types/components/dropdown/dropdown_constants.d.ts.map +0 -1
  1554. package/dist/types/components/dropdown/dropdown_separator.vue.d.ts.map +0 -1
  1555. package/dist/types/components/dropdown/dropdown_story_constants.d.ts.map +0 -1
  1556. package/dist/types/components/dropdown/index.d.ts.map +0 -1
  1557. package/dist/types/components/emoji/emoji.vue.d.ts.map +0 -1
  1558. package/dist/types/components/emoji/index.d.ts.map +0 -1
  1559. package/dist/types/components/emoji_picker/composables/useKeyboardNavigation.d.ts.map +0 -1
  1560. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts.map +0 -1
  1561. package/dist/types/components/emoji_picker/emoji_picker_constants.d.ts.map +0 -1
  1562. package/dist/types/components/emoji_picker/index.d.ts.map +0 -1
  1563. package/dist/types/components/emoji_picker/modules/emoji_description.vue.d.ts.map +0 -1
  1564. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +0 -1
  1565. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +0 -1
  1566. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +0 -1
  1567. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +0 -1
  1568. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +0 -1
  1569. package/dist/types/components/emoji_text_wrapper/index.d.ts.map +0 -1
  1570. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +0 -1
  1571. package/dist/types/components/empty_state/empty_state_constants.d.ts.map +0 -1
  1572. package/dist/types/components/empty_state/index.d.ts.map +0 -1
  1573. package/dist/types/components/eslint.config.d.ts.map +0 -1
  1574. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +0 -1
  1575. package/dist/types/components/hovercard/index.d.ts.map +0 -1
  1576. package/dist/types/components/icon/icon.vue.d.ts.map +0 -1
  1577. package/dist/types/components/icon/icon_constants.d.ts.map +0 -1
  1578. package/dist/types/components/icon/index.d.ts.map +0 -1
  1579. package/dist/types/components/illustration/illustration.vue.d.ts.map +0 -1
  1580. package/dist/types/components/illustration/illustration_constants.d.ts.map +0 -1
  1581. package/dist/types/components/illustration/index.d.ts.map +0 -1
  1582. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +0 -1
  1583. package/dist/types/components/image_viewer/index.d.ts.map +0 -1
  1584. package/dist/types/components/input/index.d.ts.map +0 -1
  1585. package/dist/types/components/input/input.vue.d.ts.map +0 -1
  1586. package/dist/types/components/input/input_constants.d.ts.map +0 -1
  1587. package/dist/types/components/input_group/index.d.ts.map +0 -1
  1588. package/dist/types/components/input_group/input_group.vue.d.ts.map +0 -1
  1589. package/dist/types/components/item_layout/index.d.ts.map +0 -1
  1590. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +0 -1
  1591. package/dist/types/components/keyboard_shortcut/index.d.ts.map +0 -1
  1592. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +0 -1
  1593. package/dist/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +0 -1
  1594. package/dist/types/components/lazy_show/index.d.ts.map +0 -1
  1595. package/dist/types/components/lazy_show/lazy_show.vue.d.ts.map +0 -1
  1596. package/dist/types/components/link/index.d.ts.map +0 -1
  1597. package/dist/types/components/link/link.vue.d.ts.map +0 -1
  1598. package/dist/types/components/link/link_constants.d.ts.map +0 -1
  1599. package/dist/types/components/list_item/index.d.ts.map +0 -1
  1600. package/dist/types/components/list_item/list_item.vue.d.ts.map +0 -1
  1601. package/dist/types/components/list_item/list_item_constants.d.ts.map +0 -1
  1602. package/dist/types/components/list_item_group/index.d.ts.map +0 -1
  1603. package/dist/types/components/list_item_group/list_item_group.vue.d.ts.map +0 -1
  1604. package/dist/types/components/list_item_group/list_item_group_constants.d.ts.map +0 -1
  1605. package/dist/types/components/loader/index.d.ts.map +0 -1
  1606. package/dist/types/components/loader/loader.vue.d.ts.map +0 -1
  1607. package/dist/types/components/modal/index.d.ts.map +0 -1
  1608. package/dist/types/components/modal/modal.vue.d.ts.map +0 -1
  1609. package/dist/types/components/modal/modal_constants.d.ts.map +0 -1
  1610. package/dist/types/components/motion_text/index.d.ts.map +0 -1
  1611. package/dist/types/components/motion_text/motion_text.vue.d.ts.map +0 -1
  1612. package/dist/types/components/motion_text/motion_text_constants.d.ts.map +0 -1
  1613. package/dist/types/components/notice/index.d.ts.map +0 -1
  1614. package/dist/types/components/notice/notice.vue.d.ts.map +0 -1
  1615. package/dist/types/components/notice/notice_action.vue.d.ts.map +0 -1
  1616. package/dist/types/components/notice/notice_constants.d.ts.map +0 -1
  1617. package/dist/types/components/notice/notice_content.vue.d.ts.map +0 -1
  1618. package/dist/types/components/notice/notice_icon.vue.d.ts.map +0 -1
  1619. package/dist/types/components/pagination/index.d.ts.map +0 -1
  1620. package/dist/types/components/pagination/pagination.vue.d.ts.map +0 -1
  1621. package/dist/types/components/popover/index.d.ts.map +0 -1
  1622. package/dist/types/components/popover/popover.vue.d.ts.map +0 -1
  1623. package/dist/types/components/popover/popover_constants.d.ts.map +0 -1
  1624. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +0 -1
  1625. package/dist/types/components/popover/tippy_utils.d.ts.map +0 -1
  1626. package/dist/types/components/presence/index.d.ts.map +0 -1
  1627. package/dist/types/components/presence/presence.vue.d.ts.map +0 -1
  1628. package/dist/types/components/presence/presence_constants.d.ts.map +0 -1
  1629. package/dist/types/components/progress_circle/index.d.ts.map +0 -1
  1630. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +0 -1
  1631. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +0 -1
  1632. package/dist/types/components/radio/index.d.ts.map +0 -1
  1633. package/dist/types/components/radio/radio.vue.d.ts.map +0 -1
  1634. package/dist/types/components/radio/radio_constants.d.ts.map +0 -1
  1635. package/dist/types/components/radio_group/index.d.ts.map +0 -1
  1636. package/dist/types/components/radio_group/radio_group.vue.d.ts.map +0 -1
  1637. package/dist/types/components/rich_text_editor/channel_suggestion.d.ts.map +0 -1
  1638. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +0 -1
  1639. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +0 -1
  1640. package/dist/types/components/rich_text_editor/extensions/channels/channel.d.ts.map +0 -1
  1641. package/dist/types/components/rich_text_editor/extensions/channels/suggestion.d.ts.map +0 -1
  1642. package/dist/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +0 -1
  1643. package/dist/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +0 -1
  1644. package/dist/types/components/rich_text_editor/extensions/custom_link/index.d.ts.map +0 -1
  1645. package/dist/types/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +0 -1
  1646. package/dist/types/components/rich_text_editor/extensions/div/div.d.ts.map +0 -1
  1647. package/dist/types/components/rich_text_editor/extensions/div/index.d.ts.map +0 -1
  1648. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts.map +0 -1
  1649. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts.map +0 -1
  1650. package/dist/types/components/rich_text_editor/extensions/emoji/emoji.d.ts.map +0 -1
  1651. package/dist/types/components/rich_text_editor/extensions/emoji/index.d.ts.map +0 -1
  1652. package/dist/types/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +0 -1
  1653. package/dist/types/components/rich_text_editor/extensions/image/image.d.ts.map +0 -1
  1654. package/dist/types/components/rich_text_editor/extensions/image/index.d.ts.map +0 -1
  1655. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +0 -1
  1656. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +0 -1
  1657. package/dist/types/components/rich_text_editor/extensions/mentions/mention.d.ts.map +0 -1
  1658. package/dist/types/components/rich_text_editor/extensions/mentions/suggestion.d.ts.map +0 -1
  1659. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +0 -1
  1660. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +0 -1
  1661. package/dist/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +0 -1
  1662. package/dist/types/components/rich_text_editor/extensions/slash_command/suggestion.d.ts.map +0 -1
  1663. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +0 -1
  1664. package/dist/types/components/rich_text_editor/extensions/table/table.d.ts.map +0 -1
  1665. package/dist/types/components/rich_text_editor/extensions/text_style/text_style.d.ts.map +0 -1
  1666. package/dist/types/components/rich_text_editor/extensions/utils/suggestion_utils.d.ts.map +0 -1
  1667. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +0 -1
  1668. package/dist/types/components/rich_text_editor/extensions/variable/index.d.ts.map +0 -1
  1669. package/dist/types/components/rich_text_editor/extensions/variable/variable.d.ts.map +0 -1
  1670. package/dist/types/components/rich_text_editor/index.d.ts.map +0 -1
  1671. package/dist/types/components/rich_text_editor/mention_suggestion.d.ts.map +0 -1
  1672. package/dist/types/components/rich_text_editor/rich_text_editor_constants.d.ts.map +0 -1
  1673. package/dist/types/components/rich_text_editor/slash_command_suggestion.d.ts.map +0 -1
  1674. package/dist/types/components/root_layout/index.d.ts.map +0 -1
  1675. package/dist/types/components/root_layout/root_layout.vue.d.ts.map +0 -1
  1676. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +0 -1
  1677. package/dist/types/components/scroller/index.d.ts.map +0 -1
  1678. package/dist/types/components/scroller/modules/core_scroller.vue.d.ts.map +0 -1
  1679. package/dist/types/components/scroller/modules/dynamic_scroller.vue.d.ts.map +0 -1
  1680. package/dist/types/components/scroller/modules/scroller_item.vue.d.ts.map +0 -1
  1681. package/dist/types/components/scroller/scroller.vue.d.ts.map +0 -1
  1682. package/dist/types/components/select_menu/index.d.ts.map +0 -1
  1683. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +0 -1
  1684. package/dist/types/components/select_menu/select_menu_constants.d.ts.map +0 -1
  1685. package/dist/types/components/select_menu/select_menu_validators.d.ts.map +0 -1
  1686. package/dist/types/components/skeleton/index.d.ts.map +0 -1
  1687. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts.map +0 -1
  1688. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts.map +0 -1
  1689. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts.map +0 -1
  1690. package/dist/types/components/skeleton/skeleton-text.vue.d.ts.map +0 -1
  1691. package/dist/types/components/skeleton/skeleton.vue.d.ts.map +0 -1
  1692. package/dist/types/components/skeleton/skeleton_constants.d.ts.map +0 -1
  1693. package/dist/types/components/split_button/index.d.ts.map +0 -1
  1694. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
  1695. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +0 -1
  1696. package/dist/types/components/split_button/split_button.vue.d.ts.map +0 -1
  1697. package/dist/types/components/split_button/split_button_constants.d.ts.map +0 -1
  1698. package/dist/types/components/stack/index.d.ts.map +0 -1
  1699. package/dist/types/components/stack/stack.vue.d.ts.map +0 -1
  1700. package/dist/types/components/stack/stack_constants.d.ts.map +0 -1
  1701. package/dist/types/components/stack/utils.d.ts.map +0 -1
  1702. package/dist/types/components/stack/validators.d.ts.map +0 -1
  1703. package/dist/types/components/tab/index.d.ts.map +0 -1
  1704. package/dist/types/components/tab/tab.vue.d.ts.map +0 -1
  1705. package/dist/types/components/tab/tab_group.vue.d.ts.map +0 -1
  1706. package/dist/types/components/tab/tab_panel.vue.d.ts.map +0 -1
  1707. package/dist/types/components/tab/tabs_constants.d.ts.map +0 -1
  1708. package/dist/types/components/toast/index.d.ts.map +0 -1
  1709. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +0 -1
  1710. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +0 -1
  1711. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +0 -1
  1712. package/dist/types/components/toast/toast.vue.d.ts.map +0 -1
  1713. package/dist/types/components/toast/toast_constants.d.ts.map +0 -1
  1714. package/dist/types/components/toggle/index.d.ts.map +0 -1
  1715. package/dist/types/components/toggle/toggle.vue.d.ts.map +0 -1
  1716. package/dist/types/components/toggle/toggle_constants.d.ts.map +0 -1
  1717. package/dist/types/components/tooltip/index.d.ts.map +0 -1
  1718. package/dist/types/components/tooltip/tooltip.vue.d.ts.map +0 -1
  1719. package/dist/types/components/tooltip/tooltip_constants.d.ts.map +0 -1
  1720. package/dist/types/components/validation_messages/index.d.ts.map +0 -1
  1721. package/dist/types/components/validation_messages/validation_messages.vue.d.ts.map +0 -1
  1722. package/dist/types/directives/scrollbar_directive/index.d.ts.map +0 -1
  1723. package/dist/types/directives/scrollbar_directive/scrollbar.d.ts.map +0 -1
  1724. package/dist/types/directives/tooltip_directive/index.d.ts.map +0 -1
  1725. package/dist/types/directives/tooltip_directive/tooltip.d.ts.map +0 -1
  1726. package/dist/types/index.d.ts.map +0 -1
  1727. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +0 -1
  1728. package/dist/types/recipes/buttons/callbar_button/callbar_button_constants.d.ts.map +0 -1
  1729. package/dist/types/recipes/buttons/callbar_button/index.d.ts.map +0 -1
  1730. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +0 -1
  1731. package/dist/types/recipes/buttons/callbar_button_with_dropdown/index.d.ts.map +0 -1
  1732. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +0 -1
  1733. package/dist/types/recipes/buttons/callbar_button_with_popover/index.d.ts.map +0 -1
  1734. package/dist/types/recipes/cards/ivr_node/index.d.ts.map +0 -1
  1735. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +0 -1
  1736. package/dist/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +0 -1
  1737. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +0 -1
  1738. package/dist/types/recipes/chips/grouped_chip/index.d.ts.map +0 -1
  1739. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +0 -1
  1740. package/dist/types/recipes/conversation_view/attachment_carousel/index.d.ts.map +0 -1
  1741. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +0 -1
  1742. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts.map +0 -1
  1743. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +0 -1
  1744. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +0 -1
  1745. package/dist/types/recipes/conversation_view/editor/editor_constants.d.ts.map +0 -1
  1746. package/dist/types/recipes/conversation_view/editor/index.d.ts.map +0 -1
  1747. package/dist/types/recipes/conversation_view/emoji_row/composables/useMockReactions.d.ts.map +0 -1
  1748. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +0 -1
  1749. package/dist/types/recipes/conversation_view/emoji_row/emoji_row_constants.d.ts.map +0 -1
  1750. package/dist/types/recipes/conversation_view/emoji_row/index.d.ts.map +0 -1
  1751. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +0 -1
  1752. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill_constants.d.ts.map +0 -1
  1753. package/dist/types/recipes/conversation_view/feed_item_pill/index.d.ts.map +0 -1
  1754. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +0 -1
  1755. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +0 -1
  1756. package/dist/types/recipes/conversation_view/feed_item_row/index.d.ts.map +0 -1
  1757. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +0 -1
  1758. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/meeting_pill.d.ts.map +0 -1
  1759. package/dist/types/recipes/conversation_view/message_input/index.d.ts.map +0 -1
  1760. package/dist/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +0 -1
  1761. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +0 -1
  1762. package/dist/types/recipes/conversation_view/message_input/message_input_constants.d.ts.map +0 -1
  1763. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +0 -1
  1764. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +0 -1
  1765. package/dist/types/recipes/conversation_view/time_pill/index.d.ts.map +0 -1
  1766. package/dist/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts.map +0 -1
  1767. package/dist/types/recipes/eslint.config.d.ts.map +0 -1
  1768. package/dist/types/recipes/header/settings_menu_button/index.d.ts.map +0 -1
  1769. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +0 -1
  1770. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +0 -1
  1771. package/dist/types/recipes/item_layout/contact_info/index.d.ts.map +0 -1
  1772. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +0 -1
  1773. package/dist/types/recipes/leftbar/callbox/callbox_constants.d.ts.map +0 -1
  1774. package/dist/types/recipes/leftbar/callbox/index.d.ts.map +0 -1
  1775. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +0 -1
  1776. package/dist/types/recipes/leftbar/contact_centers_row/index.d.ts.map +0 -1
  1777. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +0 -1
  1778. package/dist/types/recipes/leftbar/contact_row/index.d.ts.map +0 -1
  1779. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +0 -1
  1780. package/dist/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +0 -1
  1781. package/dist/types/recipes/leftbar/general_row/index.d.ts.map +0 -1
  1782. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +0 -1
  1783. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +0 -1
  1784. package/dist/types/recipes/leftbar/group_row/index.d.ts.map +0 -1
  1785. package/dist/types/recipes/leftbar/unread_pill/index.d.ts.map +0 -1
  1786. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +0 -1
  1787. package/dist/types/recipes/leftbar/unread_pill/unread_pill_constants.d.ts.map +0 -1
  1788. package/dist/types/recipes/notices/top_banner_info/index.d.ts.map +0 -1
  1789. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +0 -1
  1790. package/dist/types/recipes/notices/top_banner_info/top_banner_info_constants.d.ts.map +0 -1
  1791. /package/dist/{types/common → common}/config/index.d.ts +0 -0
  1792. /package/dist/{types/common → common}/constants/index.d.ts +0 -0
  1793. /package/dist/{types/common → common}/dates/index.d.ts +0 -0
  1794. /package/dist/{types/common → common}/emoji/index.d.ts +0 -0
  1795. /package/dist/{types/common → common}/mixins/dom.d.ts +0 -0
  1796. /package/dist/{types/common → common}/mixins/index.d.ts +0 -0
  1797. /package/dist/{types/common → common}/mixins/input.d.ts +0 -0
  1798. /package/dist/{types/common → common}/mixins/input_group.d.ts +0 -0
  1799. /package/dist/{types/common → common}/mixins/keyboard_list_navigation.d.ts +0 -0
  1800. /package/dist/{types/common → common}/mixins/modal.d.ts +0 -0
  1801. /package/dist/{types/common → common}/mixins/skeleton.d.ts +0 -0
  1802. /package/dist/{types/common → common}/sr_only_close_button.vue.d.ts +0 -0
  1803. /package/dist/{types/common → common}/test_utils/node_traversal.d.ts +0 -0
  1804. /package/dist/{types/common → common}/utils/index.d.ts +0 -0
  1805. /package/dist/{types/common → common}/validators/index.d.ts +0 -0
  1806. /package/dist/{types/components → components}/avatar/avatar.vue.d.ts +0 -0
  1807. /package/dist/{types/components → components}/avatar/avatar_constants.d.ts +0 -0
  1808. /package/dist/{types/components → components}/avatar/index.d.ts +0 -0
  1809. /package/dist/{types/components → components}/avatar/utils.d.ts +0 -0
  1810. /package/dist/{types/components → components}/badge/badge.vue.d.ts +0 -0
  1811. /package/dist/{types/components → components}/badge/badge_constants.d.ts +0 -0
  1812. /package/dist/{types/components → components}/badge/index.d.ts +0 -0
  1813. /package/dist/{types/components → components}/banner/banner.vue.d.ts +0 -0
  1814. /package/dist/{types/components → components}/banner/index.d.ts +0 -0
  1815. /package/dist/{types/components → components}/breadcrumbs/breadcrumb_item.vue.d.ts +0 -0
  1816. /package/dist/{types/components → components}/breadcrumbs/breadcrumbs.vue.d.ts +0 -0
  1817. /package/dist/{types/components → components}/breadcrumbs/breadcrumbs_constants.d.ts +0 -0
  1818. /package/dist/{types/components → components}/breadcrumbs/index.d.ts +0 -0
  1819. /package/dist/{types/components → components}/button/button.vue.d.ts +0 -0
  1820. /package/dist/{types/components → components}/button/button_constants.d.ts +0 -0
  1821. /package/dist/{types/components → components}/button/index.d.ts +0 -0
  1822. /package/dist/{types/components → components}/button_group/button_group.vue.d.ts +0 -0
  1823. /package/dist/{types/components → components}/button_group/button_group_constants.d.ts +0 -0
  1824. /package/dist/{types/components → components}/button_group/index.d.ts +0 -0
  1825. /package/dist/{types/components → components}/card/card.vue.d.ts +0 -0
  1826. /package/dist/{types/components → components}/card/index.d.ts +0 -0
  1827. /package/dist/{types/components → components}/checkbox/checkbox.vue.d.ts +0 -0
  1828. /package/dist/{types/components → components}/checkbox/checkbox_constants.d.ts +0 -0
  1829. /package/dist/{types/components → components}/checkbox/index.d.ts +0 -0
  1830. /package/dist/{types/components → components}/checkbox_group/checkbox_group.vue.d.ts +0 -0
  1831. /package/dist/{types/components → components}/checkbox_group/index.d.ts +0 -0
  1832. /package/dist/{types/components → components}/chip/chip.vue.d.ts +0 -0
  1833. /package/dist/{types/components → components}/chip/chip_constants.d.ts +0 -0
  1834. /package/dist/{types/components → components}/chip/index.d.ts +0 -0
  1835. /package/dist/{types/components → components}/codeblock/codeblock.vue.d.ts +0 -0
  1836. /package/dist/{types/components → components}/codeblock/index.d.ts +0 -0
  1837. /package/dist/{types/components → components}/collapsible/collapsible.vue.d.ts +0 -0
  1838. /package/dist/{types/components → components}/collapsible/collapsible_lazy_show.vue.d.ts +0 -0
  1839. /package/dist/{types/components → components}/collapsible/index.d.ts +0 -0
  1840. /package/dist/{types/components → components}/combobox/combobox.vue.d.ts +0 -0
  1841. /package/dist/{types/components → components}/combobox/combobox_constants.d.ts +0 -0
  1842. /package/dist/{types/components → components}/combobox/combobox_empty-list.vue.d.ts +0 -0
  1843. /package/dist/{types/components → components}/combobox/combobox_loading-list.vue.d.ts +0 -0
  1844. /package/dist/{types/components → components}/combobox/index.d.ts +0 -0
  1845. /package/dist/{types/components → components}/combobox_multi_select/combobox_multi_select.vue.d.ts +0 -0
  1846. /package/dist/{types/components → components}/combobox_multi_select/combobox_multi_select_constants.d.ts +0 -0
  1847. /package/dist/{types/components → components}/combobox_multi_select/combobox_multi_select_story_constants.d.ts +0 -0
  1848. /package/dist/{types/components → components}/combobox_multi_select/index.d.ts +0 -0
  1849. /package/dist/{types/components → components}/combobox_with_popover/combobox_with_popover.vue.d.ts +0 -0
  1850. /package/dist/{types/components → components}/combobox_with_popover/index.d.ts +0 -0
  1851. /package/dist/{types/components → components}/datepicker/composables/useCalendar.d.ts +0 -0
  1852. /package/dist/{types/components → components}/datepicker/composables/useMonthYearPicker.d.ts +0 -0
  1853. /package/dist/{types/components → components}/datepicker/datepicker.vue.d.ts +0 -0
  1854. /package/dist/{types/components → components}/datepicker/datepicker_constants.d.ts +0 -0
  1855. /package/dist/{types/components → components}/datepicker/formatUtils.d.ts +0 -0
  1856. /package/dist/{types/components → components}/datepicker/index.d.ts +0 -0
  1857. /package/dist/{types/components → components}/datepicker/modules/calendar.vue.d.ts +0 -0
  1858. /package/dist/{types/components → components}/datepicker/modules/month-year-picker.vue.d.ts +0 -0
  1859. /package/dist/{types/components → components}/datepicker/utils.d.ts +0 -0
  1860. /package/dist/{types/components → components}/description_list/description_list.vue.d.ts +0 -0
  1861. /package/dist/{types/components → components}/description_list/description_list_constants.d.ts +0 -0
  1862. /package/dist/{types/components → components}/description_list/description_list_validators.d.ts +0 -0
  1863. /package/dist/{types/components → components}/description_list/index.d.ts +0 -0
  1864. /package/dist/{types/components → components}/dropdown/dropdown.vue.d.ts +0 -0
  1865. /package/dist/{types/components → components}/dropdown/dropdown_constants.d.ts +0 -0
  1866. /package/dist/{types/components → components}/dropdown/dropdown_separator.vue.d.ts +0 -0
  1867. /package/dist/{types/components → components}/dropdown/dropdown_story_constants.d.ts +0 -0
  1868. /package/dist/{types/components → components}/dropdown/index.d.ts +0 -0
  1869. /package/dist/{types/components → components}/emoji/emoji.vue.d.ts +0 -0
  1870. /package/dist/{types/components → components}/emoji/index.d.ts +0 -0
  1871. /package/dist/{types/components → components}/emoji_picker/composables/useKeyboardNavigation.d.ts +0 -0
  1872. /package/dist/{types/components → components}/emoji_picker/emoji_picker.vue.d.ts +0 -0
  1873. /package/dist/{types/components → components}/emoji_picker/emoji_picker_constants.d.ts +0 -0
  1874. /package/dist/{types/components → components}/emoji_picker/index.d.ts +0 -0
  1875. /package/dist/{types/components → components}/emoji_picker/modules/emoji_description.vue.d.ts +0 -0
  1876. /package/dist/{types/components → components}/emoji_picker/modules/emoji_search.vue.d.ts +0 -0
  1877. /package/dist/{types/components → components}/emoji_picker/modules/emoji_selector.vue.d.ts +0 -0
  1878. /package/dist/{types/components → components}/emoji_picker/modules/emoji_skin_selector.vue.d.ts +0 -0
  1879. /package/dist/{types/components → components}/emoji_picker/modules/emoji_tabset.vue.d.ts +0 -0
  1880. /package/dist/{types/components → components}/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +0 -0
  1881. /package/dist/{types/components → components}/emoji_text_wrapper/index.d.ts +0 -0
  1882. /package/dist/{types/components → components}/empty_state/empty_state.vue.d.ts +0 -0
  1883. /package/dist/{types/components → components}/empty_state/empty_state_constants.d.ts +0 -0
  1884. /package/dist/{types/components → components}/empty_state/index.d.ts +0 -0
  1885. /package/dist/{types/components → components}/eslint.config.d.ts +0 -0
  1886. /package/dist/{types/components → components}/hovercard/hovercard.vue.d.ts +0 -0
  1887. /package/dist/{types/components → components}/hovercard/index.d.ts +0 -0
  1888. /package/dist/{types/components → components}/icon/icon.vue.d.ts +0 -0
  1889. /package/dist/{types/components → components}/icon/icon_constants.d.ts +0 -0
  1890. /package/dist/{types/components → components}/icon/index.d.ts +0 -0
  1891. /package/dist/{types/components → components}/illustration/illustration.vue.d.ts +0 -0
  1892. /package/dist/{types/components → components}/illustration/illustration_constants.d.ts +0 -0
  1893. /package/dist/{types/components → components}/illustration/index.d.ts +0 -0
  1894. /package/dist/{types/components → components}/image_viewer/image_viewer.vue.d.ts +0 -0
  1895. /package/dist/{types/components → components}/image_viewer/index.d.ts +0 -0
  1896. /package/dist/{types/components → components}/input/index.d.ts +0 -0
  1897. /package/dist/{types/components → components}/input/input.vue.d.ts +0 -0
  1898. /package/dist/{types/components → components}/input/input_constants.d.ts +0 -0
  1899. /package/dist/{types/components → components}/input_group/index.d.ts +0 -0
  1900. /package/dist/{types/components → components}/input_group/input_group.vue.d.ts +0 -0
  1901. /package/dist/{types/components → components}/item_layout/index.d.ts +0 -0
  1902. /package/dist/{types/components → components}/item_layout/item_layout.vue.d.ts +0 -0
  1903. /package/dist/{types/components → components}/keyboard_shortcut/index.d.ts +0 -0
  1904. /package/dist/{types/components → components}/keyboard_shortcut/keyboard_shortcut.vue.d.ts +0 -0
  1905. /package/dist/{types/components → components}/keyboard_shortcut/keyboard_shortcut_constants.d.ts +0 -0
  1906. /package/dist/{types/components → components}/lazy_show/index.d.ts +0 -0
  1907. /package/dist/{types/components → components}/lazy_show/lazy_show.vue.d.ts +0 -0
  1908. /package/dist/{types/components → components}/link/index.d.ts +0 -0
  1909. /package/dist/{types/components → components}/link/link.vue.d.ts +0 -0
  1910. /package/dist/{types/components → components}/link/link_constants.d.ts +0 -0
  1911. /package/dist/{types/components → components}/list_item/index.d.ts +0 -0
  1912. /package/dist/{types/components → components}/list_item/list_item.vue.d.ts +0 -0
  1913. /package/dist/{types/components → components}/list_item/list_item_constants.d.ts +0 -0
  1914. /package/dist/{types/components → components}/list_item_group/index.d.ts +0 -0
  1915. /package/dist/{types/components → components}/list_item_group/list_item_group.vue.d.ts +0 -0
  1916. /package/dist/{types/components → components}/list_item_group/list_item_group_constants.d.ts +0 -0
  1917. /package/dist/{types/components → components}/loader/index.d.ts +0 -0
  1918. /package/dist/{types/components → components}/loader/loader.vue.d.ts +0 -0
  1919. /package/dist/{types/components → components}/modal/index.d.ts +0 -0
  1920. /package/dist/{types/components → components}/modal/modal.vue.d.ts +0 -0
  1921. /package/dist/{types/components → components}/modal/modal_constants.d.ts +0 -0
  1922. /package/dist/{types/components → components}/motion_text/index.d.ts +0 -0
  1923. /package/dist/{types/components → components}/motion_text/motion_text.vue.d.ts +0 -0
  1924. /package/dist/{types/components → components}/motion_text/motion_text_constants.d.ts +0 -0
  1925. /package/dist/{types/components → components}/notice/index.d.ts +0 -0
  1926. /package/dist/{types/components → components}/notice/notice.vue.d.ts +0 -0
  1927. /package/dist/{types/components → components}/notice/notice_action.vue.d.ts +0 -0
  1928. /package/dist/{types/components → components}/notice/notice_constants.d.ts +0 -0
  1929. /package/dist/{types/components → components}/notice/notice_content.vue.d.ts +0 -0
  1930. /package/dist/{types/components → components}/notice/notice_icon.vue.d.ts +0 -0
  1931. /package/dist/{types/components → components}/pagination/index.d.ts +0 -0
  1932. /package/dist/{types/components → components}/pagination/pagination.vue.d.ts +0 -0
  1933. /package/dist/{types/components → components}/popover/index.d.ts +0 -0
  1934. /package/dist/{types/components → components}/popover/popover.vue.d.ts +0 -0
  1935. /package/dist/{types/components → components}/popover/popover_constants.d.ts +0 -0
  1936. /package/dist/{types/components → components}/popover/popover_header_footer.vue.d.ts +0 -0
  1937. /package/dist/{types/components → components}/popover/tippy_utils.d.ts +0 -0
  1938. /package/dist/{types/components → components}/presence/index.d.ts +0 -0
  1939. /package/dist/{types/components → components}/presence/presence.vue.d.ts +0 -0
  1940. /package/dist/{types/components → components}/presence/presence_constants.d.ts +0 -0
  1941. /package/dist/{types/components → components}/progress_circle/index.d.ts +0 -0
  1942. /package/dist/{types/components → components}/progress_circle/progress_circle.vue.d.ts +0 -0
  1943. /package/dist/{types/components → components}/progress_circle/progress_circle_constants.d.ts +0 -0
  1944. /package/dist/{types/components → components}/radio/index.d.ts +0 -0
  1945. /package/dist/{types/components → components}/radio/radio.vue.d.ts +0 -0
  1946. /package/dist/{types/components → components}/radio/radio_constants.d.ts +0 -0
  1947. /package/dist/{types/components → components}/radio_group/index.d.ts +0 -0
  1948. /package/dist/{types/components → components}/radio_group/radio_group.vue.d.ts +0 -0
  1949. /package/dist/{types/components → components}/rich_text_editor/channel_suggestion.d.ts +0 -0
  1950. /package/dist/{types/components → components}/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +0 -0
  1951. /package/dist/{types/components → components}/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +0 -0
  1952. /package/dist/{types/components → components}/rich_text_editor/extensions/channels/channel.d.ts +0 -0
  1953. /package/dist/{types/components → components}/rich_text_editor/extensions/channels/suggestion.d.ts +0 -0
  1954. /package/dist/{types/components → components}/rich_text_editor/extensions/custom_link/autolink.d.ts +0 -0
  1955. /package/dist/{types/components → components}/rich_text_editor/extensions/custom_link/custom_link.d.ts +0 -0
  1956. /package/dist/{types/components → components}/rich_text_editor/extensions/custom_link/index.d.ts +0 -0
  1957. /package/dist/{types/components → components}/rich_text_editor/extensions/custom_link/utils.d.ts +0 -0
  1958. /package/dist/{types/components → components}/rich_text_editor/extensions/div/div.d.ts +0 -0
  1959. /package/dist/{types/components → components}/rich_text_editor/extensions/div/index.d.ts +0 -0
  1960. /package/dist/{types/components → components}/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +0 -0
  1961. /package/dist/{types/components → components}/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +0 -0
  1962. /package/dist/{types/components → components}/rich_text_editor/extensions/emoji/emoji.d.ts +0 -0
  1963. /package/dist/{types/components → components}/rich_text_editor/extensions/emoji/index.d.ts +0 -0
  1964. /package/dist/{types/components → components}/rich_text_editor/extensions/emoji/suggestion.d.ts +0 -0
  1965. /package/dist/{types/components → components}/rich_text_editor/extensions/image/image.d.ts +0 -0
  1966. /package/dist/{types/components → components}/rich_text_editor/extensions/image/index.d.ts +0 -0
  1967. /package/dist/{types/components → components}/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +0 -0
  1968. /package/dist/{types/components → components}/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +0 -0
  1969. /package/dist/{types/components → components}/rich_text_editor/extensions/mentions/mention.d.ts +0 -0
  1970. /package/dist/{types/components → components}/rich_text_editor/extensions/mentions/suggestion.d.ts +0 -0
  1971. /package/dist/{types/components → components}/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +0 -0
  1972. /package/dist/{types/components → components}/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +0 -0
  1973. /package/dist/{types/components → components}/rich_text_editor/extensions/slash_command/slash_command.d.ts +0 -0
  1974. /package/dist/{types/components → components}/rich_text_editor/extensions/slash_command/suggestion.d.ts +0 -0
  1975. /package/dist/{types/components → components}/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +0 -0
  1976. /package/dist/{types/components → components}/rich_text_editor/extensions/table/table.d.ts +0 -0
  1977. /package/dist/{types/components → components}/rich_text_editor/extensions/text_style/text_style.d.ts +0 -0
  1978. /package/dist/{types/components → components}/rich_text_editor/extensions/utils/suggestion_utils.d.ts +0 -0
  1979. /package/dist/{types/components → components}/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +0 -0
  1980. /package/dist/{types/components → components}/rich_text_editor/extensions/variable/index.d.ts +0 -0
  1981. /package/dist/{types/components → components}/rich_text_editor/extensions/variable/variable.d.ts +0 -0
  1982. /package/dist/{types/components → components}/rich_text_editor/index.d.ts +0 -0
  1983. /package/dist/{types/components → components}/rich_text_editor/mention_suggestion.d.ts +0 -0
  1984. /package/dist/{types/components → components}/rich_text_editor/rich_text_editor_constants.d.ts +0 -0
  1985. /package/dist/{types/components → components}/rich_text_editor/slash_command_suggestion.d.ts +0 -0
  1986. /package/dist/{types/components → components}/root_layout/index.d.ts +0 -0
  1987. /package/dist/{types/components → components}/root_layout/root_layout.vue.d.ts +0 -0
  1988. /package/dist/{types/components → components}/root_layout/root_layout_constants.d.ts +0 -0
  1989. /package/dist/{types/components → components}/scroller/index.d.ts +0 -0
  1990. /package/dist/{types/components → components}/scroller/modules/core_scroller.vue.d.ts +0 -0
  1991. /package/dist/{types/components → components}/scroller/modules/dynamic_scroller.vue.d.ts +0 -0
  1992. /package/dist/{types/components → components}/scroller/modules/scroller_item.vue.d.ts +0 -0
  1993. /package/dist/{types/components → components}/scroller/scroller.vue.d.ts +0 -0
  1994. /package/dist/{types/components → components}/select_menu/index.d.ts +0 -0
  1995. /package/dist/{types/components → components}/select_menu/select_menu.vue.d.ts +0 -0
  1996. /package/dist/{types/components → components}/select_menu/select_menu_constants.d.ts +0 -0
  1997. /package/dist/{types/components → components}/select_menu/select_menu_validators.d.ts +0 -0
  1998. /package/dist/{types/components → components}/skeleton/index.d.ts +0 -0
  1999. /package/dist/{types/components → components}/skeleton/skeleton-list-item.vue.d.ts +0 -0
  2000. /package/dist/{types/components → components}/skeleton/skeleton-paragraph.vue.d.ts +0 -0
  2001. /package/dist/{types/components → components}/skeleton/skeleton-shape.vue.d.ts +0 -0
  2002. /package/dist/{types/components → components}/skeleton/skeleton-text.vue.d.ts +0 -0
  2003. /package/dist/{types/components → components}/skeleton/skeleton.vue.d.ts +0 -0
  2004. /package/dist/{types/components → components}/skeleton/skeleton_constants.d.ts +0 -0
  2005. /package/dist/{types/components → components}/split_button/index.d.ts +0 -0
  2006. /package/dist/{types/components → components}/split_button/split_button-alpha.vue.d.ts +0 -0
  2007. /package/dist/{types/components → components}/split_button/split_button-omega.vue.d.ts +0 -0
  2008. /package/dist/{types/components → components}/split_button/split_button.vue.d.ts +0 -0
  2009. /package/dist/{types/components → components}/split_button/split_button_constants.d.ts +0 -0
  2010. /package/dist/{types/components → components}/stack/index.d.ts +0 -0
  2011. /package/dist/{types/components → components}/stack/stack.vue.d.ts +0 -0
  2012. /package/dist/{types/components → components}/stack/stack_constants.d.ts +0 -0
  2013. /package/dist/{types/components → components}/stack/utils.d.ts +0 -0
  2014. /package/dist/{types/components → components}/stack/validators.d.ts +0 -0
  2015. /package/dist/{types/components → components}/tab/index.d.ts +0 -0
  2016. /package/dist/{types/components → components}/tab/tab.vue.d.ts +0 -0
  2017. /package/dist/{types/components → components}/tab/tab_group.vue.d.ts +0 -0
  2018. /package/dist/{types/components → components}/tab/tab_panel.vue.d.ts +0 -0
  2019. /package/dist/{types/components → components}/tab/tabs_constants.d.ts +0 -0
  2020. /package/dist/{types/components → components}/toast/index.d.ts +0 -0
  2021. /package/dist/{types/components → components}/toast/layouts/toast_layout_alternate.vue.d.ts +0 -0
  2022. /package/dist/{types/components → components}/toast/layouts/toast_layout_alternate_icon.vue.d.ts +0 -0
  2023. /package/dist/{types/components → components}/toast/layouts/toast_layout_default.vue.d.ts +0 -0
  2024. /package/dist/{types/components → components}/toast/toast.vue.d.ts +0 -0
  2025. /package/dist/{types/components → components}/toast/toast_constants.d.ts +0 -0
  2026. /package/dist/{types/components → components}/toggle/index.d.ts +0 -0
  2027. /package/dist/{types/components → components}/toggle/toggle.vue.d.ts +0 -0
  2028. /package/dist/{types/components → components}/toggle/toggle_constants.d.ts +0 -0
  2029. /package/dist/{types/components → components}/tooltip/index.d.ts +0 -0
  2030. /package/dist/{types/components → components}/tooltip/tooltip.vue.d.ts +0 -0
  2031. /package/dist/{types/components → components}/tooltip/tooltip_constants.d.ts +0 -0
  2032. /package/dist/{types/components → components}/validation_messages/index.d.ts +0 -0
  2033. /package/dist/{types/components → components}/validation_messages/validation_messages.vue.d.ts +0 -0
  2034. /package/dist/{types/directives → directives}/scrollbar_directive/index.d.ts +0 -0
  2035. /package/dist/{types/directives → directives}/scrollbar_directive/scrollbar.d.ts +0 -0
  2036. /package/dist/{types/directives → directives}/tooltip_directive/index.d.ts +0 -0
  2037. /package/dist/{types/directives → directives}/tooltip_directive/tooltip.d.ts +0 -0
  2038. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  2039. /package/dist/{types/recipes → recipes}/buttons/callbar_button/callbar_button.vue.d.ts +0 -0
  2040. /package/dist/{types/recipes → recipes}/buttons/callbar_button/callbar_button_constants.d.ts +0 -0
  2041. /package/dist/{types/recipes → recipes}/buttons/callbar_button/index.d.ts +0 -0
  2042. /package/dist/{types/recipes → recipes}/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +0 -0
  2043. /package/dist/{types/recipes → recipes}/buttons/callbar_button_with_dropdown/index.d.ts +0 -0
  2044. /package/dist/{types/recipes → recipes}/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +0 -0
  2045. /package/dist/{types/recipes → recipes}/buttons/callbar_button_with_popover/index.d.ts +0 -0
  2046. /package/dist/{types/recipes → recipes}/cards/ivr_node/index.d.ts +0 -0
  2047. /package/dist/{types/recipes → recipes}/cards/ivr_node/ivr_node.vue.d.ts +0 -0
  2048. /package/dist/{types/recipes → recipes}/cards/ivr_node/ivr_node_constants.d.ts +0 -0
  2049. /package/dist/{types/recipes → recipes}/chips/grouped_chip/grouped_chip.vue.d.ts +0 -0
  2050. /package/dist/{types/recipes → recipes}/chips/grouped_chip/index.d.ts +0 -0
  2051. /package/dist/{types/recipes → recipes}/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +0 -0
  2052. /package/dist/{types/recipes → recipes}/conversation_view/attachment_carousel/index.d.ts +0 -0
  2053. /package/dist/{types/recipes → recipes}/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +0 -0
  2054. /package/dist/{types/recipes → recipes}/conversation_view/editor/EditorToolbarButton.vue.d.ts +0 -0
  2055. /package/dist/{types/recipes → recipes}/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +0 -0
  2056. /package/dist/{types/recipes → recipes}/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +0 -0
  2057. /package/dist/{types/recipes → recipes}/conversation_view/editor/editor_constants.d.ts +0 -0
  2058. /package/dist/{types/recipes → recipes}/conversation_view/editor/index.d.ts +0 -0
  2059. /package/dist/{types/recipes → recipes}/conversation_view/emoji_row/composables/useMockReactions.d.ts +0 -0
  2060. /package/dist/{types/recipes → recipes}/conversation_view/emoji_row/emoji_row.vue.d.ts +0 -0
  2061. /package/dist/{types/recipes → recipes}/conversation_view/emoji_row/emoji_row_constants.d.ts +0 -0
  2062. /package/dist/{types/recipes → recipes}/conversation_view/emoji_row/index.d.ts +0 -0
  2063. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +0 -0
  2064. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_pill/feed_item_pill_constants.d.ts +0 -0
  2065. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_pill/index.d.ts +0 -0
  2066. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_row/feed_item_row.vue.d.ts +0 -0
  2067. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_row/feed_item_row_constants.d.ts +0 -0
  2068. /package/dist/{types/recipes → recipes}/conversation_view/feed_item_row/index.d.ts +0 -0
  2069. /package/dist/{types/recipes → recipes}/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +0 -0
  2070. /package/dist/{types/recipes → recipes}/conversation_view/message_input/extensions/meeting_pill/meeting_pill.d.ts +0 -0
  2071. /package/dist/{types/recipes → recipes}/conversation_view/message_input/index.d.ts +0 -0
  2072. /package/dist/{types/recipes → recipes}/conversation_view/message_input/last_active_nodes.d.ts +0 -0
  2073. /package/dist/{types/recipes → recipes}/conversation_view/message_input/message_input_button.vue.d.ts +0 -0
  2074. /package/dist/{types/recipes → recipes}/conversation_view/message_input/message_input_constants.d.ts +0 -0
  2075. /package/dist/{types/recipes → recipes}/conversation_view/message_input/message_input_link.vue.d.ts +0 -0
  2076. /package/dist/{types/recipes → recipes}/conversation_view/message_input/message_input_topbar.vue.d.ts +0 -0
  2077. /package/dist/{types/recipes → recipes}/conversation_view/time_pill/index.d.ts +0 -0
  2078. /package/dist/{types/recipes → recipes}/conversation_view/time_pill/time_pill.vue.d.ts +0 -0
  2079. /package/dist/{types/recipes → recipes}/eslint.config.d.ts +0 -0
  2080. /package/dist/{types/recipes → recipes}/header/settings_menu_button/index.d.ts +0 -0
  2081. /package/dist/{types/recipes → recipes}/header/settings_menu_button/settings_menu_button.vue.d.ts +0 -0
  2082. /package/dist/{types/recipes → recipes}/item_layout/contact_info/contact_info.vue.d.ts +0 -0
  2083. /package/dist/{types/recipes → recipes}/item_layout/contact_info/index.d.ts +0 -0
  2084. /package/dist/{types/recipes → recipes}/leftbar/callbox/callbox.vue.d.ts +0 -0
  2085. /package/dist/{types/recipes → recipes}/leftbar/callbox/callbox_constants.d.ts +0 -0
  2086. /package/dist/{types/recipes → recipes}/leftbar/callbox/index.d.ts +0 -0
  2087. /package/dist/{types/recipes → recipes}/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +0 -0
  2088. /package/dist/{types/recipes → recipes}/leftbar/contact_centers_row/index.d.ts +0 -0
  2089. /package/dist/{types/recipes → recipes}/leftbar/contact_row/contact_row.vue.d.ts +0 -0
  2090. /package/dist/{types/recipes → recipes}/leftbar/contact_row/index.d.ts +0 -0
  2091. /package/dist/{types/recipes → recipes}/leftbar/general_row/general_row.vue.d.ts +0 -0
  2092. /package/dist/{types/recipes → recipes}/leftbar/general_row/general_row_constants.d.ts +0 -0
  2093. /package/dist/{types/recipes → recipes}/leftbar/general_row/index.d.ts +0 -0
  2094. /package/dist/{types/recipes → recipes}/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +0 -0
  2095. /package/dist/{types/recipes → recipes}/leftbar/group_row/group_row.vue.d.ts +0 -0
  2096. /package/dist/{types/recipes → recipes}/leftbar/group_row/index.d.ts +0 -0
  2097. /package/dist/{types/recipes → recipes}/leftbar/unread_pill/index.d.ts +0 -0
  2098. /package/dist/{types/recipes → recipes}/leftbar/unread_pill/unread_pill.vue.d.ts +0 -0
  2099. /package/dist/{types/recipes → recipes}/leftbar/unread_pill/unread_pill_constants.d.ts +0 -0
  2100. /package/dist/{types/recipes → recipes}/notices/top_banner_info/index.d.ts +0 -0
  2101. /package/dist/{types/recipes → recipes}/notices/top_banner_info/top_banner_info.vue.d.ts +0 -0
  2102. /package/dist/{types/recipes → recipes}/notices/top_banner_info/top_banner_info_constants.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"rich-text-editor.js","sources":["../../../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../../node_modules/.pnpm/@tiptap+vue-3@3.19.0_@floating-ui+dom@1.7.5_@tiptap+core@3.19.0_@tiptap+pm@3.19.0__@tiptap+pm_m3ct2sxz6dkvt5ftokppbab3l4/node_modules/@tiptap/vue-3/dist/menus/index.js","../../../components/rich_text_editor/extensions/table/table.js","../../../components/rich_text_editor/extensions/text_style/text_style.js","../../../components/rich_text_editor/extensions/emoji/EmojiComponent.vue","../../../components/rich_text_editor/extensions/suggestion/SuggestionList.vue","../../../components/rich_text_editor/extensions/utils/suggestion_utils.js","../../../components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue","../../../components/rich_text_editor/extensions/emoji/suggestion.js","../../../components/rich_text_editor/extensions/emoji/emoji.js","../../../components/rich_text_editor/extensions/custom_link/utils.js","../../../components/rich_text_editor/extensions/custom_link/autolink.js","../../../components/rich_text_editor/extensions/custom_link/custom_link.js","../../../components/rich_text_editor/extensions/image/image.js","../../../components/rich_text_editor/extensions/div/div.js","../../../components/rich_text_editor/extensions/mentions/MentionComponent.vue","../../../components/rich_text_editor/extensions/mentions/mention.js","../../../components/rich_text_editor/extensions/channels/ChannelComponent.vue","../../../components/rich_text_editor/extensions/channels/channel.js","../../../components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue","../../../components/rich_text_editor/extensions/slash_command/slash_command.js","../../../components/rich_text_editor/extensions/variable/VariableComponent.vue","../../../components/rich_text_editor/extensions/variable/variable.js","../../../components/rich_text_editor/extensions/mentions/MentionSuggestion.vue","../../../components/rich_text_editor/extensions/mentions/suggestion.js","../../../components/rich_text_editor/extensions/channels/ChannelSuggestion.vue","../../../components/rich_text_editor/extensions/channels/suggestion.js","../../../components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue","../../../components/rich_text_editor/extensions/slash_command/suggestion.js","../../../components/rich_text_editor/rich_text_editor.vue"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n var _platform$detectOverf;\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: {\n ...platform,\n detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow\n },\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","// ../extension-bubble-menu/src/bubble-menu-plugin.ts\nimport {\n arrow,\n autoPlacement,\n computePosition,\n flip,\n hide,\n inline,\n offset,\n shift,\n size\n} from \"@floating-ui/dom\";\nimport { isTextSelection, posToDOMRect } from \"@tiptap/core\";\nimport { NodeSelection, Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { CellSelection } from \"@tiptap/pm/tables\";\nfunction combineDOMRects(rect1, rect2) {\n const top = Math.min(rect1.top, rect2.top);\n const bottom = Math.max(rect1.bottom, rect2.bottom);\n const left = Math.min(rect1.left, rect2.left);\n const right = Math.max(rect1.right, rect2.right);\n const width = right - left;\n const height = bottom - top;\n const x = left;\n const y = top;\n return new DOMRect(x, y, width, height);\n}\nvar BubbleMenuView = class {\n constructor({\n editor,\n element,\n view,\n updateDelay = 250,\n resizeDelay = 60,\n shouldShow,\n appendTo,\n getReferencedVirtualElement,\n options\n }) {\n this.preventHide = false;\n this.isVisible = false;\n this.scrollTarget = window;\n this.floatingUIOptions = {\n strategy: \"absolute\",\n placement: \"top\",\n offset: 8,\n flip: {},\n shift: {},\n arrow: false,\n size: false,\n autoPlacement: false,\n hide: false,\n inline: false,\n onShow: void 0,\n onHide: void 0,\n onUpdate: void 0,\n onDestroy: void 0\n };\n this.shouldShow = ({ view, state, from, to }) => {\n const { doc, selection } = state;\n const { empty } = selection;\n const isEmptyTextBlock = !doc.textBetween(from, to).length && isTextSelection(state.selection);\n const isChildOfMenu = this.element.contains(document.activeElement);\n const hasEditorFocus = view.hasFocus() || isChildOfMenu;\n if (!hasEditorFocus || empty || isEmptyTextBlock || !this.editor.isEditable) {\n return false;\n }\n return true;\n };\n this.mousedownHandler = () => {\n this.preventHide = true;\n };\n this.dragstartHandler = () => {\n this.hide();\n };\n /**\n * Handles the window resize event to update the position of the bubble menu.\n * It uses a debounce mechanism to prevent excessive updates.\n * The delay is defined by the `resizeDelay` property.\n */\n this.resizeHandler = () => {\n if (this.resizeDebounceTimer) {\n clearTimeout(this.resizeDebounceTimer);\n }\n this.resizeDebounceTimer = window.setTimeout(() => {\n this.updatePosition();\n }, this.resizeDelay);\n };\n this.focusHandler = () => {\n setTimeout(() => this.update(this.editor.view));\n };\n this.blurHandler = ({ event }) => {\n var _a;\n if (this.editor.isDestroyed) {\n this.destroy();\n return;\n }\n if (this.preventHide) {\n this.preventHide = false;\n return;\n }\n if ((event == null ? void 0 : event.relatedTarget) && ((_a = this.element.parentNode) == null ? void 0 : _a.contains(event.relatedTarget))) {\n return;\n }\n if ((event == null ? void 0 : event.relatedTarget) === this.editor.view.dom) {\n return;\n }\n this.hide();\n };\n this.handleDebouncedUpdate = (view, oldState) => {\n const selectionChanged = !(oldState == null ? void 0 : oldState.selection.eq(view.state.selection));\n const docChanged = !(oldState == null ? void 0 : oldState.doc.eq(view.state.doc));\n if (!selectionChanged && !docChanged) {\n return;\n }\n if (this.updateDebounceTimer) {\n clearTimeout(this.updateDebounceTimer);\n }\n this.updateDebounceTimer = window.setTimeout(() => {\n this.updateHandler(view, selectionChanged, docChanged, oldState);\n }, this.updateDelay);\n };\n this.updateHandler = (view, selectionChanged, docChanged, oldState) => {\n const { composing } = view;\n const isSame = !selectionChanged && !docChanged;\n if (composing || isSame) {\n return;\n }\n const shouldShow = this.getShouldShow(oldState);\n if (!shouldShow) {\n this.hide();\n return;\n }\n this.updatePosition();\n this.show();\n };\n this.transactionHandler = ({ transaction: tr }) => {\n const meta = tr.getMeta(\"bubbleMenu\");\n if (meta === \"updatePosition\") {\n this.updatePosition();\n } else if (meta && typeof meta === \"object\" && meta.type === \"updateOptions\") {\n this.updateOptions(meta.options);\n }\n };\n var _a;\n this.editor = editor;\n this.element = element;\n this.view = view;\n this.updateDelay = updateDelay;\n this.resizeDelay = resizeDelay;\n this.appendTo = appendTo;\n this.scrollTarget = (_a = options == null ? void 0 : options.scrollTarget) != null ? _a : window;\n this.getReferencedVirtualElement = getReferencedVirtualElement;\n this.floatingUIOptions = {\n ...this.floatingUIOptions,\n ...options\n };\n this.element.tabIndex = 0;\n if (shouldShow) {\n this.shouldShow = shouldShow;\n }\n this.element.addEventListener(\"mousedown\", this.mousedownHandler, { capture: true });\n this.view.dom.addEventListener(\"dragstart\", this.dragstartHandler);\n this.editor.on(\"focus\", this.focusHandler);\n this.editor.on(\"blur\", this.blurHandler);\n this.editor.on(\"transaction\", this.transactionHandler);\n window.addEventListener(\"resize\", this.resizeHandler);\n this.scrollTarget.addEventListener(\"scroll\", this.resizeHandler);\n this.update(view, view.state);\n if (this.getShouldShow()) {\n this.show();\n this.updatePosition();\n }\n }\n get middlewares() {\n const middlewares = [];\n if (this.floatingUIOptions.flip) {\n middlewares.push(flip(typeof this.floatingUIOptions.flip !== \"boolean\" ? this.floatingUIOptions.flip : void 0));\n }\n if (this.floatingUIOptions.shift) {\n middlewares.push(\n shift(typeof this.floatingUIOptions.shift !== \"boolean\" ? this.floatingUIOptions.shift : void 0)\n );\n }\n if (this.floatingUIOptions.offset) {\n middlewares.push(\n offset(typeof this.floatingUIOptions.offset !== \"boolean\" ? this.floatingUIOptions.offset : void 0)\n );\n }\n if (this.floatingUIOptions.arrow) {\n middlewares.push(arrow(this.floatingUIOptions.arrow));\n }\n if (this.floatingUIOptions.size) {\n middlewares.push(size(typeof this.floatingUIOptions.size !== \"boolean\" ? this.floatingUIOptions.size : void 0));\n }\n if (this.floatingUIOptions.autoPlacement) {\n middlewares.push(\n autoPlacement(\n typeof this.floatingUIOptions.autoPlacement !== \"boolean\" ? this.floatingUIOptions.autoPlacement : void 0\n )\n );\n }\n if (this.floatingUIOptions.hide) {\n middlewares.push(hide(typeof this.floatingUIOptions.hide !== \"boolean\" ? this.floatingUIOptions.hide : void 0));\n }\n if (this.floatingUIOptions.inline) {\n middlewares.push(\n inline(typeof this.floatingUIOptions.inline !== \"boolean\" ? this.floatingUIOptions.inline : void 0)\n );\n }\n return middlewares;\n }\n get virtualElement() {\n var _a, _b, _c;\n const { selection } = this.editor.state;\n const referencedVirtualElement = (_a = this.getReferencedVirtualElement) == null ? void 0 : _a.call(this);\n if (referencedVirtualElement) {\n return referencedVirtualElement;\n }\n if (!((_c = (_b = this.view) == null ? void 0 : _b.dom) == null ? void 0 : _c.parentNode)) {\n return;\n }\n const domRect = posToDOMRect(this.view, selection.from, selection.to);\n let virtualElement = {\n getBoundingClientRect: () => domRect,\n getClientRects: () => [domRect]\n };\n if (selection instanceof NodeSelection) {\n let node = this.view.nodeDOM(selection.from);\n const nodeViewWrapper = node.dataset.nodeViewWrapper ? node : node.querySelector(\"[data-node-view-wrapper]\");\n if (nodeViewWrapper) {\n node = nodeViewWrapper;\n }\n if (node) {\n virtualElement = {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n getClientRects: () => [node.getBoundingClientRect()]\n };\n }\n }\n if (selection instanceof CellSelection) {\n const { $anchorCell, $headCell } = selection;\n const from = $anchorCell ? $anchorCell.pos : $headCell.pos;\n const to = $headCell ? $headCell.pos : $anchorCell.pos;\n const fromDOM = this.view.nodeDOM(from);\n const toDOM = this.view.nodeDOM(to);\n if (!fromDOM || !toDOM) {\n return;\n }\n const clientRect = fromDOM === toDOM ? fromDOM.getBoundingClientRect() : combineDOMRects(\n fromDOM.getBoundingClientRect(),\n toDOM.getBoundingClientRect()\n );\n virtualElement = {\n getBoundingClientRect: () => clientRect,\n getClientRects: () => [clientRect]\n };\n }\n return virtualElement;\n }\n updatePosition() {\n const virtualElement = this.virtualElement;\n if (!virtualElement) {\n return;\n }\n computePosition(virtualElement, this.element, {\n placement: this.floatingUIOptions.placement,\n strategy: this.floatingUIOptions.strategy,\n middleware: this.middlewares\n }).then(({ x, y, strategy, middlewareData }) => {\n var _a, _b;\n if (((_a = middlewareData.hide) == null ? void 0 : _a.referenceHidden) || ((_b = middlewareData.hide) == null ? void 0 : _b.escaped)) {\n this.element.style.visibility = \"hidden\";\n return;\n }\n this.element.style.visibility = \"visible\";\n this.element.style.width = \"max-content\";\n this.element.style.position = strategy;\n this.element.style.left = `${x}px`;\n this.element.style.top = `${y}px`;\n if (this.isVisible && this.floatingUIOptions.onUpdate) {\n this.floatingUIOptions.onUpdate();\n }\n });\n }\n update(view, oldState) {\n const { state } = view;\n const hasValidSelection = state.selection.from !== state.selection.to;\n if (this.updateDelay > 0 && hasValidSelection) {\n this.handleDebouncedUpdate(view, oldState);\n return;\n }\n const selectionChanged = !(oldState == null ? void 0 : oldState.selection.eq(view.state.selection));\n const docChanged = !(oldState == null ? void 0 : oldState.doc.eq(view.state.doc));\n this.updateHandler(view, selectionChanged, docChanged, oldState);\n }\n getShouldShow(oldState) {\n var _a;\n const { state } = this.view;\n const { selection } = state;\n const { ranges } = selection;\n const from = Math.min(...ranges.map((range) => range.$from.pos));\n const to = Math.max(...ranges.map((range) => range.$to.pos));\n const shouldShow = (_a = this.shouldShow) == null ? void 0 : _a.call(this, {\n editor: this.editor,\n element: this.element,\n view: this.view,\n state,\n oldState,\n from,\n to\n });\n return shouldShow || false;\n }\n show() {\n var _a;\n if (this.isVisible) {\n return;\n }\n this.element.style.visibility = \"visible\";\n this.element.style.opacity = \"1\";\n const appendToElement = typeof this.appendTo === \"function\" ? this.appendTo() : this.appendTo;\n (_a = appendToElement != null ? appendToElement : this.view.dom.parentElement) == null ? void 0 : _a.appendChild(this.element);\n if (this.floatingUIOptions.onShow) {\n this.floatingUIOptions.onShow();\n }\n this.isVisible = true;\n }\n hide() {\n if (!this.isVisible) {\n return;\n }\n this.element.style.visibility = \"hidden\";\n this.element.style.opacity = \"0\";\n this.element.remove();\n if (this.floatingUIOptions.onHide) {\n this.floatingUIOptions.onHide();\n }\n this.isVisible = false;\n }\n updateOptions(newProps) {\n var _a;\n if (newProps.updateDelay !== void 0) {\n this.updateDelay = newProps.updateDelay;\n }\n if (newProps.resizeDelay !== void 0) {\n this.resizeDelay = newProps.resizeDelay;\n }\n if (newProps.appendTo !== void 0) {\n this.appendTo = newProps.appendTo;\n }\n if (newProps.getReferencedVirtualElement !== void 0) {\n this.getReferencedVirtualElement = newProps.getReferencedVirtualElement;\n }\n if (newProps.shouldShow !== void 0) {\n if (newProps.shouldShow) {\n this.shouldShow = newProps.shouldShow;\n }\n }\n if (newProps.options !== void 0) {\n const newScrollTarget = (_a = newProps.options.scrollTarget) != null ? _a : window;\n if (newScrollTarget !== this.scrollTarget) {\n this.scrollTarget.removeEventListener(\"scroll\", this.resizeHandler);\n this.scrollTarget = newScrollTarget;\n this.scrollTarget.addEventListener(\"scroll\", this.resizeHandler);\n }\n this.floatingUIOptions = {\n ...this.floatingUIOptions,\n ...newProps.options\n };\n }\n }\n destroy() {\n this.hide();\n this.element.removeEventListener(\"mousedown\", this.mousedownHandler, { capture: true });\n this.view.dom.removeEventListener(\"dragstart\", this.dragstartHandler);\n window.removeEventListener(\"resize\", this.resizeHandler);\n this.scrollTarget.removeEventListener(\"scroll\", this.resizeHandler);\n this.editor.off(\"focus\", this.focusHandler);\n this.editor.off(\"blur\", this.blurHandler);\n this.editor.off(\"transaction\", this.transactionHandler);\n if (this.floatingUIOptions.onDestroy) {\n this.floatingUIOptions.onDestroy();\n }\n }\n};\nvar BubbleMenuPlugin = (options) => {\n return new Plugin({\n key: typeof options.pluginKey === \"string\" ? new PluginKey(options.pluginKey) : options.pluginKey,\n view: (view) => new BubbleMenuView({ view, ...options })\n });\n};\n\n// src/menus/BubbleMenu.ts\nimport { defineComponent, h, nextTick, onBeforeUnmount, onMounted, ref } from \"vue\";\nvar BubbleMenu = defineComponent({\n name: \"BubbleMenu\",\n inheritAttrs: false,\n props: {\n pluginKey: {\n type: [String, Object],\n default: \"bubbleMenu\"\n },\n editor: {\n type: Object,\n required: true\n },\n updateDelay: {\n type: Number,\n default: void 0\n },\n resizeDelay: {\n type: Number,\n default: void 0\n },\n options: {\n type: Object,\n default: () => ({})\n },\n appendTo: {\n type: [Object, Function],\n default: void 0\n },\n shouldShow: {\n type: Function,\n default: null\n },\n getReferencedVirtualElement: {\n type: Function,\n default: void 0\n }\n },\n setup(props, { slots, attrs }) {\n const root = ref(null);\n onMounted(() => {\n const {\n editor,\n options,\n pluginKey,\n resizeDelay,\n appendTo,\n shouldShow,\n getReferencedVirtualElement,\n updateDelay\n } = props;\n const el = root.value;\n if (!el) {\n return;\n }\n el.style.visibility = \"hidden\";\n el.style.position = \"absolute\";\n el.remove();\n nextTick(() => {\n editor.registerPlugin(\n BubbleMenuPlugin({\n editor,\n element: el,\n options,\n pluginKey,\n resizeDelay,\n appendTo,\n shouldShow,\n getReferencedVirtualElement,\n updateDelay\n })\n );\n });\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => {\n var _a;\n return h(\"div\", { ref: root, ...attrs }, (_a = slots.default) == null ? void 0 : _a.call(slots));\n };\n }\n});\n\n// ../extension-floating-menu/src/floating-menu-plugin.ts\nimport {\n arrow as arrow2,\n autoPlacement as autoPlacement2,\n computePosition as computePosition2,\n flip as flip2,\n hide as hide2,\n inline as inline2,\n offset as offset2,\n shift as shift2,\n size as size2\n} from \"@floating-ui/dom\";\nimport { getText, getTextSerializersFromSchema, posToDOMRect as posToDOMRect2 } from \"@tiptap/core\";\nimport { Plugin as Plugin2, PluginKey as PluginKey2 } from \"@tiptap/pm/state\";\nvar FloatingMenuView = class {\n constructor({\n editor,\n element,\n view,\n updateDelay = 250,\n resizeDelay = 60,\n options,\n appendTo,\n shouldShow\n }) {\n this.preventHide = false;\n this.isVisible = false;\n this.scrollTarget = window;\n this.shouldShow = ({ view, state }) => {\n const { selection } = state;\n const { $anchor, empty } = selection;\n const isRootDepth = $anchor.depth === 1;\n const isEmptyTextBlock = $anchor.parent.isTextblock && !$anchor.parent.type.spec.code && !$anchor.parent.textContent && $anchor.parent.childCount === 0 && !this.getTextContent($anchor.parent);\n if (!view.hasFocus() || !empty || !isRootDepth || !isEmptyTextBlock || !this.editor.isEditable) {\n return false;\n }\n return true;\n };\n this.floatingUIOptions = {\n strategy: \"absolute\",\n placement: \"right\",\n offset: 8,\n flip: {},\n shift: {},\n arrow: false,\n size: false,\n autoPlacement: false,\n hide: false,\n inline: false\n };\n this.updateHandler = (view, selectionChanged, docChanged, oldState) => {\n const { composing } = view;\n const isSame = !selectionChanged && !docChanged;\n if (composing || isSame) {\n return;\n }\n const shouldShow = this.getShouldShow(oldState);\n if (!shouldShow) {\n this.hide();\n return;\n }\n this.updatePosition();\n this.show();\n };\n this.mousedownHandler = () => {\n this.preventHide = true;\n };\n this.focusHandler = () => {\n setTimeout(() => this.update(this.editor.view));\n };\n this.blurHandler = ({ event }) => {\n var _a;\n if (this.preventHide) {\n this.preventHide = false;\n return;\n }\n if ((event == null ? void 0 : event.relatedTarget) && ((_a = this.element.parentNode) == null ? void 0 : _a.contains(event.relatedTarget))) {\n return;\n }\n if ((event == null ? void 0 : event.relatedTarget) === this.editor.view.dom) {\n return;\n }\n this.hide();\n };\n /**\n * Handles the transaction event to update the position of the floating menu.\n * This allows external code to trigger a position update via:\n * `editor.view.dispatch(editor.state.tr.setMeta('floatingMenu', 'updatePosition'))`\n */\n this.transactionHandler = ({ transaction: tr }) => {\n const meta = tr.getMeta(\"floatingMenu\");\n if (meta === \"updatePosition\") {\n this.updatePosition();\n } else if (meta && typeof meta === \"object\" && meta.type === \"updateOptions\") {\n this.updateOptions(meta.options);\n }\n };\n /**\n * Handles the window resize event to update the position of the floating menu.\n * It uses a debounce mechanism to prevent excessive updates.\n * The delay is defined by the `resizeDelay` property.\n */\n this.resizeHandler = () => {\n if (this.resizeDebounceTimer) {\n clearTimeout(this.resizeDebounceTimer);\n }\n this.resizeDebounceTimer = window.setTimeout(() => {\n this.updatePosition();\n }, this.resizeDelay);\n };\n var _a;\n this.editor = editor;\n this.element = element;\n this.view = view;\n this.updateDelay = updateDelay;\n this.resizeDelay = resizeDelay;\n this.appendTo = appendTo;\n this.scrollTarget = (_a = options == null ? void 0 : options.scrollTarget) != null ? _a : window;\n this.floatingUIOptions = {\n ...this.floatingUIOptions,\n ...options\n };\n this.element.tabIndex = 0;\n if (shouldShow) {\n this.shouldShow = shouldShow;\n }\n this.element.addEventListener(\"mousedown\", this.mousedownHandler, { capture: true });\n this.editor.on(\"focus\", this.focusHandler);\n this.editor.on(\"blur\", this.blurHandler);\n this.editor.on(\"transaction\", this.transactionHandler);\n window.addEventListener(\"resize\", this.resizeHandler);\n this.scrollTarget.addEventListener(\"scroll\", this.resizeHandler);\n this.update(view, view.state);\n if (this.getShouldShow()) {\n this.show();\n this.updatePosition();\n }\n }\n getTextContent(node) {\n return getText(node, { textSerializers: getTextSerializersFromSchema(this.editor.schema) });\n }\n get middlewares() {\n const middlewares = [];\n if (this.floatingUIOptions.flip) {\n middlewares.push(flip2(typeof this.floatingUIOptions.flip !== \"boolean\" ? this.floatingUIOptions.flip : void 0));\n }\n if (this.floatingUIOptions.shift) {\n middlewares.push(\n shift2(typeof this.floatingUIOptions.shift !== \"boolean\" ? this.floatingUIOptions.shift : void 0)\n );\n }\n if (this.floatingUIOptions.offset) {\n middlewares.push(\n offset2(typeof this.floatingUIOptions.offset !== \"boolean\" ? this.floatingUIOptions.offset : void 0)\n );\n }\n if (this.floatingUIOptions.arrow) {\n middlewares.push(arrow2(this.floatingUIOptions.arrow));\n }\n if (this.floatingUIOptions.size) {\n middlewares.push(size2(typeof this.floatingUIOptions.size !== \"boolean\" ? this.floatingUIOptions.size : void 0));\n }\n if (this.floatingUIOptions.autoPlacement) {\n middlewares.push(\n autoPlacement2(\n typeof this.floatingUIOptions.autoPlacement !== \"boolean\" ? this.floatingUIOptions.autoPlacement : void 0\n )\n );\n }\n if (this.floatingUIOptions.hide) {\n middlewares.push(hide2(typeof this.floatingUIOptions.hide !== \"boolean\" ? this.floatingUIOptions.hide : void 0));\n }\n if (this.floatingUIOptions.inline) {\n middlewares.push(\n inline2(typeof this.floatingUIOptions.inline !== \"boolean\" ? this.floatingUIOptions.inline : void 0)\n );\n }\n return middlewares;\n }\n getShouldShow(oldState) {\n var _a;\n const { state } = this.view;\n const { selection } = state;\n const { ranges } = selection;\n const from = Math.min(...ranges.map((range) => range.$from.pos));\n const to = Math.max(...ranges.map((range) => range.$to.pos));\n const shouldShow = (_a = this.shouldShow) == null ? void 0 : _a.call(this, {\n editor: this.editor,\n view: this.view,\n state,\n oldState,\n from,\n to\n });\n return shouldShow;\n }\n updateOptions(newProps) {\n var _a;\n if (newProps.updateDelay !== void 0) {\n this.updateDelay = newProps.updateDelay;\n }\n if (newProps.resizeDelay !== void 0) {\n this.resizeDelay = newProps.resizeDelay;\n }\n if (newProps.appendTo !== void 0) {\n this.appendTo = newProps.appendTo;\n }\n if (newProps.shouldShow !== void 0) {\n if (newProps.shouldShow) {\n this.shouldShow = newProps.shouldShow;\n }\n }\n if (newProps.options !== void 0) {\n const newScrollTarget = (_a = newProps.options.scrollTarget) != null ? _a : window;\n if (newScrollTarget !== this.scrollTarget) {\n this.scrollTarget.removeEventListener(\"scroll\", this.resizeHandler);\n this.scrollTarget = newScrollTarget;\n this.scrollTarget.addEventListener(\"scroll\", this.resizeHandler);\n }\n this.floatingUIOptions = {\n ...this.floatingUIOptions,\n ...newProps.options\n };\n }\n }\n updatePosition() {\n const { selection } = this.editor.state;\n const domRect = posToDOMRect2(this.view, selection.from, selection.to);\n const virtualElement = {\n getBoundingClientRect: () => domRect,\n getClientRects: () => [domRect]\n };\n computePosition2(virtualElement, this.element, {\n placement: this.floatingUIOptions.placement,\n strategy: this.floatingUIOptions.strategy,\n middleware: this.middlewares\n }).then(({ x, y, strategy, middlewareData }) => {\n var _a, _b;\n if (((_a = middlewareData.hide) == null ? void 0 : _a.referenceHidden) || ((_b = middlewareData.hide) == null ? void 0 : _b.escaped)) {\n this.element.style.visibility = \"hidden\";\n return;\n }\n this.element.style.visibility = \"visible\";\n this.element.style.width = \"max-content\";\n this.element.style.position = strategy;\n this.element.style.left = `${x}px`;\n this.element.style.top = `${y}px`;\n if (this.isVisible && this.floatingUIOptions.onUpdate) {\n this.floatingUIOptions.onUpdate();\n }\n });\n }\n update(view, oldState) {\n const selectionChanged = !(oldState == null ? void 0 : oldState.selection.eq(view.state.selection));\n const docChanged = !(oldState == null ? void 0 : oldState.doc.eq(view.state.doc));\n this.updateHandler(view, selectionChanged, docChanged, oldState);\n }\n show() {\n var _a;\n if (this.isVisible) {\n return;\n }\n this.element.style.visibility = \"visible\";\n this.element.style.opacity = \"1\";\n const appendToElement = typeof this.appendTo === \"function\" ? this.appendTo() : this.appendTo;\n (_a = appendToElement != null ? appendToElement : this.view.dom.parentElement) == null ? void 0 : _a.appendChild(this.element);\n if (this.floatingUIOptions.onShow) {\n this.floatingUIOptions.onShow();\n }\n this.isVisible = true;\n }\n hide() {\n if (!this.isVisible) {\n return;\n }\n this.element.style.visibility = \"hidden\";\n this.element.style.opacity = \"0\";\n this.element.remove();\n if (this.floatingUIOptions.onHide) {\n this.floatingUIOptions.onHide();\n }\n this.isVisible = false;\n }\n destroy() {\n this.hide();\n this.element.removeEventListener(\"mousedown\", this.mousedownHandler, { capture: true });\n window.removeEventListener(\"resize\", this.resizeHandler);\n this.scrollTarget.removeEventListener(\"scroll\", this.resizeHandler);\n this.editor.off(\"focus\", this.focusHandler);\n this.editor.off(\"blur\", this.blurHandler);\n this.editor.off(\"transaction\", this.transactionHandler);\n if (this.floatingUIOptions.onDestroy) {\n this.floatingUIOptions.onDestroy();\n }\n }\n};\nvar FloatingMenuPlugin = (options) => {\n return new Plugin2({\n key: typeof options.pluginKey === \"string\" ? new PluginKey2(options.pluginKey) : options.pluginKey,\n view: (view) => new FloatingMenuView({ view, ...options })\n });\n};\n\n// src/menus/FloatingMenu.ts\nimport { defineComponent as defineComponent2, h as h2, onBeforeUnmount as onBeforeUnmount2, onMounted as onMounted2, ref as ref2 } from \"vue\";\nvar FloatingMenu = defineComponent2({\n name: \"FloatingMenu\",\n inheritAttrs: false,\n props: {\n pluginKey: {\n // TODO: TypeScript breaks :(\n // type: [String, Object as PropType<Exclude<FloatingMenuPluginProps['pluginKey'], string>>],\n type: null,\n default: \"floatingMenu\"\n },\n editor: {\n type: Object,\n required: true\n },\n updateDelay: {\n type: Number,\n default: void 0\n },\n resizeDelay: {\n type: Number,\n default: void 0\n },\n options: {\n type: Object,\n default: () => ({})\n },\n appendTo: {\n type: [Object, Function],\n default: void 0\n },\n shouldShow: {\n type: Function,\n default: null\n }\n },\n setup(props, { slots, attrs }) {\n const root = ref2(null);\n onMounted2(() => {\n const { pluginKey, editor, updateDelay, resizeDelay, options, appendTo, shouldShow } = props;\n const el = root.value;\n if (!el) {\n return;\n }\n el.style.visibility = \"hidden\";\n el.style.position = \"absolute\";\n el.remove();\n editor.registerPlugin(\n FloatingMenuPlugin({\n pluginKey,\n editor,\n element: el,\n updateDelay,\n resizeDelay,\n options,\n appendTo,\n shouldShow\n })\n );\n });\n onBeforeUnmount2(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => {\n var _a;\n return h2(\"div\", { ref: root, ...attrs }, (_a = slots.default) == null ? void 0 : _a.call(slots));\n };\n }\n});\nexport {\n BubbleMenu,\n FloatingMenu\n};\n//# sourceMappingURL=index.js.map","import { mergeAttributes } from '@tiptap/core';\nimport { Table, TableRow, TableCell, TableHeader } from '@tiptap/extension-table';\n\nconst createAttribute = (name) => ({\n default: null,\n parseHTML: element => element.getAttribute(name),\n renderHTML: attributes => {\n if (!attributes[name]) return {};\n return { [name]: attributes[name] };\n },\n});\n\nconst createTableStyleAttribute = () => {\n let attribute = createAttribute('style');\n attribute.renderHTML = (attributes) => {\n if (!attributes['style']) return {};\n return { ['style']: replaceZeroWidth(attributes['style']) };\n }\n return attribute;\n};\n\nfunction replaceZeroWidth(style) {\n return style.replace(/(?<![a-z-])width\\s*:\\s*([^;]+);?/gi, (match, value) => {\n return /^\\s*0\\s*[a-z%]*\\s*(!important)?\\s*$/i.test(value) ? 'width: 100%;' : match;\n });\n}\n\nexport const CustomTable = Table.extend({\n addAttributes () {\n return {\n ...this.parent?.(),\n border: createAttribute('border'),\n cellpadding: createAttribute('cellpadding'),\n cellspacing: createAttribute('cellspacing'),\n style: createTableStyleAttribute(),\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['table', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), ['tbody', 0]];\n },\n});\n\nexport const CustomTableRow = TableRow.extend({\n addAttributes () {\n return {\n ...this.parent?.(),\n style: createAttribute('style'),\n };\n },\n});\n\nconst tableCellAttributes = {\n style: createAttribute('style'),\n valign: createAttribute('valign'),\n width: createAttribute('width'),\n};\n\nexport const CustomTableCell = TableCell.extend({\n addAttributes () {\n return {\n ...this.parent?.(),\n ...tableCellAttributes,\n };\n },\n});\n\nexport const CustomTableHeader = TableHeader.extend({\n addAttributes () {\n return {\n ...this.parent?.(),\n ...tableCellAttributes,\n };\n },\n});\n","import { TextStyle } from '@tiptap/extension-text-style';\n\nexport const CustomTextStyle = TextStyle.extend({\n parseHTML () {\n return [\n ...this.parent?.() || [],\n {\n tag: 'div',\n consuming: false,\n getAttrs: element => {\n if (!element.hasAttribute('style')) return false;\n return {};\n },\n },\n {\n tag: 'a',\n consuming: false,\n getAttrs: element => {\n if (!element.hasAttribute('style')) return false;\n return {};\n },\n },\n ];\n },\n});\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <node-view-wrapper\n class=\"d-d-inline-block d-va-bottom d-lh0\"\n >\n <dt-emoji\n size=\"500\"\n :code=\"node.attrs.code\"\n />\n </node-view-wrapper>\n</template>\n\n<script>\nimport { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3';\n\nimport { DtEmoji } from '@/components/emoji';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'EmojiComponent',\n components: {\n NodeViewWrapper,\n DtEmoji,\n },\n\n props: nodeViewProps,\n};\n</script>\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <div class=\"d-popover__dialog d-suggestion-list__container\">\n <ul\n v-show=\"items.length\"\n ref=\"suggestionList\"\n class=\"d-suggestion-list\"\n >\n <dt-list-item\n v-for=\"(item, index) in items\"\n :key=\"item.id\"\n :class=\"[\n 'd-suggestion-list__item',\n { 'd-list-item--highlighted': index === selectedIndex },\n ]\"\n navigation-type=\"arrow-keys\"\n @click=\"selectItem(index)\"\n @keydown.prevent=\"onKeyDown\"\n >\n <component\n :is=\"itemComponent\"\n :item=\"item\"\n />\n </dt-list-item>\n </ul>\n </div>\n</template>\n\n<script>\nimport { DtListItem } from '@/components/list_item';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'SuggestionList',\n components: {\n DtListItem,\n },\n\n props: {\n items: {\n type: Array,\n required: true,\n },\n\n command: {\n type: Function,\n required: true,\n },\n\n itemComponent: {\n type: Object,\n required: true,\n },\n\n itemType: {\n type: String,\n required: true,\n },\n },\n\n data () {\n return {\n selectedIndex: 0,\n };\n },\n\n watch: {\n items () {\n this.selectedIndex = 0;\n },\n },\n\n methods: {\n onKeyDown ({ event }) {\n if (event.key === 'ArrowUp') {\n this.upHandler();\n return true;\n }\n\n if (event.key === 'ArrowDown') {\n this.downHandler();\n return true;\n }\n\n if (event.key === 'Enter' || event.key === 'Tab') {\n this.selectHandler();\n return true;\n }\n\n return false;\n },\n\n upHandler () {\n this.selectedIndex = ((this.selectedIndex + this.items.length) - 1) % this.items.length;\n\n this.scrollActiveElementIntoView();\n },\n\n downHandler () {\n this.selectedIndex = (this.selectedIndex + 1) % this.items.length;\n\n this.scrollActiveElementIntoView();\n },\n\n async scrollActiveElementIntoView () {\n await this.$nextTick();\n const activeElement = this.$refs.suggestionList.querySelector('.d-list-item--highlighted');\n if (activeElement) {\n activeElement.scrollIntoView({\n behaviour: 'smooth',\n block: 'center',\n });\n }\n },\n\n selectHandler () {\n this.selectItem(this.selectedIndex);\n },\n\n selectItem (index) {\n const item = this.items[index];\n\n switch (this.itemType) {\n case 'emoji':\n this.command(item);\n return;\n case 'mention':\n this.command({ name: item.name, id: item.id, avatarSrc: item.avatarSrc, contactKey: item.contactKey });\n break;\n case 'channel':\n this.command({ name: item.name, id: item.id, locked: item.locked, channelKey: item.channelKey });\n break;\n case 'slash-command':\n this.command({ command: item.command });\n break;\n }\n },\n },\n};\n</script>\n","import { markRaw } from 'vue';\nimport { VueRenderer } from '@tiptap/vue-3';\nimport { computePosition, flip, shift, offset } from '@floating-ui/dom';\n\nimport SuggestionList from '../suggestion/SuggestionList.vue';\n\n/**\n * Default placement configuration for floating UI.\n */\nexport const DEFAULT_PLACEMENT = 'top-start';\n\n/**\n * Default z-index for floating elements.\n */\nexport const DEFAULT_Z_INDEX = '650';\n\n/**\n * Creates a default virtual element with zero dimensions.\n * @returns {Object} Virtual element with getBoundingClientRect method\n */\nexport function createDefaultVirtualElement () {\n return {\n getBoundingClientRect: () => ({\n width: 0,\n height: 0,\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n }),\n };\n}\n\n/**\n * Creates a virtual element from a clientRect function.\n * @param {Function} clientRect - Function that returns a DOMRect\n * @returns {Object} Virtual element with getBoundingClientRect method\n */\nexport function createVirtualElement (clientRect) {\n return { getBoundingClientRect: clientRect };\n}\n\n/**\n * Calculates and updates the position of a floating element.\n * @param {HTMLElement} floatingEl - The floating element to position\n * @param {Object} virtualEl - Virtual element with getBoundingClientRect\n * @param {Object} options - Positioning options\n * @param {string} options.placement - Placement of the floating element\n * @param {Array} options.middleware - Floating UI middleware array\n */\nexport async function updateFloatingPosition (floatingEl, virtualEl, options = {}) {\n if (!floatingEl || !virtualEl?.getBoundingClientRect) return;\n\n const {\n placement = DEFAULT_PLACEMENT,\n middleware = [offset(0), flip(), shift({ padding: 8 })],\n } = options;\n\n const { x, y } = await computePosition(virtualEl, floatingEl, {\n placement,\n middleware,\n });\n\n Object.assign(floatingEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n}\n\n/**\n * Initializes a floating element with default styles.\n * @param {HTMLElement} element - The element to initialize\n * @param {Object} options - Style options\n * @param {string} options.zIndex - Z-index value\n */\nexport function initializeFloatingElement (element, options = {}) {\n const { zIndex = DEFAULT_Z_INDEX } = options;\n element.style.position = 'absolute';\n element.style.zIndex = zIndex;\n element.style.display = 'none';\n}\n\n/**\n * Shows a floating element.\n * @param {HTMLElement} element - The element to show\n */\nexport function showFloatingElement (element) {\n if (!element) return;\n element.style.display = 'block';\n}\n\n/**\n * Hides a floating element.\n * @param {HTMLElement} element - The element to hide\n */\nexport function hideFloatingElement (element) {\n if (!element) return;\n element.style.display = 'none';\n}\n\n/**\n * Creates an escape key handler.\n * @param {Function} onEscape - Callback to execute when Escape is pressed\n * @param {Function} isActive - Function that returns whether the handler should be active\n * @returns {Function} Event handler function\n */\nexport function createEscapeHandler (onEscape, isActive) {\n return (e) => {\n if (e.key === 'Escape' && isActive()) {\n onEscape();\n }\n };\n}\n\n/**\n * Attaches an escape key handler to the document.\n * @param {Function} handler - The event handler\n */\nexport function attachEscapeHandler (handler) {\n document.addEventListener('keydown', handler);\n}\n\n/**\n * Detaches an escape key handler from the document.\n * @param {Function} handler - The event handler\n */\nexport function detachEscapeHandler (handler) {\n document.removeEventListener('keydown', handler);\n}\n\n/**\n * Creates a Vue component renderer for suggestions.\n * @param {Object} listComponent - The list wrapper component\n * @param {Object} itemComponent - The item component to render\n * @param {string} itemType - The type identifier for the suggestion\n * @param {Object} props - Additional props from the suggestion plugin\n * @returns {VueRenderer} The Vue renderer instance\n */\nexport function createSuggestionComponent (listComponent, itemComponent, itemType, props) {\n return new VueRenderer(listComponent, {\n props: {\n itemComponent: markRaw(itemComponent),\n itemType,\n ...props,\n },\n editor: props.editor,\n });\n}\n\n/**\n * Cleans up a suggestion popup by removing event listeners and DOM elements.\n * @param {Object} state - The state object containing references to clean up\n * @param {Function} state.escHandler - The escape key handler\n * @param {HTMLElement} state.floatingEl - The floating element\n * @param {VueRenderer} state.component - The Vue renderer component\n */\nexport function cleanupSuggestionPopup (state) {\n if (state.escHandler) {\n detachEscapeHandler(state.escHandler);\n }\n state.floatingEl?.remove();\n state.component?.destroy();\n}\n\n/**\n * Creates a render function for suggestion popups using Floating UI.\n * @param {Object} itemComponent - The Vue component to render for each suggestion item\n * @param {string} itemType - The type identifier for the suggestion\n * @param {Object} options - Optional configuration\n * @param {Object} options.listComponent - Custom list component (defaults to SuggestionList)\n * @param {string} options.placement - Floating UI placement\n * @param {string} options.zIndex - Z-index for the floating element\n * @returns {Function} A render function compatible with Tiptap's suggestion plugin\n */\nexport function createSuggestionRenderer (itemComponent, itemType, options = {}) {\n const {\n listComponent = SuggestionList,\n placement = DEFAULT_PLACEMENT,\n zIndex = DEFAULT_Z_INDEX,\n } = options;\n\n return () => {\n let component = null;\n let floatingEl = null;\n let popupIsOpen = false;\n let virtualEl = createDefaultVirtualElement();\n let escHandler = null;\n\n function updatePosition () {\n updateFloatingPosition(floatingEl, virtualEl, { placement });\n }\n\n function show () {\n if (!floatingEl) return;\n showFloatingElement(floatingEl);\n popupIsOpen = true;\n updatePosition();\n }\n\n function hide () {\n if (!floatingEl) return;\n hideFloatingElement(floatingEl);\n popupIsOpen = false;\n }\n\n return {\n onStart: props => {\n component = createSuggestionComponent(listComponent, itemComponent, itemType, props);\n\n if (!props.clientRect) {\n return;\n }\n\n floatingEl = component.element;\n initializeFloatingElement(floatingEl, { zIndex });\n document.body.appendChild(floatingEl);\n\n virtualEl = createVirtualElement(props.clientRect);\n\n escHandler = createEscapeHandler(hide, () => popupIsOpen);\n attachEscapeHandler(escHandler);\n\n if (props.items.length > 0) {\n show();\n }\n },\n\n onUpdate (props) {\n component?.updateProps(props);\n\n if (props.items.length > 0) {\n show();\n } else {\n hide();\n }\n\n if (props.clientRect) {\n virtualEl = createVirtualElement(props.clientRect);\n updatePosition();\n }\n },\n\n onKeyDown (props) {\n if (popupIsOpen) {\n return component?.ref?.onKeyDown(props);\n }\n },\n\n onExit () {\n cleanupSuggestionPopup({ escHandler, floatingEl, component });\n escHandler = null;\n floatingEl = null;\n component = null;\n },\n };\n };\n}\n","<template>\n <dt-stack\n direction=\"row\"\n gap=\"400\"\n >\n <dt-emoji\n size=\"200\"\n :code=\"item.code\"\n />\n {{ item.code }}\n </dt-stack>\n</template>\n\n<script>\nimport { DtEmoji } from '@/components/emoji';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'EmojiSuggestion',\n components: {\n DtEmoji,\n DtStack,\n },\n\n props: {\n item: {\n type: Object,\n required: true,\n },\n },\n};\n</script>\n","import { getEmojiData } from '@/common/emoji';\n\nimport { createSuggestionRenderer } from '../utils/suggestion_utils';\nimport EmojiSuggestion from './EmojiSuggestion.vue';\n\nconst suggestionLimit = 20;\n\nconst sortEmojis = (a, b, query) => {\n const aShortname = a.shortname?.replaceAll(':', '');\n const bShortname = b.shortname?.replaceAll(':', '');\n const aStartsWith = aShortname.startsWith(query);\n const bStartsWith = bShortname.startsWith(query);\n\n // If one starts with query and the other doesn't, prioritize the one that starts\n if (aStartsWith && !bStartsWith) return -1;\n if (!aStartsWith && bStartsWith) return 1;\n\n // Sort alphabetically\n return aShortname.localeCompare(bShortname);\n};\n\nexport default {\n items: ({ query }) => {\n if (query.length < 2) {\n return [];\n }\n const emojiList = Object.values(getEmojiData());\n query = query.toLowerCase();\n\n const filteredEmoji = emojiList\n .filter(\n item => [\n item.name,\n item.shortname?.replaceAll(':', ''),\n ...(item.keywords || []),\n ].some(text => text && text.startsWith(query)),\n ).splice(0, suggestionLimit)\n .sort((a, b) => sortEmojis(a, b, query));\n return filteredEmoji.map(item => ({ code: item.shortname }));\n },\n\n command: ({ editor, range, props }) => {\n // increase range.to by one when the next node is of type \"text\"\n // and starts with a space character\n const nodeAfter = editor.view.state.selection.$to.nodeAfter;\n const overrideSpace = nodeAfter?.text?.startsWith(' ');\n\n if (overrideSpace) {\n range.to += 1;\n }\n\n editor\n .chain()\n .focus()\n .insertContentAt(range, [\n {\n type: 'emoji',\n attrs: props,\n },\n ])\n .run();\n\n window.getSelection()?.collapseToEnd();\n },\n\n render: createSuggestionRenderer(EmojiSuggestion, 'emoji'),\n};\n","import { InputRule, mergeAttributes, Node, nodePasteRule } from '@tiptap/core';\nimport { PluginKey } from '@tiptap/pm/state';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport Suggestion from '@tiptap/suggestion';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nimport EmojiComponent from './EmojiComponent.vue';\nimport { codeToEmojiData, emojiShortCodeRegex, emojiRegex, stringToUnicode } from '@/common/emoji';\nimport suggestionOptions from './suggestion';\n\nconst inputShortCodeRegex = /(:\\w+:)$/;\nconst inputUnicodeRegex = new RegExp(emojiPattern + '$');\n\nconst inputRuleMatch = (match) => {\n if (match && codeToEmojiData(match[0])) {\n const text = match[2] || match[0];\n // needs to be a dict returned\n // ref type InputRuleMatch:\n // https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/InputRule.ts#L16\n return { text };\n }\n};\n\nconst shortCodePasteMatch = (text) => {\n const matches = [...text.matchAll(emojiShortCodeRegex)];\n\n return matches\n .filter(match => codeToEmojiData(match[0]))\n .map(match => ({\n index: match.index,\n text: match[0],\n match,\n }));\n};\n\nexport const Emoji = Node.create({\n name: 'emoji',\n addOptions () {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'inline',\n inline: true,\n selectable: false,\n atom: true,\n\n addNodeView () {\n return VueNodeViewRenderer(EmojiComponent);\n },\n\n addAttributes () {\n return {\n code: {\n default: null,\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'emoji-component',\n },\n ];\n },\n\n renderText ({ node }) {\n // output emoji in text as unicode character rather than shortname for backwards compatibility with\n // our backend.\n const unicodeEmoji = stringToUnicode(codeToEmojiData(node.attrs.code).unicode_output);\n return unicodeEmoji;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['emoji-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n return [\n new InputRule({\n find: (text) => {\n const match = text.match(inputShortCodeRegex) || text.match(inputUnicodeRegex);\n if (!match) return;\n\n return inputRuleMatch(match);\n },\n handler: ({ state, range, match}) => {\n const { tr } = state;\n const start = range.from;\n const end = range.to;\n tr.replaceWith(start, end, this.type.create({ code: match[0] }));\n },\n }),\n ];\n },\n\n addPasteRules () {\n return [\n nodePasteRule({\n find: shortCodePasteMatch,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n nodePasteRule({\n find: emojiRegex,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n ];\n },\n\n addProseMirrorPlugins () {\n return [\n Suggestion({\n char: ':',\n pluginKey: new PluginKey('emoji'),\n editor: this.editor,\n ...this.options.suggestion,\n ...suggestionOptions,\n }),\n ];\n },\n\n addKeyboardShortcuts () {\n return {\n Backspace: () => this.editor.commands.command(({ tr, state }) => {\n let isEmoji = false;\n const { selection } = state;\n const { empty, anchor } = selection;\n if (!empty) { return false; }\n state.doc.nodesBetween(anchor - 1, anchor, (node, pos) => {\n if (node.type.name === this.name) {\n isEmoji = true;\n tr.insertText('', pos, pos + node.nodeSize);\n return false;\n }\n });\n return isEmoji;\n }),\n };\n },\n});\n","import { getMarksBetween } from '@tiptap/core';\nimport {\n getPhoneNumberRegex,\n linkRegex,\n} from '@/common/utils';\n\n/**\n * Get matches in a string and return the ones that pass the optional extra\n * validation or if no validator is provided return all matches.\n */\nexport function getRegexMatches (text, regex, validator = () => true) {\n const matches = [];\n\n // Reset the lastIndex since the last time this was run.\n regex.lastIndex = 0;\n\n let match;\n while ((match = regex.exec(text))) {\n if (validator(text, match)) {\n matches.push(match);\n }\n }\n\n return matches;\n}\n\n/**\n * Validate the prefix of a match in a string not to contain certain characters.\n */\nexport function hasValidPrefix (text, match) {\n // The string match can't start with # or @ or have either preceding the match\n // as they're reserved for mentions and hashtags.\n return !['#', '@'].includes(text.charAt(match.index)) &&\n !['#', '@'].includes(text.charAt(match.index - 1));\n}\n\n/**\n * Trim punctuation characters at the a of the string, e.g. \"dialpad.com!\" =>\n * \"dialpad.com\"\n */\nexport function trimEndPunctiation (string) {\n const endPunctuationRegex = new RegExp(\n '(?:' +\n [\n '[!?.,:;\\'\"]',\n '(?:&|&amp;)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)+$',\n ].join('|'),\n 'g',\n );\n return string.replace(endPunctuationRegex, '');\n}\n\n/**\n * Find the word from a string at a given index. For example for \"example here\"\n * - indices 0-7 => \"example\"\n * - indices 8-12 => \"here\".\n * Modified from https://stackoverflow.com/a/5174867\n */\nexport function getWordAt (text, index) {\n // Position of the first non-whitespace character following a possible\n // whitespace when looking from the index to the left.\n const left = text.slice(0, index + 1).search(/\\S+\\s*$/);\n\n // Position of the first whitespace when looking from the index to the right.\n const right = text.slice(index).search(/\\s/);\n\n // If the word is at the end of the string, right is -1.\n if (right < 0) {\n const word = text.slice(left);\n return {\n text: word,\n from: left,\n to: left + word.length,\n };\n }\n\n return {\n text: text.slice(left, right + index),\n from: left,\n to: right + index,\n };\n}\n\n/**\n * Helper to check if a word at a given index matches a regex and if true, finds\n * the previous or next word until the regex doesn't match anymore. Useful to\n * find for example the entire phone number when it is separated by whitespace.\n */\nexport function getWordAtUntil (text, index, direction, regex) {\n const word = getWordAt(text, index);\n\n // Reset the lastIndex since the last time this was run.\n regex.lastIndex = 0;\n\n // If the word doesn't match the regex we can just return it.\n if (!regex.test(word.text)) {\n return word;\n }\n\n // Depending on the direction take one step to the left or right to find the\n // preceding or following word.\n const newIndex = direction === 'left' ? word.from - 1 : word.to + 1;\n\n // Prevent an infinite loop for the base cases.\n if (newIndex <= 0 || newIndex >= text.length || newIndex === index) {\n return word;\n }\n\n // Run the preceding/following word through the validator until we meet the\n // string boundaries or find a word that doesn't match the regex.\n return getWordAtUntil(text, newIndex, direction, regex);\n}\n\n/**\n * Remove marks from a range.\n */\nexport function removeMarks (range, doc, tr, type) {\n const from = Math.max(range.from - 1, 0);\n const to = Math.min(range.to + 1, doc.content.size);\n const marksInRange = getMarksBetween(from, to, doc);\n\n for (const mark of marksInRange) {\n if (mark.mark.type !== type) {\n continue;\n }\n\n tr.removeMark(mark.from, mark.to, type);\n }\n}\n\n// Regex to match partial phone numbers.\nconst partialPhoneNumberRegex = getPhoneNumberRegex(1, 15);\n\n/**\n * Find matches from text and add marks on them.\n */\nexport function addMarks (text, pos, from, to, tr, type) {\n if (!text) {\n return;\n }\n\n // from = start index for the change\n // pos = start index of the node\n // 1 = range uses 1-based indexing, deduct 1\n let rangeFrom = from - pos - 1;\n\n // If the change spans multiple nodes/paragraphs the start index can become\n // negative, so default to 0.\n rangeFrom = rangeFrom < 0 ? 0 : rangeFrom;\n\n // to = end index of the change\n // pos = start index of the node\n const rangeTo = to - pos;\n\n // Get the first word in the range.\n const firstWordInRange = getWordAtUntil(\n text,\n rangeFrom,\n 'left',\n partialPhoneNumberRegex,\n );\n\n // Get the last word in the range.\n const lastWordInRange = getWordAtUntil(\n text,\n rangeTo,\n 'right',\n partialPhoneNumberRegex,\n );\n\n // Create a substring that consists of whole words only.\n const wordsInRange = text.slice(firstWordInRange.from, lastWordInRange.to);\n\n // Find all valid matches within the substring.\n const matches = getRegexMatches(wordsInRange, linkRegex, hasValidPrefix);\n\n // Loop through the matches and add marks.\n matches.forEach(match => {\n // Trim any punctuation characters at the end of the match.\n const word = trimEndPunctiation(match[0]);\n\n // pos = start index of the node\n // firstWordInRange.from = start index of the first word in range\n // match.index = index of the regex match\n // 1 = addMark() uses 1-based indexing, add 1\n const from = pos + firstWordInRange.from + match.index + 1;\n\n // Sum up the from index and the match length to get the end index.\n const to = from + word.length;\n\n tr.addMark(from, to, type.create());\n });\n}\n","import {\n combineTransactionSteps,\n findChildrenInRange,\n getChangedRanges,\n} from '@tiptap/core';\nimport {\n Plugin,\n PluginKey,\n} from '@tiptap/pm/state';\nimport {\n addMarks,\n removeMarks,\n} from './utils';\n\n/**\n * Plugin to automatically add links into content.\n */\nexport function autolink (options) {\n // Flag to see if we've loaded this plugin once already. This is used to run\n // the initial content through the plugin if the editor was mounted with some.\n let hasInitialized = false;\n\n return new Plugin({\n key: new PluginKey('autolink'),\n\n appendTransaction: (transactions, oldState, newState) => {\n const contentChanged = transactions.some(tr => tr.docChanged) &&\n !oldState.doc.eq(newState.doc);\n\n // Every interaction with the editor is a transaction, but we only care\n // about the ones with content changes.\n if (hasInitialized && !contentChanged) {\n return;\n }\n\n // The original transaction that we're manipulating.\n const { tr } = newState;\n\n // Text content after the original transaction.\n const { textContent } = newState.doc;\n\n // When the editor is initialized we want to add links to it.\n if (!hasInitialized) {\n addMarks(textContent, 0, 0, textContent.length, tr, options.type);\n }\n\n hasInitialized = true;\n\n // The transformed state of the document.\n const transform = combineTransactionSteps(\n oldState.doc,\n [...transactions],\n );\n\n // All the changes within the document.\n const changes = getChangedRanges(transform);\n\n changes.forEach(({ oldRange, newRange }) => {\n // Remove all link marks in the changed range since we'll add them\n // right back if they're still valid links.\n removeMarks(newRange, newState.doc, tr, options.type);\n\n // Find all paragraphs (Textblocks) that were affected since we want to\n // handle matches in each paragraph separately.\n const paragraphs = findChildrenInRange(\n newState.doc,\n newRange,\n node => node.isTextblock,\n );\n\n paragraphs.forEach(({ node, pos }) => {\n addMarks(\n node.textContent,\n pos,\n oldRange.from,\n newRange.to,\n tr,\n options.type,\n );\n });\n });\n\n // Return the modified transaction or the changes above wont have effect.\n return tr;\n },\n });\n}\n","/**\n *\n * The custom link does some additional things on top of the built in TipTap link\n * extension such as styling phone numbers and IP adresses as links, and allows you\n * to linkify text without having to type a space after the link. Currently it is missing some\n * functionality such as editing links and will likely require more work to be fully usable,\n * so it is recommended to use the built in TipTap link for now.\n */\n\nimport {\n mergeAttributes,\n Mark,\n} from '@tiptap/core';\nimport { autolink } from './autolink';\n\nconst defaultAttributes = {\n class: 'd-link d-c-text d-d-inline-block d-wb-break-all',\n rel: 'noopener noreferrer nofollow',\n};\n\n// This is the actual extension code, which is mostly showing that all the\n// functionality comes from the ProseMirror plugin.\nexport const CustomLink = Mark.create({\n name: 'CustomLink',\n\n renderHTML ({ HTMLAttributes }) {\n return [\n 'a',\n mergeAttributes(\n this.options.HTMLAttributes,\n HTMLAttributes,\n defaultAttributes,\n ),\n ];\n },\n\n renderText ({ node }) {\n return node.attrs.text;\n },\n\n addProseMirrorPlugins () {\n return [\n autolink({ type: this.type }),\n ];\n },\n});\n","import Image from '@tiptap/extension-image';\n\nexport const ConfigurableImage = Image.extend({\n name: 'ConfigurableImage',\n\n addAttributes () {\n return {\n src: {\n default: '',\n },\n alt: {\n default: undefined,\n },\n title: {\n default: undefined,\n },\n width: {\n default: undefined,\n },\n height: {\n default: undefined,\n },\n style: {\n default: undefined,\n },\n };\n },\n}).configure({ inline: true, allowBase64: true });\n","import { mergeAttributes } from '@tiptap/core';\nimport Paragraph from '@tiptap/extension-paragraph';\n\nconst BLOCK_TAGS = new Set([\n 'address', 'article', 'aside', 'blockquote', 'dd', 'details',\n 'dialog', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header',\n 'hgroup', 'hr', 'li', 'main', 'nav', 'ol', 'p', 'pre', 'section',\n 'table', 'ul',\n]);\n\n/** Extension for div tag support\n * Replaces the default p tags when typing text to div tags\n * Extends the following extension: https://github.com/ueberdosis/tiptap/blob/main/packages/extension-paragraph/src/paragraph.ts\n */\nexport const DivParagraph = Paragraph.extend({\n parseHTML () {\n return [{\n tag: 'div',\n getAttrs: (node) => {\n // Skip divs that contain block-level children. Without this check ProseMirror would\n // match the container as a paragraph and then immediately close it\n // (creating an empty <div></div>) before lifting the block children\n // out, resulting in unwanted blank lines.\n for (const child of node.children) {\n if (BLOCK_TAGS.has(child.tagName.toLowerCase())) {\n return false;\n }\n }\n return null;\n },\n }];\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['div', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n\n});\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <node-view-wrapper\n class=\"d-d-inline-block\"\n >\n <dt-link\n kind=\"mention\"\n @click.prevent=\"handleClick\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @focusin=\"handleMouseEnter\"\n @focusout=\"handleMouseLeave\"\n >\n {{ text }}\n </dt-link>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3';\n\nimport { DtLink } from '@/components/link';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'MentionComponent',\n components: {\n NodeViewWrapper,\n DtLink,\n },\n\n props: nodeViewProps,\n\n computed: {\n text () {\n return '@' + this.$props.node.attrs.name;\n },\n },\n\n methods: {\n getMentionData () {\n return {\n name: this.$props.node.attrs.name,\n id: this.$props.node.attrs.id,\n avatarSrc: this.$props.node.attrs.avatarSrc,\n contactKey: this.$props.node.attrs.contactKey,\n };\n },\n\n handleClick () {\n this.$props.editor.emit('mention-click', this.getMentionData());\n },\n\n handleMouseEnter (event) {\n this.$props.editor.emit('mention-hover', { ...this.getMentionData(), event });\n },\n\n handleMouseLeave (event) {\n this.$props.editor.emit('mention-leave', { ...this.getMentionData(), event });\n },\n },\n};\n</script>\n","import Mention from '@tiptap/extension-mention';\nimport { mergeAttributes } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport { PluginKey } from '@tiptap/pm/state';\n\n// Mention component\nimport MentionComponent from './MentionComponent.vue';\n\nexport const MentionPlugin = Mention.extend({\n\n addNodeView () {\n return VueNodeViewRenderer(MentionComponent);\n },\n\n parseHTML () {\n return [\n {\n tag: 'mention-component',\n },\n ];\n },\n\n addAttributes () {\n return {\n name: {\n default: '',\n },\n avatarSrc: {\n default: '',\n },\n id: {\n default: '',\n },\n contactKey: {\n default: '',\n },\n };\n },\n\n renderText ({ node }) {\n return `@${node.attrs.id}`;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['mention-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n}).configure({\n suggestion: {\n char: '@',\n pluginKey: new PluginKey('mentionSuggestion'),\n },\n});\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <node-view-wrapper\n class=\"d-d-inline-block\"\n >\n <dt-link\n kind=\"mention\"\n @click.prevent=\"handleClick\"\n >\n <dt-stack\n direction=\"row\"\n gap=\"0\"\n >\n <dt-icon-lock\n v-if=\"$props.node.attrs.locked\"\n size=\"200\"\n />\n <span>{{ text }}</span>\n </dt-stack>\n </dt-link>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3';\nimport { DtIconLock } from '@dialpad/dialtone-icons/vue3';\nimport { DtStack } from '@/components/stack';\n\nimport { DtLink } from '@/components/link';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'ChannelComponent',\n components: {\n NodeViewWrapper,\n DtLink,\n DtIconLock,\n DtStack,\n },\n\n props: nodeViewProps,\n\n computed: {\n text () {\n if (this.$props.node.attrs.locked) {\n return this.$props.node.attrs.name;\n }\n return '#' + this.$props.node.attrs.name;\n },\n },\n\n methods: {\n handleClick () {\n const channelData = {\n name: this.$props.node.attrs.name,\n id: this.$props.node.attrs.id,\n locked: this.$props.node.attrs.locked,\n channelKey: this.$props.node.attrs.channelKey,\n };\n this.$props.editor.emit('channel-click', channelData);\n },\n },\n};\n</script>\n","import Mention from '@tiptap/extension-mention';\nimport { mergeAttributes } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport { PluginKey } from '@tiptap/pm/state';\n\n// Channel Mention component\nimport ChannelComponent from './ChannelComponent.vue';\n\nexport const ChannelPlugin = Mention.extend({\n name: 'channel',\n\n addNodeView () {\n return VueNodeViewRenderer(ChannelComponent);\n },\n\n parseHTML () {\n return [\n {\n tag: 'channel-component',\n },\n ];\n },\n\n addAttributes () {\n return {\n name: {\n default: '',\n },\n id: {\n default: '',\n },\n locked: {\n default: false,\n },\n channelKey: {\n default: '',\n },\n };\n },\n\n renderText ({ node }) {\n return `#${node.attrs.id}`;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['channel-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n}).configure({\n suggestion: {\n char: '#',\n pluginKey: new PluginKey('channelSuggestion'),\n },\n});\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <node-view-wrapper\n class=\"d-d-inline-block\"\n >\n {{ text }}\n </node-view-wrapper>\n</template>\n\n<script>\nimport { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'SlashCommandsComponent',\n components: {\n NodeViewWrapper,\n },\n\n props: {\n ...nodeViewProps,\n },\n\n emits: ['selected-command'],\n\n computed: {\n text () {\n return '/' + this.$props.node.attrs.command;\n },\n },\n\n created () {\n const command = this.$props.node.attrs.command;\n\n // First emit the event using the component's own emit\n this.$emit('selected-command', command);\n\n // Access the callback from the editor's storage\n const onSelectedCommand = this.editor?.storage?.['slash-commands']?.onSelectedCommand;\n if (onSelectedCommand && typeof onSelectedCommand === 'function') {\n onSelectedCommand(command);\n }\n },\n};\n</script>\n","import Mention from '@tiptap/extension-mention';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport { PluginKey } from '@tiptap/pm/state';\n\n// Slash Command Mention component\nimport SlashCommandComponent from './SlashCommandComponent.vue';\nimport { mergeAttributes, nodeInputRule, nodePasteRule } from '@tiptap/core';\n\nconst slashCommandPasteMatch = (text, slashCommandRegex) => {\n const matches = [...text.matchAll(slashCommandRegex)];\n\n return matches\n .map(match => {\n let slashCommand = match[2];\n if (!slashCommand.endsWith(' ')) slashCommand += ' ';\n return {\n index: match.index,\n text: slashCommand,\n match,\n };\n });\n};\n\nexport const SlashCommandPlugin = Mention.extend({\n name: 'slash-commands',\n group: 'inline',\n inline: true,\n\n addOptions () {\n return {\n ...this.parent?.(),\n onSelectedCommand: null,\n };\n },\n\n addStorage () {\n return {\n onSelectedCommand: this.options.onSelectedCommand,\n };\n },\n\n addNodeView () {\n return VueNodeViewRenderer(SlashCommandComponent);\n },\n\n parseHTML () {\n return [\n {\n tag: 'command-component',\n },\n ];\n },\n\n addAttributes () {\n return {\n command: {\n default: '',\n },\n parametersExample: {\n default: '',\n },\n description: {\n default: '',\n },\n };\n },\n\n renderText ({ node }) {\n return `/${node.attrs.command}`;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['command-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n const suggestions = this.options.suggestion?.items({ query: '' }).map(suggestion => suggestion.command);\n const slashCommandRegex = new RegExp(`^((?:\\\\/)(${suggestions.join('|')})) $`);\n return [\n nodeInputRule({\n find: slashCommandRegex,\n type: this.type,\n getAttributes (attrs) {\n return { command: attrs[2] };\n },\n }),\n ];\n },\n\n addPasteRules () {\n const suggestions = this.options.suggestion?.items({ query: '' }).map(suggestion => suggestion.command);\n const slashCommandRegex = new RegExp(`^((?:\\\\/)(${suggestions.join('|')})) ?$`, 'g');\n return [\n nodePasteRule({\n find: (text) => slashCommandPasteMatch(text, slashCommandRegex),\n type: this.type,\n getAttributes (attrs) {\n return { command: attrs[0].trim() };\n },\n }),\n ];\n },\n}).configure({\n suggestion: {\n char: '/',\n pluginKey: new PluginKey('slashCommandSuggestion'),\n },\n});\n","<script>\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtBadge } from '@/components/badge';\nimport { DialtoneLocalization } from '@/localization/index.js';\nimport { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3';\n\nconst MAX_VARIABLE_ALT_LENGTH = 100;\n\nexport default {\n name: 'VariableComponent',\n\n components: {\n DtBadge,\n DtButton,\n DtPopover,\n DtInput,\n NodeViewWrapper,\n },\n\n props: nodeViewProps,\n\n data() {\n return {\n i18n: new DialtoneLocalization(),\n MAX_VARIABLE_ALT_LENGTH,\n };\n },\n\n computed: {\n altText: {\n get() {\n return this.node?.attrs?.altText || '';\n },\n\n set(value) {\n this.updateAttributes({ altText: value });\n },\n },\n\n variableId() {\n return this.node?.attrs?.id;\n },\n\n placeholder() {\n return this.variableData?.placeholder || '';\n },\n\n variableItems() {\n return this.extension?.options?.variableItems || [];\n },\n\n variableData() {\n return this.variableItems.find(item => item.id === this.variableId);\n },\n\n enableAltText() {\n return this.node?.attrs?.enableAltText;\n },\n\n badgeLabel() {\n return `{} ${this.placeholder}`;\n },\n\n placeholderText() {\n return `Replaces ${this.placeholder}`;\n },\n },\n};\n</script>\n\n<template>\n <!-- eslint-disable vue/no-restricted-class -->\n <node-view-wrapper class=\"d-d-inline-block\">\n <dt-popover\n v-if=\"enableAltText\"\n padding=\"small\"\n navigation-type=\"arrow-keys\"\n placement=\"top-start\"\n :modal=\"false\"\n >\n <template #anchor=\"{ attrs }\">\n <dt-button\n v-bind=\"attrs\"\n kind=\"unstyled\"\n >\n <dt-badge\n :text=\"badgeLabel\"\n contenteditable=\"false\"\n />\n </dt-button>\n </template>\n <template #content=\"{ close }\">\n <dt-input\n v-model=\"altText\"\n root-class=\"d-p8 d-w332\"\n :label=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_LABEL')\"\n :placeholder=\"placeholderText\"\n :validate=\"{\n length: {\n description: i18n.$t('DIALTONE_EDITOR_VARIABLE_VALIDATE_DESCRIPTION'),\n message: i18n.$t('DIALTONE_EDITOR_VARIABLE_VALIDATE_MESSAGE'),\n max: MAX_VARIABLE_ALT_LENGTH,\n warn: MAX_VARIABLE_ALT_LENGTH,\n limitMaxLength: true,\n },\n }\"\n @keyup.enter=\"close()\"\n />\n </template>\n </dt-popover>\n <dt-badge\n v-else\n :text=\"badgeLabel\"\n contenteditable=\"false\"\n />\n </node-view-wrapper>\n</template>\n","import { mergeAttributes, Node } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport VariableComponent from './VariableComponent.vue';\n\nexport const Variable = Node.create({\n name: 'variable',\n group: 'inline',\n inline: true,\n selectable: true,\n atom: true,\n\n addOptions() {\n return {\n HTMLAttributes: {},\n variableItems: [],\n };\n },\n\n addNodeView() {\n return VueNodeViewRenderer(VariableComponent);\n },\n\n addAttributes() {\n return {\n id: {\n default: null,\n parseHTML: element => element.getAttribute('data-variable-id'),\n renderHTML: attributes => {\n if (!attributes.id) {\n return {};\n }\n return {\n 'data-variable-id': attributes.id,\n };\n },\n },\n altText: {\n default: '',\n parseHTML: element => element.getAttribute('data-alt-text'),\n renderHTML: attributes => {\n if (!attributes.altText) {\n return {};\n }\n return {\n 'data-alt-text': attributes.altText,\n };\n },\n },\n enableAltText: {\n default: true,\n parseHTML: element => element.getAttribute('data-enable-alt-text') === 'true',\n renderHTML: attributes => {\n return {\n 'data-enable-alt-text': String(attributes.enableAltText),\n };\n },\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'variable',\n },\n ];\n },\n\n renderText({ node }) {\n return node.attrs.altText;\n },\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n 'variable',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n 'data-variable-id': node.attrs.id,\n 'data-alt-text': node.attrs.altText,\n 'data-enable-alt-text': String(node.attrs.enableAltText),\n }),\n ];\n },\n\n addCommands() {\n return {\n insertVariable: (options = {}) => ({ commands }) => {\n return commands.insertContent({\n type: this.name,\n attrs: {\n id: options.id || null,\n altText: options.altText || '',\n enableAltText: options.enableAltText,\n },\n });\n },\n };\n },\n});\n","<template>\n <dt-stack\n direction=\"row\"\n class=\"d-mention-suggestion__container\"\n gap=\"400\"\n >\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :image-alt=\"name\"\n :show-presence=\"showDetails\"\n :presence=\"presence\"\n size=\"sm\"\n />\n <dt-stack\n class=\"d-mention-suggestion__details-container\"\n gap=\"100\"\n >\n <!-- eslint-disable-next-line vue/no-restricted-class -->\n <span class=\"d-mention-suggestion__name\">\n {{ name }}\n </span>\n <dt-stack\n v-if=\"showDetails\"\n direction=\"row\"\n gap=\"300\"\n class=\"d-label--sm-plain\"\n >\n <span\n v-if=\"presenceText\"\n class=\"d-mention-suggestion__presence\"\n :class=\"[presenceFontColorClass]\"\n >\n {{ presenceText }}\n </span>\n <div\n v-if=\"status && presenceText\"\n class=\"d-mention-suggestion__divider\"\n >\n •\n </div>\n <div\n v-if=\"status\"\n class=\"d-mention-suggestion__status\"\n >\n {{ status }}\n </div>\n </dt-stack>\n </dt-stack>\n </dt-stack>\n</template>\n\n<script>\nimport { DtAvatar } from '@/components/avatar';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'MentionSuggestion',\n components: {\n DtAvatar,\n DtStack,\n },\n\n props: {\n item: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n name () {\n return this.item.name;\n },\n\n avatarSrc () {\n return this.item.avatarSrc;\n },\n\n presence () {\n return this.item.presence;\n },\n\n status () {\n return this.item.status;\n },\n\n presenceText () {\n return this.item.presenceText;\n },\n\n presenceFontColorClass () {\n const presenceFontColors = {\n active: 'd-recipe-contact-row--active',\n busy: 'd-recipe-contact-row--busy',\n away: 'd-recipe-contact-row--away',\n offline: 'd-recipe-contact-row--busy',\n };\n\n return presenceFontColors[this.presence];\n },\n\n showDetails () {\n return this.item.showDetails;\n },\n },\n};\n</script>\n","import { createSuggestionRenderer } from '../utils/suggestion_utils';\nimport MentionSuggestion from './MentionSuggestion.vue';\n\nexport default {\n\n // This function comes from the user and passed to the editor directly.\n // This will also activate the mention plugin on the editor\n // items: ({ query }) => { return [] },\n\n allowSpaces: true,\n\n render: createSuggestionRenderer(MentionSuggestion, 'mention'),\n};\n","<template>\n <dt-stack\n direction=\"row\"\n gap=\"400\"\n >\n <dt-icon-hash\n v-if=\"!item.locked\"\n size=\"300\"\n />\n <dt-icon-lock\n v-else\n size=\"300\"\n />\n <span>{{ name }}</span>\n </dt-stack>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport DtIconHash from '@dialpad/dialtone-icons/vue3/hash';\nimport DtIconLock from '@dialpad/dialtone-icons/vue3/lock';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'ChannelSuggestion',\n components: {\n DtStack,\n DtIconHash,\n DtIconLock,\n },\n\n props: {\n item: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n name () {\n return this.item.name;\n },\n },\n};\n</script>\n","import { createSuggestionRenderer } from '../utils/suggestion_utils';\nimport ChannelSuggestion from './ChannelSuggestion.vue';\n\nexport default {\n\n // This function comes from the user and passed to the editor directly.\n // This will also activate the mention plugin on the editor\n // items: ({ query }) => { return [] },\n\n allowSpaces: true,\n\n render: createSuggestionRenderer(ChannelSuggestion, 'channel'),\n};\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <div>\n <div class=\"d-body--md-compact\">\n <span>/{{ command }}</span><span v-if=\"parametersExample\"> {{ parametersExample }}</span>\n </div>\n <div class=\"d-body--sm d-fc-tertiary\">\n {{ description }}\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'SlashCommandSuggestion',\n\n props: {\n item: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n command () {\n return this.item.command;\n },\n\n description () {\n return this.item.description;\n },\n\n parametersExample () {\n return this.item.parametersExample;\n },\n },\n};\n</script>\n","import { createSuggestionRenderer } from '../utils/suggestion_utils';\nimport SlashCommandSuggestion from './SlashCommandSuggestion.vue';\n\nexport default {\n\n // This function comes from the user and passed to the editor directly.\n // This will also activate the mention plugin on the editor\n // items: ({ query }) => { return [] },\n\n allowSpaces: true,\n startOfLine: true,\n\n render: createSuggestionRenderer(SlashCommandSuggestion, 'slash-command'),\n};\n","<!-- eslint-disable vue/no-static-inline-styles -->\n<!-- eslint-disable vue/no-bare-strings-in-template -->\n<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <div>\n <!-- why the hell is this visibility: hidden by default??? -->\n <bubble-menu\n v-if=\"editor && link && !hideLinkBubbleMenu\"\n :editor=\"editor\"\n :should-show=\"bubbleMenuShouldShow\"\n :options=\"floatingOptions\"\n :append-to=\"appendTo\"\n style=\"visibility: visible;\"\n >\n <div class=\"d-popover__dialog\">\n <dt-stack\n direction=\"row\"\n class=\"d-rich-text-editor-bubble-menu__button-stack\"\n gap=\"0\"\n >\n <dt-button\n kind=\"muted\"\n importance=\"clear\"\n @click=\"editLink\"\n >\n {{ i18n.$t('DIALTONE_RICH_TEXT_EDITOR_EDIT_BUTTON_LABEL') }}\n </dt-button>\n <dt-button\n kind=\"muted\"\n importance=\"clear\"\n @click=\"openLink\"\n >\n {{ i18n.$t('DIALTONE_RICH_TEXT_EDITOR_OPEN_LINK_BUTTON_LABEL') }}\n </dt-button>\n <dt-button\n kind=\"danger\"\n importance=\"clear\"\n @click=\"removeLink\"\n >\n {{ i18n.$t('DIALTONE_RICH_TEXT_EDITOR_REMOVE_BUTTON_LABEL') }}\n </dt-button>\n </dt-stack>\n </div>\n </bubble-menu>\n <editor-content\n ref=\"editor\"\n :editor=\"editor\"\n class=\"d-rich-text-editor\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"attrs\"\n />\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { Editor, EditorContent } from '@tiptap/vue-3';\nimport { BubbleMenu } from '@tiptap/vue-3/menus';\nimport { Extension } from '@tiptap/core';\nimport { DtButton } from '../button';\nimport { DtStack } from '../stack';\nimport Blockquote from '@tiptap/extension-blockquote';\nimport CodeBlock from '@tiptap/extension-code-block';\nimport Code from '@tiptap/extension-code';\nimport Document from '@tiptap/extension-document';\nimport { Placeholder, UndoRedo, Gapcursor } from '@tiptap/extensions';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Bold from '@tiptap/extension-bold';\nimport { BulletList, OrderedList, ListItem } from '@tiptap/extension-list';\nimport Italic from '@tiptap/extension-italic';\nimport TipTapLink from '@tiptap/extension-link';\nimport Strike from '@tiptap/extension-strike';\nimport Underline from '@tiptap/extension-underline';\nimport Text from '@tiptap/extension-text';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { CustomTable, CustomTableRow, CustomTableCell, CustomTableHeader } from './extensions/table/table';\nimport { CustomTextStyle } from './extensions/text_style/text_style';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport Emoji from './extensions/emoji';\nimport CustomLink from './extensions/custom_link';\nimport ConfigurableImage from './extensions/image';\nimport DivParagraph from './extensions/div';\nimport { MentionPlugin } from './extensions/mentions/mention';\nimport { ChannelPlugin } from './extensions/channels/channel';\nimport { SlashCommandPlugin } from './extensions/slash_command/slash_command';\nimport Variable from './extensions/variable';\nimport {\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS,\n} from './rich_text_editor_constants';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nimport mentionSuggestion from './extensions/mentions/suggestion';\nimport channelSuggestion from './extensions/channels/suggestion';\nimport slashCommandSuggestion from './extensions/slash_command/suggestion';\nimport { warnIfUnmounted, returnFirstEl } from '@/common/utils';\nimport deepEqual from 'deep-equal';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRichTextEditor',\n\n components: {\n EditorContent,\n BubbleMenu,\n DtButton,\n DtStack,\n },\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 * Prevents the user from typing any further. Deleting text will still work.\n */\n preventTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When this option is false the editor will only ever paste plain text, no rich text formatting will be applied,\n * and any HTML will be rendered as text.\n */\n pasteRichText: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for line breaks to be introduced in the text by pressing enter. If this is disabled,\n * line breaks can still be entered by pressing shift+enter.\n */\n allowLineBreaks: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * The output format that the editor uses when emitting the \"@input\" event.\n * One of `text`, `json`, `html`, `markdown`. See https://tiptap.dev/guide/output for\n * examples.\n * @values text, json, html, markdown\n */\n outputFormat: {\n type: String,\n default: 'html',\n validator (outputFormat) {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(outputFormat);\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Enables the TipTap Link extension and optionally passes configurations to it\n *\n * It is not recommended to use this and the custom link extension at the same time.\n */\n link: {\n type: [Boolean, Object],\n default: false,\n },\n\n /**\n * Enables the Custom Link extension and optionally passes configurations to it\n *\n * It is not recommended to use this and the built in TipTap link extension at the same time.\n *\n * The custom link does some additional things on top of the built in TipTap link\n * extension such as styling phone numbers and IP adresses as links, and allows you\n * to linkify text without having to type a space after the link. Currently it is missing some\n * functionality such as editing links and will likely require more work to be fully usable,\n * so it is recommended to use the built in TipTap link for now.\n */\n customLink: {\n type: [Boolean, Object],\n default: false,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the contacts for suggestion.\n * items({ query }) => { return [ContactObject]; }\n * ContactObject format:\n * { name: string, avatarSrc: string, id: string }\n *\n * When null, it does not add the plugin.\n */\n mentionSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the channels for suggestion.\n * items({ query }) => { return [ChannelObject]; }\n * ChannelObject format:\n * { name: string, id: string, locked: boolean, channelKey?: string }\n *\n * When null, it does not add the plugin. Setting locked to true will display a lock rather than hash.\n */\n channelSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the slash commands for suggestion.\n * items({ query }) => { return [SlashCommandObject]; }\n * SlashCommandObject format:\n * { command: string, description: string, parametersExample?: string }\n * The \"parametersExample\" parameter is optional, and describes an example\n * of the parameters that command can take.\n *\n * When null, it does not add the plugin.\n * Note that slash commands only work when they are the first word in the input.\n */\n slashCommandSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * Whether the input allows for block quote.\n */\n allowBlockquote: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for bold to be introduced in the text.\n */\n allowBold: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for bullet list to be introduced in the text.\n */\n allowBulletList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for italic to be introduced in the text.\n */\n allowItalic: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for strike to be introduced in the text.\n */\n allowStrike: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for underline to be introduced in the text.\n */\n allowUnderline: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows inline code (wrapped in backticks).\n */\n allowCode: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows codeblock to be introduced in the text.\n */\n allowCodeblock: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows inline images to be rendered.\n */\n allowInlineImages: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows color to be introduced in the text.\n */\n allowFontColor: {\n type: Boolean,\n default: false,\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 font size to be introduced in the text.\n */\n allowFontSize: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows different font-families to be introduced in the text.\n */\n allowFontFamily: {\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 * Whether the input allows variables to be introduced in the text.\n */\n allowVariable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available variable items that can be inserted.\n */\n variableItems: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Additional TipTap extensions to be added to the editor.\n */\n additionalExtensions: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Manually hide the link bubble menu. The link bubble menu is shown when a link is selected via the cursor.\n * There are some cases when you may want the link to remain selected but hide the bubble menu such as when You\n * are showing a custom link editor popup.\n */\n hideLinkBubbleMenu: {\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 * Show text in HTML div tags instead of paragraph tags\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 * Whether the input allows image resize to be introduced in the text.\n */\n allowImageResize: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Editor input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Input event always in JSON format.\n * @event input\n * @type {JSON}\n */\n 'json-input',\n\n /**\n * Input event always in HTML format.\n * @event input\n * @type {HTML}\n */\n 'html-input',\n\n /**\n * Input event always in text format.\n * @event input\n * @type {String}\n */\n 'text-input',\n\n /**\n * Input event always in markdown format.\n * @event input\n * @type {String}\n */\n 'markdown-input',\n\n /**\n * Event to sync the value with the parent\n * @event update:value\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Editor blur event\n * @event blur\n * @type {FocusEvent}\n */\n 'blur',\n\n /**\n * Editor focus event\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Enter was pressed. Note that shift enter must be pressed to line break the input.\n * @event enter\n * @type {String}\n */\n 'enter',\n\n /**\n * \"Edit link\" button was clicked. Fires an event for the consuming component to handle the editing of the link.\n * event contains the link object with two properties href and text.\n * @event edit-link\n * @type {Object}\n */\n 'edit-link',\n\n /**\n * \"Selected\" event is fired when the user selects text in the editor. returns the currently selected text.\n * If the selected text is partially a link, the full link text is returned.\n * @event selected\n * @type {String}\n */\n 'selected',\n\n /**\n * Event fired when a slash command is selected\n * @event selected-command\n * @type {String}\n */\n 'selected-command',\n\n /**\n * Event fired when a mention is clicked\n * @event mention-click\n * @type {Object}\n */\n 'mention-click',\n\n /**\n * Event fired when the cursor enters a mention. The payload includes the\n * mention data (name, id, avatarSrc, contactKey) plus the native MouseEvent\n * as `event`, which can be used for positioning a hovercard.\n * @event mention-hover\n * @type {Object}\n */\n 'mention-hover',\n\n /**\n * Event fired when the cursor leaves a mention. The payload includes the\n * mention data (name, id, avatarSrc, contactKey) plus the native MouseEvent\n * as `event`.\n * @event mention-leave\n * @type {Object}\n */\n 'mention-leave',\n\n /**\n * Event fired when a channel is clicked\n * @event channel-click\n * @type {Object}\n */\n 'channel-click',\n ],\n\n data () {\n return {\n editor: null,\n appendTo: () => returnFirstEl(this.$refs.editor.$el).getRootNode()?.querySelector('body'),\n floatingOptions: {\n placement: 'top-start',\n },\n\n i18n: new DialtoneLocalization(),\n\n // JSON-to-markdown converter\n jsonToMarkdownConverter: {\n convertToMarkdown (doc) {\n return this.processNode(doc);\n },\n\n processNodeContent (node) {\n return node.content ? node.content.map(child => this.processNode(child)).join('') : '';\n },\n\n processNode (node) {\n if (!node) return '';\n\n const nodeTypeMap = {\n doc: (node) => this.processDocNode(node),\n paragraph: (node) => this.processParagraphNode(node),\n text: (node) => this.processTextNode(node),\n hardBreak: () => this.processHardBreakNode(),\n blockquote: (node) => this.processBlockquoteNode(node),\n bulletList: (node) => this.processBulletListNode(node),\n orderedList: (node) => this.processOrderedListNode(node),\n listItem: (node) => this.processListItemNode(node),\n codeBlock: (node) => this.processCodeBlockNode(node),\n mention: (node) => this.processMentionNode(node),\n channel: (node) => this.processChannelNode(node),\n 'slash-commands': (node) => this.processSlashCommandsNode(node),\n emoji: (node) => this.processEmojiNode(node),\n variable: (node) => this.processVariableNode(node),\n };\n\n const processor = nodeTypeMap[node.type];\n return processor ? processor(node) : this.processUnknownNode(node);\n },\n\n processDocNode (node) {\n return this.processNodeContent(node);\n },\n\n processParagraphNode (node) {\n const paragraphContent = this.processNodeContent(node);\n return paragraphContent ? paragraphContent + '\\n' : '\\n';\n },\n\n processTextNode (node) {\n let text = node.text || '';\n if (node.marks) {\n text = this.applyMarks(text, node.marks);\n }\n return text;\n },\n\n processHardBreakNode () {\n return '\\n';\n },\n\n processBlockquoteNode (node) {\n const blockquoteContent = this.processNodeContent(node);\n return blockquoteContent.split('\\n').map(line => line ? `> ${line}` : '>').join('\\n') + '\\n';\n },\n\n processBulletListNode (node) {\n return this.processNodeContent(node);\n },\n\n processOrderedListNode (node) {\n return node.content ? node.content.map((child, index) => {\n const listItem = this.processNode(child);\n return listItem.replace(/^- /, `${index + 1}. `);\n }).join('') : '';\n },\n\n processListItemNode (node) {\n const listContent = this.processNodeContent(node);\n return listContent ? `- ${listContent.replace(/\\n$/, '')}\\n` : '';\n },\n\n processCodeBlockNode (node) {\n const codeContent = this.processNodeContent(node);\n return `\\`\\`\\`\\n${codeContent}\\n\\`\\`\\``;\n },\n\n processMentionNode (node) {\n const mentionName = node.attrs?.name || '';\n const mentionId = node.attrs?.id || '';\n const contactKey = node.attrs?.contactKey || '';\n return `<!-- @mention: {\"id\": \"${mentionId}\", \"contactKey\": \"${contactKey}\", \"name\": \"${mentionName}\"} -->`;\n },\n\n processChannelNode (node) {\n const channelName = node.attrs?.name || '';\n const channelId = node.attrs?.id || '';\n const locked = node.attrs?.locked.toString() || '';\n const channelKey = node.attrs?.channelKey || '';\n return `<!-- @channel: {\"id\": \"${channelId}\", \"channelKey\": \"${channelKey}\", \"name\": \"${channelName}\", \"locked\": \"${locked}\"} -->`;\n },\n\n processSlashCommandsNode (node) {\n const command = node.attrs?.command || '';\n const parameters = node.attrs?.parameters || '';\n return `/${command}${parameters ? ` ${parameters}` : ''}`;\n },\n\n processEmojiNode (node) {\n return node.attrs?.code || '';\n },\n\n processVariableNode (node) {\n const variableId = node.attrs?.id || '';\n const altText = node.attrs?.altText || '';\n return `{{${variableId}=${altText}}}`;\n },\n\n processUnknownNode (node) {\n return this.processNodeContent(node);\n },\n\n applyMarks (text, marks) {\n let result = text;\n // Apply marks in a specific order to handle nesting correctly\n const orderedMarks = [...marks].sort((a, b) => {\n const order = { 'link': 0, 'bold': 1, 'italic': 2, 'strike': 3, 'code': 4 };\n return (order[a.type] || 5) - (order[b.type] || 5);\n });\n\n orderedMarks.forEach(mark => {\n switch (mark.type) {\n case 'bold':\n result = `**${result}**`;\n break;\n case 'italic':\n result = `*${result}*`;\n break;\n case 'strike':\n result = `~~${result}~~`;\n break;\n case 'code':\n result = `\\`${result}\\``;\n break;\n case 'link':\n {\n const href = mark.attrs?.href || '';\n result = `[${result}](${href})`;\n break;\n }\n default:\n // For unknown marks, leave text as-is\n break;\n }\n });\n return result;\n },\n },\n\n };\n },\n\n computed: {\n attrs () {\n return {\n ...this.$attrs,\n onInput: () => {},\n onFocus: () => {},\n onBlur: () => {},\n };\n },\n\n // eslint-disable-next-line complexity\n extensions () {\n // These are the default extensions needed just for plain text.\n const extensions = [Document, Text, UndoRedo, HardBreak];\n extensions.push(this.useDivTags ? DivParagraph : Paragraph);\n\n // bold must come before blockquote due to keyboard shortcuts\n if (this.allowBold) {\n extensions.push(Bold);\n }\n if (this.allowBlockquote) {\n extensions.push(Blockquote);\n }\n\n if (this.allowBulletList) {\n extensions.push(BulletList);\n extensions.push(ListItem.extend({\n renderText ({ node }) {\n return node.textContent;\n },\n }));\n extensions.push(OrderedList);\n }\n if (this.allowItalic) {\n extensions.push(Italic);\n }\n if (this.allowStrike) {\n extensions.push(Strike);\n }\n if (this.allowUnderline) {\n extensions.push(Underline);\n }\n\n // Enable placeholderText\n if (this.placeholder) {\n extensions.push(\n Placeholder.configure({ placeholder: this.placeholder }),\n );\n }\n\n const self = this;\n const ShiftEnter = Extension.create({\n addKeyboardShortcuts () {\n return {\n 'Shift-Enter': ({ editor }) => {\n if (self.allowLineBreaks) {\n return false;\n }\n editor.commands.first(({ commands }) => [\n () => commands.newlineInCode(),\n () => self.allowBulletList && commands.splitListItem('listItem'),\n () => commands.createParagraphNear(),\n () => commands.liftEmptyBlock(),\n () => commands.splitBlock(),\n ]);\n return true;\n },\n Enter: () => {\n if (self.allowLineBreaks) {\n return false;\n }\n self.$emit('enter');\n return true;\n },\n };\n },\n });\n extensions.push(ShiftEnter);\n\n if (this.link) {\n extensions.push(TipTapLink.extend({\n inclusive: false,\n addKeyboardShortcuts () {\n return {\n 'Mod-k': () => {\n self.$emit('edit-link');\n return true;\n },\n };\n },\n }).configure({\n HTMLAttributes: {\n class: 'd-link d-wb-break-all',\n },\n openOnClick: false,\n autolink: true,\n protocols: RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS,\n }));\n }\n if (this.customLink) {\n extensions.push(this.getExtension(CustomLink, this.customLink));\n }\n\n if (this.mentionSuggestion) {\n // Add both the suggestion plugin as well as means for user to add suggestion items to the plugin\n const suggestionObject = { ...this.mentionSuggestion, ...mentionSuggestion };\n extensions.push(MentionPlugin.configure({ suggestion: suggestionObject }));\n }\n\n if (this.channelSuggestion) {\n // Add both the suggestion plugin as well as means for user to add suggestion items to the plugin\n const suggestionObject = { ...this.channelSuggestion, ...channelSuggestion };\n extensions.push(ChannelPlugin.configure({ suggestion: suggestionObject }));\n }\n\n if (this.slashCommandSuggestion) {\n // Add both the suggestion plugin as well as means for user to add suggestion items to the plugin\n const suggestionObject = { ...this.slashCommandSuggestion, ...slashCommandSuggestion };\n extensions.push(SlashCommandPlugin.configure({\n suggestion: suggestionObject,\n onSelectedCommand: (command) => {\n this.$emit('selected-command', command);\n },\n }));\n }\n\n if (this.allowVariable) {\n extensions.push(Variable.configure({\n variableItems: this.variableItems,\n }));\n }\n\n // Emoji has some interactions with Enter key\n // hence this should be done last otherwise the enter wont add a emoji.\n extensions.push(Emoji);\n\n extensions.push(TextAlign.configure({\n types: ['paragraph'],\n }));\n\n if (this.allowCode) {\n extensions.push(Code);\n }\n\n if (this.allowCodeblock) {\n extensions.push(CodeBlock.extend({\n renderText ({ node }) {\n return `\\`\\`\\`\\n${node.textContent}\\n\\`\\`\\``;\n },\n }).configure({\n HTMLAttributes: {\n class: 'd-rich-text-editor__code-block',\n },\n }));\n }\n\n if (this.allowInlineImages) {\n extensions.push(ConfigurableImage.configure({\n resize: {\n enabled: this.allowImageResize,\n alwaysPreserveAspectRatio: true,\n },\n }));\n }\n\n if (this.allowFontFamily ||\n this.allowFontColor ||\n this.allowFontSize ||\n this.allowBackgroundColor ||\n this.allowLineHeight) {\n extensions.push(TextStyleKit.configure({\n color: this.allowFontColor,\n backgroundColor: this.allowBackgroundColor,\n fontFamily: this.allowFontFamily,\n fontSize: this.allowFontSize,\n lineHeight: this.allowLineHeight,\n }));\n extensions.push(CustomTextStyle);\n }\n\n if (this.additionalExtensions.length) {\n extensions.push(...this.additionalExtensions);\n }\n\n if (this.allowTables) {\n extensions.push(CustomTable.configure({ resizable: true }),\n CustomTableRow, CustomTableHeader, CustomTableCell, Gapcursor);\n }\n return extensions;\n },\n\n inputAttrs () {\n const attrs = {\n 'aria-label': this.inputAriaLabel,\n 'aria-multiline': true,\n role: 'textbox',\n };\n if (!this.editable) {\n attrs['aria-readonly'] = true;\n }\n return attrs;\n },\n },\n\n /**\n * Because the Editor instance is initialized when mounted it does not get\n * updated props automatically, so the ones that can change after mount have\n * to be hooked up to the Editor's own API.\n */\n watch: {\n editable (isEditable) {\n this.editor.setEditable(isEditable);\n this.updateEditorAttributes({ 'aria-readonly': !isEditable });\n },\n\n inputClass (newClass) {\n this.updateEditorAttributes({ class: newClass });\n },\n\n inputAriaLabel (newLabel) {\n this.updateEditorAttributes({ 'aria-label': newLabel });\n },\n\n extensions () {\n // Extensions can't be registered on the fly, so just recreate the editor.\n // https://github.com/ueberdosis/tiptap/issues/1044\n this.destroyEditor();\n this.createEditor();\n },\n\n modelValue (newValue) {\n this.processValue(newValue);\n },\n },\n\n created () {\n this.createEditor();\n },\n\n beforeUnmount () {\n this.destroyEditor();\n },\n\n mounted () {\n warnIfUnmounted(returnFirstEl(this.$el), this.$options.name);\n this.processValue(this.modelValue, false);\n },\n\n methods: {\n\n createEditor () {\n // For all available options, see https://tiptap.dev/api/editor#settings\n this.editor = new Editor({\n autofocus: this.autoFocus,\n content: this.modelValue,\n editable: this.editable,\n extensions: this.extensions,\n shouldRerenderOnTransaction: false,\n parseOptions: {\n preserveWhitespace: this.preserveWhitespace,\n },\n\n editorProps: {\n attributes: {\n ...this.inputAttrs,\n class: this.inputClass,\n },\n\n handleKeyDown: (view, event) => {\n if (!this.preventTyping) return false;\n\n const allowedKeys = ['Backspace'];\n if (!this.allowLineBreaks && !event.shiftKey) {\n allowedKeys.push('Enter');\n }\n\n return !allowedKeys.includes(event.key);\n },\n\n handlePaste: (view, event) => {\n const clipboardData = event.clipboardData || window.clipboardData;\n const textData = clipboardData.getData('text/plain');\n const htmlData = clipboardData.getData('text/html');\n\n return this.processPasteData(view, textData, htmlData);\n },\n\n // Moves the <br /> tags inside the previous closing tag to avoid\n // Prosemirror wrapping them within another </p> tag.\n transformPastedHTML (html) {\n return html.replace(/(<\\/\\w+>)((<br \\/>)+)/g, '$2$3$1');\n },\n },\n });\n this.addEditorListeners();\n },\n\n bubbleMenuShouldShow ({ editor }) {\n return editor.isActive('link');\n },\n\n /**\n * If the selection contains a link, return the existing link text.\n * Otherwise, use just the selected text.\n * @param editor the editor instance.\n */\n getSelectedLinkText (editor) {\n const { view, state } = editor;\n const { from, to } = view.state.selection;\n const text = state.doc.textBetween(from, to, '');\n const linkNode = this.editor.state.doc.nodeAt(from);\n if (linkNode && linkNode.marks?.at(0)?.type?.name === 'link') {\n return linkNode.textContent;\n } else {\n return text;\n }\n },\n\n editLink () {\n const linkText = this.getSelectedLinkText(this.editor);\n\n const link = {\n href: this.editor.getAttributes('link').href,\n text: linkText,\n };\n this.$emit('edit-link', link);\n },\n\n removeLink () {\n this.editor?.chain()?.focus()?.unsetLink()?.run();\n },\n\n openLink () {\n this.editor?.chain()?.focus();\n const link = this.editor.getAttributes('link').href;\n window.open(link, '_blank');\n },\n\n\n setLink (linkInput, linkText, linkOptions, linkProtocols = RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS,\n defaultPrefix) {\n if (!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 = linkProtocols.find(prefixRegex => prefixRegex.test(linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n linkInput = `${defaultPrefix}${linkInput}`;\n }\n\n this.editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .run();\n\n const selection = this.editor?.view?.state?.selection;\n\n this.editor\n .chain()\n .focus()\n .insertContent(linkText)\n .setTextSelection({ from: selection.from, to: selection.from + linkText.length })\n .setLink({ href: linkInput, class: linkOptions.class })\n .run();\n },\n\n\n processValue (newValue, returnIfEqual = true) {\n if (!this.editor) return;\n const currentValue = this.getOutput();\n\n if (returnIfEqual && deepEqual(newValue, currentValue)) {\n // The new value came from this component and was passed back down\n // through the parent, so don't do anything here.\n return;\n }\n\n // If the text contains emoji characters convert them to emoji component tags\n if (typeof newValue === 'string' && this.outputFormat === 'text') {\n const inputUnicodeRegex = new RegExp(`(${emojiPattern})`, 'g');\n newValue = newValue?.replace(inputUnicodeRegex, '<emoji-component code=\"$1\"></emoji-component>');\n }\n\n // Otherwise replace the content (resets the cursor position).\n this.editor.commands.setContent(newValue, {\n emitUpdate: false,\n parseOptions: { preserveWhitespace: this.preserveWhitespace },\n });\n },\n\n destroyEditor () {\n this.editor.destroy();\n },\n\n insertPlainTextWithHardBreaks (view, textData) {\n // If we convert both newlines into hardBreak, we create a blank line.\n // Collapsing avoids the extra hardBreak while preserving single line breaks.\n const normalizedData = this.pasteRichText\n ? textData\n : textData.replace(/\\r\\n/g, '\\n').replace(/\\n\\n/g, '\\n');\n\n // Remove trailing newlines to avoid inserting empty lines at the end\n const trimmedData = normalizedData.replace(/[\\r\\n]+$/, '');\n\n const lines = trimmedData.split(/\\r?\\n/);\n\n const content = [];\n for (let i = 0; i < lines.length; i++) {\n if (i > 0) content.push({ type: 'hardBreak' });\n if (lines[i]) content.push({ type: 'text', text: lines[i] });\n }\n\n this.editor.chain().focus().insertContent(content).run();\n },\n\n shouldPreserveLineBreaks (textData, htmlData) {\n // When pasteRichText is false, always use plain text handling to ensure HTML tags are literal\n if (!this.pasteRichText) {\n return !!textData;\n }\n // When pasteRichText is true, preserve line breaks for plain text that contains blank lines\n // or multiple consecutive line breaks to avoid losing formatting\n return !htmlData && textData && this.hasBlankLines(textData);\n },\n\n processPasteData (view, textData, htmlData) {\n if (this.shouldPreserveLineBreaks(textData, htmlData)) {\n this.insertPlainTextWithHardBreaks(view, textData);\n return true;\n }\n\n if (this.shouldHandlePreformattedHTML(htmlData)) {\n const extractedText = this.extractPreformattedText(htmlData);\n if (extractedText && extractedText.includes('\\n')) {\n this.insertPlainTextWithHardBreaks(view, extractedText);\n return true;\n }\n }\n\n return false;\n },\n\n shouldHandlePreformattedHTML (htmlData) {\n return this.pasteRichText && htmlData && this.containsPreformattedContent(htmlData);\n },\n\n containsPreformattedContent (htmlData) {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = htmlData;\n const elements = tempDiv.querySelectorAll('*');\n\n for (const element of elements) {\n if (this.hasPreWhitespace(element) && this.hasLineBreaks(element)) {\n return true;\n }\n }\n return false;\n },\n\n hasPreWhitespace (element) {\n const styleAttr = element.getAttribute('style') || '';\n const elementStyle = element.style.whiteSpace || '';\n\n const hasPreElementStyle = elementStyle === 'pre' || elementStyle === 'pre-wrap';\n const hasPreInlineStyle = styleAttr.includes('white-space: pre');\n\n return hasPreElementStyle || hasPreInlineStyle;\n },\n\n hasLineBreaks (element) {\n return element.textContent && element.textContent.includes('\\n');\n },\n\n hasBlankLines (textData) {\n // Check for blank lines (empty lines between content) or multiple consecutive line breaks\n return textData.includes('\\n\\n') || /\\n\\s*\\n/.test(textData);\n },\n\n extractPreformattedText (htmlData) {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = htmlData;\n return this.walkAndExtractText(tempDiv);\n },\n\n walkAndExtractText (node) {\n let result = '';\n\n if (node.nodeType === Node.TEXT_NODE) {\n result += node.textContent;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n if (this.hasPreWhitespace(node)) {\n result += node.textContent;\n } else {\n for (const child of node.childNodes) {\n result += this.walkAndExtractText(child);\n }\n }\n }\n\n return result;\n },\n\n triggerInputChangeEvents () {\n const value = this.getOutput();\n this.$emit('input', value);\n this.$emit('update:modelValue', value);\n\n // Always output JSON in a separate event\n const jsonValue = this.editor.getJSON();\n this.$emit('json-input', jsonValue);\n // Always output HTML in a separate event\n const htmlValue = this.editor.getHTML();\n this.$emit('html-input', htmlValue);\n\n // Always output text in a separate event\n const textValue = this.editor.getText({ blockSeparator: '\\n' });\n this.$emit('text-input', textValue);\n\n // Always output markdown in a separate event\n const markdownValue = this.jsonToMarkdownConverter.convertToMarkdown(jsonValue);\n this.$emit('markdown-input', markdownValue);\n },\n\n /**\n * The Editor exposes event hooks that we have to map our emits into. See\n * https://tiptap.dev/api/events for all events.\n */\n addEditorListeners () {\n this.editor.on('create', () => {\n this.triggerInputChangeEvents();\n });\n // The content has changed.\n this.editor.on('update', () => {\n this.triggerInputChangeEvents();\n });\n\n this.editor.on('selectionUpdate', ({ editor }) => {\n this.$emit('selected', this.getSelectedLinkText(editor));\n });\n\n // The editor is focused.\n this.editor.on('focus', ({ event }) => {\n this.$emit('focus', event);\n });\n\n // The editor isn't focused anymore.\n this.editor.on('blur', ({ event }) => {\n this.$emit('blur', event);\n });\n\n // Mention is clicked\n this.editor.on('mention-click', (mentionData) => {\n this.$emit('mention-click', mentionData);\n });\n\n // Cursor enters a mention\n this.editor.on('mention-hover', (mentionData) => {\n this.$emit('mention-hover', mentionData);\n });\n\n // Cursor leaves a mention\n this.editor.on('mention-leave', (mentionData) => {\n this.$emit('mention-leave', mentionData);\n });\n\n // Channel is clicked\n this.editor.on('channel-click', (channelData) => {\n this.$emit('channel-click', channelData);\n });\n },\n\n getOutput () {\n switch (this.outputFormat) {\n case 'json':\n return this.editor.getJSON();\n case 'html':\n return this.editor.getHTML();\n case 'markdown':\n return this.jsonToMarkdownConverter.convertToMarkdown(this.editor.getJSON());\n case 'text':\n default:\n return this.editor.getText({ blockSeparator: '\\n' });\n }\n },\n\n getExtension (extension, options) {\n if (typeof options === 'boolean') {\n return extension;\n }\n return extension.configure?.(options);\n },\n\n updateEditorAttributes (attributes) {\n this.editor.setOptions({\n editorProps: {\n attributes: {\n ...this.inputAttrs,\n class: this.inputClass,\n ...attributes,\n },\n },\n });\n },\n\n focusEditor () {\n this.editor.commands.focus();\n },\n\n },\n};\n</script>\n"],"names":["sides","alignments","placements","acc","side","min","max","round","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","isStart","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","computePosition","config","middleware","validMiddleware","statefulPlacement","middlewareData","resetCount","i","_platform$detectOverf","name","fn","nextX","nextY","data","reset","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","d","a","b","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","getSideOffsets","isAnySideFullyClipped","hide","offsets","getBoundingRect","minX","minY","maxX","maxY","getRectsByLine","sortedRects","groups","prevRect","inline","nativeClientRects","clientRects","fallback","getBoundingClientRect","firstRect","lastRect","isTop","top","bottom","left","right","isLeftSide","maxRight","minLeft","measureRects","resetRects","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","isElement","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflowX","overflowY","display","getComputedStyle","tableElements","isTableElement","topLayerSelectors","isTopLayer","selector","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","lastTraversableNodeNames","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","getFrameElement","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","SCROLLBAR_MAX","getViewportRect","visualViewport","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","clippingStableScrollbarWidth","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cache","cachedResult","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","offset$1","autoPlacement$1","shift$1","flip$1","size$1","hide$1","arrow$1","inline$1","mergedOptions","platformWithCache","computePosition$1","combineDOMRects","rect1","rect2","BubbleMenuView","editor","view","updateDelay","resizeDelay","shouldShow","appendTo","getReferencedVirtualElement","from","to","selection","empty","isEmptyTextBlock","isTextSelection","isChildOfMenu","event","_a","oldState","selectionChanged","docChanged","composing","tr","meta","middlewares","_b","_c","referencedVirtualElement","domRect","posToDOMRect","virtualElement","NodeSelection","nodeViewWrapper","CellSelection","$anchorCell","$headCell","fromDOM","toDOM","hasValidSelection","ranges","range","appendToElement","newProps","newScrollTarget","BubbleMenuPlugin","Plugin","PluginKey","BubbleMenu","defineComponent","props","slots","attrs","root","ref","onMounted","pluginKey","nextTick","onBeforeUnmount","h","FloatingMenuView","$anchor","isRootDepth","getText","getTextSerializersFromSchema","flip2","shift2","offset2","arrow2","size2","autoPlacement2","hide2","inline2","posToDOMRect2","computePosition2","FloatingMenuPlugin","Plugin2","PluginKey2","defineComponent2","ref2","onMounted2","onBeforeUnmount2","h2","createAttribute","attributes","createTableStyleAttribute","attribute","replaceZeroWidth","style","match","CustomTable","Table","HTMLAttributes","mergeAttributes","CustomTableRow","TableRow","tableCellAttributes","CustomTableCell","TableCell","CustomTableHeader","TableHeader","CustomTextStyle","TextStyle","_sfc_main","NodeViewWrapper","DtEmoji","nodeViewProps","_createBlock","_component_node_view_wrapper","_createVNode","_component_dt_emoji","_ctx","DtListItem","activeElement","index","item","_hoisted_1","_openBlock","_createElementBlock","_withDirectives","_createElementVNode","_hoisted_2","_Fragment","_renderList","$props","_component_dt_list_item","_normalizeClass","$data","$event","$options","_resolveDynamicComponent","_vShow","DEFAULT_PLACEMENT","DEFAULT_Z_INDEX","createDefaultVirtualElement","createVirtualElement","updateFloatingPosition","floatingEl","virtualEl","initializeFloatingElement","zIndex","showFloatingElement","hideFloatingElement","createEscapeHandler","onEscape","isActive","e","attachEscapeHandler","handler","detachEscapeHandler","createSuggestionComponent","listComponent","itemComponent","itemType","VueRenderer","markRaw","cleanupSuggestionPopup","createSuggestionRenderer","SuggestionList","component","popupIsOpen","escHandler","updatePosition","show","DtStack","_component_dt_stack","_toDisplayString","suggestionLimit","sortEmojis","query","aShortname","bShortname","aStartsWith","bStartsWith","suggestionOptions","emojiList","getEmojiData","text","nodeAfter","EmojiSuggestion","inputShortCodeRegex","inputUnicodeRegex","emojiPattern","inputRuleMatch","codeToEmojiData","shortCodePasteMatch","emojiShortCodeRegex","Emoji","Node","VueNodeViewRenderer","EmojiComponent","stringToUnicode","InputRule","nodePasteRule","emojiRegex","Suggestion","isEmoji","anchor","pos","getRegexMatches","regex","validator","matches","hasValidPrefix","trimEndPunctiation","string","endPunctuationRegex","getWordAt","word","getWordAtUntil","newIndex","removeMarks","type","marksInRange","getMarksBetween","mark","partialPhoneNumberRegex","getPhoneNumberRegex","addMarks","rangeFrom","rangeTo","firstWordInRange","lastWordInRange","wordsInRange","linkRegex","autolink","hasInitialized","transactions","newState","contentChanged","textContent","transform","combineTransactionSteps","getChangedRanges","oldRange","newRange","findChildrenInRange","defaultAttributes","CustomLink","Mark","ConfigurableImage","Image","BLOCK_TAGS","DivParagraph","Paragraph","child","DtLink","_component_dt_link","MentionPlugin","Mention","MentionComponent","DtIconLock","channelData","_component_dt_icon_lock","ChannelPlugin","ChannelComponent","command","onSelectedCommand","slashCommandPasteMatch","slashCommandRegex","slashCommand","SlashCommandPlugin","SlashCommandComponent","suggestions","suggestion","nodeInputRule","MAX_VARIABLE_ALT_LENGTH","DtBadge","DtButton","DtPopover","DtInput","DialtoneLocalization","_component_dt_popover","_withCtx","_component_dt_button","_mergeProps","_component_dt_badge","close","_component_dt_input","Variable","VariableComponent","commands","DtAvatar","_component_dt_avatar","_hoisted_3","mentionSuggestion","MentionSuggestion","DtIconHash","_component_dt_icon_hash","channelSuggestion","ChannelSuggestion","slashCommandSuggestion","SlashCommandSuggestion","EditorContent","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","outputFormat","RICH_TEXT_EDITOR_OUTPUT_FORMATS","returnFirstEl","processor","paragraphContent","line","listContent","mentionName","mentionId","contactKey","channelName","channelId","locked","channelKey","_d","parameters","variableId","altText","marks","order","href","extensions","Document","Text","UndoRedo","HardBreak","Bold","Blockquote","BulletList","ListItem","OrderedList","Italic","Strike","Underline","Placeholder","self","ShiftEnter","Extension","TipTapLink","RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS","suggestionObject","TextAlign","Code","CodeBlock","TextStyleKit","Gapcursor","isEditable","newClass","newLabel","newValue","warnIfUnmounted","Editor","allowedKeys","clipboardData","textData","htmlData","linkNode","linkText","link","linkInput","linkOptions","linkProtocols","defaultPrefix","prefixRegex","returnIfEqual","currentValue","deepEqual","lines","content","extractedText","tempDiv","styleAttr","elementStyle","hasPreElementStyle","hasPreInlineStyle","jsonValue","htmlValue","textValue","markdownValue","mentionData","extension","_component_bubble_menu","_createTextVNode","_component_editor_content"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}