@dialpad/dialtone 9.122.0 → 9.123.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/tokens/doc.json +30685 -30685
  2. package/dist/vue2/_plugin-vue2_normalizer-CeySl7Fu.js +11 -0
  3. package/dist/vue2/_plugin-vue2_normalizer-CeySl7Fu.js.map +1 -0
  4. package/dist/vue2/_plugin-vue2_normalizer-yXi3ZRRD.cjs +2 -0
  5. package/dist/vue2/_plugin-vue2_normalizer-yXi3ZRRD.cjs.map +1 -0
  6. package/dist/vue2/component-documentation.json +1 -1
  7. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  8. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  9. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +17 -8
  10. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  11. package/dist/vue2/lib/avatar/avatar.cjs +1 -1
  12. package/dist/vue2/lib/avatar/avatar.js +5 -2
  13. package/dist/vue2/lib/avatar/avatar.js.map +1 -1
  14. package/dist/vue2/lib/badge/badge.cjs +1 -1
  15. package/dist/vue2/lib/badge/badge.js +7 -4
  16. package/dist/vue2/lib/badge/badge.js.map +1 -1
  17. package/dist/vue2/lib/banner/banner.cjs +2 -2
  18. package/dist/vue2/lib/banner/banner.js +9 -6
  19. package/dist/vue2/lib/banner/banner.js.map +1 -1
  20. package/dist/vue2/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  21. package/dist/vue2/lib/breadcrumbs/breadcrumb-item.js +7 -4
  22. package/dist/vue2/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  23. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  24. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js +5 -2
  25. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  26. package/dist/vue2/lib/button/button.cjs +1 -1
  27. package/dist/vue2/lib/button/button.js +5 -2
  28. package/dist/vue2/lib/button/button.js.map +1 -1
  29. package/dist/vue2/lib/button-group/button-group.cjs +1 -1
  30. package/dist/vue2/lib/button-group/button-group.js +11 -8
  31. package/dist/vue2/lib/button-group/button-group.js.map +1 -1
  32. package/dist/vue2/lib/button-group/buttons-decorator.cjs +1 -1
  33. package/dist/vue2/lib/button-group/buttons-decorator.js +7 -4
  34. package/dist/vue2/lib/button-group/buttons-decorator.js.map +1 -1
  35. package/dist/vue2/lib/callbar-button/callbar-button.cjs +1 -1
  36. package/dist/vue2/lib/callbar-button/callbar-button.js +10 -7
  37. package/dist/vue2/lib/callbar-button/callbar-button.js.map +1 -1
  38. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  39. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +5 -2
  40. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  41. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  42. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +12 -9
  43. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  44. package/dist/vue2/lib/callbox/callbox.cjs +1 -1
  45. package/dist/vue2/lib/callbox/callbox.js +5 -2
  46. package/dist/vue2/lib/callbox/callbox.js.map +1 -1
  47. package/dist/vue2/lib/card/card.cjs +1 -1
  48. package/dist/vue2/lib/card/card.js +7 -4
  49. package/dist/vue2/lib/card/card.js.map +1 -1
  50. package/dist/vue2/lib/checkbox/checkbox.cjs +1 -1
  51. package/dist/vue2/lib/checkbox/checkbox.js +5 -2
  52. package/dist/vue2/lib/checkbox/checkbox.js.map +1 -1
  53. package/dist/vue2/lib/checkbox-group/checkbox-group.cjs +1 -1
  54. package/dist/vue2/lib/checkbox-group/checkbox-group.js +8 -5
  55. package/dist/vue2/lib/checkbox-group/checkbox-group.js.map +1 -1
  56. package/dist/vue2/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  57. package/dist/vue2/lib/checkbox-group/checkboxes-decorator.js +12 -9
  58. package/dist/vue2/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  59. package/dist/vue2/lib/chip/chip.cjs +1 -1
  60. package/dist/vue2/lib/chip/chip.js +11 -8
  61. package/dist/vue2/lib/chip/chip.js.map +1 -1
  62. package/dist/vue2/lib/codeblock/codeblock.cjs +2 -2
  63. package/dist/vue2/lib/codeblock/codeblock.js +11 -8
  64. package/dist/vue2/lib/codeblock/codeblock.js.map +1 -1
  65. package/dist/vue2/lib/collapsible/collapsible-lazy-show.cjs +1 -1
  66. package/dist/vue2/lib/collapsible/collapsible-lazy-show.js +5 -2
  67. package/dist/vue2/lib/collapsible/collapsible-lazy-show.js.map +1 -1
  68. package/dist/vue2/lib/collapsible/collapsible.cjs +1 -1
  69. package/dist/vue2/lib/collapsible/collapsible.js +7 -4
  70. package/dist/vue2/lib/collapsible/collapsible.js.map +1 -1
  71. package/dist/vue2/lib/combobox/combobox-empty-list.cjs +1 -1
  72. package/dist/vue2/lib/combobox/combobox-empty-list.js +10 -7
  73. package/dist/vue2/lib/combobox/combobox-empty-list.js.map +1 -1
  74. package/dist/vue2/lib/combobox/combobox-loading-list.cjs +1 -1
  75. package/dist/vue2/lib/combobox/combobox-loading-list.js +10 -7
  76. package/dist/vue2/lib/combobox/combobox-loading-list.js.map +1 -1
  77. package/dist/vue2/lib/combobox/combobox.cjs +2 -2
  78. package/dist/vue2/lib/combobox/combobox.js +5 -2
  79. package/dist/vue2/lib/combobox/combobox.js.map +1 -1
  80. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  81. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js +9 -6
  82. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  83. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  84. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js +5 -2
  85. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  86. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  87. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +9 -6
  88. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  89. package/dist/vue2/lib/contact-info/contact-info.cjs +1 -1
  90. package/dist/vue2/lib/contact-info/contact-info.js +8 -5
  91. package/dist/vue2/lib/contact-info/contact-info.js.map +1 -1
  92. package/dist/vue2/lib/contact-row/contact-row.cjs +1 -1
  93. package/dist/vue2/lib/contact-row/contact-row.js +5 -2
  94. package/dist/vue2/lib/contact-row/contact-row.js.map +1 -1
  95. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  96. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  97. package/dist/vue2/lib/datepicker/datepicker.js +13 -4
  98. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  99. package/dist/vue2/lib/description-list/description-list.cjs +1 -1
  100. package/dist/vue2/lib/description-list/description-list.js +13 -10
  101. package/dist/vue2/lib/description-list/description-list.js.map +1 -1
  102. package/dist/vue2/lib/dropdown/dropdown-list.cjs +1 -1
  103. package/dist/vue2/lib/dropdown/dropdown-list.js +8 -5
  104. package/dist/vue2/lib/dropdown/dropdown-list.js.map +1 -1
  105. package/dist/vue2/lib/dropdown/dropdown-separator.cjs +1 -1
  106. package/dist/vue2/lib/dropdown/dropdown-separator.js +7 -4
  107. package/dist/vue2/lib/dropdown/dropdown-separator.js.map +1 -1
  108. package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
  109. package/dist/vue2/lib/dropdown/dropdown.js +5 -2
  110. package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
  111. package/dist/vue2/lib/editor/editor.cjs +1 -1
  112. package/dist/vue2/lib/editor/editor.js +49 -46
  113. package/dist/vue2/lib/editor/editor.js.map +1 -1
  114. package/dist/vue2/lib/emoji/emoji.cjs +1 -1
  115. package/dist/vue2/lib/emoji/emoji.js +10 -7
  116. package/dist/vue2/lib/emoji/emoji.js.map +1 -1
  117. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  118. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  119. package/dist/vue2/lib/emoji-picker/emoji-picker.js +34 -13
  120. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  121. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  122. package/dist/vue2/lib/emoji-row/emoji-row.js +6 -3
  123. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  124. package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +1 -1
  125. package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.js +9 -6
  126. package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  127. package/dist/vue2/lib/empty-state/empty-state.cjs +1 -1
  128. package/dist/vue2/lib/empty-state/empty-state.js +9 -6
  129. package/dist/vue2/lib/empty-state/empty-state.js.map +1 -1
  130. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  131. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +14 -11
  132. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  133. package/dist/vue2/lib/feed-item-row/feed-item-row.cjs +1 -1
  134. package/dist/vue2/lib/feed-item-row/feed-item-row.js +9 -6
  135. package/dist/vue2/lib/feed-item-row/feed-item-row.js.map +1 -1
  136. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  137. package/dist/vue2/lib/general-row/general-row.js +5 -2
  138. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  139. package/dist/vue2/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  140. package/dist/vue2/lib/general-row/leftbar-general-row-icon.js +10 -7
  141. package/dist/vue2/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  142. package/dist/vue2/lib/group-row/group-row.cjs +1 -1
  143. package/dist/vue2/lib/group-row/group-row.js +7 -4
  144. package/dist/vue2/lib/group-row/group-row.js.map +1 -1
  145. package/dist/vue2/lib/grouped-chip/grouped-chip.cjs +1 -1
  146. package/dist/vue2/lib/grouped-chip/grouped-chip.js +7 -4
  147. package/dist/vue2/lib/grouped-chip/grouped-chip.js.map +1 -1
  148. package/dist/vue2/lib/hovercard/hovercard.cjs +1 -1
  149. package/dist/vue2/lib/hovercard/hovercard.js +9 -6
  150. package/dist/vue2/lib/hovercard/hovercard.js.map +1 -1
  151. package/dist/vue2/lib/icon/icon.cjs +1 -1
  152. package/dist/vue2/lib/icon/icon.js +12 -9
  153. package/dist/vue2/lib/icon/icon.js.map +1 -1
  154. package/dist/vue2/lib/illustration/illustration.cjs +1 -1
  155. package/dist/vue2/lib/illustration/illustration.js +13 -10
  156. package/dist/vue2/lib/illustration/illustration.js.map +1 -1
  157. package/dist/vue2/lib/image-viewer/image-viewer.cjs +1 -1
  158. package/dist/vue2/lib/image-viewer/image-viewer.js +9 -6
  159. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  160. package/dist/vue2/lib/input/input.cjs +1 -1
  161. package/dist/vue2/lib/input/input.js +5 -2
  162. package/dist/vue2/lib/input/input.js.map +1 -1
  163. package/dist/vue2/lib/input-group/input-group.cjs +1 -1
  164. package/dist/vue2/lib/input-group/input-group.js +9 -6
  165. package/dist/vue2/lib/input-group/input-group.js.map +1 -1
  166. package/dist/vue2/lib/item-layout/item-layout.cjs +2 -2
  167. package/dist/vue2/lib/item-layout/item-layout.js +7 -4
  168. package/dist/vue2/lib/item-layout/item-layout.js.map +1 -1
  169. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  170. package/dist/vue2/lib/ivr-node/ivr-node.js +14 -11
  171. package/dist/vue2/lib/ivr-node/ivr-node.js.map +1 -1
  172. package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  173. package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.js +13 -10
  174. package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  175. package/dist/vue2/lib/lazy-show/lazy-show.cjs +1 -1
  176. package/dist/vue2/lib/lazy-show/lazy-show.js +5 -2
  177. package/dist/vue2/lib/lazy-show/lazy-show.js.map +1 -1
  178. package/dist/vue2/lib/link/link.cjs +1 -1
  179. package/dist/vue2/lib/link/link.js +9 -6
  180. package/dist/vue2/lib/link/link.js.map +1 -1
  181. package/dist/vue2/lib/list-item/list-item.cjs +1 -1
  182. package/dist/vue2/lib/list-item/list-item.js +25 -22
  183. package/dist/vue2/lib/list-item/list-item.js.map +1 -1
  184. package/dist/vue2/lib/list-item-group/list-item-group.cjs +1 -1
  185. package/dist/vue2/lib/list-item-group/list-item-group.js +11 -8
  186. package/dist/vue2/lib/list-item-group/list-item-group.js.map +1 -1
  187. package/dist/vue2/lib/message-input/message-input-button.cjs +1 -1
  188. package/dist/vue2/lib/message-input/message-input-button.js +7 -4
  189. package/dist/vue2/lib/message-input/message-input-button.js.map +1 -1
  190. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  191. package/dist/vue2/lib/message-input/message-input-link.js +5 -2
  192. package/dist/vue2/lib/message-input/message-input-link.js.map +1 -1
  193. package/dist/vue2/lib/message-input/message-input-topbar.cjs +1 -1
  194. package/dist/vue2/lib/message-input/message-input-topbar.js +5 -2
  195. package/dist/vue2/lib/message-input/message-input-topbar.js.map +1 -1
  196. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  197. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  198. package/dist/vue2/lib/message-input/message-input.js +23 -9
  199. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  200. package/dist/vue2/lib/modal/modal.cjs +2 -2
  201. package/dist/vue2/lib/modal/modal.js +5 -2
  202. package/dist/vue2/lib/modal/modal.js.map +1 -1
  203. package/dist/vue2/lib/notice/notice-action.cjs +1 -1
  204. package/dist/vue2/lib/notice/notice-action.js +7 -4
  205. package/dist/vue2/lib/notice/notice-action.js.map +1 -1
  206. package/dist/vue2/lib/notice/notice-content.cjs +1 -1
  207. package/dist/vue2/lib/notice/notice-content.js +5 -2
  208. package/dist/vue2/lib/notice/notice-content.js.map +1 -1
  209. package/dist/vue2/lib/notice/notice-icon.cjs +1 -1
  210. package/dist/vue2/lib/notice/notice-icon.js +16 -13
  211. package/dist/vue2/lib/notice/notice-icon.js.map +1 -1
  212. package/dist/vue2/lib/notice/notice.cjs +1 -1
  213. package/dist/vue2/lib/notice/notice.js +10 -7
  214. package/dist/vue2/lib/notice/notice.js.map +1 -1
  215. package/dist/vue2/lib/pagination/pagination.cjs +1 -1
  216. package/dist/vue2/lib/pagination/pagination.js +9 -6
  217. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  218. package/dist/vue2/lib/popover/popover-header-footer.cjs +1 -1
  219. package/dist/vue2/lib/popover/popover-header-footer.js +8 -5
  220. package/dist/vue2/lib/popover/popover-header-footer.js.map +1 -1
  221. package/dist/vue2/lib/popover/popover.cjs +1 -1
  222. package/dist/vue2/lib/popover/popover.js +5 -2
  223. package/dist/vue2/lib/popover/popover.js.map +1 -1
  224. package/dist/vue2/lib/presence/presence.cjs +1 -1
  225. package/dist/vue2/lib/presence/presence.js +7 -4
  226. package/dist/vue2/lib/presence/presence.js.map +1 -1
  227. package/dist/vue2/lib/radio/radio.cjs +1 -1
  228. package/dist/vue2/lib/radio/radio.js +8 -5
  229. package/dist/vue2/lib/radio/radio.js.map +1 -1
  230. package/dist/vue2/lib/radio-group/radio-group.cjs +1 -1
  231. package/dist/vue2/lib/radio-group/radio-group.js +5 -2
  232. package/dist/vue2/lib/radio-group/radio-group.js.map +1 -1
  233. package/dist/vue2/lib/radio-group/radios-decorator.cjs +1 -1
  234. package/dist/vue2/lib/radio-group/radios-decorator.js +9 -6
  235. package/dist/vue2/lib/radio-group/radios-decorator.js.map +1 -1
  236. package/dist/vue2/lib/rich-text-editor/mention-suggestion.cjs +1 -1
  237. package/dist/vue2/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  238. package/dist/vue2/lib/rich-text-editor/mention-suggestion.js +33 -14
  239. package/dist/vue2/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  240. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +4 -4
  241. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  242. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +364 -315
  243. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  244. package/dist/vue2/lib/root-layout/root-layout.cjs +1 -1
  245. package/dist/vue2/lib/root-layout/root-layout.js +8 -5
  246. package/dist/vue2/lib/root-layout/root-layout.js.map +1 -1
  247. package/dist/vue2/lib/select-menu/select-menu.cjs +1 -1
  248. package/dist/vue2/lib/select-menu/select-menu.js +5 -2
  249. package/dist/vue2/lib/select-menu/select-menu.js.map +1 -1
  250. package/dist/vue2/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  251. package/dist/vue2/lib/settings-menu-button/settings-menu-button.js +7 -4
  252. package/dist/vue2/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  253. package/dist/vue2/lib/skeleton/skeleton-list-item.cjs +1 -1
  254. package/dist/vue2/lib/skeleton/skeleton-list-item.js +5 -2
  255. package/dist/vue2/lib/skeleton/skeleton-list-item.js.map +1 -1
  256. package/dist/vue2/lib/skeleton/skeleton-paragraph.cjs +1 -1
  257. package/dist/vue2/lib/skeleton/skeleton-paragraph.js +8 -5
  258. package/dist/vue2/lib/skeleton/skeleton-paragraph.js.map +1 -1
  259. package/dist/vue2/lib/skeleton/skeleton-shape.cjs +1 -1
  260. package/dist/vue2/lib/skeleton/skeleton-shape.js +7 -4
  261. package/dist/vue2/lib/skeleton/skeleton-shape.js.map +1 -1
  262. package/dist/vue2/lib/skeleton/skeleton-text.cjs +1 -1
  263. package/dist/vue2/lib/skeleton/skeleton-text.js +14 -11
  264. package/dist/vue2/lib/skeleton/skeleton-text.js.map +1 -1
  265. package/dist/vue2/lib/skeleton/skeleton.cjs +1 -1
  266. package/dist/vue2/lib/skeleton/skeleton.js +9 -6
  267. package/dist/vue2/lib/skeleton/skeleton.js.map +1 -1
  268. package/dist/vue2/lib/split-button/split-button-alpha.cjs +1 -1
  269. package/dist/vue2/lib/split-button/split-button-alpha.js +12 -9
  270. package/dist/vue2/lib/split-button/split-button-alpha.js.map +1 -1
  271. package/dist/vue2/lib/split-button/split-button-omega.cjs +1 -1
  272. package/dist/vue2/lib/split-button/split-button-omega.js +9 -6
  273. package/dist/vue2/lib/split-button/split-button-omega.js.map +1 -1
  274. package/dist/vue2/lib/split-button/split-button.cjs +1 -1
  275. package/dist/vue2/lib/split-button/split-button.js +9 -6
  276. package/dist/vue2/lib/split-button/split-button.js.map +1 -1
  277. package/dist/vue2/lib/stack/stack.cjs +1 -1
  278. package/dist/vue2/lib/stack/stack.js +15 -12
  279. package/dist/vue2/lib/stack/stack.js.map +1 -1
  280. package/dist/vue2/lib/tab/tab-group.cjs +1 -1
  281. package/dist/vue2/lib/tab/tab-group.js +5 -2
  282. package/dist/vue2/lib/tab/tab-group.js.map +1 -1
  283. package/dist/vue2/lib/tab/tab-panel.cjs +1 -1
  284. package/dist/vue2/lib/tab/tab-panel.js +11 -8
  285. package/dist/vue2/lib/tab/tab-panel.js.map +1 -1
  286. package/dist/vue2/lib/tab/tab.cjs +1 -1
  287. package/dist/vue2/lib/tab/tab.js +10 -7
  288. package/dist/vue2/lib/tab/tab.js.map +1 -1
  289. package/dist/vue2/lib/time-pill/time-pill.cjs +1 -1
  290. package/dist/vue2/lib/time-pill/time-pill.js +8 -5
  291. package/dist/vue2/lib/time-pill/time-pill.js.map +1 -1
  292. package/dist/vue2/lib/toast/toast.cjs +1 -1
  293. package/dist/vue2/lib/toast/toast.cjs.map +1 -1
  294. package/dist/vue2/lib/toast/toast.js +17 -5
  295. package/dist/vue2/lib/toast/toast.js.map +1 -1
  296. package/dist/vue2/lib/toggle/toggle.cjs +1 -1
  297. package/dist/vue2/lib/toggle/toggle.js +5 -2
  298. package/dist/vue2/lib/toggle/toggle.js.map +1 -1
  299. package/dist/vue2/lib/tooltip/tooltip.cjs +1 -1
  300. package/dist/vue2/lib/tooltip/tooltip.js +9 -6
  301. package/dist/vue2/lib/tooltip/tooltip.js.map +1 -1
  302. package/dist/vue2/lib/top-banner-info/top-banner-info.cjs +1 -1
  303. package/dist/vue2/lib/top-banner-info/top-banner-info.js +5 -2
  304. package/dist/vue2/lib/top-banner-info/top-banner-info.js.map +1 -1
  305. package/dist/vue2/lib/unread-pill/unread-pill.cjs +1 -1
  306. package/dist/vue2/lib/unread-pill/unread-pill.js +8 -5
  307. package/dist/vue2/lib/unread-pill/unread-pill.js.map +1 -1
  308. package/dist/vue2/lib/validation-messages/validation-messages.cjs +1 -1
  309. package/dist/vue2/lib/validation-messages/validation-messages.js +10 -7
  310. package/dist/vue2/lib/validation-messages/validation-messages.js.map +1 -1
  311. package/dist/vue2/node_modules/@tiptap/vue-2.cjs +1 -1
  312. package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
  313. package/dist/vue2/node_modules/@tiptap/vue-2.js +191 -149
  314. package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
  315. package/dist/vue2/shared/sr_only_close_button.cjs +1 -1
  316. package/dist/vue2/shared/sr_only_close_button.js +12 -9
  317. package/dist/vue2/shared/sr_only_close_button.js.map +1 -1
  318. package/dist/vue2/style.css +1 -0
  319. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -1
  320. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +16 -16
  321. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +16 -16
  322. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +16 -16
  323. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +5 -0
  324. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  325. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +16 -16
  326. package/dist/vue2/types/components/rich_text_editor/mention_suggestion.d.ts +23 -3
  327. package/dist/vue2/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  328. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  329. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +16 -16
  330. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  331. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  332. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  333. package/dist/vue3/component-documentation.json +1 -1
  334. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs +1 -1
  335. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  336. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js +4 -3
  337. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  338. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs +1 -1
  339. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  340. package/dist/vue3/lib/emoji-picker/emoji-picker.js +518 -415
  341. package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
  342. package/dist/vue3/lib/rich-text-editor/mention-suggestion.cjs +1 -1
  343. package/dist/vue3/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  344. package/dist/vue3/lib/rich-text-editor/mention-suggestion.js +34 -15
  345. package/dist/vue3/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  346. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +3 -3
  347. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  348. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +264 -212
  349. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  350. package/dist/vue3/node_modules/@tiptap/vue-3.cjs +1 -1
  351. package/dist/vue3/node_modules/@tiptap/vue-3.cjs.map +1 -1
  352. package/dist/vue3/node_modules/@tiptap/vue-3.js +165 -115
  353. package/dist/vue3/node_modules/@tiptap/vue-3.js.map +1 -1
  354. package/dist/vue3/style.css +1 -0
  355. package/dist/vue3/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -1
  356. package/dist/vue3/types/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -1
  357. package/dist/vue3/types/components/emoji_picker/emoji_picker_constants.d.ts +1 -0
  358. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +1 -1
  359. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  360. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  361. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +26 -2
  362. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +26 -2
  363. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +26 -2
  364. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +5 -0
  365. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  366. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +26 -2
  367. package/dist/vue3/types/components/rich_text_editor/mention_suggestion.d.ts +23 -3
  368. package/dist/vue3/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  369. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  370. package/dist/vue3/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +26 -2
  371. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  372. package/package.json +31 -31
  373. package/dist/vue2/_plugin-vue2_normalizer-DSLOjnn3.js +0 -11
  374. package/dist/vue2/_plugin-vue2_normalizer-DSLOjnn3.js.map +0 -1
  375. package/dist/vue2/_plugin-vue2_normalizer-e_CkxkSV.cjs +0 -2
  376. package/dist/vue2/_plugin-vue2_normalizer-e_CkxkSV.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vue-3.cjs","sources":["../../../../../node_modules/.pnpm/@tiptap+vue-3@2.6.6_@tiptap+core@2.6.6_@tiptap+pm@2.6.6__@tiptap+pm@2.6.6_vue@3.4.15_typescript@5.6.3_/node_modules/@tiptap/vue-3/dist/index.js"],"sourcesContent":["import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';\nimport { defineComponent, ref, onMounted, onBeforeUnmount, h, markRaw, customRef, getCurrentInstance, watchEffect, nextTick, unref, shallowRef, reactive, render, provide } from 'vue';\nimport { Editor as Editor$1, NodeView } from '@tiptap/core';\nexport * from '@tiptap/core';\nimport { FloatingMenuPlugin } from '@tiptap/extension-floating-menu';\n\nconst BubbleMenu = defineComponent({\n name: 'BubbleMenu',\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: undefined,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { updateDelay, editor, pluginKey, shouldShow, tippyOptions, } = props;\n editor.registerPlugin(BubbleMenuPlugin({\n updateDelay,\n editor,\n element: root.value,\n pluginKey,\n shouldShow,\n tippyOptions,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\n/* eslint-disable react-hooks/rules-of-hooks */\nfunction useDebouncedRef(value) {\n return customRef((track, trigger) => {\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n // update state\n value = newValue;\n // update view as soon as possible\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n trigger();\n });\n });\n },\n };\n });\n}\nclass Editor extends Editor$1 {\n constructor(options = {}) {\n super(options);\n this.contentComponent = null;\n this.appContext = null;\n this.reactiveState = useDebouncedRef(this.view.state);\n this.reactiveExtensionStorage = useDebouncedRef(this.extensionStorage);\n this.on('beforeTransaction', ({ nextState }) => {\n this.reactiveState.value = nextState;\n this.reactiveExtensionStorage.value = this.extensionStorage;\n });\n return markRaw(this); // eslint-disable-line\n }\n get state() {\n return this.reactiveState ? this.reactiveState.value : this.view.state;\n }\n get storage() {\n return this.reactiveExtensionStorage ? this.reactiveExtensionStorage.value : super.storage;\n }\n /**\n * Register a ProseMirror plugin.\n */\n registerPlugin(plugin, handlePlugins) {\n super.registerPlugin(plugin, handlePlugins);\n this.reactiveState.value = this.view.state;\n }\n /**\n * Unregister a ProseMirror plugin.\n */\n unregisterPlugin(nameOrPluginKey) {\n super.unregisterPlugin(nameOrPluginKey);\n this.reactiveState.value = this.view.state;\n }\n}\n\nconst EditorContent = defineComponent({\n name: 'EditorContent',\n props: {\n editor: {\n default: null,\n type: Object,\n },\n },\n setup(props) {\n const rootEl = ref();\n const instance = getCurrentInstance();\n watchEffect(() => {\n const editor = props.editor;\n if (editor && editor.options.element && rootEl.value) {\n nextTick(() => {\n if (!rootEl.value || !editor.options.element.firstChild) {\n return;\n }\n const element = unref(rootEl.value);\n rootEl.value.append(...editor.options.element.childNodes);\n // @ts-ignore\n editor.contentComponent = instance.ctx._;\n if (instance) {\n editor.appContext = {\n ...instance.appContext,\n // Vue internally uses prototype chain to forward/shadow injects across the entire component chain\n // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext\n // @ts-expect-error forward instance's 'provides' into appContext\n provides: instance.provides,\n };\n }\n editor.setOptions({\n element,\n });\n editor.createNodeViews();\n });\n }\n });\n onBeforeUnmount(() => {\n const editor = props.editor;\n if (!editor) {\n return;\n }\n // destroy nodeviews before vue removes dom element\n if (!editor.isDestroyed) {\n editor.view.setProps({\n nodeViews: {},\n });\n }\n editor.contentComponent = null;\n editor.appContext = null;\n if (!editor.options.element.firstChild) {\n return;\n }\n const newElement = document.createElement('div');\n newElement.append(...editor.options.element.childNodes);\n editor.setOptions({\n element: newElement,\n });\n });\n return { rootEl };\n },\n render() {\n return h('div', {\n ref: (el) => { this.rootEl = el; },\n });\n },\n});\n\nconst FloatingMenu = defineComponent({\n name: 'FloatingMenu',\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 tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { pluginKey, editor, tippyOptions, shouldShow, } = props;\n editor.registerPlugin(FloatingMenuPlugin({\n pluginKey,\n editor,\n element: root.value,\n tippyOptions,\n shouldShow,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\nconst NodeViewContent = defineComponent({\n name: 'NodeViewContent',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n render() {\n return h(this.as, {\n style: {\n whiteSpace: 'pre-wrap',\n },\n 'data-node-view-content': '',\n });\n },\n});\n\nconst NodeViewWrapper = defineComponent({\n name: 'NodeViewWrapper',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n inject: ['onDragStart', 'decorationClasses'],\n render() {\n var _a, _b;\n return h(this.as, {\n // @ts-ignore\n class: this.decorationClasses,\n style: {\n whiteSpace: 'normal',\n },\n 'data-node-view-wrapper': '',\n // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)\n onDragstart: this.onDragStart,\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));\n },\n});\n\nconst useEditor = (options = {}) => {\n const editor = shallowRef();\n onMounted(() => {\n editor.value = new Editor(options);\n });\n onBeforeUnmount(() => {\n var _a;\n (_a = editor.value) === null || _a === void 0 ? void 0 : _a.destroy();\n });\n return editor;\n};\n\n/**\n * This class is used to render Vue components inside the editor.\n */\nclass VueRenderer {\n constructor(component, { props = {}, editor }) {\n this.editor = editor;\n this.component = markRaw(component);\n this.el = document.createElement('div');\n this.props = reactive(props);\n this.renderedComponent = this.renderComponent();\n }\n get element() {\n return this.renderedComponent.el;\n }\n get ref() {\n var _a, _b, _c, _d;\n // Composition API\n if ((_b = (_a = this.renderedComponent.vNode) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.exposed) {\n return this.renderedComponent.vNode.component.exposed;\n }\n // Option API\n return (_d = (_c = this.renderedComponent.vNode) === null || _c === void 0 ? void 0 : _c.component) === null || _d === void 0 ? void 0 : _d.proxy;\n }\n renderComponent() {\n let vNode = h(this.component, this.props);\n if (this.editor.appContext) {\n vNode.appContext = this.editor.appContext;\n }\n if (typeof document !== 'undefined' && this.el) {\n render(vNode, this.el);\n }\n const destroy = () => {\n if (this.el) {\n render(null, this.el);\n }\n this.el = null;\n vNode = null;\n };\n return { vNode, destroy, el: this.el ? this.el.firstElementChild : null };\n }\n updateProps(props = {}) {\n Object.entries(props).forEach(([key, value]) => {\n this.props[key] = value;\n });\n this.renderComponent();\n }\n destroy() {\n this.renderedComponent.destroy();\n }\n}\n\nconst nodeViewProps = {\n editor: {\n type: Object,\n required: true,\n },\n node: {\n type: Object,\n required: true,\n },\n decorations: {\n type: Object,\n required: true,\n },\n selected: {\n type: Boolean,\n required: true,\n },\n extension: {\n type: Object,\n required: true,\n },\n getPos: {\n type: Function,\n required: true,\n },\n updateAttributes: {\n type: Function,\n required: true,\n },\n deleteNode: {\n type: Function,\n required: true,\n },\n};\nclass VueNodeView extends NodeView {\n mount() {\n const props = {\n editor: this.editor,\n node: this.node,\n decorations: this.decorations,\n selected: false,\n extension: this.extension,\n getPos: () => this.getPos(),\n updateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n deleteNode: () => this.deleteNode(),\n };\n const onDragStart = this.onDragStart.bind(this);\n this.decorationClasses = ref(this.getDecorationClasses());\n const extendedComponent = defineComponent({\n extends: { ...this.component },\n props: Object.keys(props),\n template: this.component.template,\n setup: reactiveProps => {\n var _a, _b;\n provide('onDragStart', onDragStart);\n provide('decorationClasses', this.decorationClasses);\n return (_b = (_a = this.component).setup) === null || _b === void 0 ? void 0 : _b.call(_a, reactiveProps, {\n expose: () => undefined,\n });\n },\n // add support for scoped styles\n // @ts-ignore\n // eslint-disable-next-line\n __scopeId: this.component.__scopeId,\n // add support for CSS Modules\n // @ts-ignore\n // eslint-disable-next-line\n __cssModules: this.component.__cssModules,\n // add support for vue devtools\n // @ts-ignore\n // eslint-disable-next-line\n __name: this.component.__name,\n // @ts-ignore\n // eslint-disable-next-line\n __file: this.component.__file,\n });\n this.renderer = new VueRenderer(extendedComponent, {\n editor: this.editor,\n props,\n });\n }\n get dom() {\n if (!this.renderer.element || !this.renderer.element.hasAttribute('data-node-view-wrapper')) {\n throw Error('Please use the NodeViewWrapper component for your node view.');\n }\n return this.renderer.element;\n }\n get contentDOM() {\n if (this.node.isLeaf) {\n return null;\n }\n return this.dom.querySelector('[data-node-view-content]');\n }\n update(node, decorations) {\n const updateProps = (props) => {\n this.decorationClasses.value = this.getDecorationClasses();\n this.renderer.updateProps(props);\n };\n if (typeof this.options.update === 'function') {\n const oldNode = this.node;\n const oldDecorations = this.decorations;\n this.node = node;\n this.decorations = decorations;\n return this.options.update({\n oldNode,\n oldDecorations,\n newNode: node,\n newDecorations: decorations,\n updateProps: () => updateProps({ node, decorations }),\n });\n }\n if (node.type !== this.node.type) {\n return false;\n }\n if (node === this.node && this.decorations === decorations) {\n return true;\n }\n this.node = node;\n this.decorations = decorations;\n updateProps({ node, decorations });\n return true;\n }\n selectNode() {\n this.renderer.updateProps({\n selected: true,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.add('ProseMirror-selectednode');\n }\n }\n deselectNode() {\n this.renderer.updateProps({\n selected: false,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.remove('ProseMirror-selectednode');\n }\n }\n getDecorationClasses() {\n return (this.decorations\n // @ts-ignore\n .map(item => item.type.attrs.class)\n .flat()\n .join(' '));\n }\n destroy() {\n this.renderer.destroy();\n }\n}\nfunction VueNodeViewRenderer(component, options) {\n return (props) => {\n // try to get the parent component\n // this is important for vue devtools to show the component hierarchy correctly\n // maybe it’s `undefined` because <editor-content> isn’t rendered yet\n if (!props.editor.contentComponent) {\n return {};\n }\n // check for class-component and normalize if neccessary\n const normalizedComponent = typeof component === 'function' && '__vccOpts' in component\n // eslint-disable-next-line no-underscore-dangle\n ? component.__vccOpts\n : component;\n return new VueNodeView(normalizedComponent, props, options);\n };\n}\n\nexport { BubbleMenu, Editor, EditorContent, FloatingMenu, NodeViewContent, NodeViewWrapper, VueNodeViewRenderer, VueRenderer, nodeViewProps, useEditor };\n//# sourceMappingURL=index.js.map\n"],"names":["BubbleMenu","defineComponent","props","slots","root","ref","onMounted","updateDelay","editor","pluginKey","shouldShow","tippyOptions","BubbleMenuPlugin","onBeforeUnmount","_a","h","useDebouncedRef","value","customRef","track","trigger","newValue","Editor","Editor$1","options","nextState","markRaw","plugin","handlePlugins","nameOrPluginKey","EditorContent","rootEl","instance","getCurrentInstance","watchEffect","nextTick","element","unref","newElement","el","FloatingMenu","FloatingMenuPlugin","NodeViewContent","NodeViewWrapper","_b","useEditor","shallowRef","VueRenderer","component","reactive","_c","_d","vNode","render","key","nodeViewProps","VueNodeView","NodeView","attributes","onDragStart","extendedComponent","reactiveProps","provide","node","decorations","updateProps","oldNode","oldDecorations","item","VueNodeViewRenderer","normalizedComponent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"vue-3.cjs","sources":["../../../../../node_modules/.pnpm/@tiptap+vue-3@2.12.0_@tiptap+core@2.12.0_@tiptap+pm@2.12.0__@tiptap+pm@2.12.0_vue@3.4.15_typescript@5.6.3_/node_modules/@tiptap/vue-3/dist/index.js"],"sourcesContent":["import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';\nimport { defineComponent, ref, onMounted, onBeforeUnmount, h, markRaw, customRef, getCurrentInstance, watchEffect, nextTick, unref, shallowRef, reactive, render, provide } from 'vue';\nimport { Editor as Editor$1, NodeView } from '@tiptap/core';\nexport * from '@tiptap/core';\nimport { FloatingMenuPlugin } from '@tiptap/extension-floating-menu';\n\nconst BubbleMenu = defineComponent({\n name: 'BubbleMenu',\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: undefined,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { updateDelay, editor, pluginKey, shouldShow, tippyOptions, } = props;\n editor.registerPlugin(BubbleMenuPlugin({\n updateDelay,\n editor,\n element: root.value,\n pluginKey,\n shouldShow,\n tippyOptions,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\n/* eslint-disable react-hooks/rules-of-hooks */\nfunction useDebouncedRef(value) {\n return customRef((track, trigger) => {\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n // update state\n value = newValue;\n // update view as soon as possible\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n trigger();\n });\n });\n },\n };\n });\n}\nclass Editor extends Editor$1 {\n constructor(options = {}) {\n super(options);\n this.contentComponent = null;\n this.appContext = null;\n this.reactiveState = useDebouncedRef(this.view.state);\n this.reactiveExtensionStorage = useDebouncedRef(this.extensionStorage);\n this.on('beforeTransaction', ({ nextState }) => {\n this.reactiveState.value = nextState;\n this.reactiveExtensionStorage.value = this.extensionStorage;\n });\n return markRaw(this); // eslint-disable-line\n }\n get state() {\n return this.reactiveState ? this.reactiveState.value : this.view.state;\n }\n get storage() {\n return this.reactiveExtensionStorage ? this.reactiveExtensionStorage.value : super.storage;\n }\n /**\n * Register a ProseMirror plugin.\n */\n registerPlugin(plugin, handlePlugins) {\n const nextState = super.registerPlugin(plugin, handlePlugins);\n if (this.reactiveState) {\n this.reactiveState.value = nextState;\n }\n return nextState;\n }\n /**\n * Unregister a ProseMirror plugin.\n */\n unregisterPlugin(nameOrPluginKey) {\n const nextState = super.unregisterPlugin(nameOrPluginKey);\n if (this.reactiveState && nextState) {\n this.reactiveState.value = nextState;\n }\n return nextState;\n }\n}\n\nconst EditorContent = defineComponent({\n name: 'EditorContent',\n props: {\n editor: {\n default: null,\n type: Object,\n },\n },\n setup(props) {\n const rootEl = ref();\n const instance = getCurrentInstance();\n watchEffect(() => {\n const editor = props.editor;\n if (editor && editor.options.element && rootEl.value) {\n nextTick(() => {\n if (!rootEl.value || !editor.options.element.firstChild) {\n return;\n }\n const element = unref(rootEl.value);\n rootEl.value.append(...editor.options.element.childNodes);\n // @ts-ignore\n editor.contentComponent = instance.ctx._;\n if (instance) {\n editor.appContext = {\n ...instance.appContext,\n // Vue internally uses prototype chain to forward/shadow injects across the entire component chain\n // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext\n // @ts-expect-error forward instance's 'provides' into appContext\n provides: instance.provides,\n };\n }\n editor.setOptions({\n element,\n });\n editor.createNodeViews();\n });\n }\n });\n onBeforeUnmount(() => {\n const editor = props.editor;\n if (!editor) {\n return;\n }\n editor.contentComponent = null;\n editor.appContext = null;\n });\n return { rootEl };\n },\n render() {\n return h('div', {\n ref: (el) => { this.rootEl = el; },\n });\n },\n});\n\nconst FloatingMenu = defineComponent({\n name: 'FloatingMenu',\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 tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { pluginKey, editor, tippyOptions, shouldShow, } = props;\n editor.registerPlugin(FloatingMenuPlugin({\n pluginKey,\n editor,\n element: root.value,\n tippyOptions,\n shouldShow,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\nconst NodeViewContent = defineComponent({\n name: 'NodeViewContent',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n render() {\n return h(this.as, {\n style: {\n whiteSpace: 'pre-wrap',\n },\n 'data-node-view-content': '',\n });\n },\n});\n\nconst NodeViewWrapper = defineComponent({\n name: 'NodeViewWrapper',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n inject: ['onDragStart', 'decorationClasses'],\n render() {\n var _a, _b;\n return h(this.as, {\n // @ts-ignore\n class: this.decorationClasses,\n style: {\n whiteSpace: 'normal',\n },\n 'data-node-view-wrapper': '',\n // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)\n onDragstart: this.onDragStart,\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));\n },\n});\n\nconst useEditor = (options = {}) => {\n const editor = shallowRef();\n onMounted(() => {\n editor.value = new Editor(options);\n });\n onBeforeUnmount(() => {\n var _a, _b, _c;\n // Cloning root node (and its children) to avoid content being lost by destroy\n const nodes = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.options.element;\n const newEl = nodes === null || nodes === void 0 ? void 0 : nodes.cloneNode(true);\n (_b = nodes === null || nodes === void 0 ? void 0 : nodes.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(newEl, nodes);\n (_c = editor.value) === null || _c === void 0 ? void 0 : _c.destroy();\n });\n return editor;\n};\n\n/**\n * This class is used to render Vue components inside the editor.\n */\nclass VueRenderer {\n constructor(component, { props = {}, editor }) {\n this.editor = editor;\n this.component = markRaw(component);\n this.el = document.createElement('div');\n this.props = reactive(props);\n this.renderedComponent = this.renderComponent();\n }\n get element() {\n return this.renderedComponent.el;\n }\n get ref() {\n var _a, _b, _c, _d;\n // Composition API\n if ((_b = (_a = this.renderedComponent.vNode) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.exposed) {\n return this.renderedComponent.vNode.component.exposed;\n }\n // Option API\n return (_d = (_c = this.renderedComponent.vNode) === null || _c === void 0 ? void 0 : _c.component) === null || _d === void 0 ? void 0 : _d.proxy;\n }\n renderComponent() {\n let vNode = h(this.component, this.props);\n if (this.editor.appContext) {\n vNode.appContext = this.editor.appContext;\n }\n if (typeof document !== 'undefined' && this.el) {\n render(vNode, this.el);\n }\n const destroy = () => {\n if (this.el) {\n render(null, this.el);\n }\n this.el = null;\n vNode = null;\n };\n return { vNode, destroy, el: this.el ? this.el.firstElementChild : null };\n }\n updateProps(props = {}) {\n Object.entries(props).forEach(([key, value]) => {\n this.props[key] = value;\n });\n this.renderComponent();\n }\n destroy() {\n this.renderedComponent.destroy();\n }\n}\n\n/* eslint-disable no-underscore-dangle */\nconst nodeViewProps = {\n editor: {\n type: Object,\n required: true,\n },\n node: {\n type: Object,\n required: true,\n },\n decorations: {\n type: Object,\n required: true,\n },\n selected: {\n type: Boolean,\n required: true,\n },\n extension: {\n type: Object,\n required: true,\n },\n getPos: {\n type: Function,\n required: true,\n },\n updateAttributes: {\n type: Function,\n required: true,\n },\n deleteNode: {\n type: Function,\n required: true,\n },\n view: {\n type: Object,\n required: true,\n },\n innerDecorations: {\n type: Object,\n required: true,\n },\n HTMLAttributes: {\n type: Object,\n required: true,\n },\n};\nclass VueNodeView extends NodeView {\n mount() {\n const props = {\n editor: this.editor,\n node: this.node,\n decorations: this.decorations,\n innerDecorations: this.innerDecorations,\n view: this.view,\n selected: false,\n extension: this.extension,\n HTMLAttributes: this.HTMLAttributes,\n getPos: () => this.getPos(),\n updateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n deleteNode: () => this.deleteNode(),\n };\n const onDragStart = this.onDragStart.bind(this);\n this.decorationClasses = ref(this.getDecorationClasses());\n const extendedComponent = defineComponent({\n extends: { ...this.component },\n props: Object.keys(props),\n template: this.component.template,\n setup: reactiveProps => {\n var _a, _b;\n provide('onDragStart', onDragStart);\n provide('decorationClasses', this.decorationClasses);\n return (_b = (_a = this.component).setup) === null || _b === void 0 ? void 0 : _b.call(_a, reactiveProps, {\n expose: () => undefined,\n });\n },\n // add support for scoped styles\n // @ts-ignore\n // eslint-disable-next-line\n __scopeId: this.component.__scopeId,\n // add support for CSS Modules\n // @ts-ignore\n // eslint-disable-next-line\n __cssModules: this.component.__cssModules,\n // add support for vue devtools\n // @ts-ignore\n // eslint-disable-next-line\n __name: this.component.__name,\n // @ts-ignore\n // eslint-disable-next-line\n __file: this.component.__file,\n });\n this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this);\n this.editor.on('selectionUpdate', this.handleSelectionUpdate);\n this.renderer = new VueRenderer(extendedComponent, {\n editor: this.editor,\n props,\n });\n }\n /**\n * Return the DOM element.\n * This is the element that will be used to display the node view.\n */\n get dom() {\n if (!this.renderer.element || !this.renderer.element.hasAttribute('data-node-view-wrapper')) {\n throw Error('Please use the NodeViewWrapper component for your node view.');\n }\n return this.renderer.element;\n }\n /**\n * Return the content DOM element.\n * This is the element that will be used to display the rich-text content of the node.\n */\n get contentDOM() {\n if (this.node.isLeaf) {\n return null;\n }\n return this.dom.querySelector('[data-node-view-content]');\n }\n /**\n * On editor selection update, check if the node is selected.\n * If it is, call `selectNode`, otherwise call `deselectNode`.\n */\n handleSelectionUpdate() {\n const { from, to } = this.editor.state.selection;\n const pos = this.getPos();\n if (typeof pos !== 'number') {\n return;\n }\n if (from <= pos && to >= pos + this.node.nodeSize) {\n if (this.renderer.props.selected) {\n return;\n }\n this.selectNode();\n }\n else {\n if (!this.renderer.props.selected) {\n return;\n }\n this.deselectNode();\n }\n }\n /**\n * On update, update the React component.\n * To prevent unnecessary updates, the `update` option can be used.\n */\n update(node, decorations, innerDecorations) {\n const rerenderComponent = (props) => {\n this.decorationClasses.value = this.getDecorationClasses();\n this.renderer.updateProps(props);\n };\n if (typeof this.options.update === 'function') {\n const oldNode = this.node;\n const oldDecorations = this.decorations;\n const oldInnerDecorations = this.innerDecorations;\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n return this.options.update({\n oldNode,\n oldDecorations,\n newNode: node,\n newDecorations: decorations,\n oldInnerDecorations,\n innerDecorations,\n updateProps: () => rerenderComponent({ node, decorations, innerDecorations }),\n });\n }\n if (node.type !== this.node.type) {\n return false;\n }\n if (node === this.node && this.decorations === decorations && this.innerDecorations === innerDecorations) {\n return true;\n }\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n rerenderComponent({ node, decorations, innerDecorations });\n return true;\n }\n /**\n * Select the node.\n * Add the `selected` prop and the `ProseMirror-selectednode` class.\n */\n selectNode() {\n this.renderer.updateProps({\n selected: true,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.add('ProseMirror-selectednode');\n }\n }\n /**\n * Deselect the node.\n * Remove the `selected` prop and the `ProseMirror-selectednode` class.\n */\n deselectNode() {\n this.renderer.updateProps({\n selected: false,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.remove('ProseMirror-selectednode');\n }\n }\n getDecorationClasses() {\n return (this.decorations\n // @ts-ignore\n .map(item => item.type.attrs.class)\n .flat()\n .join(' '));\n }\n destroy() {\n this.renderer.destroy();\n this.editor.off('selectionUpdate', this.handleSelectionUpdate);\n }\n}\nfunction VueNodeViewRenderer(component, options) {\n return props => {\n // try to get the parent component\n // this is important for vue devtools to show the component hierarchy correctly\n // maybe it’s `undefined` because <editor-content> isn’t rendered yet\n if (!props.editor.contentComponent) {\n return {};\n }\n // check for class-component and normalize if neccessary\n const normalizedComponent = typeof component === 'function' && '__vccOpts' in component\n ? component.__vccOpts\n : component;\n return new VueNodeView(normalizedComponent, props, options);\n };\n}\n\nexport { BubbleMenu, Editor, EditorContent, FloatingMenu, NodeViewContent, NodeViewWrapper, VueNodeViewRenderer, VueRenderer, nodeViewProps, useEditor };\n//# sourceMappingURL=index.js.map\n"],"names":["BubbleMenu","defineComponent","props","slots","root","ref","onMounted","updateDelay","editor","pluginKey","shouldShow","tippyOptions","BubbleMenuPlugin","onBeforeUnmount","_a","h","useDebouncedRef","value","customRef","track","trigger","newValue","Editor","Editor$1","options","nextState","markRaw","plugin","handlePlugins","nameOrPluginKey","EditorContent","rootEl","instance","getCurrentInstance","watchEffect","nextTick","element","unref","el","FloatingMenu","FloatingMenuPlugin","NodeViewContent","NodeViewWrapper","_b","useEditor","shallowRef","_c","nodes","newEl","VueRenderer","component","reactive","_d","vNode","render","key","nodeViewProps","VueNodeView","NodeView","attributes","onDragStart","extendedComponent","reactiveProps","provide","from","to","pos","node","decorations","innerDecorations","rerenderComponent","oldNode","oldDecorations","oldInnerDecorations","item","VueNodeViewRenderer","normalizedComponent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
1
  import { BubbleMenuPlugin as g } from "@tiptap/extension-bubble-menu";
2
- import { defineComponent as d, ref as a, onMounted as p, onBeforeUnmount as l, h as u, getCurrentInstance as y, watchEffect as w, nextTick as C, unref as b, markRaw as v, shallowRef as _, reactive as x, render as c, customRef as S, provide as h } from "vue";
3
- import { Editor as P, NodeView as N } from "@tiptap/core";
2
+ import { defineComponent as d, ref as l, onMounted as c, onBeforeUnmount as a, h as u, getCurrentInstance as y, watchEffect as b, nextTick as C, unref as w, markRaw as f, shallowRef as S, reactive as _, render as h, customRef as x, provide as v } from "vue";
3
+ import { Editor as N, NodeView as O } from "@tiptap/core";
4
4
  export * from "@tiptap/core";
5
- import { FloatingMenuPlugin as O } from "@tiptap/extension-floating-menu";
5
+ import { FloatingMenuPlugin as P } from "@tiptap/extension-floating-menu";
6
6
  const A = d({
7
7
  name: "BubbleMenu",
8
8
  props: {
@@ -27,34 +27,34 @@ const A = d({
27
27
  default: null
28
28
  }
29
29
  },
30
- setup(r, { slots: e }) {
31
- const n = a(null);
32
- return p(() => {
33
- const { updateDelay: t, editor: o, pluginKey: i, shouldShow: s, tippyOptions: f } = r;
30
+ setup(r, { slots: t }) {
31
+ const n = l(null);
32
+ return c(() => {
33
+ const { updateDelay: e, editor: o, pluginKey: i, shouldShow: s, tippyOptions: p } = r;
34
34
  o.registerPlugin(g({
35
- updateDelay: t,
35
+ updateDelay: e,
36
36
  editor: o,
37
37
  element: n.value,
38
38
  pluginKey: i,
39
39
  shouldShow: s,
40
- tippyOptions: f
40
+ tippyOptions: p
41
41
  }));
42
- }), l(() => {
43
- const { pluginKey: t, editor: o } = r;
44
- o.unregisterPlugin(t);
42
+ }), a(() => {
43
+ const { pluginKey: e, editor: o } = r;
44
+ o.unregisterPlugin(e);
45
45
  }), () => {
46
- var t;
47
- return u("div", { ref: n }, (t = e.default) === null || t === void 0 ? void 0 : t.call(e));
46
+ var e;
47
+ return u("div", { ref: n }, (e = t.default) === null || e === void 0 ? void 0 : e.call(t));
48
48
  };
49
49
  }
50
50
  });
51
51
  function m(r) {
52
- return S((e, n) => ({
52
+ return x((t, n) => ({
53
53
  get() {
54
- return e(), r;
54
+ return t(), r;
55
55
  },
56
- set(t) {
57
- r = t, requestAnimationFrame(() => {
56
+ set(e) {
57
+ r = e, requestAnimationFrame(() => {
58
58
  requestAnimationFrame(() => {
59
59
  n();
60
60
  });
@@ -62,11 +62,11 @@ function m(r) {
62
62
  }
63
63
  }));
64
64
  }
65
- class E extends P {
66
- constructor(e = {}) {
67
- return super(e), this.contentComponent = null, this.appContext = null, this.reactiveState = m(this.view.state), this.reactiveExtensionStorage = m(this.extensionStorage), this.on("beforeTransaction", ({ nextState: n }) => {
65
+ class D extends N {
66
+ constructor(t = {}) {
67
+ return super(t), this.contentComponent = null, this.appContext = null, this.reactiveState = m(this.view.state), this.reactiveExtensionStorage = m(this.extensionStorage), this.on("beforeTransaction", ({ nextState: n }) => {
68
68
  this.reactiveState.value = n, this.reactiveExtensionStorage.value = this.extensionStorage;
69
- }), v(this);
69
+ }), f(this);
70
70
  }
71
71
  get state() {
72
72
  return this.reactiveState ? this.reactiveState.value : this.view.state;
@@ -77,17 +77,19 @@ class E extends P {
77
77
  /**
78
78
  * Register a ProseMirror plugin.
79
79
  */
80
- registerPlugin(e, n) {
81
- super.registerPlugin(e, n), this.reactiveState.value = this.view.state;
80
+ registerPlugin(t, n) {
81
+ const e = super.registerPlugin(t, n);
82
+ return this.reactiveState && (this.reactiveState.value = e), e;
82
83
  }
83
84
  /**
84
85
  * Unregister a ProseMirror plugin.
85
86
  */
86
- unregisterPlugin(e) {
87
- super.unregisterPlugin(e), this.reactiveState.value = this.view.state;
87
+ unregisterPlugin(t) {
88
+ const n = super.unregisterPlugin(t);
89
+ return this.reactiveState && n && (this.reactiveState.value = n), n;
88
90
  }
89
91
  }
90
- const K = d({
92
+ const U = d({
91
93
  name: "EditorContent",
92
94
  props: {
93
95
  editor: {
@@ -96,34 +98,27 @@ const K = d({
96
98
  }
97
99
  },
98
100
  setup(r) {
99
- const e = a(), n = y();
100
- return w(() => {
101
- const t = r.editor;
102
- t && t.options.element && e.value && C(() => {
103
- if (!e.value || !t.options.element.firstChild)
101
+ const t = l(), n = y();
102
+ return b(() => {
103
+ const e = r.editor;
104
+ e && e.options.element && t.value && C(() => {
105
+ if (!t.value || !e.options.element.firstChild)
104
106
  return;
105
- const o = b(e.value);
106
- e.value.append(...t.options.element.childNodes), t.contentComponent = n.ctx._, n && (t.appContext = {
107
+ const o = w(t.value);
108
+ t.value.append(...e.options.element.childNodes), e.contentComponent = n.ctx._, n && (e.appContext = {
107
109
  ...n.appContext,
108
110
  // Vue internally uses prototype chain to forward/shadow injects across the entire component chain
109
111
  // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext
110
112
  // @ts-expect-error forward instance's 'provides' into appContext
111
113
  provides: n.provides
112
- }), t.setOptions({
114
+ }), e.setOptions({
113
115
  element: o
114
- }), t.createNodeViews();
116
+ }), e.createNodeViews();
115
117
  });
116
- }), l(() => {
117
- const t = r.editor;
118
- if (!t || (t.isDestroyed || t.view.setProps({
119
- nodeViews: {}
120
- }), t.contentComponent = null, t.appContext = null, !t.options.element.firstChild))
121
- return;
122
- const o = document.createElement("div");
123
- o.append(...t.options.element.childNodes), t.setOptions({
124
- element: o
125
- });
126
- }), { rootEl: e };
118
+ }), a(() => {
119
+ const e = r.editor;
120
+ e && (e.contentComponent = null, e.appContext = null);
121
+ }), { rootEl: t };
127
122
  },
128
123
  render() {
129
124
  return u("div", {
@@ -132,7 +127,7 @@ const K = d({
132
127
  }
133
128
  });
134
129
  }
135
- }), R = d({
130
+ }), K = d({
136
131
  name: "FloatingMenu",
137
132
  props: {
138
133
  pluginKey: {
@@ -154,26 +149,26 @@ const K = d({
154
149
  default: null
155
150
  }
156
151
  },
157
- setup(r, { slots: e }) {
158
- const n = a(null);
159
- return p(() => {
160
- const { pluginKey: t, editor: o, tippyOptions: i, shouldShow: s } = r;
161
- o.registerPlugin(O({
162
- pluginKey: t,
152
+ setup(r, { slots: t }) {
153
+ const n = l(null);
154
+ return c(() => {
155
+ const { pluginKey: e, editor: o, tippyOptions: i, shouldShow: s } = r;
156
+ o.registerPlugin(P({
157
+ pluginKey: e,
163
158
  editor: o,
164
159
  element: n.value,
165
160
  tippyOptions: i,
166
161
  shouldShow: s
167
162
  }));
168
- }), l(() => {
169
- const { pluginKey: t, editor: o } = r;
170
- o.unregisterPlugin(t);
163
+ }), a(() => {
164
+ const { pluginKey: e, editor: o } = r;
165
+ o.unregisterPlugin(e);
171
166
  }), () => {
172
- var t;
173
- return u("div", { ref: n }, (t = e.default) === null || t === void 0 ? void 0 : t.call(e));
167
+ var e;
168
+ return u("div", { ref: n }, (e = t.default) === null || e === void 0 ? void 0 : e.call(t));
174
169
  };
175
170
  }
176
- }), B = d({
171
+ }), L = d({
177
172
  name: "NodeViewContent",
178
173
  props: {
179
174
  as: {
@@ -189,7 +184,7 @@ const K = d({
189
184
  "data-node-view-content": ""
190
185
  });
191
186
  }
192
- }), k = d({
187
+ }), R = d({
193
188
  name: "NodeViewWrapper",
194
189
  props: {
195
190
  as: {
@@ -199,7 +194,7 @@ const K = d({
199
194
  },
200
195
  inject: ["onDragStart", "decorationClasses"],
201
196
  render() {
202
- var r, e;
197
+ var r, t;
203
198
  return u(this.as, {
204
199
  // @ts-ignore
205
200
  class: this.decorationClasses,
@@ -209,44 +204,45 @@ const K = d({
209
204
  "data-node-view-wrapper": "",
210
205
  // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)
211
206
  onDragstart: this.onDragStart
212
- }, (e = (r = this.$slots).default) === null || e === void 0 ? void 0 : e.call(r));
207
+ }, (t = (r = this.$slots).default) === null || t === void 0 ? void 0 : t.call(r));
213
208
  }
214
- }), I = (r = {}) => {
215
- const e = _();
216
- return p(() => {
217
- e.value = new E(r);
218
- }), l(() => {
219
- var n;
220
- (n = e.value) === null || n === void 0 || n.destroy();
221
- }), e;
209
+ }), B = (r = {}) => {
210
+ const t = S();
211
+ return c(() => {
212
+ t.value = new D(r);
213
+ }), a(() => {
214
+ var n, e, o;
215
+ const i = (n = t.value) === null || n === void 0 ? void 0 : n.options.element, s = i == null ? void 0 : i.cloneNode(!0);
216
+ (e = i == null ? void 0 : i.parentNode) === null || e === void 0 || e.replaceChild(s, i), (o = t.value) === null || o === void 0 || o.destroy();
217
+ }), t;
222
218
  };
223
- class D {
224
- constructor(e, { props: n = {}, editor: t }) {
225
- this.editor = t, this.component = v(e), this.el = document.createElement("div"), this.props = x(n), this.renderedComponent = this.renderComponent();
219
+ class E {
220
+ constructor(t, { props: n = {}, editor: e }) {
221
+ this.editor = e, this.component = f(t), this.el = document.createElement("div"), this.props = _(n), this.renderedComponent = this.renderComponent();
226
222
  }
227
223
  get element() {
228
224
  return this.renderedComponent.el;
229
225
  }
230
226
  get ref() {
231
- var e, n, t, o;
232
- return !((n = (e = this.renderedComponent.vNode) === null || e === void 0 ? void 0 : e.component) === null || n === void 0) && n.exposed ? this.renderedComponent.vNode.component.exposed : (o = (t = this.renderedComponent.vNode) === null || t === void 0 ? void 0 : t.component) === null || o === void 0 ? void 0 : o.proxy;
227
+ var t, n, e, o;
228
+ return !((n = (t = this.renderedComponent.vNode) === null || t === void 0 ? void 0 : t.component) === null || n === void 0) && n.exposed ? this.renderedComponent.vNode.component.exposed : (o = (e = this.renderedComponent.vNode) === null || e === void 0 ? void 0 : e.component) === null || o === void 0 ? void 0 : o.proxy;
233
229
  }
234
230
  renderComponent() {
235
- let e = u(this.component, this.props);
236
- return this.editor.appContext && (e.appContext = this.editor.appContext), typeof document < "u" && this.el && c(e, this.el), { vNode: e, destroy: () => {
237
- this.el && c(null, this.el), this.el = null, e = null;
231
+ let t = u(this.component, this.props);
232
+ return this.editor.appContext && (t.appContext = this.editor.appContext), typeof document < "u" && this.el && h(t, this.el), { vNode: t, destroy: () => {
233
+ this.el && h(null, this.el), this.el = null, t = null;
238
234
  }, el: this.el ? this.el.firstElementChild : null };
239
235
  }
240
- updateProps(e = {}) {
241
- Object.entries(e).forEach(([n, t]) => {
242
- this.props[n] = t;
236
+ updateProps(t = {}) {
237
+ Object.entries(t).forEach(([n, e]) => {
238
+ this.props[n] = e;
243
239
  }), this.renderComponent();
244
240
  }
245
241
  destroy() {
246
242
  this.renderedComponent.destroy();
247
243
  }
248
244
  }
249
- const L = {
245
+ const T = {
250
246
  editor: {
251
247
  type: Object,
252
248
  required: !0
@@ -278,28 +274,43 @@ const L = {
278
274
  deleteNode: {
279
275
  type: Function,
280
276
  required: !0
277
+ },
278
+ view: {
279
+ type: Object,
280
+ required: !0
281
+ },
282
+ innerDecorations: {
283
+ type: Object,
284
+ required: !0
285
+ },
286
+ HTMLAttributes: {
287
+ type: Object,
288
+ required: !0
281
289
  }
282
290
  };
283
- class j extends N {
291
+ class j extends O {
284
292
  mount() {
285
- const e = {
293
+ const t = {
286
294
  editor: this.editor,
287
295
  node: this.node,
288
296
  decorations: this.decorations,
297
+ innerDecorations: this.innerDecorations,
298
+ view: this.view,
289
299
  selected: !1,
290
300
  extension: this.extension,
301
+ HTMLAttributes: this.HTMLAttributes,
291
302
  getPos: () => this.getPos(),
292
303
  updateAttributes: (o = {}) => this.updateAttributes(o),
293
304
  deleteNode: () => this.deleteNode()
294
305
  }, n = this.onDragStart.bind(this);
295
- this.decorationClasses = a(this.getDecorationClasses());
296
- const t = d({
306
+ this.decorationClasses = l(this.getDecorationClasses());
307
+ const e = d({
297
308
  extends: { ...this.component },
298
- props: Object.keys(e),
309
+ props: Object.keys(t),
299
310
  template: this.component.template,
300
311
  setup: (o) => {
301
312
  var i, s;
302
- return h("onDragStart", n), h("decorationClasses", this.decorationClasses), (s = (i = this.component).setup) === null || s === void 0 ? void 0 : s.call(i, o, {
313
+ return v("onDragStart", n), v("decorationClasses", this.decorationClasses), (s = (i = this.component).setup) === null || s === void 0 ? void 0 : s.call(i, o, {
303
314
  expose: () => {
304
315
  }
305
316
  });
@@ -320,70 +331,109 @@ class j extends N {
320
331
  // eslint-disable-next-line
321
332
  __file: this.component.__file
322
333
  });
323
- this.renderer = new D(t, {
334
+ this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this), this.editor.on("selectionUpdate", this.handleSelectionUpdate), this.renderer = new E(e, {
324
335
  editor: this.editor,
325
- props: e
336
+ props: t
326
337
  });
327
338
  }
339
+ /**
340
+ * Return the DOM element.
341
+ * This is the element that will be used to display the node view.
342
+ */
328
343
  get dom() {
329
344
  if (!this.renderer.element || !this.renderer.element.hasAttribute("data-node-view-wrapper"))
330
345
  throw Error("Please use the NodeViewWrapper component for your node view.");
331
346
  return this.renderer.element;
332
347
  }
348
+ /**
349
+ * Return the content DOM element.
350
+ * This is the element that will be used to display the rich-text content of the node.
351
+ */
333
352
  get contentDOM() {
334
353
  return this.node.isLeaf ? null : this.dom.querySelector("[data-node-view-content]");
335
354
  }
336
- update(e, n) {
337
- const t = (o) => {
338
- this.decorationClasses.value = this.getDecorationClasses(), this.renderer.updateProps(o);
355
+ /**
356
+ * On editor selection update, check if the node is selected.
357
+ * If it is, call `selectNode`, otherwise call `deselectNode`.
358
+ */
359
+ handleSelectionUpdate() {
360
+ const { from: t, to: n } = this.editor.state.selection, e = this.getPos();
361
+ if (typeof e == "number")
362
+ if (t <= e && n >= e + this.node.nodeSize) {
363
+ if (this.renderer.props.selected)
364
+ return;
365
+ this.selectNode();
366
+ } else {
367
+ if (!this.renderer.props.selected)
368
+ return;
369
+ this.deselectNode();
370
+ }
371
+ }
372
+ /**
373
+ * On update, update the React component.
374
+ * To prevent unnecessary updates, the `update` option can be used.
375
+ */
376
+ update(t, n, e) {
377
+ const o = (i) => {
378
+ this.decorationClasses.value = this.getDecorationClasses(), this.renderer.updateProps(i);
339
379
  };
340
380
  if (typeof this.options.update == "function") {
341
- const o = this.node, i = this.decorations;
342
- return this.node = e, this.decorations = n, this.options.update({
343
- oldNode: o,
344
- oldDecorations: i,
345
- newNode: e,
381
+ const i = this.node, s = this.decorations, p = this.innerDecorations;
382
+ return this.node = t, this.decorations = n, this.innerDecorations = e, this.options.update({
383
+ oldNode: i,
384
+ oldDecorations: s,
385
+ newNode: t,
346
386
  newDecorations: n,
347
- updateProps: () => t({ node: e, decorations: n })
387
+ oldInnerDecorations: p,
388
+ innerDecorations: e,
389
+ updateProps: () => o({ node: t, decorations: n, innerDecorations: e })
348
390
  });
349
391
  }
350
- return e.type !== this.node.type ? !1 : (e === this.node && this.decorations === n || (this.node = e, this.decorations = n, t({ node: e, decorations: n })), !0);
392
+ return t.type !== this.node.type ? !1 : (t === this.node && this.decorations === n && this.innerDecorations === e || (this.node = t, this.decorations = n, this.innerDecorations = e, o({ node: t, decorations: n, innerDecorations: e })), !0);
351
393
  }
394
+ /**
395
+ * Select the node.
396
+ * Add the `selected` prop and the `ProseMirror-selectednode` class.
397
+ */
352
398
  selectNode() {
353
399
  this.renderer.updateProps({
354
400
  selected: !0
355
401
  }), this.renderer.element && this.renderer.element.classList.add("ProseMirror-selectednode");
356
402
  }
403
+ /**
404
+ * Deselect the node.
405
+ * Remove the `selected` prop and the `ProseMirror-selectednode` class.
406
+ */
357
407
  deselectNode() {
358
408
  this.renderer.updateProps({
359
409
  selected: !1
360
410
  }), this.renderer.element && this.renderer.element.classList.remove("ProseMirror-selectednode");
361
411
  }
362
412
  getDecorationClasses() {
363
- return this.decorations.map((e) => e.type.attrs.class).flat().join(" ");
413
+ return this.decorations.map((t) => t.type.attrs.class).flat().join(" ");
364
414
  }
365
415
  destroy() {
366
- this.renderer.destroy();
416
+ this.renderer.destroy(), this.editor.off("selectionUpdate", this.handleSelectionUpdate);
367
417
  }
368
418
  }
369
- function W(r, e) {
419
+ function I(r, t) {
370
420
  return (n) => {
371
421
  if (!n.editor.contentComponent)
372
422
  return {};
373
- const t = typeof r == "function" && "__vccOpts" in r ? r.__vccOpts : r;
374
- return new j(t, n, e);
423
+ const e = typeof r == "function" && "__vccOpts" in r ? r.__vccOpts : r;
424
+ return new j(e, n, t);
375
425
  };
376
426
  }
377
427
  export {
378
428
  A as BubbleMenu,
379
- E as Editor,
380
- K as EditorContent,
381
- R as FloatingMenu,
382
- B as NodeViewContent,
383
- k as NodeViewWrapper,
384
- W as VueNodeViewRenderer,
385
- D as VueRenderer,
386
- L as nodeViewProps,
387
- I as useEditor
429
+ D as Editor,
430
+ U as EditorContent,
431
+ K as FloatingMenu,
432
+ L as NodeViewContent,
433
+ R as NodeViewWrapper,
434
+ I as VueNodeViewRenderer,
435
+ E as VueRenderer,
436
+ T as nodeViewProps,
437
+ B as useEditor
388
438
  };
389
439
  //# sourceMappingURL=vue-3.js.map